计算机组成原理第3章运算方法与运算器.pptVIP

  • 3
  • 0
  • 约3.87千字
  • 约 19页
  • 2017-05-06 发布于重庆
  • 举报

计算机组成原理第3章运算方法与运算器.ppt

计算机组成原理第3章运算方法与运算器

第3章 运算方法与运算器 3.1 移位运算 3.2 补码加减法运算 3.3 定点数乘法运算 3.4 定点数除法运算 3.5 浮点数算术运算 3.6 算术逻辑运算单元 3.1 移位运算 1.算术移位和逻辑移位   算术移位是指被移位的代码具有数值意义,将其看作带符号数,移位过程中必须保持符号位不变。其变化规律是左移一位表示乘以 2,右移一位表示除以 2。   逻辑移位是指被移位的代码是纯粹的逻辑代码,不具有数值意义,移位前后没有数量的变化。逻辑移位通常包括循环左移、循环右移、非循环左移和非循环右移四种。 2.算术移位规则   ①.若机器数为正,左移时最低位补 0,右移时最高有效位补 0;   ②.负数原码的移位规则与正数完全相同;   ③.负数反码的移位规则是无论左移或右移,空位均补 1;   ④.负数补码在左移时最低位补 0,右移时最高有效位补 1。 3.2 补码加减法运算 1.补码加减法运算法则   ①.参加运算的两个操作数均用补码表示;   ②.符号位作为数的一部分参加运算;   ③.若做加法运算,则两个操作数直接相加;若做减法运算,则将减数变补后再与被减数相加;   ④.运算结果采用补码表示;   ⑤.符号位的进位是模,作为溢出量,应该丢掉。 2.溢出判断   ①.V=xf yf Sf + xf yf Sf   ②.V=Cf ⊕ C1   ③.V=Sf1 ⊕ Sf2 3.3.1 原码一位乘法 1.原码一位乘法的运算法则   ①.操作数与运算结果均用原码表示;   ②.取两个操作数的绝对值相乘,符号位单独处理;   ③.被乘数和部分积取双符号位,乘数取单符号位;   ④.若乘数的末位 yn=0,则部分积右移一位;若乘数的末位 yn=1,则部分积加被乘数后右移一位;   ⑤.部分积右移时遵循原码移位规则;   ⑥.总共执行 n 次累加与移位操作。 3.3.1 原码一位乘法 2.原码一位乘法的逻辑实现 3.3.2 补码一位乘法 1.补码一位乘法的运算法则   ①.操作数与运算结果均用补码表示;   ②.被乘数和部分积取双符号位,乘数取单符号位;   ③.乘数末位之后增加一个附加位 yn+1,初值为 0;   ④.根据乘数末位 yn 和附加位 yn+1 执行下列操作:当 ynyn+1=00 或 ynyn+1=11 时,部分积右移一位;当 ynyn+1=01 时,部分积加 [ x ]补 后右移一位;当 ynyn+1=10 时,部分积加 [ - x ]补 后右移一位;   ⑤.部分积右移时遵循补码移位规则;   ⑥.总共执行 n+1 步操作,但第 n+1 步不右移。 3.3.2 补码一位乘法 2.补码一位乘法的逻辑实现 3.4.1 原码不恢复余数除法 1.原码不恢复余数除法的运算法则   ①.取两个操作数的绝对值相除,符号位单独处理;   ②.对于定点小数除法,应要求被除数的绝对值小于除数的绝对值;   ③.先用被除数减除数,求出初始余数 r0 ,并根据 r0 确定商符;以后各步根据部分余数 ri 的符号上商,若 ri ≥ 0,上商 Qi = 1,若 ri < 0,上商 Qi =0,下一步按通式 ri+1= 2ri+(1-2Qi)y 进行操作;   ④.若执行操作 2ri + y,则将部分余数 ri 左移一位后与 y 相加;若执行操作2ri - y,则将部分余数 ri 左移一位后与 [ - y ]补 相加;   ⑤.若要计算 n 位商,则需进行 n 步左移和加减的操作;若第 n 步余数 rn 为负,则增加一步恢复余数的操作,但这一步不再移位;   ⑥.根据被除数和除数的符号决定商和余数的符号,真正的余数是 rn·2-n。 3.4.2 补码不恢复余数除法 1.补码不恢复余数除法的运算法则   ①.操作数与运算结果均用补码表示,符号位参与运算;   ②.若部分余数 [ ri ]补 与 [ y ]补 同号,上商 Qi = 1,下一步执行操作 2[ ri ]补+[ - y ]补;若部分余数 [ ri ]补 与 [ y ]补 异号,上商 Qi = 0,下一步执行操作 2[ ri ]补+[ y ]补;   ③.第一步将被除数视为初始余数 [ r0 ]补,按②中的方法求商符并执行下一步操作;   ④.若要计算 n 位商,则需进行 n 步左移和加减操作,求出商符与 n-1 位商,称为假商,然后加校正量 1+2-n,即获得真商,余数为 [ rn ]补·2-n。 3.5 浮点数算术运算 1.浮点数加减运算   ①.对阶:使较小的阶码向较大的阶码对齐。   ②.尾数加/减:按定点数的运算法则对尾数进行加/减法运算。   ③.规格化及舍入:对尾数加/减的结果进行规格化,并按 0 舍 1 入法进行舍入处理。   ④.判断溢出:如果在尾数规格化时因调整阶码

文档评论(0)

1亿VIP精品文档

相关文档