计算机组成原理-day3

今天是2021-3-5。

一。定点数的加减

机器数的选择
补码
溢出

  1. 受字长限制,运算的结果会超出数据类型表示的最大范围
  2. 只会发生在同号数的加运算中

溢出检测

  1. 检测操作数和运算结果的符号位是否一致
  2. 运算时最高位和符号位产生的进位位是否同步。最高位指符号位右边的第一位
  3. 采用双符号位时,运算结果的两个符号位相同则不溢出,不相同则溢出,此时最高符号位代表运算结果的真正符号

并行进位
相对于串行进位来说,并行进位的高位结果并不需要依赖低位结果得出,只与参与运算的加数与被加数有关,各进位的运算可以并发进行。

二。定点数的乘法

机器数的移位

  1. 逻辑左移:依次左移,左边位移出,右边空位补0
  2. 逻辑右移:依次右移,右边位移除,左边空位补0
  3. 算数左移:依次左移,左边位移出,右边空位补0,移一位相当于乘2,符号位变化表明溢出
  4. 算数右移:符号位不变,依次右移,右边位移除,将符号位拷贝到左边的空位,移一位相当于除二

原码的一位乘法
假设x=0.110,y=0.101,部分积z=0
6. z=1x+0=0.110,z右移一位=0.011,y=0
7. z=0
x+0.011=0.011,z右移一位=0.001,y=10
8. z=1x+0.001=0.111,z右移一位=0.011,y=110
9. x
y=(0|1).0.011110
10. 总结来说就是,z初始为0,每次加上y的最后一位数x,然后z右移一位、y右移一位,z右移移出的位拷贝到y的左边空位,循环。y初始的全部有效位数移出后,xy的结果就是(x、y的符号位异或).zy

补码的一位乘法
x补y补,部分积z=0,该法则需要在y的尾部增加一位,即y(n+1),由y(n+1)-yn的值来控制下一步的计算,x取双符号位参与运算,y取单符号位参与运算
假设m=y(n+1)-yn
11. 如果m=0,z+0然后右移一位,y右移一位
12. 如果m=1,z+x然后右移一位,y右移一位
13. 如果m=-1,z-x然后右移一位,y右移一位
同样,也是循环y的有效位数次后, x补
y补=zy

三。定点数的除法

原码/补码一位除法–加减交替法
定点数的运算 —— 原码、补码的除法运算

四。浮点数运算

浮点数的规格化
浮点数的加减法运算
浮点数的乘除法运算

猜你喜欢

转载自blog.csdn.net/qq_44727091/article/details/114383084