專利名稱:最佳分區(qū)再生先行進位加法器的制作方法
本發(fā)明涉及數字加法器領域,確切地說,涉及加法器的先行進位方式。
計算機或微處理器的核心是算術-邏輯運算單元(ALU簡稱運算器)。運算器的一個基本功能是進行數字加法運算。運算器中的加法器電路將兩個數組合并生成其和。
典型的半加器將兩個數相加并給出其和與一個進位。全加器接收一個輸入的進位,將該進位也相加,從而提供和及一個進位輸出。對下一個有效位,這個進位輸出相當于進位輸入。單個全加器順序相聯(lián)形成一個完整的加法器,而加法器的擴展是由串聯(lián)級的數量而確定。然而,在簡單的行波加法器中,由于在當前級中執(zhí)行加法運算時需要先有前一級產生的進位,所以處理時間非常慢。
為了克服這一缺陷,產生了先行電路。在典型的先行電路中,首先考查將要執(zhí)行加法的某些數字位,在這些位相加得到其和之前產生一個進位輸出。因此,典型的先有技術電路中,一對四位字節(jié)組成一級,在該級產生和之前為下一級提供進位輸出。先行電路減少了在每位位置需要的行波式動作,因此減少了運算時間。遺憾的是,由于每一級中位數的增加,先行電路也變得相當龐大,因此,在實施的先有技術中,將每級限制在四位。
本發(fā)明描述了一種改進的方式,通過先行進位的不規(guī)則分組的組合,以實現(xiàn)最佳進位傳送。通過把較多的位分組在中央,而把較少的位分組在兩端,可得到較快的進位傳送。在使用多位處理器,例如當今的32位處理器時,運算器中進位傳送的延時限制了運算速度。本發(fā)明的目的是要減少這種進位傳送的延時。
本發(fā)明公開了一種用于在先行電路中組合不規(guī)則分組中位數的方法。通過把較多的位分組在中央的級,而把較少的位分組在兩端的級,可得到比先有技術的分組更快的進位傳送速度。在32位處理器中,運算時間比先有技術分組改善了25%。雖然此處所述本發(fā)明是應用于32位的分組,對其它可能的組合也可實現(xiàn)。此外,本發(fā)明也可用于一般的加法器,并不僅限于運算器電路。
因此,本發(fā)明的一個目的是提供先行進位加法器的一種最佳位分組。
本發(fā)明的另一個目的是縮短處理器中運算器的運算時間。
圖1所示為先有技術的行波進位加法器。
圖2所示為先有技術的先行進位加法器。
圖3所示為先有技術實例,每個先行進位加法器為四位分組。
圖4所示為先有技術中先行進位加法器的功能。
圖5所示為本發(fā)明的不規(guī)則分組。
這里描述一種改進的先行進位分組方式。首先討論先有技術,以建立本發(fā)明所基于的原理。本發(fā)明的問世是為了提高利用多路信號分離32位總線的32位處理器的運算速度。早期的先行進位分組為不變分組,由于采用TTL技術,一般是四位一組。本發(fā)明特別適用于現(xiàn)行的半導體封裝,可明顯的縮短運算時間。
圖1所示為先有技術的行波加法器。一個完整的32位加法器將兩個32位數A、B以及進位輸入11相加,并產生和與進位輸出12。位零加法器(bit zero adder)級10將A013、B014位以及進位輸入(C)11相加,產生位零級的和S015并為下一位級17產生進位C116。級17對第二位(A1、B1)18和19執(zhí)行同樣的運算順序,并產生和S120與進位C221。這個運算順序重復32次后,產生Cout(C32)12。如果每級執(zhí)行運算需要t時間,則先有技術的32位行波方式將需要時間32t才能產生進位輸出12。
圖2為先有技術中使用先行方式的32位加法器。每一位級22包括一個PG(傳送/生成)電路23。每個PG電路23按照下列真值表提供一個傳送信號24和一個生成信號25Gn=An Bn (式1)Pn=An
Bn (式2)以及由下式所得的和26Sn=An
Bn
Cn (式3)當Pn=1時,無論Gn為何值,都把進位輸入傳送到進位輸出。當Pn=0時,無論進位輸入為何值,進位輸出由Gn的值確定。在先有技術中,傳送信號24和生成信號25已為公知,并有許多電路設計提供這兩種信號。
先行電路30從位零級并通以后位的三個級30、31、32和33以及進位輸入(C0)34得到傳送信號24和生成信號25。電路30在其內部按照下列真值表產生自身的組P信號和組G信號Gg=G3+P3G2+P3P2G1+P3P2P1G0(式4)Pg=P3P2P1P0(式5)之后,電路30產生相當于級33的進位輸出C4的輸出35,其中C4由下式確定Cn=Gn-1+Pn-1Gn-2+Pn-1Pn-2Gn-3+……Pn-1Pn-2……P0G0(式6)
C4=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0G0上式等效于(式7)C4=Gg+PgC0(式8)利用先行電路30,計算一個塊(block)的進位輸出值與計算該塊(級30-33)和的值是同時進行的。
圖3所示為每個先行塊40的四位分組。在32位加法器中,產生進位輸出41需要八個塊。每個塊40按照行波形式把進位42耦合到下一個更高有效位塊。因為各先行塊40確定進位是與位級的求和運算同時進行的,所以進位輸出41的產生比圖1中的行波形式要快得多。此外,因為每個塊40可以并行運算,所以限制的因素僅為通過先行進位電路傳送進位所需的時間。
圖4更詳細的說明了所示的先行塊40的全部工作過程。每個塊40與圖3所示相似,為4位分組。每個塊的進位42由內部生成函數值(Gg)45或傳送值(Pg)46所確定(其中Cout=Gg+PgCi)。對每個先行電路,每個位的位加法器44耦合成四位-組的形式。因此,當進位輸入C047必須通過所有的八個先行塊40傳送時,產生最長的行波效應。任何時候,當進位傳送(Pg)為零時,這個進位傳送鏈結束。
當C047=1并且C32=1時,通過全部八個先行塊40的傳送通道是不中斷的(假設進位輸入C047的傳送要通過每個先行級)。如果每個先行塊的延時為L時間,總的傳送延時為t=8L。
實際上,當進位產生在輸出位級0,終止在輸出位級30時為最差的情況。此最差情況的進位傳送通道由箭頭48示出。因為級0和級31并不傳送進位(P0=P31=0),所以進位必須以行波方式通過位加法器位1、2、3、28、29和30。此外,進位也必須通過先行塊2到先行塊7(6個塊)。因此,如果每個位加法器傳送進位的延遲時間為B,則全部傳送延時為T=3B+6L+3B如果 B=L 則 T=12B雖然先行進位電路可以做成多于4位,但如式(6)所示,邏輯電路將十分復雜。此外,在早期的集成電路結構中,作為TTL封裝,一般每個封裝中為四個位加法器。因此人們選擇在一個封裝中的四位先行電路以滿足四位加法器之用。這種趨勢一直沿續(xù)至今。
本發(fā)明的產生是為了滿足開發(fā)制作在一塊半導體芯片上的快速32位微處理器的需要。因為是密集的特殊封裝,在一個位分組中實際的位數與封裝無關,除非每個組中位數過大而使電路過于復雜,導致先行作用失效。
圖5所示為本發(fā)明電路的工作情況。32位全加法器60以級聯(lián)行波方式聯(lián)接,位零加法器50是最低有效位(LSB)加法器,位31加法器65是最高有效位(MSB)加法器。32位加法器60的每個位加法器61接收兩位,并從前一位加法器接收進位輸入,對下一位加法器(未示出)產生進位輸出。LSB加法器50接收進位輸入64,MSB加法器65產生進位輸出66。每個位加法器61還具有PG電路,PG電路把P線和G線(未示出)分別連接到它的先行進位生成塊67。每個先行塊67以級聯(lián)方式聯(lián)接,以便從前一塊接受進位輸入,并且對下一塊產生進位輸出。此外,第一塊52接受進位輸入64,最后一塊62產生進位輸出66。
本發(fā)明不規(guī)則的分組包括八個先行進位塊,大的分組在中央,而小的分組在兩端。位零加法器50和位1加法器51構成第一個分組,并且先行進位由第一塊52產生。第二塊55包括三位,每個分組的位數一直增加,直到中央塊56為止,隨后,對于以后的塊,每個分組的位數減小。每個位塊的進位輸出是由行波進位輸出70或先行輸出71提供,并作為進位輸入傳送到下一個位組。自然,最好是來自先行塊67的輸出。
圖中所示位序列具有如下分組3 4 5 6 5 4 3 2所示的最差的情況下的位傳送起始于位置53,終止于位置54,其傳送通道包括位級1、先行塊2到先行塊7、位級29和位級30,延時總和為 T=2B+6L+1B(B是位級的延時,L是先行塊的延時)其中如果L=B,則T=9B這個延時比起規(guī)則分組的最差情況下的延時12B降低了25%。因此運算時間比先有技術中規(guī)則位分組減少25%。
在特定的實施例中,選擇下列方式的分組3 4 5 6 5 5 4因為B延時小于L延時,所以這種方式可得到最佳傳送延時。
雖然在本發(fā)明的最佳實施例中用的是32位結構,本發(fā)明也可用于不是32位的結構。此外,根據L和B延時的特性也可采用其它許多可能的不規(guī)則分組。本發(fā)明使用不規(guī)則先行分組以獲得最佳進位通道延時。另外,本發(fā)明也可應用于其它加法器電路,并不僅僅限于運算器的加法器電路。
以上所述就是用于先行進位電路的加法器位的不規(guī)則分組方法。
權利要求
1.具有多個可生成向前進位信號單元的數字加法器中,其進位生成裝置的特征在于包括多個先行進位電路,其中每個所說的先行進位電路與預定數量的所說單元相耦合,并且為相應單元的向前進位信號提供向前進位通道;每個所說先行進位電路的所說預定數量的單元形成一個分組,其中至少有兩個所說的分組具有數量不同的所說單元;因此所說加法器的進位傳送延時縮短。
2.權利要求
1中所定義的進位生成裝置,其特征在于所說的先行進位電路串聯(lián)聯(lián)接,并且中央組比在兩端的組具有更多的單元。
3.權利要求
2中所定義的進位生成裝置,其特征在于所說的先行進位電路為32個單元提供所說的向前進位通道。
4.權利要求
3中所定義的進位生成裝置,其特征在于所說的單元分組為3、4、5、6、5、4、3、2。
5.權利要求
3中定義的進位生成裝置,其特征在于所說的單元分組為3、4、5、6、5、5、4。
6.權利要求
5中所定義的進位生成裝置,其特征在于該裝置做在一塊半導體芯片上。
7.具有多個單元(其中每個單元提供進位傳送信號和進位生成信號)的先行進位數字加法器中,其向前進位電路的特征在于多個向前進位級串聯(lián)聯(lián)接,每個所說的級與預定的單元分組相耦合,其中至少有兩個所說的分組具有不同數量的單元;在中央部位附近的分組具有最多的單元,從中央部位向兩端的各分組具有的單元數量遞減;由此,所說加法器的進位傳送延時減小。
8.權利要求
7中所定義的電路,其特征在于32個單元安排成預定的分組3、4、5、6、5、4、3、2。
9.權利要求
7中所定義的電路,其特征在于32個單元安排成預定的分組3、4、5、6、5、5、4。
10.權利要求
9中所定義的電路,其特征在于所說的電路做在一塊半導體芯片上。
11.在數字加法器中縮短進位傳送延時的方法,其特征在于包括以下步驟串聯(lián)聯(lián)接的多個單元,每個單元都提供進位傳送信號和進位生成信號;將所說的單元按照使每個組具有預定數量的單元的方法而分組,在所說的分組方法中,至少有兩個所說的分組具有不同數量的單元;在中央的組具有最多的單元,從中央到兩端,每個組具有的單元數量遞減;將多個先行進位電路串聯(lián)排列,為每個所說單元分組提供向前進位通道;將每個所說單元組與所說的先行進位電路相耦合;由此,加快所說加法器電路的運算時間。
12.權利要求
11中所定義方法,其特征在于還包括把32個單元分組為3、4、5、6、5、4、3、2的步驟。
13.權利要求
11所定義的方法,其特征在于還包括把32個單元分組為3、4、5、6、5、5、4的步驟。
專利摘要
一種改進的產生先行進位的方法,使用了不規(guī)則的分組方法使得進位傳送延時減小。這種分組中,大的位組在中央,小的位組在兩端。
文檔編號G06F7/506GK87100346SQ87100346
公開日1987年8月19日 申請日期1987年1月17日
發(fā)明者武升, 帕特里克·P·格爾辛格 申請人:英特爾公司導出引文BiBTeX, EndNote, RefMan