0%

《计算机组成原理》学习笔记(3)

《计算机组成原理》学习笔记。

运算方法,计算机中主要有两类基本运算,算术运算和逻辑运算。

定点运算

定点运算是算术运算的基础,包括移位、加、减、乘、除等运算。

定点数的移位运算

移位的类型按照移位的性质可以分为三类:逻辑移位、循环移位、算术移位。每一种移位又有左移和右移两种形式。

逻辑移位

逻辑移位只要用于数据处理中字的装配、拼组和拆散等操作,也用于程序控制结构中的状态位及特殊信息调用。

循环移位

循环移位主要用于移位信息需要保留的情况。

算术移位

左移实现乘2功能,右移实现除2功能。

定点数的加、减运算

在计算机系统中,通常采用补码形式进行数据存储、传输和运算操作。

定点数的乘法运算

乘法运算也与码制相关,与加减运算不同,原码乘法较简单,补码乘法复杂些。

原码乘法主要有原码一位乘和原码两位乘两种方法。

补码乘法,连同符号位一起参与运算。补码乘法同样有一位乘和两位乘两种方法。

快速乘法:主要有阵列乘法器好华莱士树两种。

定点数的除法运算

在4中基本预算中,除法是最为复杂的。它需要考虑除数不能为0以及商不能超过其所用寄存器的容量等问题。

原码除法运算主要有原码移位一相减除法,原码恢复余数除法和原码不恢复余数除法3种。

补码除法运算,被除数,除数,商,余数等都用补码表示,连同符号位一同参加运算。

浮点预算

浮点数通常有阶码和尾数组成,阶码是定点整数形式,尾数是定点小数形式,浮点运算实质上包含两组定点运算。此外,浮点数有规格化浮点数和非规格化浮点数两种。

浮点数加减运算

特殊值处理,由于浮点数有几个特殊值,因此在其加减法算法中必须明确检测操作数是否为0、±∞或NaN以及结果是否为0或±∞。

对阶,只有当操作除阶值相等时,才能执行有效的加减操作。

尾数加减和尾数规格化,规格化分为右规和左规两种情况。

溢出处理。

浮点数乘除运算

乘法主要通过阶码相加尾数相乘来完成,除法主要通过阶码相减和尾数相除来实现。

本章主要学习了定点数和浮点数的4种运算方法,和数学中的运算方法相似,但计算机实现起来更加复杂。