微處理器設計/乘除單元
外觀
< 微處理器設計
乘法和除法運算比加法或減法運算複雜得多。這種額外的複雜性會導致更多的硬體、更復雜的硬體以及更長的處理時間。
在硬體中,乘法和除法是透過一系列連續的加法和算術移位來執行的。出於這個原因,我們必須擁有高效的加法器和移位器。
乘法器和除法器由移位器和加法器組成。通常不可能或不希望使用 ALU 的主要加法器和移位器單元,因此微處理器通常會包含多個 ALU 單元(一個用於加法和減法的基本單元,以及嵌入在乘法和除法單元中的單元)。這是我們的 ALU 和移位器需要小而快的其他充分理由。
Wallace 樹是一種用於執行乘法的專門結構,被稱為計算領域最重要的進步之一。 [1]
Wallace 樹使用許多相同的 3:2 壓縮器(也稱為全加器),例如 TI 74x275 晶片或 TI 74x183 晶片,是實現單週期乘法的流行方法之一。TI 74x261 和 74x284 的資料手冊描述了使用 Wallace 樹實現乘法的某些實際細節。Dadda 乘法器使用相同的 3:2 壓縮器,但排列方式略微有效。
乘加運算(MAC)在單個指令中執行乘法和加法。例如,指令
MAC A, B, C
將執行以下操作
A = A + (B × C)
這對需要大量數學運算的處理器很有用,例如圖形處理器和 DSP。
MAC 往往具有較長的關鍵路徑,因此如果您的處理器具有 MAC 操作,則可能能夠包含其他複雜的算術運算。
在具有累加器體系結構的處理器中,MAC 運算將使用累加器作為目標暫存器,因此指令
MAC B, C
將執行以下操作
ACC = ACC + (B × C)
融合乘加運算是一種浮點運算,類似於 MAC。但是,在融合運算中,浮點值在乘法和加法之間不會舍入,而是之後才會舍入。有關浮點舍入的更多資訊,請參閱 浮點。
- ↑ DTACK 接地,簡易 68000/16081 系統雜誌 第 29 期 - 1984 年 3 月 第 6 頁。