You are on page 1of 4

Carry-Select Adder

O. J. Bedrij
Member, IRE

Abstract-這 篇論文 描述了 一個 大型、速 度極快 ,並具有 C 後面跟著 y 或 n 下標,表示總和或進位是暫時性的,


sum selection 和 multiple-radix carry 的 digital adder。並且比 並且是在以下假設之一下產生的:
較了 100-bit ripple-carry adder 和 carry-select adder 的硬體數
量以及 logical delay。 y: 該部分最低位位元的位置有一個進位。
n: 該部分最低位位元的位置沒有進位。
此處所描述的加法器系統透過將進位傳遞時間減少到與經
濟電路(economical circuit)設計相稱的最小值來提升加法過程的
若沒有 n 或 y 下標,就代表這是真正的總和或進位。
速度。藉由獨立生成 multiple-radix carries 並使用這些進位在
同時生成的和之間進行選擇來克服進位傳遞延遲的問題。 III. BASIC THEORY
在這個加法器系統中,加數和被加數分為子加數和子被加 為了說明減少由進位傳遞造成的延遲所涉及的原理,此
數兩個部分。他們相加兩次以產生兩個 subsums。一種家法是 處假設要組合一個 25 位元加數和一個 25 位元被加數以
透過強制進入每個部份的進位數字來完成的,而另一種是在沒 形成一個 25 位元之和。加法器首先被切割為 5 個 5 位元
有強制進位的情況下組合運算元。從每個加法器部分選擇正確
(或真實)的 subsum 取決於該部分的加法器是否有確實進位。
加法器。每個部份的加法器都是複製的架構,也就是相
同的意思,以便可以同時進行加數和被加數的相加,
I. INTRODUCTION 一個帶進位,一個不帶進位,如下圖所示(Fig.1)。透過將
每個部分的加數和被加數數字相加,並且從該部分的最
為了提高 digital computer 的速度,設計者可能會開發速
低位元到最高位元依序傳遞進位給總和,就會產生兩個
度更快的電子元件和電路,或者將速度較慢的元件組織
和。
成更快、效率更高的一個系統。在後者提到的方法中,
是透過將可用的電子組件組合成更複雜的邏輯結構來提
高速度。這些結構通常需要大量的附加設備,除非它和
更精細的演算法一起使用以進行基礎運算。
在 digital adder 中,加法的速度會受到 carry 傳送至整個
加法器所需時間的限制。唯有在前一個位元的位置已經
求得總和,carry 也傳送到下一個位置後,這個基本加法
器中,每個位置的總和才會依序生成,並且是從最低位
元的位置開始。
改進的加法器架構可同時產生進位,但不在本篇提及,
要參考其他論文。這些加法器採用的原理是,每個位元
位置的進位可以作為所有較不重要的加數位元和被加數
位元的 explicit function 獨立生成。然而,由於可用元件
的固有限制,同時生成進位的加法器的構造並不總是很
實用。本篇論文描述了一種快速的 digital adder,它從
複雜、且無需過多的額外硬體元件的邏輯結構中獲得速
度。

II. NOTATION
為了方便理解這套系統的功能,將使用 R.K.Richards
描述的那種布林符號(詳細內容於其他篇論文)。但是,
要注意以下功能符號:
代表 Exclusive OR。
⊕不是 Exclusive 就是 Inclusive OR。
addend、augend 和 true sum digits 分別由 A、B 和 S
指定,三者後面的下標數字用來表示數字位置。進位由
C 和下標數字表示,以指示產生進位的數字位置。S 或 Fig. 1 25-bit adder group
但是要注意以下 3 點:
1)五個加法器會有一個 carry 強制進入最低位元,有五個 (3)
則不會。 where
2)每個部份的加法器會同時運作並產生各自的 sum 和 car-
ry。
3)不需要完全複製電路,因為主要的 function:
A B 以及 AB,用於產生兩者的和。 (4)

where

(5)
where

(6)
(7)
(8)
where

(9)
where

(10)
where

(11)
where

Fig. 2 5-bit adder section

Fig.1 中標記 和 的電路分別代表 5-bit 加法器有和沒 (12)


有攜帶 forced carry digit。OG 電路(參見 Fig. 2)控制加法
(13)
器˙true sum digits。標記為 EQ 的方塊(參見 Fig. 1)包含了
要實現由包含的數字所表示的方程式所需的電路。 (14)
Fig. 2 顯示了一個典型的 duplicated adder 的詳細圖。該加 (15)
法器生成五個 和五個 ,是一個會依序傳遞進位的傳
統加法器。每個加法器都根據以下不林函數產生 sum 和
carry。 (16)

