计算机组成原理之乘/除法运算的基本原理
乘法运算:
基本原理:在计算机中,乘法运算通常通过累加-左移(对于二进制乘法)或利用阵列乘法器实现。累加-左移方法通过将被乘数与乘数的每一位相乘(与操作),并将结果左移相应位数后累加,得到最终乘积。
补码乘法:当操作数为补码形式时,乘法运算同样适用,但需注意符号位的处理及结果的符号确定。
除法运算:
基本原理:除法运算通常通过多次减法或移位操作实现。对于二进制除法,被除数不断左移,每次左移后与除数进行比较,若大于或等于除数则减去除数,并设置商的当前位为1,否则为0。重复此过程直至商的最高位确定。
补码除法:补码除法在处理带符号数时,同样需要注意符号位的处理及商的符号确定。在某些算法中,可能还涉及恢复余数或加减交替的步骤。
乘法电路与除法电路的基本结构
乘法电路:
基本结构:乘法电路通常由多个加法器、移位寄存器和控制逻辑组成。在累加-左移乘法器中,控制逻辑负责控制加法器的操作和移位寄存器的移位。阵列乘法器则通过组合逻辑电路直接生成所有部分积并累加。
关键部件:包括乘法寄存器(存放乘数)、被乘数寄存器、乘积寄存器(存放乘积高位和低位)、进位寄存器等。
除法电路:
基本结构:除法电路包含被除数寄存器、除数寄存器、商寄存器、余数寄存器以及控制逻辑。控制逻辑负责控制减法操作、移位操作以及商的生成。
关键操作:包括初始化、比较、减法、移位和商的确定。在某些实现中,还可能包括恢复余数或处理加减交替的步骤。