Professional Documents
Culture Documents
DIC報告
DIC報告
Introduction:
為了提高 digital computer 的速度,設計者可能會開發速度更快的電子元件和電
路,或者將速度較慢的元件組織成更快、效率更高的一個系統。在後者提到的
方法中,是透過將可用的電子組件組合成更複雜的邏輯結構來提高速度。這些
結構通常需要大量的附加設備,除非它和更精細的演算法一起使用以進行基礎
運算。
在 digital adder 中,加法的速度會受到 carry 傳送至整個加法器所需時間的限
制。唯有在前一個位元的位置已經求得總和,carry 也傳送到下一個位置後,這
個基本加法器中,每個位置的總和才會依序生成,並且是從最低位元的位置開
始。
改進的加法器架構可同時產生進位,但不在本篇提及,要參考其他論文。這些
加法器採用的原理是,每個位元位置的進位可以作為所有較不重要的加數位元
和被加數位元的 explicit function 獨立生成。然而,由於可用元件的固有限制,
同時生成進位的加法器的構造並不總是很實用。本篇論文描述了一種快速的
digital adder,它從複雜、且無需過多的額外硬體元件的邏輯結構中獲得速度。
Notation:
為了方便理解這套系統的功能,將使用 R.K.Richards 描述的那種布林符號(詳
細內容於其他篇論文)。但是,要注意以下功能符號:
∀代表 Exclusive OR。
⊕不是 Exclusive 就是 Inclusive OR。
addend、augend 和 true sum digits 分別由 A、B 和 S 指定,三者後面的下標
數字用來表示數字位置。進位由 C 和下標數字表示,以指示產生進位的數字
位置。S 或 C 後面跟著 y 或 n 下標,表示總和或進位是暫時性的,並且是在以
下假設之一下產生的:
y: 該部分最低位位元的位置有一個進位。
n: 該部分最低位位元的位置沒有進位。
若沒有 n 或 y 下標,就代表這是真正的總和或進位。
Basic theory:
為了說明減少由進位傳遞造成的延遲所涉及的原理,此處假設要組合一個 25 位
元加數和一個 25 位元被加數以形成一個 25 位元之和。加法器首先被切割為 5
個 5 位元加法器。每個部份的加法器都是複製的架構,也就是相同的意思,以
便可以同時進行加數和被加數的相加,一個帶進位,一個不帶進位,如下圖所
示(Fig.1)。透過將每個部分的加數和被加數數字相加,並且從該部分的最低位
元到最高位元依序傳遞進位給總和,就會產生兩個和。
但是要注意以下 3 點:
1)五個加法器會有一個 carry 強制進入最低位元,有五個則不會。
2)每個部份的加法器會同時運作並產生各自的 sum 和 carry。
3)不需要完全複製電路,因為主要的 function: A∀B 以及 AB,用於產生兩者的
和。
Fig.1 中標記K y 和K n 的電路分別代表 5-bit 加法器有和沒有攜帶 forced carry
digit。OG 電路(參見 Fig.2)控制加法器的 true sum digits。標記為 EQ 的方塊(參
見 Fig.1)包含了要實現由包含的數字所表示的方程式所需的電路。
Fig.2 顯示了一個典型的 duplicated adder 的詳細圖。該加法器生成五個Sy 和五個
Sn ,是一個會依序傳遞進位的傳統加法器。每個加法器都根據以下布林函數產
生 sum 和 carry。
Equation (1)-(6)是加法器帶有強制進位輸入,(7)-(12)則沒有。(13)-(16)代表為加
法器選擇 true subsums 的電路的邏輯表示式。(17)則代表 end-around carry。
最低階加法器的真實 subsum 為A1−5 加上B1−5 (沒有強制進位),除非存在 end-
around carry 或先前相加產生的進位已被儲存。
在 carry select adder 中,產生 subsum 路徑和進位選擇路徑應該要是大致相等
的。在進位可用於選擇真正的和之前,產生 subsums 並不能實現速度優勢。因
此,為了節省元件,可以在這些部分內使用短的 ripple-carry 路徑。在上面討論
的加法器中,這些路徑不相等,因為 25 位元加法器被設計為 100 位元加法器的
一部分。
100-bit adder
理論上,Fig.1 的基本加法器可以將這些小部分的加法器擴展至任意數量。然
而,隨著加法器數量的增加,進位選擇電路變得更耗成本和複雜。在大型加法
器中,為了保留簡單系統的優勢並允許使用進位選擇技術,multiple-radix carry
被擴展以涵蓋更高階的 radices。
Multilevel adder 的工作原理與 single-level adder 相同。例如,100 位元 miltilevel
Adder 的第一級由一系列 5 位元加法器組成,如 Fig.2 所示。第二級由好幾群 5
位元加法器組成,就像 Fig.1 中 25 位元加法器為一群體的架構那樣。Successive
levels 由兩個以上的群體組成,如 Fig.3 所示。
Multiple-radix 的技術決定以下兩點:
1) carry-out 是否會在某個區域或群體內部產生。
2) 由於 carry 被送入到某個區域或群體中,該區域或群體是否會產生 carry-
out。
事實上,這個技術允許 carry 繞過一個區域或群體。數個 radices 由加法器的數
個區域或群體的 carry 形成。一個區域的 carry 的 radix 被定義為R cs = 2b ,b 是
該區域內的位元數。
因此,若其中一個加法器執行加法並產生結果為25 ,carry 就產生了。而 carry
radix 為 32。
一個群體(此處為 5 個 5 位元的區域)產生的 carry radix 被定義為R cg = 2bs ,b 是
一個區域內的位元數,s 是該群體內有多少區域。
Group carries X 和 Z 由以下 function 定義,其中下標數字代表在加法器中位元
的位置。