计算机组成原理 第二十一课精要.pptVIP

  • 14
  • 0
  • 约1.52万字
  • 约 56页
  • 2017-05-11 发布于湖北
  • 举报
计算机组成原理 第二十一课精要

(5) 原码两位乘运算规则 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 操 作 内 容 标志位 Cj 乘数判断位 yn-1yn z 2, y* 2, Cj 保持“0” z 2, y* 2, Cj 保持“1” z–x* 2, y* 2, Cj 保持“1” z+2x* 2, y* 2, Cj 保持“0” z+x* 2, y* 2, Cj 保持“0” 共有操作 +x* +2x* –x* 2 实际操作 +[x*]补 +[2x*]补 +[–x* ]补 2 补码移 z–x* 2, y* 2, Cj 置“1” z+2x* 2, y* 2, Cj 置“0” 6.3 z+x* 2, y* 2, Cj 置“0” 例6.22 已知 x = 0.111111 y = – 0.111001 求[x·y]原 0 0 0 . 0 0 0 0 0 0 0 0 0 . 1 1 1 1 1 1 0 0 0 . 1 1 1 1 1 1 0 0 . 1 1 1 0 0 1 0 初态 z0 = 0 + x*, Cj = 0 0 1 0 . 0 0 1 1 0 1 1 1 0 0 0 . 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 . 1 0 0 1 0 0 0 1 1 1 0 0 1 . 1 1 1 1 1 0 + 2x*,Cj = 0 1 1 1 . 0 0 0 0 0 1 – x*, Cj = 1 0 0 0 . 1 1 1 1 1 1 + x*, Cj = 0 0 0 0 0 . 0 0 1 1 1 1 1 1 0 0 1 1 1 0 2 0 0 0 0 . 1 0 0 0 1 1 0 1 1 1 0 0 1 1 2 1 1 1 1 . 1 1 1 0 0 1 0 0 0 1 1 1 0 0 2 Cj 部 分 积 乘 数 说 明 补码右移 补码右移 6.3 解: 数值部分的运算 补码右移 + + + + ② 数值部分的运算 ① 乘积的符号位 x0 y0 = 0 1 = 1 x*? y* = 0. 1 1 1 0 0 0 0 0 0 1 1 1 则 [x ? y]原 = 1. 1 1 1 0 0 0 0 0 0 1 1 1 例6.22 结果 特点 绝对值的补码运算 算术移位 用移位的次数判断乘法是否结束 6.3 (6) 原码两位乘和原码一位乘比较 符号位 操作数 移位 移位次数 最多加法次数 x0 y0 x0 y0 绝对值 绝对值的补码 逻辑右移 算术右移 n n n 2 (n为偶数) n 2 +1(n为偶数) 思考 n 为奇数时,原码两位乘 移 ?次 最多加 ?次 原码一位乘 原码两位乘 6.3 5. 补码乘法 设 被乘数 乘数 [x]补 = x0. x1x2 xn … [y]补 = y0. y1y2 yn … ① 被乘数任意,乘数为正 同原码乘 但 加 和 移位 按 补码规则 运算 乘积的符号自然形成 ② 被乘数任意,乘数为负 乘数[y]补,去掉符号位,操作同 ① 最后 加[–x]补,校正 (1) 补码一位乘运算规则 6.3 以小数为例 ③ Booth 算法 (被乘数、乘数符号任意) 设[x]补 = x0.x1x2 xn [y]补 = y0.y1y2 yn … … [x · y]补 = [x]补( 0.y1 yn ) – [x]补 · y0 … = [x]补(y1 2-1+y22-2+ +yn2-n) – [x]补 · y0 … = [x]补(–y0+y1 2-1+y22-2+ +yn2-n) … = [x]补[–y0+(y1 – y12-1)+(y22-1–y22-2)+ +(yn2-(n-1)–yn2-n)] … = [x]补[(y1–y0)+(y2–y1)2-1+ +(yn–yn-1)2-(n-1)+(0 –yn)2-n)] … y1 2-1 + + … yn 2-n –[x]补= +[–x]补 2-1 = 20 – 2-1 2-2 = 2-1 – 2-2 2-1 2-2 = [x]补[(y1–y0)+(y2–y1)2-1+ +(yn+1–yn)2-n] … 6.3

文档评论(0)

1亿VIP精品文档

相关文档