(1)
(2)
(17)
where
Equation (1)-(6)是加法器帶有強制進位輸入,(7)-(12)則沒 Multiple-radix 的技術決定以下兩點:
有。(13)-(16)代表為加法器選擇 true subsums 的電路邏輯 1) carry-out 是否會在某個區域或群體內部產生。
表示式。(17)則代表 end-around carry。 2)由於 carry 被送入到某個區域或群體中,該區域或群體
最低階加法器的真實 subsum 為 加上 (沒有強制 是否會產生 carry-out。
進位),除非存在 end-around carry 或先前相加的進位已經 事實上,這個技術允許 carry 繞過一個區域或群體。數個
被儲存。 radices 由加法器的數個區域或群體的 carry 形成。一個區
在 carry select adder 中,產生 subsum 路徑和進位選擇路 域的 carry 的 radix 被定義為 ,b 是該區域內的位
徑應該要是大致相等的。在進位可用於選擇真正的和之 元數。
前,產生 subsum 並不能實現速度優勢。因此,為了節省 因此,若其中一個加法器執行加法並產生結果為 ,car-
元件,可以在這些部分內使用短的 ripple-carry 路徑。在 ry 就產生了。而 carry radix 為 32。
上面討論的加法器中,這些路徑不相等,因為 25 位元加 一個群體(此處為五個 5 位元的區域)產生的 carry radix 被
法器被設計為 100 位元加法器的一部份。 定義為 ,b 是一個區域內的位元數,s 是該群體
內有多少區域。
IV. 100-BIT ADDER Group carries- X 和 Z,由以下 function 定義,其中下標數
理論上,Fig. 1 的基本加法器可以將這些小部分的加法器 字代表在加法器中位元的位置。
擴展至任意數量。然而,隨著加法器數量的增加,進位
選擇電路變得更耗成本和複雜。在大型加法器中,為了 (18)
保留簡單系統的優勢並允許使用進位選擇技術,multiple-
(19)
radix carry 被擴展以涵蓋更高階的 radices。
Multilevel adder 的工作原理與 single-level (20)
adder 相同。例如:100 位元 multilevel (21)
adder 的第一級由一系列 5 位元加法器組成,如 Fig. (22)
2 所示。第二級遊好幾群 5 位元加法器組成,就像 Fig. 1
中 25 位元加法器為一格群體的架構那樣。Successive (23)
levels 由兩個以上的群體組成,如 Fig. 3 所示。
根據上述 function,來自每個 25 位元群體的 X 和 Z carri-
es 與 組合以產生 、 、 和 。(下標 a、b、
c、d 表示 25 位元群體。)
、 、 和 (在 Fig. 1 中表示為 ) 返回到適當
的群組,以控制來自每個 5 位元加法器的 true subsum。
100 位元加法器的進位構成如 Fig. 4 所示。為了在生成
、 、 和 時節省元件,一個群組內部生成的
進位可以做成串聯漣波(ripplied serially)的形式。(Fig. 1,
Eq. 14-16)

Fig. 3 Combining of group carries


[2] A. Weinberger and J. L. Smith, “A Logic for High Speed Addition,” Na-
tional Bureau of Standards, Washington, D. C., Circular 591, sec. 1; F-
bruary, 1958.
[3] R. K. Richards, “Arithmetic Operations in Digital Computers,” D. Van
Nostrand Co., Inc., New York, N. Y.; 1955.
[4] O. L. Mac Sorley, “High-speed arithmetic in binary computers,” Proc.
IRE, vol. 49, pp. 67-91; January, 1961.
[5] J. Sklansky, “Conditional sum addition logic,” IRE Trans. On electrionic
computers, vol. EC-9, pp. 226-231; June, 1960.

Fig. 4 Carry formation path

一個 100 位元加法器依照以下 6 步驟依序進行:


1) 每個區域產生 和 。
2) carry 傳遞的時候,在每個區域中產生 和 。
3) 透過在 25 位元群體內組和 和 ,為每個群體形成
X 和 Z。
4) 透過組合 X 和 Z 形成 、 、 、 。
5) appropriate carry 回到每個 25 位元群體內。
6) 為每個 5 位元加法器選擇 true subsum。
表 1 比較了進位選擇加法器和簡單的漣波進位加法器的
速度及所需的元件數量。由表可知,使用大約兩倍的元
件數,可以達到 20 被的速度。將加法器分為特定區域至
群體排列只是為了幫助描述一般的進位選擇原則。這種
結構很容易修改。

Table I

REFERENCES
[1] A. Weinberger and J. L. Smith, “A one microsecond adder using mega-
cycle circuitry,” IRE Trans. On electronic computers, vol. EC-5, pp.
67-73; June, 1956.

You might also like