运算器组织与运算方法:补码加减与位片式运算器

需积分: 9 0 下载量 59 浏览量 更新于2024-08-25 收藏 1.58MB PPT 举报
"展开为部分积的累加和形式-计算机组成原理" 本文将探讨计算机组成原理中的一个重要概念——如何将乘法运算展开为部分积的累加和形式,这在计算机的运算器设计中尤为关键。在数字系统中,定点乘法是常见的运算类型,尤其是在处理算术逻辑单元(ALU)的设计时。该形式的乘法可以被有效地转化为一系列加法,从而简化硬件实现。 首先,公式 `(XY)补 = X补(0.Y1Y2……Yn)+(-X)补Y0` 描述了补码乘法的一种展开方式。这里,`X` 和 `Y` 是参与运算的二进制数,`X补` 和 `Y补` 分别是它们的补码表示,`Y1Y2……Yn` 是 `Y` 的二进制位,除了最高位(符号位)外的所有位。通过将 `X` 与 `Y` 的每一位相乘并加起来,我们可以得到乘积的补码形式。 进一步简化,我们可以将 `-X` 补码与 `Y0` 相加,即 `(XY)补 = X补(0.Y1Y2……Yn)-X补Y0`。然后,我们可以通过比较相邻的两位乘数来决定是否需要加上 `+X补`、`-X补` 或 `+0`。这通常涉及到一个称为“比较法”的过程。 接下来的步骤是将这个表达式转化为累加的形式,如 `(X补 -Y0)+(Y1-2 Y1)+(2 Y2-2 Y2)+……+(2 Yn-2 Yn)`,其中每一对括号内的项都是零,除了第一项和最后一项。这样的变换便于实现逐位的加法操作,因为每个括号内的项可以独立计算,然后再进行累加。 最后,我们将这个累加和形式进一步改写为 `(X补 (Y1-Y0))+2 (Y2-Y1)+2 (Y3-Y2)+……+2 (0 -Yn)`,这表明乘法可以通过一系列的加法和移位操作来完成,其中每个部分积 `2k (Yk+1-Yk)` 可以被看作是一个移位和加法的操作。 在实际的CPU设计中,运算器通常包含寄存器、ALU(算术逻辑单元)、移位器等组件,它们协同工作以实现这种运算方法。例如,带有多路选择器的运算器可以灵活地选择操作数,并通过内部总线传递数据;而带有输入锁存器的运算器则能处理单口RAM的数据延迟问题。位片式运算器则通过使用双口RAM和多路选择器优化了操作数的读取和处理,甚至可以扩展到包括乘法和除法的功能。 补码加减法是定点运算的基础,特别是当处理负数时,符号位的处理至关重要。在定点加减运算中,如果两个操作数都是补码表示的,那么加法和减法可以统一为一种操作,即加法,通过取反和加一的操作将减法转换为加法。例如,`(X-Y)补 = X补 + (-Y)补`,这样就避免了专门的减法硬件。 总结,计算机组成原理中的这部分内容阐述了如何利用补码运算和部分积的累加和形式来进行定点乘法,以及如何通过特定的运算器组织结构来高效实现这些运算。这些理论基础对于理解和设计现代计算机系统的内部工作原理至关重要。