国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

不同ALU實現(xiàn)方法的功耗研究

2011-07-03 10:02:38孫軍凱蔣安平
微處理機(jī) 2011年4期
關(guān)鍵詞:加法器鏈?zhǔn)?/a>算術(shù)

孫軍凱,蔣安平

(北京微電子技術(shù)研究所,北京100076)

1 引言

隨著手持設(shè)備和電池供電設(shè)備的普及和不斷發(fā)展,設(shè)計者對微處理器在功耗方面的要求越來越高。低功耗微處理器的設(shè)計可以從不同的抽象層次采用相應(yīng)的低功耗設(shè)計技術(shù)進(jìn)行,也可以通過分別對微處理器的各個組成部分進(jìn)行功耗優(yōu)化來實現(xiàn)。ALU是進(jìn)行數(shù)據(jù)處理的場所,是微處理器的重要組成部分,其工作頻率直接決定了微處理器的性能。由于在幾乎100%的時間里都處于工作狀態(tài),所以ALU是微處理器中消耗能量最多的組成部分之一,也是最容易形成熱點的地方[1]。因此,設(shè)計低功耗的ALU可以顯著減小微處理器的功耗。

由于ALU的結(jié)構(gòu)與功耗、延遲和面積有著復(fù)雜的聯(lián)系,所以采用不同結(jié)構(gòu)的ALU也通常會有不同的功耗。根據(jù)資源復(fù)用程度的不同,ALU結(jié)構(gòu)主要有以下三類:①復(fù)合結(jié)構(gòu)[2-3];②加法器獨立結(jié)構(gòu)[4-5];③樹形結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)[6]。對三類 ALU 結(jié)構(gòu)的詳細(xì)描述將在文章的第三部分進(jìn)行。

基于三種不同結(jié)構(gòu),設(shè)計了一個8比特的執(zhí)行加、減運算和邏輯運算的ALU,并且用三種常見的ALU結(jié)構(gòu)分別予以實現(xiàn)。通過對三種ALU結(jié)構(gòu)的比較,結(jié)合功耗分析的結(jié)果,我們得到了采用復(fù)合結(jié)構(gòu)的ALU更有利于低功耗設(shè)計的結(jié)論。

2 ALU設(shè)計

ALU是一個從寄存器堆、寫回總線或者數(shù)據(jù)存儲器取操作數(shù),并對操作數(shù)進(jìn)行處理的單元。ALU的設(shè)計主要包括三個方面:功能定義、核心加法器設(shè)計以及結(jié)構(gòu)設(shè)計三個方面。由于主要關(guān)心不同的ALU結(jié)構(gòu)對功耗的影響,所以這里主要進(jìn)行的是結(jié)構(gòu)設(shè)計。

2.1 ALU 功能設(shè)計

通過研究發(fā)現(xiàn)通用微處理器的ALU執(zhí)行的指令都可以使用加、減、與、或、非等基本運算來完成。為了研究ALU結(jié)構(gòu)對功耗的影響,設(shè)計了一個執(zhí)行10種基本運算的8比特ALU,并分別用三種結(jié)構(gòu)來實現(xiàn)它。表1列出了所設(shè)計的ALU執(zhí)行的運算和操作。

表1 ALU的功能表

2.2 核心加法器

加法器是運算電路的核心,通常處于ALU的關(guān)鍵路徑上[4]。設(shè)計低功耗高速加法器單元是獲得低功耗高速運算電路的關(guān)鍵。

行波進(jìn)位加法器(Ripple Carry Adder,RCA)是最早的最基本的加法器,其延時正比于加法器的位數(shù)N,面積也正比與加法器的位數(shù)N。超前進(jìn)位加法器(Carry Look-ahead Adder,CLA)憑借著速度快和模塊化的優(yōu)勢而被廣泛采用,其延時正比于加法器位數(shù)N的對數(shù)logN,面積正比于N·logN。除此之外,相同位數(shù)的CLA功耗也要比進(jìn)位選擇加法器(Carry Select Adder,CSL)和進(jìn)位保留加法器(Carry Save Adder,CSA)低[7]。

N位全加器中,第k位的進(jìn)位輸出與第k位的加數(shù)、被加數(shù)以及第k-1位的進(jìn)位輸出之間存在如下關(guān)系:

