體系結構
實現新一代
微處理器的第一步就是訂立一個新的結構體系。這裡所說的結構體系只是對處理器行為進行描述,並不包括具體地指定處理器是如何被建造的。結構體系的定義提供了處理器和外界(作業系統,應用程式和調試支持)的接口,從細節上說,處理器結構體系定義了
指令集、編程模式和最近的
存儲器之間的接口。最新的ARM處理器架構—ARMv6,發布於2001年10月,它建立於過去十年ARM許多成功的結構體系基礎上。同處理器的授權相似,ARM也向客戶授權它的結構體系。比如,以前Intel的
XScale就是基於ARMv5TE的處理器。
目標套用
ARMv6架構是根據下一代的消費類電子、無線設備、網路套用和
汽車電子產品等需求而制定的。ARM11的媒體處理能力和低功耗特點,特別適用於無線和消費類電子產品;其高數據吞吐量和高性能的結合非常適合網路處理套用;另外,也在實時性能和浮點處理等方面ARM11可以滿足汽車電子套用的需求。可以預言,基於ARMv6體系結構的ARM11系列處理器將在上述領域發揮巨大的作用。
特點
對於各種無線移動套用,毫無節制的提供高性能處理器是無用的。同成本控制類似,功耗的控制也是一個重要因素。ARM11系列處理器展示了在性能上的巨大提升,首先推出350M~500MHz
時鐘頻率的核心,在未來將上升到1GHz時鐘頻率ARM11處理器在提供高性能的同時,也允許在性能和功耗間做權衡以滿足某些特殊套用。通過動態調整時鐘頻率和供應電壓,開發者完全可以控制這兩者的平衡。在0.13um工藝,1.2v條件下,ARM11處理器的功耗可以低至0.4mW/MHz。ARM11處理器同時提供了可綜合版本和半定製
硬核兩種實現。可綜合版本可以讓客戶根據自己的半導體工藝開發出各有特色的處理器核心,並保持足夠靈活性。ARM實現的硬核則是為了滿足那些極高性能和速度要求的套用,同時為客戶節省實現的成本和時間。為了讓客戶更方便地走完實現流程,ARM11處理器採用了易於綜合的
流水線結構,並和常用的綜合工具以及ARM compiler良好結合,確保了客戶可以成功並迅速的達到時序收斂。目前已有的ARM11處理器在不包含Cache的情況下面積小於2.7mm2,對於當前複雜的SoC設計來說,如此小的die size對晶片成本的降低是極其重要的。ARM11處理器在很多方面為軟體開發者帶來便利。一方面,它包含了更多的多媒體處理指令來加速視頻和音頻處理;另一方面,它的新型存儲器系統進一步提高了作業系統的性能;此外,還提供了新指令來加速實時性能和中斷的回響。再次,目前有很多套用要求多處理器的配置(多個ARM核心,或ARM+DSP的組合),ARM11處理器從設計伊始就注重更容易地與其他處理器共享數據,以及從非ARM的處理器上移植軟體。此外,ARM還開發了基於ARM11系列的多處理器系統——MPCORE(由二個到四個ARM11核心組成)。
性能
ARM11處理器的超強性能是由一系列的架構特點所決定的。
ARMv6—決定性能的基礎
ARMv6架構決定了可以達到高性能處理器的基礎。總的來說,ARMv6架構通過以下幾點來增強處理器的性能:
1.多媒體處理擴展 使
MPEG4編碼/解碼加快一倍
音頻處理加快一倍
實地址Cache4
減少Cache的刷新和重載
減少上下文切換的開銷
4.支持Unaligned和Mixed-endian數據訪問 使數據共享、軟體移植更簡單,也有利於節省
存儲器空間
對絕大多數套用來說,ARMv6保持了100%的二進制向下兼容,使用戶過去開發的程式可以進一步繼承下去。ARMv6保持了所有過去架構中的T(Thumb指令)和E(DSP指令)擴展,使代碼壓縮和DSP處理特點得到延續;為了加速Java代碼執行速度的ARM Jazalle技術也繼續在ARMv6架構中發揮重要作用。
核心特點
ARM11處理器是為了有效的提供高性能處理能力而設計的。在這裡需要強調的是,ARM並不是不能設計出運行在更高頻率的處理器,而是,在處理器能提供超高性能的同時,還要保證功耗、面積的有效性。ARM11優秀的
流水線設計是這些功能的重要保證。
ARM11處理器的流水線和以前的ARM核心不同,它由8級流水線組成,可以比5級流水線的ARM9達到更高的運行頻率。
從通常的角度說,過長的流水線往往會削弱指令的執行效率。一方面,如果隨後的指令需要用到前面指令的執行結果作為輸入,它就需要等到前面指令執行完。ARM11處理器通過forwarding來避免這種流水線中的數據衝突,它可以讓指令執行的結果快速進入到後面指令的流水線中。另一方面,如果指令執行的正常順序被打斷(如出現跳轉指令),普通流水線處理器往往要付出更大的代價,ARM11通過實現跳轉預測技術來保持最佳的流水線效率。這些特殊技術的使用,使ARM11處理器最佳化到更高的流水線吞吐量的同時,還能保持和5級流水線(如ARM9處理器中的流水結構)一樣的有效性。
跳轉預測及管理
跳轉指令通常都是條件執行的。問題在於那些決定是否跳轉的條件要在跳轉指令被
解碼的後3~4個周期才能就緒。如果不做特殊處理,跳轉指令必須等待,這樣使指令執行效率變得讓人難以忍受。跳轉預測就是用來幫助解決這種延遲的。ARM11處理器提供兩種技術來對跳轉作出預測—動態預測和靜態預測。
動態預測:在ARM11處理器中包含了64個4狀態跳轉地址快取器(4-state branch target address cache)來保存最近發生的跳轉指令的結果。通過對這些歷史紀錄的查找,處理器可以預測出當前的跳轉指令是否會被執行。
靜態預測:當在動態預測的快取器中無法查到和當前指令匹配的記錄,ARM11處理器就從跳轉的方式來判斷是否執行。如果是向回跳轉,大多數情況是遇到一個循環,處理器會假設這條指令被執行。如果是向前跳轉,處理器會假設這條指令不被執行。
動態預測和靜態預測的組合使ARM11處理器能達到85%的預測正確性,對於每一個正確的預測,給指令執行帶來的是減少5個時鐘周期的等待時間。
增強的存儲器訪問
在ARM11處理器中,指令和數據可以更長時間的被保存在Cache中。一方面是由於物理地址Cache的實現,使
上下文切換避免了反覆重載Cache,另一方面是由於ARM11的Cache還有很多其它新穎的技術特點。
如果數據的訪問引起了CacheMiss,Cache將到
存儲器中讀取需要的數據。但是ARM11處理器的流水線並不會停止下來。只要後面的指令沒有用到Cache Miss將讀回來的數據,ARM11處理器就會繼續執行下去。即使下一條指令還是存儲器訪問指令,只要數據存放在Cache中,ARM11也會允許這條指令被執行。只有這條指令又引起一次CacheMiss,處理器才會停止下來。在大多數套用中,經過
編譯器調配後,這種情況並不多見。
流水線的並行機制
儘管ARM11是單指令發射處理器,但是在流水線的後半部分允許了極大程度的
並行性。一旦指令被解碼,將根據操作類型發射到不同的執行單元中。ARM11的
數據通路中包含多個處理單元,允許ALU操作、乘法操作和
存儲器訪問操作同時進行。
考慮到不同的指令需要不同的執行時間,當三類指令先後被發射到流水線中,它們就可以同時被執行。而且ARM11處理器允許指令的亂序完成,如果在指令之間沒有數據的相關性,所有指令都可以不必等待前面的指令完成而結束自己的執行。
64位的數據通道
在絕大多數的套用中,一個真正的
64位處理器,在功耗面積的成本上還是不經濟的。ARM11處理器展示了一種以
32位處理器的成本,提供64位處理器性能的解決方案。ARM11處理中,核心和Cache,及
協處理器之間的
數據通路是64位的。這使處理器可以每周期讀入兩條指令或存放兩個連續的數據,以大大提高數據訪問和處理的速度。經過評測,這已經和64位處理器的性能相差無幾。
浮點運算
ARM11處理器將浮點運算當成一個可供用戶選擇的設計。用戶可以在向ARM要求授權的時候選擇是否包括浮點處理器的核心。在流水線上的重要區別不僅是為了達到更高的性能,還是從實現的角度來考慮的。所以,ARM11核心在運行於極高頻率的同時,也能非常容易的被集成在SoC設計中。同時,ARM11處理器提供的向上兼容性,使OEM可以放心的選用任何基於ARM的產品。
發展演變
ARM11處理器是ARMv6架構的第一代實現,ARM的合作夥伴可以從不同的方面(功耗、性能或面積)最佳化和實現差異化的ARM11核心,也可以根據自己特定的工藝技術來開發不同的特性。這些ARM11處理器瞄準的是下一代高端的移動無線,消費類電子,網路和汽車電子套用。而且ARM11核心的很多特性使它還能充分適應高端嵌入式實時套用系統,如:未來的網路和家庭娛樂產品。
此外,ARM11的成功還得益於ARM完整的開發環境和廣泛的IP解決方案,以及不斷擴大的ARM開發者和合作夥伴聯盟。
ARM公司近日公布了四個新的ARM11系列微處理器核心(ARM1156T2-S核心、ARM1156T2F-S核心ARM1176JZ-S核心和ARM11JZF-S核心),以及套用於ARM1176JZ-S 和ARM11JZF-S核心系列的PrimeXsys平台、相關的CoreSight技術。
ARM1156T2-S和ARM1156T2F-S核心都基於ARMv6指令集體系結構,將是首批含有ARM Thumb-2核心技術的產品,可令合作夥伴進一步減少與存儲系統相關的生產成本。兩款新核心主要用於多種深嵌入式存儲器、汽車網路和成像套用產品,提供了更高的CPU性能和吞吐量,並增加了許多特殊功能,可解決新一代裝置的設計難題。體系結構中增添的功能包括:對於汽車安全系統類安全套用產品的開發至關重要的存儲器容錯能力。ARM1156T2-S和ARM1156T2F-S核心與新的AMBA 3.0 AXI匯流排標準一致,可滿足高性能系統的大量數據存取需求。Thumb-2核心技術結合了16位、32位指令集體系結構,提供更低的功耗、更高的性能、更短的編碼,該技術提供的軟體技術方案較現用的ARM技術方案減少使用26%的存儲空間、較現用的Thumb技術方案增速25%。
ARM1176JZ-S和ARM1176JZF-S核心及PrimeXsys平台是首批以ARM TrustZone技術實現手持裝置和消費電子裝置中公開作業系統的超強安全性的產品,同時也是首次對可節約高達75%處理器功耗的ARM智慧型能量管理(ARM Intelligent Energy Manager)進行一體化支持。ARM1176JZ-S和ARM1176JZF-S核心基於ARMv6指令集體系結構,主要為服務供應商和運營商所提供的新一代消費電子裝置的電子商務和安全的網路下載提供支持。
CoreSight技術建於ARM Embedded Trace Macrocell (ETM)實時跟蹤模組中,為完整的
片上系統(SoC)設計提供最全面的調試、跟蹤技術方案,通過最小連線埠可獲得全面的系統可見度,並為開發者大大節約了產品上市時間。ARM CoreSight技術提供了最標準的調試和跟蹤性能,適用於各種核心和複雜外設,可對核內指令和數據進行追蹤。該技術為半導體製造商和工具供應商建立了可真正協同工作的系統調試標準,可滿足嵌入式開發者和半導體製造商的各種需求,如以最低的成本來提供全面的系統可見度,從而降低處理器成本。
ARM公司嵌入式核心經理Richard Phelan先生說:"隨著競爭的日益激烈,系統開發者必須以低廉的費用實現
嵌入式系統的高性能並延長電池的待機時間。ARM1156T2-S和ARM1156T2F-S核心在0.13μ工藝下新的操作頻率高達550MHz,擁有高效的Thumb-2指令集和AMBA 3.0 AXI
系統匯流排,ARM1156T2-S和ARM1156T2F-S核心為合作夥伴們提供了所需的智慧財產權(IP),滿足各種新興的嵌入式控制套用產品的高性能需求。"
ARM CPU產品經理David Cormie先生評論說:"為了進一步提高新一代消費電子裝置和無線裝置的安全性,運營商、服務商和消費者的重要數據的保護、隱私保護需要一個可信賴的計算環境。ARM1176JZ-S和ARM1176JZF-S核心及PrimeXsys平台結合了ARM TrustZone技術,為計算裝置提供了理想的可信賴基礎。系統設計者首次在晶片核心部分運用TrustZone技術來解決安全性問題。用戶將擁有更多的下載選擇,運營商將增加營業額收入,他們都無需擔心網路的安全問題。"
ARM1176JZ-S和ARM1176JZF-S核心、PrimeXsys平台提供了安全的低功耗設計,含有AMBA 3.0 AXI,可對頻率和電壓變化進行控制;系統級TrustZone軟硬體參考設計。兩個新核心中集成了ARM Jazelle技術,可加快嵌入式Java執行。ARM1176JZF-S核心包含一個浮點
協處理器,極適合用於嵌入式3D圖像套用產品。兩個新核心的標準配置中都含有ARM-Synopsys RTL to GDSII參考技術方案,都是可綜合的,在0.13μ工藝中,最低頻率可達333-550MHz。PrimeXsys平台包含ARM CoreSight?技術,提供了世界領先的調試和跟蹤技術方案。
ARM CoreSight技術可快速地對不同地軟體進行調試,通過對多核和AMBA?匯流排的情況進行同時跟蹤。此外,同時對多核進行暫停和調試,CoreSight技術可對AMBA上的存儲器和外設進行調試,無需暫停處理器工作,達到不易做到的實時開發。ARM CoreSight技術擁有更高的壓縮率,為半導體製造商們提供了對新的更高頻處理器進行調試、跟蹤的技術方案。使用CoreSight技術,製造商們可通過減少調試所需的管腳、減少片上跟蹤快取所需的晶片面積等手段來降低生產成本。