專利名稱:16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于微電子學(xué)領(lǐng)域的高速、低功耗集成電路設(shè)計(jì),特別是指一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu)。
背景技術(shù):
隨著通信、多媒體技術(shù)的發(fā)展,人們對數(shù)字信號處理的要求也越來越高。這主要表現(xiàn)在對數(shù)據(jù)處理的速度和對數(shù)據(jù)精度要求的不斷提高上。
微處理器(CPU)和數(shù)字信號處理器(DSP)廣泛應(yīng)用于數(shù)字信號處理領(lǐng)域。為了適應(yīng)信號控制和處理的要求,近年來,CPU和DSP在體系結(jié)構(gòu)方面都有了巨大的發(fā)展,處理能力日漸加強(qiáng)。尤其是DSP,作為專門用于數(shù)字信號處理的芯片,發(fā)展出了多發(fā)射SIMD(單指令多數(shù)據(jù))結(jié)構(gòu)、VLIW(超常指令字)等新穎的體系結(jié)構(gòu)。這些體系結(jié)構(gòu)都向著更強(qiáng)運(yùn)算能力、更快運(yùn)算速度和提高處理器并行處理能力的方向發(fā)展。隨著指令長度的增加,指令所能代表信息的擴(kuò)展,傳統(tǒng)處理器體系結(jié)構(gòu)的三操作數(shù)模式指令有了改進(jìn)的余地,一條指令不再局限于最多只有兩個源操作數(shù)據(jù)和一個目的寄存器地址,而是可以擴(kuò)展成多個操作數(shù)同時運(yùn)算,并行處理的形式,這樣大大加快了數(shù)據(jù)處理速度,提高了效率。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu),其順應(yīng)多操作數(shù)并行運(yùn)算的要求,尋求一種16位數(shù)據(jù)精度,三操作數(shù)輸入的高速算術(shù)邏輯運(yùn)算單元(ALU)的電路結(jié)構(gòu),以期基于該算術(shù)邏輯單元(ALU),使得處理器運(yùn)算效率和運(yùn)算速度大大提高。
本發(fā)明一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu),該三輸入算術(shù)邏輯運(yùn)算單元可以完成雙操作數(shù)加、減運(yùn)算,帶進(jìn)位位的加和帶借位位的減運(yùn)算,或者三操作數(shù)的連加、加減、連減運(yùn)算,以及三操作數(shù)帶單進(jìn)位位連加、加減運(yùn)算,帶雙進(jìn)位位連加運(yùn)算,帶單進(jìn)位位單借位位加減運(yùn)算,帶單借位位加減、連減運(yùn)算和帶雙借位位連減運(yùn)算,其特征在于,其中包括一輸入操作數(shù)多選器,用于根據(jù)運(yùn)算類型將操作數(shù)選擇送給算術(shù)運(yùn)算單元或者邏輯運(yùn)算單元;一算術(shù)運(yùn)算單元,用于對送入的兩個或者三個操作數(shù)進(jìn)行連加、加減、連減等算術(shù)運(yùn)算;一邏輯運(yùn)算單元,用于對送入的兩個或者三個操作數(shù)進(jìn)行與、或、非、異或等邏輯運(yùn)算;一輸出結(jié)果多選器,用于選擇算術(shù)運(yùn)算單元或者邏輯運(yùn)算單元的輸出結(jié)果送出。
其中輸入操作數(shù)多選器將外部送入的三個操作數(shù)根據(jù)操作類型送入算術(shù)運(yùn)算單元或者邏輯運(yùn)算單元,進(jìn)行運(yùn)算。
其中算術(shù)運(yùn)算單元包括一全加器陣列,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行連加運(yùn)算的16位數(shù)壓縮成兩個加操作數(shù)的運(yùn)算;一加減器陣列,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行加減運(yùn)算的16位數(shù)壓縮成兩個減操作數(shù)的運(yùn)算;一全減器陣列,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行連減操作的16位數(shù)壓縮成兩個減操作數(shù)的運(yùn)算;一操作數(shù)多選器,其兩個16位輸入端分別連接全加器陣列的一個16位輸出端口和來自輸入操作數(shù)多選器的一個16位輸出端口,一個1位輸入端連接外部送入的進(jìn)位位信號;在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器輸出端口的操作數(shù)送入加法器參與運(yùn)算;在三操作數(shù)連加運(yùn)算時,多選器選擇來自全加器陣列的輸出數(shù)參與運(yùn)算;如果是雙進(jìn)位位運(yùn)算模式,多選器將進(jìn)位位替換來自全加器陣列輸出操作數(shù)的最低位,完成運(yùn)算;一操作數(shù)多選器,其兩個16位輸入端分別連接全加器陣列的另一個16位輸出端口和來自輸入操作數(shù)多選器的一個16位輸出端口;在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器輸出端口的操作數(shù)送入加法器參與運(yùn)算;在三操作數(shù)連加運(yùn)算時,多選器選擇來自全加器陣列的輸出數(shù)參與運(yùn)算;一16位加法器,其輸入端分別連接多選器和多選器的輸出端口,還包括一個外部輸入進(jìn)位位端口;16位加法器通過對輸入的兩個操作數(shù)和一位進(jìn)位位的求和,可以實(shí)現(xiàn)無進(jìn)位位雙操作數(shù)加運(yùn)算、帶進(jìn)位位雙操作數(shù)加運(yùn)算、無進(jìn)位位三操作數(shù)連加運(yùn)算、帶單進(jìn)位位三操作數(shù)連加運(yùn)算和帶雙進(jìn)位位三操作數(shù)連加運(yùn)算;輸出數(shù)據(jù)送往運(yùn)算結(jié)果多選器;一操作數(shù)多選器,其輸入端口分別連接加減器陣列的一個16位輸出端口、全減器陣列的一個16位輸出端口和輸入操作數(shù)多選器的一個16位輸出端,以及一個一位的進(jìn)位位;在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器輸出端口的操作數(shù)送入減法器參與運(yùn)算;在三操作數(shù)加減運(yùn)算時,多選器選擇來自加減器陣列的輸出數(shù)參與運(yùn)算;在三操作數(shù)連減運(yùn)算時,多選器選擇來自全減器陣列的輸出數(shù)參與運(yùn)算;如果是單進(jìn)位加單借位運(yùn)算模式,多選器將進(jìn)位位替換來自加減器陣列輸出操作數(shù)的最低位,完成運(yùn)算;一操作數(shù)多選器,其輸入端口分別連接加減器陣列的一個16位輸出端口、全減器陣列的一個16位輸出端口和輸入操作數(shù)多選器的一個16位輸出端,以及一個一位的借位位;在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器輸出端口的操作數(shù)送入減法器參與運(yùn)算;在三操作數(shù)加減運(yùn)算時,多選器選擇來自加減器陣列的輸出數(shù)參與運(yùn)算;在三操作數(shù)連減運(yùn)算時,多選器選擇來自全減器陣列的輸出數(shù)參與運(yùn)算;如果是雙借位位運(yùn)算模式,多選器將借位位替換來自加減器陣列輸出操作數(shù)的最低位,完成運(yùn)算。
一16位減法器,其輸入端分別連接多選器和多選器的輸出端口,還包括一個外部輸入借位位端口;16位減法器通過對輸入的兩個操作數(shù)和一位借位位的求差,可以實(shí)現(xiàn)無借位位雙操作數(shù)減運(yùn)算、帶借位位雙操作數(shù)減運(yùn)算、無進(jìn)位位無借位位三操作數(shù)加減運(yùn)算、帶單進(jìn)位位三操作數(shù)加減運(yùn)算、帶單借位位三操作數(shù)加減運(yùn)算和帶進(jìn)位位和帶借位位三操作數(shù)加減運(yùn)算,以及無借位位三操作數(shù)連減運(yùn)算、帶單借位位三操作數(shù)連減運(yùn)算和帶雙借位位三操作數(shù)連減運(yùn)算;輸出數(shù)據(jù)送往運(yùn)算結(jié)果多選器。
其中邏輯運(yùn)算單元完成三個操作數(shù)的邏輯“與”、邏輯“或”和邏輯“異或”功能。
其中輸出結(jié)果多選器根據(jù)運(yùn)算類型選擇送出算術(shù)運(yùn)算單元的運(yùn)算結(jié)果或者邏輯運(yùn)算單元的運(yùn)算結(jié)果。
16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu),該三輸入算術(shù)邏輯運(yùn)算單元可以完成雙操作數(shù)加、減運(yùn)算,帶進(jìn)位位的加和帶借位位的減運(yùn)算,或者三操作數(shù)的連加、加減、連減運(yùn)算,以及三操作數(shù)帶單進(jìn)位位連加、加減運(yùn)算,帶雙進(jìn)位位連加運(yùn)算,帶單進(jìn)位位單借位位加減運(yùn)算,帶單借位位加減、連減運(yùn)算和帶雙借位位連減運(yùn)算。16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路實(shí)現(xiàn)結(jié)構(gòu),其特征在于,其中包括一輸入操作數(shù)多選器100,用于根據(jù)運(yùn)算類型將操作數(shù)選擇送給算術(shù)運(yùn)算單元201或者邏輯運(yùn)算單元202。
一算術(shù)運(yùn)算單元201,用于對送入的兩個或者三個操作數(shù)進(jìn)行連加、加減、連減等算術(shù)運(yùn)算;一邏輯運(yùn)算單元202,用于對送入的兩個或者三個操作數(shù)進(jìn)行與、或、非、異或等邏輯運(yùn)算;
一輸出結(jié)果多選器300,用于選擇算術(shù)運(yùn)算單元201或者邏輯運(yùn)算單元202的輸出結(jié)果送出。
一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路實(shí)現(xiàn)結(jié)構(gòu),其中的輸入操作數(shù)多選器100,其特征在于,輸入操作數(shù)多選器將外部送入的三個操作數(shù)根據(jù)操作類型送入算術(shù)運(yùn)算單元或者邏輯運(yùn)算單元,進(jìn)行運(yùn)算。
一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路實(shí)現(xiàn)結(jié)構(gòu),其中的算術(shù)運(yùn)算單元201,其特征在于,其中包括一全加器陣列A101,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行連加運(yùn)算的16位數(shù)壓縮成兩個加操作數(shù)的運(yùn)算。
全加器陣列是由16個一位全加器并列構(gòu)成的,一位全加器功能真值表為
一加減器陣列A102,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行加減運(yùn)算的16位數(shù)壓縮成兩個減操作數(shù)的運(yùn)算。
加減器陣列是由16個一位三輸入加減器并列構(gòu)成的,一位加減器邏輯真值表為
一全減器陣列A103,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行連減操作的16位數(shù)壓縮成兩個減操作數(shù)的運(yùn)算。
全減器陣列是由16個一位全減器并列構(gòu)成的,一位全減器的邏輯真值表為
一操作數(shù)多選器A201,其兩個16位輸入端分別連接全加器陣列A101的一個16位輸出端口和來自輸入操作數(shù)多選器100的一個16位輸出端口,一個1位輸入端連接外部送入進(jìn)位位信號AC2。在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器100輸出端口的操作數(shù)A21送入加法器參與運(yùn)算;在三操作數(shù)連加運(yùn)算時,多選器選擇來自全加器陣列A101的輸出數(shù)參與運(yùn)算。如果是雙進(jìn)位位運(yùn)算模式,多選器將進(jìn)位位AC2替換來自全加器陣列A101輸出操作數(shù)的最低位,完成運(yùn)算。
一操作數(shù)多選器A202,其兩個16位輸入端分別連接全加器陣列A101的另一個16位輸出端口和來自輸入操作數(shù)多選器100的一個16位輸出端口。在雙操作數(shù)運(yùn)算時,多選器A202選擇來自多選器100輸出端口的操作數(shù)A22送入加法器參與運(yùn)算;在三操作數(shù)連加運(yùn)算時,多選器A202選擇來自全加器陣列A101的輸出數(shù)參與運(yùn)算。
一16位加法器A301,其輸入端分別連接多選器A202和多選器A202的輸出端口,還包括一個外部輸入進(jìn)位位端口AC1。16位加法器A301通過對輸入的兩個操作數(shù)和一位進(jìn)位位的求和,可以實(shí)現(xiàn)無進(jìn)位位雙操作數(shù)加運(yùn)算、帶進(jìn)位位雙操作數(shù)加運(yùn)算、無進(jìn)位位三操作數(shù)連加運(yùn)算、帶單進(jìn)位位三操作數(shù)連加運(yùn)算和帶雙進(jìn)位位三操作數(shù)連加運(yùn)算。輸出數(shù)據(jù)送往運(yùn)算結(jié)果多選器300。
一操作數(shù)多選器A203,其輸入端口分別連接加減器陣列A102的一個16位輸出端口、全減器陣列A103的一個16位輸出端口和輸入操作數(shù)多選器100的一個16位輸出端,以及一個一位的進(jìn)位位SC2。在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器100輸出端口的操作數(shù)S21送入減法器參與運(yùn)算;在三操作數(shù)加減運(yùn)算時,多選器選擇來自加減器陣列A102的輸出數(shù)參與運(yùn)算;在三操作數(shù)連減運(yùn)算時,多選器選擇來自全減器陣列A103的輸出數(shù)參與運(yùn)算。如果是單進(jìn)位加單借位運(yùn)算模式,多選器將進(jìn)位位SC2替換來自加減器陣列A102輸出操作數(shù)的最低位,完成運(yùn)算。
一操作數(shù)多選器A204,其輸入端口分別連接加減器陣列A102的一個16位輸出端口、全減器陣列A103的一個16位輸出端口和輸入操作數(shù)多選器100的一個16位輸出端,以及一個一位的借位位SB2。在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器100輸出端口的操作數(shù)S22送入減法器參與運(yùn)算;在三操作數(shù)加減運(yùn)算時,多選器選擇來自加減器陣列A102的輸出數(shù)參與運(yùn)算;在三操作數(shù)連減運(yùn)算時,多選器選擇來自全減器陣列A103的輸出數(shù)參與運(yùn)算。如果是雙借位位運(yùn)算模式,多選器將借位位SC2替換來自加減器陣列A103輸出操作數(shù)的最低位,完成運(yùn)算。
一16位減法器A302,其輸入端分別連接多選器A203和多選器A204的輸出端口,還包括一個外部輸入借位位端口SB1。16位減法器A302通過對輸入的兩個操作數(shù)和一位借位位的求差,可以實(shí)現(xiàn)無借位位雙操作數(shù)減運(yùn)算、帶借位位雙操作數(shù)減運(yùn)算、無進(jìn)位位無借位位三操作數(shù)加減運(yùn)算、帶單進(jìn)位位三操作數(shù)加減運(yùn)算、帶單借位位三操作數(shù)加減運(yùn)算和帶進(jìn)位位和帶借位位三操作數(shù)加減運(yùn)算,以及無借位位三操作數(shù)連減運(yùn)算、帶單借位位三操作數(shù)連減運(yùn)算和帶雙借位位三操作數(shù)連減運(yùn)算。輸出數(shù)據(jù)送往運(yùn)算結(jié)果多選器300。
一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路實(shí)現(xiàn)結(jié)構(gòu),其中的邏輯運(yùn)算單元202,其特征在于,邏輯運(yùn)算單元完成三個操作數(shù)的邏輯“與”、邏輯“或”和邏輯“異或”功能。
一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路實(shí)現(xiàn)結(jié)構(gòu),其中的輸出結(jié)果多選器300,其特征在于,輸出結(jié)果多選器根據(jù)運(yùn)算類型選擇送出算術(shù)運(yùn)算單元201的運(yùn)算結(jié)果或者邏輯運(yùn)算單元202的運(yùn)算結(jié)果。
為進(jìn)一步說明本發(fā)明的技術(shù)特征,以下結(jié)合實(shí)施例及附圖對本發(fā)明作一詳細(xì)的描述,其中圖1是16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu)圖。
圖2是其中的16位三輸入高速算術(shù)運(yùn)算單元詳細(xì)圖示。
具體實(shí)施例方式
請參閱圖1,一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路實(shí)現(xiàn)結(jié)構(gòu),其中包括
一輸入操作數(shù)多選器100,用于根據(jù)運(yùn)算類型將操作數(shù)選擇送給算術(shù)運(yùn)算單元201或者邏輯運(yùn)算單元202。
一算術(shù)運(yùn)算單元201,用于對送入的兩個或者三個操作數(shù)進(jìn)行連加、加減、連減等算術(shù)運(yùn)算;一邏輯運(yùn)算單元202,用于對送入的兩個或者三個操作數(shù)進(jìn)行與、或、非、異或等邏輯運(yùn)算;一輸出結(jié)果多選器300,用于選擇算術(shù)運(yùn)算單元201或者邏輯運(yùn)算單元202的輸出結(jié)果送出。
該三輸入算術(shù)邏輯運(yùn)算單元可以完成雙操作數(shù)加、減運(yùn)算,帶進(jìn)位位的加和帶借位位的減運(yùn)算,或者三操作數(shù)的連加、加減、連減運(yùn)算,以及三操作數(shù)帶單進(jìn)位位連加、加減運(yùn)算,帶雙進(jìn)位位連加運(yùn)算,帶單進(jìn)位位單借位位加減運(yùn)算,帶單借位位加減、連減運(yùn)算和帶雙借位位連減運(yùn)算。
請參閱下表功能總結(jié)
3.7.4.7.1 系統(tǒng)規(guī)則
3.7.4.7.2 終端規(guī)則
<p>
一加減器陣列A102,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行加減運(yùn)算的16位數(shù)壓縮成兩個減操作數(shù)的運(yùn)算。
加減器陣列是由16個一位三輸入加減器并列構(gòu)成的,一位加減器邏輯真值表為
一全減器陣列A103,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行連減操作的16位數(shù)壓縮成兩個減操作數(shù)的運(yùn)算。
全減器陣列是由16個一位全減器并列構(gòu)成的,一位全減器的邏輯真值表為
一操作數(shù)多選器A201,其兩個16位輸入端分別連接全加器陣列A101的一個16位輸出端口和來自輸入操作數(shù)多選器100的一個16位輸出端口,一個1位輸入端連接外部送入進(jìn)位位信號AC2。在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器100輸出端口的操作數(shù)A21送入加法器參與運(yùn)算;在三操作數(shù)連加運(yùn)算時,多選器選擇來自全加器陣列A101的輸出數(shù)參與運(yùn)算。如果是雙進(jìn)位位運(yùn)算模式,多選器將進(jìn)位位AC2替換來自全加器陣列A101輸出操作數(shù)的最低位,完成運(yùn)算。
一操作數(shù)多選器A202,其兩個16位輸入端分別連接全加器陣列A101的另一個16位輸出端口和來自輸入操作數(shù)多選器100的一個16位輸出端口。在雙操作數(shù)運(yùn)算時,多選器A202選擇來自多選器100輸出端口的操作數(shù)A22送入加法器參與運(yùn)算;在三操作數(shù)連加運(yùn)算時,多選器A202選擇來自全加器陣列A101的輸出數(shù)參與運(yùn)算。
一16位加法器A301,其輸入端分別連接多選器A202和多選器A202的輸出端口,還包括一個外部輸入進(jìn)位位端口AC1。16位加法器A301通過對輸入的兩個操作數(shù)和一位進(jìn)位位的求和,可以實(shí)現(xiàn)無進(jìn)位位雙操作數(shù)加運(yùn)算、帶進(jìn)位位雙操作數(shù)加運(yùn)算、無進(jìn)位位三操作數(shù)連加運(yùn)算、帶單進(jìn)位位三操作數(shù)連加運(yùn)算和帶雙進(jìn)位位三操作數(shù)連加運(yùn)算。輸出數(shù)據(jù)送往運(yùn)算結(jié)果多選器300。
一操作數(shù)多選器A203,其輸入端口分別連接加減器陣列A102的一個16位輸出端口、全減器陣列A103的一個16位輸出端口和輸入操作數(shù)多選器100的一個16位輸出端,以及一個一位的進(jìn)位位SC2。在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器100輸出端口的操作數(shù)S21送入減法器參與運(yùn)算;在三操作數(shù)加減運(yùn)算時,多選器選擇來自加減器陣列A102的輸出數(shù)參與運(yùn)算;在三操作數(shù)連減運(yùn)算時,多選器選擇來自全減器陣列A103的輸出數(shù)參與運(yùn)算。如果是單進(jìn)位加單借位運(yùn)算模式,多選器將進(jìn)位位SC2替換來自加減器陣列A102輸出操作數(shù)的最低位,完成運(yùn)算。
一操作數(shù)多選器A204,其輸入端口分別連接加減器陣列A102的一個16位輸出端口、全減器陣列A103的一個16位輸出端口和輸入操作數(shù)多選器100的一個16位輸出端,以及一個一位的借位位SB2。在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器100輸出端口的操作數(shù)S22送入減法器參與運(yùn)算;在三操作數(shù)加減運(yùn)算時,多選器選擇來自加減器陣列A102的輸出數(shù)參與運(yùn)算;在三操作數(shù)連減運(yùn)算時,多選器選擇來自全減器陣列A103的輸出數(shù)參與運(yùn)算。如果是雙借位位運(yùn)算模式,多選器將借位位SC2替換來自加減器陣列A103輸出操作數(shù)的最低位,完成運(yùn)算。
一16位減法器A302,其輸入端分別連接多選器A203和多選器A204的輸出端口,還包括一個外部輸入借位位端口SB1。16位減法器A302通過對輸入的兩個操作數(shù)和一位借位位的求差,可以實(shí)現(xiàn)無借位位雙操作數(shù)減運(yùn)算、帶借位位雙操作數(shù)減運(yùn)算、無進(jìn)位位無借位位三操作數(shù)加減運(yùn)算、帶單進(jìn)位位三操作數(shù)加減運(yùn)算、帶單借位位三操作數(shù)加減運(yùn)算和帶進(jìn)位位和帶借位位三操作數(shù)加減運(yùn)算,以及無借位位三操作數(shù)連減運(yùn)算、帶單借位位三操作數(shù)連減運(yùn)算和帶雙借位位三操作數(shù)連減運(yùn)算。輸出數(shù)據(jù)送往運(yùn)算結(jié)果多選器300。
再請參閱圖1,一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路實(shí)現(xiàn)結(jié)構(gòu),其中的邏輯運(yùn)算單元202,其特征在于,邏輯運(yùn)算單元完成三個操作數(shù)的邏輯“與”、邏輯“或”和邏輯“異或”功能。
一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路實(shí)現(xiàn)結(jié)構(gòu),其中的輸出結(jié)果多選器300,其特征在于,輸出結(jié)果多選器根據(jù)運(yùn)算類型選擇送出算術(shù)運(yùn)算單元201的運(yùn)算結(jié)果或者邏輯運(yùn)算單元202的運(yùn)算結(jié)果。
權(quán)利要求
1.一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu),該三輸入算術(shù)邏輯運(yùn)算單元可以完成雙操作數(shù)加、減運(yùn)算,帶進(jìn)位位的加和帶借位位的減運(yùn)算,或者三操作數(shù)的連加、加減、連減運(yùn)算,以及三操作數(shù)帶單進(jìn)位位連加、加減運(yùn)算,帶雙進(jìn)位位連加運(yùn)算,帶單進(jìn)位位單借位位加減運(yùn)算,帶單借位位加減、連減運(yùn)算和帶雙借位位連減運(yùn)算,其特征在于,其中包括一輸入操作數(shù)多選器,用于根據(jù)運(yùn)算類型將操作數(shù)選擇送給算術(shù)運(yùn)算單元或者邏輯運(yùn)算單元;一算術(shù)運(yùn)算單元,用于對送入的兩個或者三個操作數(shù)進(jìn)行連加、加減、連減等算術(shù)運(yùn)算;一邏輯運(yùn)算單元,用于對送入的兩個或者三個操作數(shù)進(jìn)行與、或、非、異或等邏輯運(yùn)算;一輸出結(jié)果多選器,用于選擇算術(shù)運(yùn)算單元或者邏輯運(yùn)算單元的輸出結(jié)果送出。
2.根據(jù)權(quán)利要求1所述的16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu),其特征在于,其中輸入操作數(shù)多選器將外部送入的三個操作數(shù)根據(jù)操作類型送入算術(shù)運(yùn)算單元或者邏輯運(yùn)算單元,進(jìn)行運(yùn)算。
3.根據(jù)權(quán)利要求1所述的16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu),其特征在于,其中算術(shù)運(yùn)算單元包括一全加器陣列,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行連加運(yùn)算的16位數(shù)壓縮成兩個加操作數(shù)的運(yùn)算;一加減器陣列,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行加減運(yùn)算的16位數(shù)壓縮成兩個減操作數(shù)的運(yùn)算;一全減器陣列,其三個操作數(shù)來自輸入操作數(shù)多選器,完成將三個需要進(jìn)行連減操作的16位數(shù)壓縮成兩個減操作數(shù)的運(yùn)算;一操作數(shù)多選器,其兩個16位輸入端分別連接全加器陣列的一個16位輸出端口和來自輸入操作數(shù)多選器的一個16位輸出端口,一個1位輸入端連接外部送入的進(jìn)位位信號;在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器輸出端口的操作數(shù)送入加法器參與運(yùn)算;在三操作數(shù)連加運(yùn)算時,多選器選擇來自全加器陣列的輸出數(shù)參與運(yùn)算;如果是雙進(jìn)位位運(yùn)算模式,多選器將進(jìn)位位替換來自全加器陣列輸出操作數(shù)的最低位,完成運(yùn)算;一操作數(shù)多選器,其兩個16位輸入端分別連接全加器陣列的另一個16位輸出端口和來自輸入操作數(shù)多選器的一個16位輸出端口;在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器輸出端口的操作數(shù)送入加法器參與運(yùn)算;在三操作數(shù)連加運(yùn)算時,多選器選擇來自全加器陣列的輸出數(shù)參與運(yùn)算;一16位加法器,其輸入端分別連接多選器和多選器的輸出端口,還包括一個外部輸入進(jìn)位位端口;16位加法器通過對輸入的兩個操作數(shù)和一位進(jìn)位位的求和,可以實(shí)現(xiàn)無進(jìn)位位雙操作數(shù)加運(yùn)算、帶進(jìn)位位雙操作數(shù)加運(yùn)算、無進(jìn)位位三操作數(shù)連加運(yùn)算、帶單進(jìn)位位三操作數(shù)連加運(yùn)算和帶雙進(jìn)位位三操作數(shù)連加運(yùn)算;輸出數(shù)據(jù)送往運(yùn)算結(jié)果多選器;一操作數(shù)多選器,其輸入端口分別連接加減器陣列的一個16位輸出端口、全減器陣列的一個16位輸出端口和輸入操作數(shù)多選器的一個16位輸出端,以及一個一位的進(jìn)位位;在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器輸出端口的操作數(shù)送入減法器參與運(yùn)算;在三操作數(shù)加減運(yùn)算時,多選器選擇來自加減器陣列的輸出數(shù)參與運(yùn)算;在三操作數(shù)連減運(yùn)算時,多選器選擇來自全減器陣列的輸出數(shù)參與運(yùn)算;如果是單進(jìn)位加單借位運(yùn)算模式,多選器將進(jìn)位位替換來自加減器陣列輸出操作數(shù)的最低位,完成運(yùn)算;一操作數(shù)多選器,其輸入端口分別連接加減器陣列的一個16位輸出端口、全減器陣列的一個16位輸出端口和輸入操作數(shù)多選器的一個16位輸出端,以及一個一位的借位位;在雙操作數(shù)運(yùn)算時,多選器選擇來自多選器輸出端口的操作數(shù)送入減法器參與運(yùn)算;在三操作數(shù)加減運(yùn)算時,多選器選擇來自加減器陣列的輸出數(shù)參與運(yùn)算;在三操作數(shù)連減運(yùn)算時,多選器選擇來自全減器陣列的輸出數(shù)參與運(yùn)算;如果是雙借位位運(yùn)算模式,多選器將借位位替換來自加減器陣列輸出操作數(shù)的最低位,完成運(yùn)算。一16位減法器,其輸入端分別連接多選器和多選器的輸出端口,還包括一個外部輸入借位位端口;16位減法器通過對輸入的兩個操作數(shù)和一位借位位的求差,可以實(shí)現(xiàn)無借位位雙操作數(shù)減運(yùn)算、帶借位位雙操作數(shù)減運(yùn)算、無進(jìn)位位無借位位三操作數(shù)加減運(yùn)算、帶單進(jìn)位位三操作數(shù)加減運(yùn)算、帶單借位位三操作數(shù)加減運(yùn)算和帶進(jìn)位位和帶借位位三操作數(shù)加減運(yùn)算,以及無借位位三操作數(shù)連減運(yùn)算、帶單借位位三操作數(shù)連減運(yùn)算和帶雙借位位三操作數(shù)連減運(yùn)算;輸出數(shù)據(jù)送往運(yùn)算結(jié)果多選器。
4.根據(jù)權(quán)利要求1所述的16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu),其特征在于,其中邏輯運(yùn)算單元完成三個操作數(shù)的邏輯“與”、邏輯“或”和邏輯“異或”功能。
5.根據(jù)權(quán)利要求1所述的16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu),其特征在于,其中輸出結(jié)果多選器根據(jù)運(yùn)算類型選擇送出算術(shù)運(yùn)算單元的運(yùn)算結(jié)果或者邏輯運(yùn)算單元的運(yùn)算結(jié)果。
全文摘要
本發(fā)明是一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路實(shí)現(xiàn)結(jié)構(gòu),該電路結(jié)構(gòu)不僅擁有傳統(tǒng)雙輸入算術(shù)邏輯運(yùn)算單元(ALU)的全部功能,而且還可以同時進(jìn)行三個操作數(shù)的連加、加減、連減的算術(shù)運(yùn)算,包括最多帶兩個進(jìn)位位或兩個借位位的算術(shù)運(yùn)算。本發(fā)明設(shè)計(jì)了新型的邏輯結(jié)構(gòu),以滿足對三個操作數(shù)進(jìn)行壓縮,達(dá)到三操作數(shù)運(yùn)算僅使用一個加法器或減法器單元的目的,從而大大加快運(yùn)算速度。隨著數(shù)字信號處理硬件電路的越來越廣泛應(yīng)用于信息處理領(lǐng)域、通訊領(lǐng)域等各個方面,本發(fā)明一種16位三輸入高速算術(shù)邏輯運(yùn)算單元的電路結(jié)構(gòu),可廣泛應(yīng)用于各種通用和專用高性能中央控制器和數(shù)字信號處理器集成電路之中。
文檔編號G06F7/40GK1619482SQ200310116470
公開日2005年5月25日 申請日期2003年11月21日 優(yōu)先權(quán)日2003年11月21日
發(fā)明者李鶯, 陳杰 申請人:中國科學(xué)院微電子中心