CLA通過消除行波進(jìn)位來加速加法運算,因此CLA中Cout可以表示為:

其中Pk表示第k位的進(jìn)位傳播信號,Gk表示第k位的進(jìn)位產(chǎn)生信號。

由于公式(2)所建議的超前結(jié)構(gòu)只在N值較小(N≤4)的時候有效[7],因此可以采用兩個4比特的超前進(jìn)位加法器串聯(lián)設(shè)計來實現(xiàn)ALU中的8比特全加器。

3 三種典型的ALU結(jié)構(gòu)

復(fù)合結(jié)構(gòu)ALU將執(zhí)行算術(shù)運算和邏輯運算指令的電路復(fù)用起來,用幾個控制信號來控制電路執(zhí)行相應(yīng)的指令操作。加法器獨立ALU開始只考慮用單獨的加法器實現(xiàn)所有算術(shù)運算指令,然后再加上獨立于加法器的其他電路以實現(xiàn)所有邏輯運算指令。這種ALU結(jié)構(gòu)中,實現(xiàn)算術(shù)運算的電路和實現(xiàn)邏輯運算的電路相互獨立。樹形結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)ALU是把一些功能單元組織成樹狀或者鏈狀,每一個功能單元執(zhí)行某一種算術(shù)運算或邏輯運算,利用這些功能單元的組合來實現(xiàn)所有的算術(shù)運算指令和邏輯運算指令。

3.1 復(fù)合結(jié)構(gòu)

在復(fù)合結(jié)構(gòu)ALU中,通過修正核心加法器的進(jìn)位傳播(Propagation)和進(jìn)位產(chǎn)生(Generation)模塊,使進(jìn)行算術(shù)運算和邏輯運算的電路得以復(fù)用。圖1顯示了修正后的P G模塊。圖2顯示的是一個4比特的采用復(fù)合結(jié)構(gòu)的ALU。

圖2中,s0、s1、s2和s3是控制P G模塊功能的控制信號,c是選擇ALU進(jìn)行算術(shù)運算或邏輯運算的選擇信號。

由于ALU中8比特的加法器是由兩個4比特CLA串聯(lián)組成,所以8比特復(fù)合結(jié)構(gòu)的ALU也采用兩個圖2所示的4比特ALU串聯(lián)組成。

3.2 加法器獨立結(jié)構(gòu)

這種結(jié)構(gòu)中,一個CLA用于執(zhí)行算術(shù)運算,一個獨立于加法器的模塊用于執(zhí)行邏輯運算。邏輯運算模塊的電路如圖3所示。加法器獨立結(jié)構(gòu)的ALU如圖4所示。出于低功耗考慮,我們對加法器獨立結(jié)構(gòu)的ALU采用操作數(shù)隔離技術(shù),如圖4中虛線框所示。

3.3 鏈?zhǔn)浇Y(jié)構(gòu)

根據(jù)文獻(xiàn)[6],鏈?zhǔn)浇Y(jié)構(gòu)ALU比樹形結(jié)構(gòu)ALU有更小的面積和潛在的更快的速度。此外,對于鏈?zhǔn)浇Y(jié)構(gòu)ALU,功能單元在鏈中位置的不同也會導(dǎo)致功耗的不同。因此,這里我們選擇鏈?zhǔn)浇Y(jié)構(gòu)ALU作為研究對象?;贒hrystone基準(zhǔn)測試程序,通過改變功能單元在鏈中的位置,我們找到一種功耗最低的鏈?zhǔn)浇Y(jié)構(gòu)ALU,如圖5所示。

出于低功耗考慮,我們對鏈?zhǔn)浇Y(jié)構(gòu)ALU采用操作數(shù)隔離技術(shù),在兩個操作數(shù)后面分別增加了一個隔離單元,如圖5中虛線框所示。

圖5 鏈?zhǔn)浇Y(jié)構(gòu)ALU

4 仿真結(jié)果分析和討論

使用Verilog HDL硬件描述語言在RTL級對該8比特ALU進(jìn)行描述,用Modelsim仿真軟件進(jìn)行功能仿真,完成ALU的設(shè)計。再用Synopsys公司的Design Compiler對設(shè)計好的RTL級代碼進(jìn)行邏輯綜合(采用SMIC 0.18μm工藝)生成該8比特ALU的門級網(wǎng)表。為驗證綜合正確與否這里需要對門級網(wǎng)表進(jìn)行門級的功能仿真,此時需要生成記錄節(jié)點翻轉(zhuǎn)信息的VCD文件。最后用Synopsys公司的Prime Power功耗分析工具,采用基于事件的功耗分析方法進(jìn)行功耗分析。

