【运算方法和运算器】是计算机组成原理中的核心部分,主要涉及如何在计算机内部执行算术和逻辑运算。本文档是一份关于这个主题的学习教案,适用于深入理解计算机中数值计算的原理。
文档提到了补码运算,这是在计算机中表示和执行加减法的基础。补码表示法允许我们直接通过加法来实现减法,因为`[X-Y]补 = [X]补 + [-Y]补`。求`[-Y]补`的方法是将`[Y]补`的每一位包括符号位取反后再加1。例如,如果`X = +1001`,`Y = +0101`,那么`[X]补 = 01001`,`[Y]补 = 00101`,计算`[X+Y]补`时,我们把`[Y]补`取反加1得到`[-Y]补 = 11010`,然后加到`[X]补`上,得到`01001 + 11010 = 01110`,所以`X+Y = +1110`。
定点运算器是计算机中处理固定小数点数值的部件。文档中举例说明了定点加减法的运算过程,例如,当`X = +0.1011`,`Y = -0.0101`时,`[X]补 = 0.1011`,`[Y]补 = 1.1011`,加法中需要丢弃超过位宽的进位,因此`X+Y = 0.0110`。同样,减法可以通过加补码实现,`X - Y`等于`X + (-Y)`的补码。
在计算机中,由于位宽限制,数值的表示范围是有限的,超出这个范围的运算就会导致溢出。溢出分为上溢(正数相加过大)和下溢(负数相加过小)。例如,两个正数`X=1011`和`Y=1001`相加,如果超过了最大正数,或者两个负数`X=-1010`和`Y=-1011`相加,低于最小负数,都会产生溢出。
为了检测溢出,文档提出了双符号位法。在这种方法中,每个数的符号由两个二进制位表示,`00`表示正数,`11`表示负数。如果加法运算后的符号位相同(如`00`或`11`),则没有溢出;如果不同(如`10`或`01`),则发生了溢出,其中`10`表示负溢出(下溢),`01`表示正溢出(上溢)。
这份PPT教程涵盖了补码运算、定点运算器的工作原理以及溢出检测方法,是理解和掌握计算机内部数值运算的重要参考资料。学习这些知识有助于深入理解计算机系统如何执行基本的算术运算,并为解决更复杂的计算问题打下基础。