半加器、全加器是組合電路中的基本元器件,也是CPU中處理加法運算的核心,理解、掌握并熟練應用是硬件課程的最基本要求。本文簡單介紹半加器、全加器,重點對如何構造高效率的加法器進行分析。
半加器和全加器
所謂半加器,是指對兩位二進制數實施加法操作的元器件。其真值表、電路圖和邏輯符號分別如下圖所示:
根據真值表,其輸入輸出之間的對應關系為:
從半加器的真值表、電路圖可以看出,半加器只能對單個二進制數進行加法操作,只有兩個輸入,無法接受低位的進位,因此稱為半加器。
對此,全加器則解決了這個問題,全加器有三個輸入(包括來自低位的進位),兩個輸出,其對應的真值表、電路圖和邏輯符號如下所示:
加法器的構造
有了全加器,構造加法器就非常容易了,假設有A3A2A1A0和B3B2B1B0,利用全加器構造A3A2A1A0+B3B2B1B0的串行進位加法器電路圖如下圖所示:
圖中的C-1=0,因為已是最低位,沒有進位。這種串聯方法只是完成了基本功能,從效率上則完全不可行。
那如何做呢?其實方法挺簡單的,只需要把Ci和參與運算的兩個4位二進制數之間的關系梳理清楚就行了。直接用代入法展開得:
在這個關系式里,直接列出了4位二進制加法的最終進位,不用等待低位計算完了,再計算高位,而是直接進行計算,最終得到的超前進位加法器電路圖如下所示:
假設超前進位加法器中的每個門時延是t,對于4位加法,最多經過4t的時延,而且,即使增加更多的位數,其時延也是4t。
對比串行進位加法器和超前進位加法器,前者線路簡單,時延與參與計算的二進制串長度成正比,而后者則是線路復雜,時延是固定值。通常,對于32的二進制串,可以對其進行分組,每8位一組,組內加法用超前進位加法器,組間進位則用串行進位。采用這種折中方法,既保證了效率,又降低了內部線路復雜度。
-
全加器
+關注
關注
10文章
62瀏覽量
28562 -
半加器
+關注
關注
1文章
29瀏覽量
8824
發布評論請先 登錄
相關推薦
評論