MAR 存储器地址寄存器,反应存储单元个数
MDR 存储器数据寄存器,反应存储字长
注:乘法是通过累加完成的,中间结果要保存到ACC,所以ACC不需要清零。
而除法是被除数不断减去除数实现的,最后剩下的就是余数,减得次数就是商。即,除法每次都从acc中减去一个除数并计数。所以ACC不需要清零,这时候ACC中存的就是余数。
以一条取数指令为例
首先控制器的PC寄存器中存着这条指令的地址。所以第一步是把指令的地址从PC送到存储器的MAR。MAR再把地址送给存储体。这时在控制器的控制下,存储体把这条指令的地址所对应的那个存储单元中存的取数指令取出,送给MDR。MDR再把这条指令送给IR。IR将这条指令送给CU去执行。而由于IR中还存着操作数的地址,所以再由IR把操作数的地址送给MAR,同样的,MAR将该地址送给存储体,控制器控制着存储体,将地址对应的存储单元中存着的操作数取出,并送给MDR。然后MDR将操作数送给ACC。
这里OP(IR)是存在IR中的取数指令的操作码(如MOV就是操作码),Ad(IR)是操作数的地址。