<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 處理器存儲(chǔ)器子系統(tǒng)中的SoC功耗優(yōu)化設(shè)計(jì)

          處理器存儲(chǔ)器子系統(tǒng)中的SoC功耗優(yōu)化設(shè)計(jì)

          ——
          作者: 時(shí)間:2007-11-08 來(lái)源:中國(guó)電子工程網(wǎng) 收藏

            在新的系統(tǒng)級(jí)芯片()設(shè)計(jì)中,尤其是對(duì)便攜式設(shè)備而言,對(duì)整個(gè)系統(tǒng)功耗的優(yōu)化正變得與性能和面積優(yōu)化同樣重要。有些EDA工具具有門(mén)控時(shí)鐘、降壓、降頻和減少漏電電流等功能,有些芯片制造商能夠提供低功耗庫(kù)和工藝,所有這些工藝都非常費(fèi)時(shí);在最好情況下能夠提供兩倍的性能提升,因?yàn)檫@些提升是在設(shè)計(jì)周期的后端進(jìn)行的。

            功耗優(yōu)化的最佳時(shí)間是在設(shè)計(jì)周期的一開(kāi)始進(jìn)行,即在確定體系結(jié)構(gòu)的系統(tǒng)級(jí)進(jìn)行優(yōu)化。確定系統(tǒng)級(jí)體系結(jié)構(gòu)對(duì)功耗影響非常大,如局部和高速緩存的數(shù)量和容量。在設(shè)計(jì)周期的一開(kāi)始進(jìn)行優(yōu)化可以減少功耗十倍以上。

            Tensilica公司的Xenergy是業(yè)界第一個(gè)用于評(píng)估功耗對(duì)整個(gè)處理器子系統(tǒng)(處理器、高速緩存和局部)影響的軟件工具,該工具基于在子系統(tǒng)上實(shí)際執(zhí)行應(yīng)用程序代碼。這種在設(shè)計(jì)周期的一開(kāi)始就進(jìn)行功耗估計(jì)的方法只需要幾分鐘時(shí)間,而那種基于RTL的功耗分析方法則需要幾個(gè)小時(shí)甚至幾天。體系結(jié)構(gòu)設(shè)計(jì)人員可以使用這些數(shù)據(jù)對(duì)軟件程序和Tensilica的Xtensa處理器進(jìn)行功耗優(yōu)化。對(duì)Tensilica公司的鉆石標(biāo)準(zhǔn)處理器用戶(hù)而言,該工具有助于軟件優(yōu)化,但鉆石標(biāo)準(zhǔn)處理器不能改變。

            處理器和功耗優(yōu)化

            Xenergy工具包括一個(gè)二進(jìn)制代碼軟件及相關(guān)信息,前者表示目標(biāo)處理器,后者表示制造工藝及工作條件。Xenergy工具使用Tensilica的指令集仿真器ISS來(lái)執(zhí)行二進(jìn)制代碼軟件,其輸出是一個(gè)處理器核及存儲(chǔ)器功耗和能量報(bào)告,包括動(dòng)態(tài)功耗、漏電功耗、全部功耗以及處理器核與緊密耦合的本地存儲(chǔ)器功耗。設(shè)計(jì)人員可以修改程序軟件或者Xtensa配置硬件來(lái)優(yōu)化處理器功耗分布,并重新運(yùn)行Xenergy工具。整個(gè)流程如圖1所示。

            設(shè)計(jì)人員可以使用Xenergy工具來(lái)執(zhí)行兩項(xiàng)基本任務(wù)。一是通過(guò)修改應(yīng)用程序軟件來(lái)減少存儲(chǔ)器訪(fǎng)問(wèn)次數(shù),進(jìn)而減少處理器和存儲(chǔ)器功耗;二是可以調(diào)整Xtensa可配置處理器及其相關(guān)存儲(chǔ)器,這通過(guò)選擇不同的配置選項(xiàng),增加指令擴(kuò)展、寄存器文件、新執(zhí)行部件,并改變本地存儲(chǔ)器和高速緩存的數(shù)量和容量。

            考慮的焦點(diǎn)是整個(gè)系統(tǒng)的能量消耗,在有些情況下具有一定的欺騙性。整個(gè)系統(tǒng)的功耗是功耗系數(shù)(mW/MHz)和執(zhí)行一定負(fù)載所需要的時(shí)鐘周期數(shù)(毫秒)的乘積。如果一條新指令加到Xtensa可配置處理器后,雖然增加了功耗系數(shù),但卻減少了整個(gè)時(shí)鐘周期數(shù)。例如,功耗系數(shù)增加20%,但導(dǎo)致程序執(zhí)行速度提高3倍。在這種情況下,整個(gè)系統(tǒng)功耗實(shí)際上降低了60%。

            

          Xenergy能量估計(jì)軟件能夠?qū)\(yùn)行在Tensilica Xtensa可配置處理器或者鉆石標(biāo)準(zhǔn)處理器上的應(yīng)用程序進(jìn)行功耗評(píng)估

            圖1:Xenergy能量估計(jì)軟件能夠?qū)\(yùn)行在Tensilica Xtensa可配置處理器或者鉆石標(biāo)準(zhǔn)處理器上的應(yīng)用程序進(jìn)行功耗評(píng)估。

            工作原理

            針對(duì)各種處理器配置情況以及不同的制造工藝,Tensilica生成的訪(fǎng)存(讀和寫(xiě))功耗統(tǒng)計(jì)模型和每條指令的功耗統(tǒng)計(jì)模型均經(jīng)過(guò)詳細(xì)的綜合、RTL代碼設(shè)計(jì)以及門(mén)級(jí)仿真。Xenergy工具使用這些模型,即使采用Tensilica指令擴(kuò)展(TIE)語(yǔ)言編寫(xiě)的由設(shè)計(jì)人員定義的指令也不例外。

            Xenergy工具使用訪(fǎng)存功耗統(tǒng)計(jì)模型和指令功耗統(tǒng)計(jì)模型,包括了用Tensilica指令擴(kuò)展語(yǔ)言編寫(xiě)的由設(shè)計(jì)人員定義的擴(kuò)展指令。針對(duì)各種處理器配置情況以及不同的制造工藝,這些統(tǒng)計(jì)模型的開(kāi)發(fā)包括了詳細(xì)的綜合、RTL代碼設(shè)計(jì)以及門(mén)級(jí)仿真。

            Xenergy工具采用Tensilica的指令集仿真器ISS對(duì)應(yīng)用程序進(jìn)行仿真,仿真精度達(dá)到時(shí)鐘周期。仿真后可以給出每條指令執(zhí)行以及每次訪(fǎng)存的綜合統(tǒng)計(jì)信息。針對(duì)采用的處理器和存儲(chǔ)器,Xenergy工具可以估計(jì)出相應(yīng)的動(dòng)態(tài)功耗、漏電功耗和全部功耗。

            存儲(chǔ)器和應(yīng)用程序代碼效應(yīng)

            有些TIE指令可以改善應(yīng)用程序的性能,但極大地增加了訪(fǎng)存次數(shù),進(jìn)而增加了系統(tǒng)功耗。而且,對(duì)高速緩存的更新(容量和關(guān)聯(lián)度)有助于功耗優(yōu)化。Xenergy程序能夠幫助設(shè)計(jì)人員理解整個(gè)處理器的變化所造成的影響,這些變化是在處理器配置過(guò)程中隨著存儲(chǔ)器的不同所引起的。

            類(lèi)似地,Xenergy工具能夠幫助開(kāi)發(fā)人員修改應(yīng)用程序代碼來(lái)減少處理器和存儲(chǔ)器的能量消耗。例如,在應(yīng)用程序中對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行重構(gòu)能夠降低訪(fǎng)存次數(shù)。通過(guò)使用Tensilica的標(biāo)準(zhǔn)軟件工具,開(kāi)發(fā)人員可以發(fā)現(xiàn)應(yīng)用程序的改善情況。通過(guò)使用Xenergy工具,開(kāi)發(fā)人員能夠發(fā)現(xiàn)通過(guò)修改程序代碼來(lái)降低系統(tǒng)功耗。

            一個(gè)例子

            我們采用EEMBC(嵌入式微處理器典型程序聯(lián)盟,參見(jiàn)網(wǎng)址www.eembc.org)中的RGB到Y(jié)UV顏色轉(zhuǎn)換典型程序來(lái)說(shuō)明Xenergy工具是如果在實(shí)際應(yīng)用程序中使用的。

            我們也可以采用Tensilica的XPRES(Xtensa處理器擴(kuò)展綜合)編譯器,該編譯器利用C或者C++編寫(xiě)的應(yīng)用程序軟件作為輸入數(shù)據(jù),并產(chǎn)生用TIE語(yǔ)言表示的處理器擴(kuò)展。通過(guò)XPRES編譯器可以為Xtensa處理器產(chǎn)生三種擴(kuò)展指令集。

            1. 要求XPRES編譯器產(chǎn)生TIE指令,完成指令操作融合,即將多個(gè)操作符融合成一個(gè)單一復(fù)雜操作。

            2. 然后,我們可以要求XPRES也產(chǎn)生SIMD(單指令多數(shù)據(jù))功能部件(及相應(yīng)的指令),進(jìn)行向量操作,即對(duì)多個(gè)數(shù)據(jù)元素施加相同的操作符。

            3. 最后,我們要求XPRES編譯器將Xtensa處理器擴(kuò)展成一個(gè)VLIW(超長(zhǎng)指令字)體系結(jié)構(gòu),并利用Tensilica的FLIX(定長(zhǎng)指令擴(kuò)展)技術(shù)。XPRES編譯器利用VLIW指令構(gòu)建多發(fā)射數(shù)據(jù)通路,VLIW指令可以包括多個(gè)操作。

            

          對(duì)不同Xtensa處理器擴(kuò)展后的性能

            圖2:對(duì)不同Xtensa處理器擴(kuò)展后的性能、功耗和面積對(duì)應(yīng)關(guān)系。

            三種Xtensa配置結(jié)果如圖2所示。周期數(shù)與性能是等價(jià)的,這由在指令集仿真器ISS上執(zhí)行的顏色轉(zhuǎn)換應(yīng)用程序來(lái)決定。門(mén)數(shù)可以由Tensilica的TIE編譯器來(lái)估計(jì)得到。所有其它數(shù)據(jù)均由Xenergy工具來(lái)生成。

            圖2表示由XPRES編譯器生成的SIMD操作以及融合操作性能改善情況,大約是3.8倍,而門(mén)數(shù)為大約5倍。處理器和存儲(chǔ)器功耗與性能的對(duì)應(yīng)關(guān)系相當(dāng)好。另外還表示了當(dāng)XPRES編譯器生成VLIW(FLIX)體系結(jié)構(gòu)時(shí),性能的改善情況是大約20%。然而,門(mén)數(shù)為兩倍,且處理器功耗很差。

            因此,由于SIMD操作引起的性能改善將使得功耗降低,且由于芯片面積(門(mén)數(shù))的增加使得系統(tǒng)功耗/能量增加。這是最好的優(yōu)化情況。

            上述例子說(shuō)明Xenergy評(píng)估工具是設(shè)計(jì)人員在對(duì)性能、面積和功耗進(jìn)行折衷時(shí)不可或缺的軟件工具。

            本文小結(jié)

            Tensilica公司的Xenergy工具軟件為SoC設(shè)計(jì)人員提前對(duì)運(yùn)行在某些應(yīng)用程序時(shí)的處理器和存儲(chǔ)器子系統(tǒng)所消耗的總能量進(jìn)行評(píng)估。設(shè)計(jì)人員能夠馬上看到Xtensa配置和TIE指令代碼改變后的整個(gè)系統(tǒng)功耗情況。這對(duì)那些使用Xtensa處理器來(lái)代替RTL去設(shè)計(jì)SoC數(shù)據(jù)通路的設(shè)計(jì)人員尤為重要。通過(guò)使用定制TIE指令可以盡早評(píng)估系統(tǒng)的功耗情況,這有助于正確評(píng)估系統(tǒng)功耗、面積和性能。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();