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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 計算吞吐量增加促進32位處理器設計

          計算吞吐量增加促進32位處理器設計

          ——
          作者:作者: 吉田順子 時間:2007-01-26 來源:《E代電子》 收藏

          atmel公司新近開發(fā)了一款名為avr32的高性能32位risc處理器內核,該內核從設計初始就選用了一種指令架構來增加每周期的計算吞吐量。

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

          atmel公司設計avr32的目的,就是提供一種處理器,能夠以極低功耗(便攜式消費類多媒體設備的必要條件)有效完成日益增加的信號處理任務。此外,該內核還能夠執(zhí)行mpu和dsp雙重功能,而僅需單一的設計流程和一套開發(fā)工具。

          avr32由atmel公司在挪威的一個20人工程團隊所開發(fā)。該團隊聲稱,在執(zhí)行‘差分絕對值之和(sad)’和‘反離散余弦變換(idct)’等目標算法時,avr32每個指令周期的計算吞吐量較arm11內核提高了35%。這相當于在100mhz的時鐘頻率下,具備以30幀/秒的速度對qvga mpeg-4視頻解碼的能力,如果用arm11實現(xiàn)的話則需要150到175 mhz的時鐘頻率。

          根據atmel的說法,avr32架構代表了一個“眾多優(yōu)秀設計理念的集合”。這個集合包括一個獨特的帶有硬件分支預測的管線架構、專用dsp硬件(位于微處理器管線內部)以及單指令多數(shù)據(simd)擴展。

          “人們通常通過提高時鐘頻率并加入更多的門電路來提高微處理器的性能,但是這樣的競賽已經結束?!盿tmel挪威公司avr業(yè)務部的執(zhí)行總監(jiān)alf-egil bogen說。反之,競爭的新重點是在提高單時鐘周期吞吐量的同時,如何使所消耗的功率達到超低。

          “我們采取了一種非常學術的做法,通過關注微處理器架構的每一個細節(jié),來達到更高的吞吐量和優(yōu)化的代碼密度?!盿tmel挪威公司的芯片設計師oyvind strom介紹。

          然而,對atmel公司而言,現(xiàn)在進入32位risc處理器市場可能有些為時過晚,因為該市場已經被arm 和美普思科技(mips technologies)等公司所主導。事實上,這些公司的許多處理器產品,也同avr32一樣,正在向“以dsp為導向的特性”轉移,berkeley設計技術公司的總裁jeff bier指出。

          但是atmel的工程師卻沒有為此感到憂慮,他們提到了avr8的成功,它也是挪威團隊開發(fā)的成果。avr8在1990年末期進入市場,迄今為止仍是市場中增長幅度最快的8位mcu之一?!拔覀兿M柚鷄vr32稍稍撼動一下這個行業(yè)?!眀ogen說。

          那么,avr32與其它的risc處理器相比有何不同呢?

          “從高級層面來說,avr32架構與arm11和mips24kec架構極為類似。”berkeley設計公司的bier評論道,“avr32使用的大部分技術,似乎都可以從面向信號和多媒體處理應用的微處理器中找到。”

          32位內核avr32擁有多條管線

          avr32架構的重要特性包括一個單獨的負載/存儲管線、帶有分支消除(branch folding)的分支預測、simd技術(例如借助單指令完成兩個16位操作的能力)、一個16/32位指令集(自由混合,無需模式改變),以及執(zhí)行sad算法的能力(加速視頻壓縮)。

          “上述特性沒有一個是avr32所獨有的?!眀ier指出,“但是進一步觀察avr32架構的細節(jié)就會發(fā)現(xiàn),其中諸多單元與arm11和mips24kec有著天壤之別,這些不同為avr32帶來了一些優(yōu)勢。”

          例如,因為其管線的工作方式,arm11和mips24kec存在與某些重要指令相關的多周期延遲?!斑@為編譯者或匯編程序師獲得最高性能帶來了挑戰(zhàn)?!眀ier說,“但是這個問題的難度對avr32來說小得多?!?br>   
          更具體地來說,atmel在其avr32多管線架構中支持“無序”執(zhí)行,strom說。
           
          通常,一條復雜的指令需要多個時鐘周期,而且管線在該指令完成之后就處于停頓狀態(tài)。但是avr32擁有三條管線,即負載/存儲、乘法和算術邏輯單元,它們依據無序的不相關數(shù)據執(zhí)行算術操作。例如,avr32不是在除法完成之后才中止代碼,而是讓指令由可用的資源來執(zhí)行。

          “avr32另一個意義重大的地方在于可以自由混合16位和32位指令?!眀ier指出。這點之所以重要是因為并非所有的東西都以32位數(shù)據格式出現(xiàn)。如果沒有這種混合能力,從一個字中挑選合適的字節(jié)就會困難得多。
          “在其它一些內核,如arm1136中,你不得不執(zhí)行一條模式變化指令才能實現(xiàn)16和32位指令集之間的切換?!眀ier說,“這個差別意味著avr32可以獲得更緊湊的代碼密度?!?

          確實,優(yōu)化的代碼密度十分重要。如果需要執(zhí)行的程序能夠減少,那么需要的時鐘周期也會減少。此外,高代碼密度意味著該代碼在高速緩存器中占據較少的空間,這樣高速緩存器中就可以存儲更多的指令?!斑@樣不僅可以減少高速緩存器丟失數(shù)據的可能,還有利于降低成本?!盿tmel公司的bogen補充道,“因為必需的程序存儲器減小了?!?

          forward concepts公司的總裁will strauss認為avr32的表現(xiàn)很不賴,他引用了avr32在eembc基準下的性能評估結果來證明其言論。評估結果顯示,在需要mpu和dsp雙重功能的應用中,avr32擊敗了arm9和arm11家族。不僅如此,該款器件在代碼密度方面的得分也優(yōu)于arm1020。

          那么將avr32與ti的omap解決方案相比結果又如何呢?strauss指出,ti的omap平臺是一個包含多處理器的芯片(arm內核+ti dsp),而avr32則從一開始就針對mpu和dsp設計,而且只需單獨一套開發(fā)工具?!?

          但是沒有人真正希望atmel的avr32打入手機世界?!癮vr32不可能在手機領域獲得設計勝出,該領域完全由基于arm的芯片所主導?!眀ier表示,“avr32可能對pmp以及其它低成本消費電子更具吸引力。

          面向運算增強型應用的mpu內核

          “但是,如果對ti、adi以及飛思卡爾正在銷售的多媒體應用芯片進行觀察,你就會發(fā)現(xiàn)它們是帶有大量現(xiàn)成軟件和其它開發(fā)基礎架構的復雜soc。”他說,“如果atmel想為avr32尋找出路的話,它必須采取相應的措施?!?

          atmel計劃在avr32內核基礎上推出幾個處理器系列。首先會是針對消費類多媒體應用的soc解決方案,預定產品在這個月就將面世。

          雖然avr32內核在atmel晶圓廠制造的asic中得以使用,但是atmel表示它不會對其它的生產商發(fā)布授權。目前第三方可以通過定制芯片的形式獲得內核,但是atmel將堅持自己生產該器件。

          據該公司透露,完整芯片(而不是一個處理器核)的預期售價將在10到17美元之間。

          在工具方面,atmel認為它已經盡全力去優(yōu)化其開發(fā)工具,并盡可能地使現(xiàn)有avr8 mcu的用戶平滑過渡。公司位于挪威的團隊已經同瑞典一家知名的工具公司iar進行了多年合作。iar的編譯器有助于atmel測試avr32的架構并優(yōu)化其指令集。iar還對其編譯器進行了改進,以便更好地適用于該架構。

          此外,avr8現(xiàn)有的65,000名客戶可以繼續(xù)將他們熟悉的工具(如電路仿真工具jtagice mkii)用于avr32。
          avr32內核支持linux操作系統(tǒng)。對其它實時操作系統(tǒng)的支持將在客戶要求授權的時候再進行添加,bogen表示。



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();