組成原理(十):運算及ALU


學習重點

  • 定點運算
    • 移位運算
    • 加減運算
    • 乘法
    • 除法
  • 浮點運算
    • 加減
  • ALU
    • 示意圖
    • 並行加法器
      • 串行快速進位鏈
      • 並行快速進位鏈

1.定點運算

1.1 移位運算

  1. 算術移位規則:
    符號位不動,其他位移動,添補代碼如下:

    • 正數:原反補碼,都補0
    • 負數:
      • 源碼,補0
      • 反碼,補1
      • 補碼,左0右1
  2. 規則示意圖:

  3. 算術移位與邏輯移位:

    • 算術移位:有符號位的移位(考慮符號位)
    • 邏輯移位:無符號位的移位(符號位一起移動)
    • 邏輯左移:低位添0,高位丟失
    • 邏輯右移:高位添0,低位丟失
  4. 移位硬件實現:

1.2 加減運算

  1. 公式:連同符號位一起計算

    • [A]補+[B]補=[A+B]補
    • [A]補+[(-B)]補=[A-B]補
  2. 溢出判斷:(進位不等於溢出)

    • 溢出:結果超出表示范圍
      • 定點小數和>1
      • 整數和符號位進位可能溢出
    • 一位符號位判斷:僅考慮進位的符號
      • 進位符號與原符號不同,則溢出
      • 需要相加的兩個數符號位相同才能判斷
    • 兩位符號位判斷:進位后產生的兩個符號位A,B
      • 若A⊕B=1,則溢出(不同溢)

      • 若A⊕B=0,則未溢出(同不溢)

      • 如:1,0111+1,1011 相加不溢出

      • 最高符號位代表真正符號位

  3. 加減法硬件配置

    • V:溢出標記
    • A,X:寄存器,A就是ACC
      • A:ACC,保存被加數及和,被減數及差
      • X:X寄存器,保存加數或減數
      • A與X均為n+1位
    • GA:加法控制,加法置1
    • GS:減法控制,減法置1
    • 減法操作時部控制邏輯啟用
      • 完成從[B]補[-B]補的轉換
    • 加法:A+X—>A
    • 減法:A+(-X)—>A

1.3 乘法

  1. 筆算乘法:

    • 符號由異或決定
  2. 乘法豎式表示:
    A:-0.1101,被乘數
    B:0.1011,乘數,從右往左一位一位的乘

    • 乘積低位和乘數存在乘商寄存器中,將乘數低位頂掉
    • 乘積高位存在ACC寄存器中
  3. 公式:


    符號由異或決定,絕對值相乘

  4. 硬件配置示意圖:

    • A:ACC寄存器,存放部分積(積的高位)
    • X:X寄存器,放被乘數
    • Q:MQ寄存器,存放乘數和部分積(積的低位)
    • 計數器C:記錄移位次數
    • S:符號
    • GM:乘法標志
    • 移位和加受末位乘數控制

1.4 除法

  1. 恢復余數法:

    • 余數為正,上商1,減除數
    • 余數為負,上商0,恢復余數
  2. 加減交替法:

    • 規則:
      • R:余數
      • y:除數
    • 豎式:
  3. 加減交替除法硬件配置:

    • A:存放被除數,余數
    • X:存放除數
    • Q:存放商
    • GD:除法標志
    • V:溢出標志

2.浮點加減運算

步驟:對階,尾數求和,規格化,舍入,溢出判斷

2.1 對階

小階對大階,右移:

  • 小階對大階
  • 使階數相同
  • 左移高位丟失,誤差大

2.2 尾數求和

將対階過后的尾數相加即可:

2.3 (尾數)規格化

  1. 規格化形式:基數為2

    • 原碼:第一位數據位為1
    • 補碼:第一位數據位和符號位不同
  2. 尾數規格化:基數為2

    • 左歸:尾數左移1位,階碼減1
    • 右歸:尾數右移1位,階碼加1
  3. 規格化數判斷:

  4. 特例:

    • S=-1無原碼

2.4 舍入

対階右規過程中,可能會出現尾數末位丟失的情況
數據長度超過最大值,低位(末位)部分處理:

  • 0舍1入:處理的最高位為0,不處理,為1,當前尾數加1
  • 全1法:不管處理的最高位為多少,當前尾數末位都變為1

2.5 溢出判斷

3.ALU

  1. ALU電路:

    組合邏輯電路,操作ki不同,輸出Fi也不同
  2. 並行加法器:

3.1 進位鏈

  1. 串行進位鏈:

  2. 並行進位鏈

    • 單重分組跳躍進位鏈

    • 雙重分組跳躍進位鏈


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM