CPU模型笔记
一、部件
1、单元
(1).ALU(Arithumetic and Logic Unit):算数逻辑单元(运算器),进行多组算数和逻辑运算
(2).CU(Control Unit):控制单元,执行计算机指令
2、寄存器
(1)ACC(Accumulator)累加寄存器(属于通用寄存器)
(2)PSWR(Program Status Word Register):状态标志寄存器,存放状态字,表征程序及机器状态
(3)MAR(Memory Address Register):存储地址寄存器。存放当前CPU访问主存的地址
(4)MDR(Memory Data Register):存储指令寄存器。从主存读取数据和指令。
将指令传给IR(指令寄存器),将数据传给AC(累加寄存器)和ALU(逻辑运算单元)
(5)IR(Instruction Register):指令寄存器。存放从主存中取出的指令
(6)PC(Program Counter):程序计数器,存放下一条执行的指令
3、其他
(1)ID(Instruction Decoder,英文应该是这个吧):译码器。翻译指令
(2)主存:主存储器,存放指令和数据
(3)I/O线:不知道这是什么,不知道为什么不和主存放在一起。以后再补充吧
二、线路
1、MDR→IR:MDR读取出指令,将指令放到IR里面
2、IR→ID:将IR将指令传给ID进行译码
3、ID→CU:译码完成后交由CU进行执行
4、IR→MAR:IR读取MAR地址
5、MDA→MAR,MAR→MDA:MDR通过MAR从主存中读取/存放数据
6、ACC→MDR,MDR→ACC:ACC将数据存放到MDR,MDR将从主存读取的数据传给ACC
7、ALU→ACC,ACC→ALU:ALU对ACC的数据进行存储/读取操作
8、ALU→PSWR:ALU在运算的过程中记录下程序的运行状态,将状态信息存放到PSWR
9、IR→PC:IR让PC读取下一条指令
三、指令循环
执行完一条指令以后:
(1)IR让PC读取下一条指令(记为指令A)
(2)IR读取MAR地址,将指令A存放到主存中
(3)MDR通过MAR读取主存的指令和数据
(4)MDR将指令(指令A)发送给IR,完成一次指令循环