在100MHz的頻率下執(zhí)行Dhrystone基準(zhǔn)測試程序時,三種不同結(jié)構(gòu)ALU的功耗、延時和面積如表2所示。從表中可以看出,復(fù)合結(jié)構(gòu)ALU具有最小的功耗和最小的面積。

表2 不同結(jié)構(gòu)ALU的功耗、延時和面積

比較圖1和圖3,可以發(fā)現(xiàn)復(fù)合結(jié)構(gòu)中修正后的P G模塊僅僅比加法器獨立結(jié)構(gòu)中的邏輯運算單元多了一個3輸入的“或”門。但是在加法器獨立結(jié)構(gòu)中,CLA需要一個“與”門和一個“異或”門來產(chǎn)生P G信號。此外,加法器獨立結(jié)構(gòu)ALU需要一個多路選擇器來選擇合適的輸出。由于多路選擇器處于關(guān)鍵路徑的末端,其開關(guān)活動性比ALU的其他部分都要大。因此,加法器獨立結(jié)構(gòu)ALU的功耗比復(fù)合結(jié)構(gòu)ALU的功耗大就不足為奇了,面積也是如此。仿真的結(jié)果也印證了這一點。

對比圖3、圖4和圖5,可以發(fā)現(xiàn)加法器獨立結(jié)構(gòu)ALU與鏈?zhǔn)浇Y(jié)構(gòu)ALU的不同之處僅在邏輯運算單元。然而由于二者的邏輯運算單元結(jié)構(gòu)差別比較大,很難從直觀上判斷哪種結(jié)構(gòu)更有利于低功耗設(shè)計。應(yīng)該注意到這里邏輯運算單元的功耗在總功耗中所占的比例是比較小的,所以兩者功耗的差別也會比較小。為了探明哪種結(jié)構(gòu)更省功耗,選取另外三組隨機(jī)產(chǎn)生的測試向量對這三種不同結(jié)構(gòu)的ALU進(jìn)行功耗分析,其結(jié)果如表3所示。

表3 不同結(jié)構(gòu)ALU在不同類型的測試向量下的功耗(mw)

從表3中可以看出,當(dāng)執(zhí)行隨機(jī)產(chǎn)生的操作時與執(zhí)行Dhrystone基準(zhǔn)測試程序時相比,復(fù)合結(jié)構(gòu)ALU和加法器獨立結(jié)構(gòu)ALU的功耗都有明顯的下降。這是因為在Dhrystone基準(zhǔn)測試程序中算術(shù)運算的比例遠(yuǎn)比隨機(jī)產(chǎn)生的指令中算術(shù)運算的比例高,而且ALU執(zhí)行一條算術(shù)運算指令消耗的功耗要遠(yuǎn)比執(zhí)行一條邏輯運算指令消耗的功耗高。當(dāng)執(zhí)行Dhrystone基準(zhǔn)測試程序的時候,加法器獨立結(jié)構(gòu)ALU的功耗要比鏈?zhǔn)浇Y(jié)構(gòu)ALU的功耗高,但是當(dāng)執(zhí)行隨機(jī)產(chǎn)生的指令時,加法器獨立結(jié)構(gòu)ALU的功耗又比鏈?zhǔn)浇Y(jié)構(gòu)ALU的功耗少。這是因為鏈?zhǔn)浇Y(jié)構(gòu)ALU中功能單元的排放順序是根據(jù)Dhrystone基準(zhǔn)測試程序來設(shè)計的,而不同的測試向量對鏈?zhǔn)浇Y(jié)構(gòu)ALU功耗的影響是比較大的。

從表2和表3,可以發(fā)現(xiàn)采用操作數(shù)隔離技術(shù)后,加法器獨立結(jié)構(gòu)ALU和鏈?zhǔn)浇Y(jié)構(gòu)ALU的功耗都有一定程度的下降,但是效果并不理想。

