【计算机组成】知识点整理2 - 运算方法与运算器

文章目录

  • 3.运算方法与运算器
  • 3.1 定点加法、减法运算
    • 3.1.1 补码加/减法运算
    • 3.1.2 溢出概念与检测方法(※) 3种
    • 3.1.3 基本的二进制加法/减法器。
      • 一位加法逻辑电路实现
      • 带进位链的一位全加器
      • 多位加法器 (※)
      • 补码减法电路实现
  • 3.2 定点数的移位运算
  • 3.3 定点乘法运算(※)
    • 3.3.1 原码一位乘法
    • 3.3.2 补码一位乘法
    • 3.3.3 无符号数的阵列乘法器
  • 3.4 定点除法运算
  • 3.5 浮点加法、减法运算(※)
  • 3.6 并行进位加法器(※)

3.运算方法与运算器

3.1 定点加法、减法运算

3.1.1 补码加/减法运算

  • 补码加法 公式:[x+y]补=[x]补+[y]补 (mod 2n+1) 。
  • 补码减法
    [x - y]补 = [x]补 + [ -y]补
    [-y]补 = - [y]补 + 2^-n 即对[y]补进行求补操作。 各位取反,末位加一

3.1.2 溢出概念与检测方法(※) 3种

  1. 正正得负,负负得正:
    • 两正数加,结果变负数:正溢(大于机器所能表示的最大数)
    • 两负数加,变正数:负溢(小于机器所能表示的最小数)
  2. Cf为符号位产生的进位, C0为最高有效位产生的进位。Cf与C0相同时,不溢出
  3. 双符号位(变形补码)溢出检测法:
    双符号位中的最高符号位 永远是正确符号位。
    00.xxxx 11.xxxx 正确 01.xxxxx 10.xxxxx错误
    使用异或门判断

3.1.3 基本的二进制加法/减法器。

一位加法逻辑电路实现

【计算机组成】知识点整理2 - 运算方法与运算器_第1张图片

带进位链的一位全加器

【计算机组成】知识点整理2 - 运算方法与运算器_第2张图片

多位加法器 (※)

  • 思想: N位加法器包含n个全加器
  • 将多个一位全加器串联,低位进位输出连接到高位进位输入。
    【计算机组成】知识点整理2 - 运算方法与运算器_第3张图片

补码减法电路实现

  • [X - Y]补= [X]补+ [-Y]补
  • 方法:加法器的改造
    • 输入[Y]补做加法,如果输入[-Y]补则做减法。
      [-Y]补=[[Y]补]补=[[Y]补]反 +1 将Y补 连同符号位一起,逐位取反末位加一 [-Y]补= [ [Y]补 ]补
    • 引入Sub位:
       Sub=0 时做加法,送入加法器的应是 [Y]补
       Sub=1 时做减法,送入加法器的应是 [-Y]补 。如下:

【计算机组成】知识点整理2 - 运算方法与运算器_第4张图片

3.2 定点数的移位运算

【计算机组成】知识点整理2 - 运算方法与运算器_第5张图片

3.3 定点乘法运算(※)

1、原码一位乘法
2、补码一位乘法
3、阵列乘法器

3.3.1 原码一位乘法

【计算机组成】知识点整理2 - 运算方法与运算器_第6张图片

3.3.2 补码一位乘法

【计算机组成】知识点整理2 - 运算方法与运算器_第7张图片
【计算机组成】知识点整理2 - 运算方法与运算器_第8张图片

  • 算数右移(补码一位乘法)vs 逻辑右移(原码一位乘法)
  • 乘数开始时要手动在末位加0
  • 注意最后一步

3.3.3 无符号数的阵列乘法器

补码乘法器运算例子:

【计算机组成】知识点整理2 - 运算方法与运算器_第9张图片

3.4 定点除法运算

原码不恢复余数法 (加减交替法)
得到的结果为原码 (加减计算过程中用补码)

  • 余数为正,商1,余数左移一位,减去除数
  • 余数为负,商0,余数左移一位,加上除数
  • 【计算机组成】知识点整理2 - 运算方法与运算器_第10张图片

3.5 浮点加法、减法运算(※)

浮点运算步骤如下

  1. 比较阶码并完成对阶(小阶向大阶 对齐);移位
  2. 尾数求和(差)运算;
  3. 结果规格化:可采用规格化形式–绝对值0.1XXXX (也可采用IEEE754标准的,详见P85)
    【计算机组成】知识点整理2 - 运算方法与运算器_第11张图片
  4. 舍入处理:末位恒置1 / 0舍1入
  5. 溢出判断。

IEEE754浮点数的加减运算
阶码采用移码表示,尾数采用原码表示

【计算机组成】知识点整理2 - 运算方法与运算器_第12张图片

3.6 并行进位加法器(※)

  • 串行进位(行波进位) 加法器特点
    进位信号逐位形成, 前后依赖, 因此速度较慢
  • 并行进位加法器(※)
    [特点]各位进位信号同时形成 .
    1) 逻辑关系
    C1 = G1 + P1C0
    C2 = G2 + P2C1
    = G2 + P2G1 + P2 P1 C0

    Cn = Gn + PnCn-1
    = Gn + PnGn-1 + …+ PnPn-1…P2P1 C0
    仅与最低位的进位输入C0有关 ! 其他已知

组内并行、组间串行
【计算机组成】知识点整理2 - 运算方法与运算器_第13张图片

组内并行、组间并行
【计算机组成】知识点整理2 - 运算方法与运算器_第14张图片

  • P* =P0P1P2P3 G* = G3+G2P3+G1P2P3+G0P1P2P3
  • C4 =G0+P0·C0 C8 =G1+P1·C4 C12 =G2+P2·C8 C16 =G*+ P*·C0
  • 有了C0就都产生了

你可能感兴趣的:(经验分享)