第一章 加法器
第一章 加法器
所有的加、減、乘、除四則運算,最終都是將其轉化爲加法運算來實現的,所以,加法運算是運算電路的核心。實現半加運算的電路叫做半加器(HalfAdder)。半加器有兩個二進制的輸入,其將輸入的值相加,並輸出結果到和(Sum)和進位(Carry)。半加器雖能產生進位值,但半加器本身並不能處理進位值。
並行加法器中全加器的位數與操作數的位數相同,可同時對各位相加。影響速度的主要是傳遞進位信號的進位鏈。而優化設計的主要目標是高速、低耗、資源(面積)開銷小,其關鍵是構思高速、高效的進位算法與結構。一流的高速加法器有:超前進位加法器、跳躍進位加法器、樹形結構加法器、對數跳躍進位加法器、混合超前進位/選擇進位加法器、頂層進位級聯超前進位加法器等。這些高速、高效的進位方法一般都是在超前進位基礎上的改進或者混合進位。因此,超前進位加法器(簡稱CLA)很自然地成爲優化設計比較的基準。在結構方面,行波進位加法器是最簡單的整數加法器;它的時間複雜度是O(n)。跳躍進位加法器對於位數少的加法是相當有效的,但對於長位數的加法,由於該加法器的時間複雜度是o(n^-0.5)(其效果並不明顯)。超前進位加法器有着O(log2n)的時間複雜度,因此是最快的加法器算法。由於超前進位加法器速度快、結構模塊化,使它得以廣泛的應用。這種算法利用大量的硬件開銷實現產生進位信號的電路,運算時間減少比較明顯。
只要Gi = ai&bi = l,就會產生向Ci+l位的進位,稱Gi爲進位產生函數;同樣,只要Pi = ai + bi =l,就會把Ci傳遞到Ci+1位,所以稱Pi爲進位傳遞函數。
如果是5個1相加,結果應是101。而這裏並不是將2個進位相加,而是產生2個進位Cout,C和一位的結果S。既是:Cout,C,S都是1。Cout將作爲高一個位的進位保留位的進位輸入;而C是本位的進位保留位。“進位保留”是指先保留進位輸出而不是立即用它來計算最終的和。而是將進位保留到下一級的加法器進行,避免了進位鏈的延時。所以一個4-2壓縮加法器總共需6級門延遲。
4-2壓縮加法器主要應用於乘法器的運算。整個乘法器的速度,主要有三部分組成:Booth 編解碼單元或APO 編解碼單元、4-2壓縮單元與CLA 快速求和單元。APO編碼是完成縮減部分積數量的算法,每次掃描2位數據,將部分積數量縮減了50%。31位乘數(符號位取0)採用APO算法編碼後與被乘數相乘得到16 行部分積;接着基於4-2壓縮器的第一級4個壓縮單元將部分積壓縮成Carry、Sum形式的兩行部分積共4組,之後;第二級2個壓縮單元將前面的4組8行數據再壓縮成Carry、Sum形式的兩行部分積共2組,之後;第三級1個壓縮單元將前面的2組4行數據再次壓縮成Carry、Sum形式的兩行部分積共1組2行數據。最後用64位超前進位加法器(CLA)完成最終兩行部分積的快速求和結果。乘法器總共需APO算法4級門延遲
+ 三級4-2壓縮加法器(3*6 )18級門延遲 =22級門延遲。因64位超前進位加法器是使用流水部件,延遲不計算。如果一個門延遲是小於23PS,那麼32位乘法器有望速度能達到0.5ns。佔用2個時鐘週期。
光走過一米的距離大約需3.3ns,如果走過30納米的距離大約需0.0001ps,而電信號,由於電容、電感、電阻的存在就慢多了。
所有的加、減、乘、除四則運算,最終都是將其轉化爲加法運算來實現的,所以,加法運算是運算電路的核心。實現半加運算的電路叫做半加器(HalfAdder)。半加器有兩個二進制的輸入,其將輸入的值相加,並輸出結果到和(Sum)和進位(Carry)。半加器雖能產生進位值,但半加器本身並不能處理進位值。
並行加法器中全加器的位數與操作數的位數相同,可同時對各位相加。影響速度的主要是傳遞進位信號的進位鏈。而優化設計的主要目標是高速、低耗、資源(面積)開銷小,其關鍵是構思高速、高效的進位算法與結構。一流的高速加法器有:超前進位加法器、跳躍進位加法器、樹形結構加法器、對數跳躍進位加法器、混合超前進位/選擇進位加法器、頂層進位級聯超前進位加法器等。這些高速、高效的進位方法一般都是在超前進位基礎上的改進或者混合進位。因此,超前進位加法器(簡稱CLA)很自然地成爲優化設計比較的基準。在結構方面,行波進位加法器是最簡單的整數加法器;它的時間複雜度是O(n)。跳躍進位加法器對於位數少的加法是相當有效的,但對於長位數的加法,由於該加法器的時間複雜度是o(n^-0.5)(其效果並不明顯)。超前進位加法器有着O(log2n)的時間複雜度,因此是最快的加法器算法。由於超前進位加法器速度快、結構模塊化,使它得以廣泛的應用。這種算法利用大量的硬件開銷實現產生進位信號的電路,運算時間減少比較明顯。
只要Gi = ai&bi = l,就會產生向Ci+l位的進位,稱Gi爲進位產生函數;同樣,只要Pi = ai + bi =l,就會把Ci傳遞到Ci+1位,所以稱Pi爲進位傳遞函數。
如果是5個1相加,結果應是101。而這裏並不是將2個進位相加,而是產生2個進位Cout,C和一位的結果S。既是:Cout,C,S都是1。Cout將作爲高一個位的進位保留位的進位輸入;而C是本位的進位保留位。“進位保留”是指先保留進位輸出而不是立即用它來計算最終的和。而是將進位保留到下一級的加法器進行,避免了進位鏈的延時。所以一個4-2壓縮加法器總共需6級門延遲。
4-2壓縮加法器主要應用於乘法器的運算。整個乘法器的速度,主要有三部分組成:Booth 編解碼單元或APO 編解碼單元、4-2壓縮單元與CLA 快速求和單元。APO編碼是完成縮減部分積數量的算法,每次掃描2位數據,將部分積數量縮減了50%。31位乘數(符號位取0)採用APO算法編碼後與被乘數相乘得到16 行部分積;接着基於4-2壓縮器的第一級4個壓縮單元將部分積壓縮成Carry、Sum形式的兩行部分積共4組,之後;第二級2個壓縮單元將前面的4組8行數據再壓縮成Carry、Sum形式的兩行部分積共2組,之後;第三級1個壓縮單元將前面的2組4行數據再次壓縮成Carry、Sum形式的兩行部分積共1組2行數據。最後用64位超前進位加法器(CLA)完成最終兩行部分積的快速求和結果。乘法器總共需APO算法4級門延遲
+ 三級4-2壓縮加法器(3*6 )18級門延遲 =22級門延遲。因64位超前進位加法器是使用流水部件,延遲不計算。如果一個門延遲是小於23PS,那麼32位乘法器有望速度能達到0.5ns。佔用2個時鐘週期。
光走過一米的距離大約需3.3ns,如果走過30納米的距離大約需0.0001ps,而電信號,由於電容、電感、電阻的存在就慢多了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.