------1.4.5 运算器的功能与结构
运算器的功能就是完成一系列需要由硬件实现的算数/逻辑运算,例如加法操作,减法操作,乘法操作
它的核心是一个能够实现多种算数运算和逻辑运算的组合逻辑电路---ALU(arithmetic and logic unit),又称为算术逻辑单元
以实现加/减/乘/除 这样的二元累操作运算的运算器器为例,ALU还需配以三个寄存器用于保存操作数和结果,分别是X,ACC,MQ
X寄存器用于保存输入的一个操作数,ACC寄存器用于保存一个操作数和运算的结果
MQ寄存器(乘商寄存器)会在乘法和除法操作中参与运算,并辅助ACC进行结果的保存
可以看到加减操作中只需要X寄存器和ACC参与,保存两个操作数的输入,并将结果保存在ACC中
乘法操作,是通过移位和累加实现的,具体算法和我们列竖式乘法类似,由于积的位数会比乘数高,因而需要MQ寄存器辅助保存乘法的低位结果
除法操作,通过移位和减法实现,具体算法与我们列竖式除法类似,通过判断每位是否够减,来决定上0或是上1,从而得到商值记录保存在MQ中,AC