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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 正確看待處理器核的功耗數(shù)據(jù)

          正確看待處理器核的功耗數(shù)據(jù)

          作者: 時(shí)間:2008-11-10 來源:ednchina 收藏

            具有板級(jí)設(shè)計(jì)經(jīng)驗(yàn)的工程師一般對(duì)于芯片的水平都了如指掌,給定芯片的實(shí)現(xiàn)工藝和工作頻率,就可以推斷出。然而對(duì)于可授權(quán)的核IP來說,這種經(jīng)驗(yàn)是非常不準(zhǔn)確的。

            處理器芯片的數(shù)據(jù)是測量芯片封裝中所有電路功耗得到的結(jié)果,而可授權(quán)處理器核的功耗分析基于仿真的結(jié)果,IP供應(yīng)商公布的功耗數(shù)據(jù)有可能忽略掉一些產(chǎn)生功耗的功能模塊。影響可授權(quán)處理器核功耗的因素有很多,包括芯片實(shí)現(xiàn)的工藝水平(制程和線寬),物理單元庫以及進(jìn)行功耗分析時(shí)運(yùn)行在處理器上的測試程序。因此,在比較兩家處理器核的功耗水平時(shí),要格外小心謹(jǐn)慎,因?yàn)橐?guī)格文檔中的數(shù)據(jù)很可能基于不同的條件,不具有可比性。例如,分別采用TSMC 0.18μm G制程和0.13μm LVLK制程,采用針對(duì)功耗優(yōu)化的綜合方式,并且此數(shù)據(jù)不包括時(shí)鐘樹上的功耗。
            
            下面具體來看腳注中所列的條件

            ●工藝制程:TSMC的G制程是通用低成本制程,而LVLK 制程為高性能制程,它采用低閾值電壓的晶體管,雖然增加了靜態(tài)漏電功耗但是因?yàn)楣ぷ麟妷焊退詣?dòng)態(tài)功耗大大降低。即使線寬相同,采用不同制程的芯片功耗水平有可能相差50%或更多。只有在相同工藝制程下的數(shù)據(jù)才具有可比性,如果功耗數(shù)據(jù)基于的工藝制程不同,雖然可以根據(jù)經(jīng)驗(yàn)推斷其它制程下的功耗,但那無疑是不準(zhǔn)確的。

            ●綜合優(yōu)化設(shè)置:處理器的功耗數(shù)據(jù)是綜合工具針對(duì)功耗進(jìn)行優(yōu)化的條件下得到的。除此之外,綜合工具也可以針對(duì)面積和速度進(jìn)行優(yōu)化,每種優(yōu)化設(shè)置下得到的處理器主頻,面積和功耗水平都不相同。實(shí)際上,處理器核規(guī)格文檔中所列出的最高主頻,最小面積以及最低功耗,很可能是分別采用不同的綜合優(yōu)化設(shè)置得到的,如果文檔中沒有明確列出綜合條件,最好向IP供應(yīng)商問清楚。

            ●未計(jì)入功耗的電路:功耗數(shù)據(jù)中沒有包括時(shí)鐘樹上的功耗。因?yàn)闀r(shí)鐘樹部分運(yùn)行在處理器的最高頻率上,一般來說,時(shí)鐘樹上會(huì)有大量的動(dòng)態(tài)功耗,不計(jì)入時(shí)鐘樹的功耗會(huì)使整個(gè)處理器的功耗數(shù)值減小30%~50%,而處理器正常工作是離不開時(shí)鐘樹的。顯然,如果一個(gè)處理器核的功耗計(jì)入時(shí)鐘樹而另一個(gè)不計(jì)的話,兩相比較是毫無意義的。
            
            注意,還有四個(gè)關(guān)鍵因素,包括:工作電壓,綜合過程中使用的物理單元庫,功耗數(shù)值是布局布線之前還是之后得到的以及進(jìn)行功耗仿真時(shí)運(yùn)行的應(yīng)用程序,這些因素也會(huì)對(duì)處理器核的功耗水平產(chǎn)生重要影響。以130nm工藝為例,處理器的工作電壓范圍大約是1.2V~0.6V,工作電壓的不同會(huì)導(dǎo)致動(dòng)態(tài)功耗的不同。因此,一定要弄清處理器核規(guī)格文檔中列出的功耗數(shù)據(jù)是在什么工作電壓下得到的。

            綜合過程中使用的物理單元庫同樣對(duì)功耗有很大影響。表1列出了五種Tensilica鉆石標(biāo)準(zhǔn)處理器核的功耗數(shù)據(jù)。所有這些數(shù)據(jù)都基于TSMC 0.13μm G制程,但使用不同的物理單元庫和工作電壓(這里的數(shù)據(jù)都包括時(shí)鐘樹的功耗)。表1所列每個(gè)處理器核的功耗包括動(dòng)態(tài)功耗和靜態(tài)功耗兩部分。動(dòng)態(tài)功耗會(huì)隨主頻線性增長而靜態(tài)功耗不會(huì)。
            
            低功耗的數(shù)據(jù)是以ARM的Artisan Metro單元庫實(shí)現(xiàn),在0.6V工作電壓下通過仿真獲得的,由于制程、單元庫和綜合優(yōu)化選項(xiàng)的限制,低功耗處理器的主頻一般低于100MHz。高性能的數(shù)據(jù)是以ARM的Artisan SageX單元庫實(shí)現(xiàn),在1.2V工作電壓下仿真獲得的,同樣的處理器核心此時(shí)功耗更高,但是主頻也較高,通??梢赃_(dá)到200MHz以上。

            表2所示為5款鉆石標(biāo)準(zhǔn)處理器在TSMC 0.13 G和90 G工藝制程下采用ARM的Artisan SageX單元庫,針對(duì)速度進(jìn)行優(yōu)化綜合后的動(dòng)態(tài)功耗比較。可以看出采用更先進(jìn)的90 G工藝,單位頻率下的動(dòng)態(tài)功耗有了顯著下降。采用TSMC的90 G工藝,處理器主頻相比采用0.13 G工藝可以提高近50%。
            
            另外一個(gè)決定處理器核功耗數(shù)值的因素是功耗仿真發(fā)生在布局布線之前還是之后。一般來說,布局布線后處理器的面積會(huì)增加10%~15%,面積的增加帶來了電容的增加,相應(yīng)的導(dǎo)致動(dòng)態(tài)功耗的增加。表1和表2中列出的功耗數(shù)據(jù)都是布局布線后的功耗仿真結(jié)果。

            除了前面所講的這些影響功耗數(shù)據(jù)的因素外,還有一個(gè)重要的因素:進(jìn)行功耗仿真時(shí),處理器在執(zhí)行什么程序?如果處理器在循環(huán)的執(zhí)行空操作,則得到的功耗數(shù)值比處理器進(jìn)行運(yùn)算時(shí)得到的小很多。所以說功耗仿真時(shí)處理器上運(yùn)行的基準(zhǔn)測試程序也會(huì)影響得到的功耗數(shù)值。

            目前還沒有專門針對(duì)處理器核的功耗基準(zhǔn)測試程序。業(yè)界著名的基準(zhǔn)測試組織EEMBC開發(fā)了一套用于處理器芯片的功耗測試基準(zhǔn)程序EnergyBench,但前提是要有已經(jīng)物理實(shí)現(xiàn)了的處理器芯片,它不能用于處理器核的功耗仿真。業(yè)界最常用來做功耗基準(zhǔn)測試的程序是Dhrystone的2.1版本,一個(gè)用來比較處理器性能的基準(zhǔn)程序。表1和表2中列出的功耗數(shù)據(jù)都是基于Dhrystone基準(zhǔn)測試程序進(jìn)行仿真分析的結(jié)果。

            綜上所述,公平的比較兩個(gè)處理器核之間的功耗水平需要保證前提條件一致,而這是很困難的。在比較之前,一定要從處理器供應(yīng)商那里弄清前面所講的各種前提條件。

          本文引用地址:http://www.ex-cimer.com/article/89371.htm


          關(guān)鍵詞: 處理器 功耗

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();