從表4中可以看出,這里采用操作數(shù)隔離技術(shù)對低功耗設(shè)計有幫助,但是效果不明顯。這是因為一方面ALU一直處于工作狀態(tài),另一方面ALU多數(shù)時間在執(zhí)行消耗功耗較多的算術(shù)運算指令,再加上隔離單元本身也要消耗功耗,所以能節(jié)省下來的功耗是非常有限的。當(dāng)僅僅執(zhí)行邏輯運算的時候,由于功耗較大的算術(shù)運算單元被隔離,所以此時使用操作數(shù)隔離技術(shù)有比較好的效果。

表4 操作數(shù)隔離技術(shù)對ALU功耗的影響

5 結(jié)束語

低功耗設(shè)計是一項復(fù)雜的工程,需要從不同的設(shè)計層次進(jìn)行設(shè)計才能達(dá)到較好的效果。這里設(shè)計一個執(zhí)行10種運算的8比特ALU,并分別用三種不同的結(jié)構(gòu)實現(xiàn)它。通過對這三種不同結(jié)構(gòu)ALU的功耗分析和結(jié)構(gòu)比較來研究ALU結(jié)構(gòu)對功耗的影響。仿真結(jié)果表明:復(fù)合結(jié)構(gòu)ALU面積和功耗都是最小的。與其它兩種ALU結(jié)構(gòu)相比,復(fù)合結(jié)構(gòu)ALU的功耗節(jié)省范圍是19.38%和33.87%。

[1]Swaroop Ghosh and Kaushik Roy.Exploring High - Speed Low-Power Hybrid Arithmetic Units at Scaled Supply and Adaptive Clock - Stretching[C].2008 Asia and South Pacific Design Automation Conference,2008:635.

[2]David A Patterson,John L Hennessy.Computer organization and design:The hardware/software interface[M].third edition,Elsevier Inc,2005:B -26.

[3]Beom Seon Ryu,Jung Sok Yi,et al.A design of low power 16- B ALU[C].Proceedings of the IEEE Region 10 Conference,IEEE TENCON,1999:868 -871.

[4]Patanjali Prakash,Saxena A K.Design of low power high speed ALU using feedback switching logical[C].2009 International Conference on Advances in Recent Technologiesin Communication and Computing, Kottayam,India,2009:899 -902.

[5]Rajesh Kannan Megalingam,Venkat Krishnan B,et al.Gating and serializing the data path of CPU for low power consumption[C].2009 International Conference on Parallel Processing Workshops,Vienna,Austria,2009:550 -557.

[6]Yu Zhou,Hui Guo.Application specific low power ALU design[C].2008 IEEE/IFIP International Conference on Embedded and Ubiquitous Computing,Shanghai,China,2008:214-220.

[7]Chetana Nugendra,Mary Jane Irwin,et al.Area - Time -Power Tradoffs in Parallel Adders[J].IEEE Transactions on circuit and systems- II,1996:689 -702.

猜你喜歡
加法器鏈?zhǔn)?/a>算術(shù)
分段式高性能近似加法器設(shè)計
一種混合結(jié)構(gòu)的新型近似加法器
通用加法器的邏輯實現(xiàn)與分析
電子世界(2018年1期)2018-01-26 04:58:08
算算術(shù)
鏈?zhǔn)絊TATCOM內(nèi)部H橋直流側(cè)電壓均衡控制策略
黑龍江電力(2017年1期)2017-05-17 04:25:05
學(xué)算術(shù)
三旋光結(jié)構(gòu)一步無進(jìn)位加法器的設(shè)計
小狗算算術(shù)
做算術(shù)(外一則)
讀寫算(中)(2015年12期)2015-11-07 07:25:01
10kV鏈?zhǔn)絊TATCOM的研究與設(shè)計
電測與儀表(2015年4期)2015-04-12 00:43:08
县级市| 洛扎县| 洮南市| 安泽县| 广安市| 睢宁县| 习水县| 德安县| 永吉县| 会同县| 民勤县| 乐亭县| 英山县| 渝北区| 宜宾市| 沅江市| 泰安市| 定南县| 高密市| 全椒县| 苏州市| 平陆县| 吉木萨尔县| 视频| 广汉市| 临猗县| 泸溪县| 东台市| 大足县| 黑河市| 河池市| 保亭| 株洲市| 延安市| 文化| 根河市| 孝昌县| 汝南县| 阿城市| 东海县| 垦利县|