嵌入式POS機的基礎--ARM體系架構
ARM體系架構-ARM的發展歷程與產品特色
與Intel、AMD等集設計、制造、銷售于一體化的半導體企業不同,ARM從未涉及芯片制造和銷售業務,公司創立以來一直都是以IP(Intelligence Property,知識產權)提供者的身份向各大半導體制造商出售芯片研發的成果,各大半導體廠商購買IP內核授權之后便可在此基礎上進行深化設計,然后制造出產品并將其推向市場。這種策略讓ARM實現專業化的同時也造就了一個龐大的ARM王國。ARM架構的CPU核心具有低功耗、低成本、高性能等優點,獲得許多半導體企業的大力支持。生產ARM架構嵌入式處理器的大企業超過70家,每一家企業都有自己的一套方案,再加上其他廠商開發的衍生產品,使得ARM架構最終在32位嵌入式市場遍地開花,應用極其廣泛。
在ARM的內核大家族中,ARM7、ARM9、ARM10和ARM11的影響力最大,相繼被包括Intel、德州儀器(TI)、高通、摩托羅拉、Atmel在內的重量級半導體企業所采用。到目前為止,全球80%的GSM/3G手機、99%的CDMA手機以及絕大多數PDA產品均采用ARM體系的嵌入式處理器。
ARM領先的低能耗特性可以說占了頭功。當初剛剛起步的嵌入式應用對運算性能并不苛求,但對芯片的功耗卻相當敏感。而相對同時期的其他解決方案, ARM架構的能效比優勢非常明顯:325MHz頻率的ARM1020E處理器雖然絕對性能最低,但在消耗相等電能的前提下,它所擁有的性能遠遠超越IBM的PowerPC 750、摩托羅拉MPC7455(蘋果的G4+處理器)、PowerPC7400(蘋果G4處理器)以及NEC的VR5500處理器,能效比極其出眾。
再者,ARM架構的應用方案非常靈活,由于ARM公司只是提供了一個高效精簡的核心,各半導體廠商可根據自身需求進行應用設計,架構靈活簡便、擴展力很強。如廠商可為多媒體信號處理加入相關的指令集,或為Java相關的應用加入高效執行單元,或增加3D圖形協處理器等等。高度可擴展性也讓ARM出現了許多衍生架構,如流行在PDA領域的Dargonball、StrongARM和XScale架構也都屬于ARM體系。得到大量軟件支持是ARM具有決定性影響的第三個優勢,包括Windows CE、Symbian和Palm OS在內的三種主要常用系統都是基于ARM架構所設計,采用嵌入式Linux操作系統的掌上設備雖然還不是很多見,但它同樣是基于ARM。目前,ARM已經牢牢占領手機、PDA以及其他的掌上電子產品市場,這些領域都非常注重軟件兼容和設計延續性,ARM繼續保持貫有優勢沒有任何懸念。也許有很多其他的嵌入式處理器擁有更卓越的性能,但這并非廠商要考慮的唯一要素,事實上,精簡的硬件核心、超低能耗、設計靈活、軟件支持和豐富的開發工具,這些都是ARM架構賴以成功的技術基礎。
ARM體系架構-ARM核心設計的演進
縱觀ARM的發展歷史,技術創新和工藝進步成為兩大推動力,這一點在ARM7核心到ARM11核心的發展歷程中獲得良好體現。ARM7只擁有一個包含“預取(Fetch)、解碼(Decode)和執行(Execute)”單元的簡單三級流水線結構,在采用0.18微米工藝時核心面積小于0.8平方毫米(不同型號的ARM7,核心面積也各不相同),其時鐘頻率在50MHz到110MHz之間,每MHz所對應的運算能力為0.9 Dhrystone MIPS(Dhrystone:綜合性的基準測試程序,測試處理器的整數性能;MIPS:每秒百萬條指令),最多消耗0.4毫瓦電力。后來的ARM9核心將流水線增加到五級,新增了內存訪問(Memory)和寫入(Write)兩個單元—處理器流水線增長有利于提高工作頻率,但同時會帶來指令執行效能下降的問題。ARM9核心的最高頻率提升到220MHz級別,比ARM7系列整整高了一倍之多。同時ARM9的指令性能也高于ARM7,達到每MHz頻率1.05到1.1MIPS的水平,這應該歸功于AMR9在周邊設計方面的多方位改進。高頻率加上高指令效能,令ARM9核心獲得了非常明顯的性能提升,這也是它受到業界廣泛追捧的主要原因。但由于晶體管數量有些增加,ARM9內核的芯片面積也小幅提升至1.1平方毫米,功耗范圍在每赫茲0.85到1毫瓦之間。
到了ARM10核心,流水線長度進一步增加到六級,它在預取和解碼單元之間加入了一個“發送(Issue)”單元,再加上引入0.15微米制造工藝,使得ARM10的最高頻率突破400MHz。ARM10采用更先進的V5T指令集(之前所有的ARM7、多數ARM9為V4T版本),并對邏輯架構作了很大程度的優化(如利用一個返回堆棧減少子程序返回時的等待時間),大幅度提高了執行效率,最終它的指令執行效能反而提升到每MHz頻率1.24 Dhrystone MIPS。猛增的工作頻率加上較高的指令效能,ARM10的整體性能再次獲得大幅度提升。不過,ARM10的晶體管數量同時也增加了很多,幸好在0.15微米工藝的幫助下,它的核心面積成功控制在10平方毫米的水平(帶64KB緩存),功耗水準保持在每赫茲0.85毫瓦,能效比與前一代的ARM9基本持平,整體表現相當出眾,獲得廣泛應用不成問題。
ARM11核心發布于2002年10月份,為了滿足PDA對性能日益苛刻的要求,ARM公司將其流水線長度擴展到8條,分別為預取、解碼、發送、轉換/MAC1、執行/MAC2、內存訪問/MAC3和寫入等八個單元,屬于ARM V6指令集架構。ARM11采用當時最先進的0.13微米制造工藝,運行頻率最高可達500到700MHz。如果采用90納米工藝,ARM11核心的工作頻率將輕松達到1GHz—對于嵌入式處理器來說,這顯然是個相當驚人的數字。其次,ARM11的邏輯核心也經過大量的改進,其中最重要的當屬“靜/動態組合轉換的預測功能”。ARM11的執行單元包含一個64位、4種狀態的地址轉換緩沖,它主要用來存儲最近使用過的轉換位址。當采用動態轉換預測機制而無法在地址緩沖內找到正確的地址時,靜態轉換預測功能就會立刻接替它的位置。在實際測試中,單純采用動態預測的準確率為88%,單純采用靜態預測機制的準確率只有77%,而ARM11的靜/動態預測組合機制可實現92%的高準確率。針對高速度帶來能耗增加的問題,ARM11引入一項名為“IEM(Intelligent Energy Manager)”的智能電源管理技術,該技術可根據任務負荷情況動態調節處理器的電壓,進而有效降低自身的功耗。這一系列改進讓ARM11的能效比得以繼續提高,平均每赫茲頻率只需消耗0.6毫瓦(有緩存時為0.8毫瓦)的電力,處理器的最高效能可達到660 Dhrystone MIPS,遠超過上一代產品。
擴展功能方面ARM11也大有增強,如支持單指令多數據(SIMD)指令,可以讓那些采用特定算法的應用程序獲得二到三倍的高效執行。支持JAVA解碼功能,在運行Java程序時效率極佳,這對于手機、PDA等Java程序流行的平臺來說具有相當積極的意義。再者,ARM11可以同“協處理器”配合,完成一些指定的任務,這也讓它可以適應更多的應用場合。另外,ARM11支持“TrustZone”安全技術,該技術可識別出系統的安全碼和數據,并保證它們在操作系統中得到安全、有效地同時運行,可防范病毒和惡意代碼的攻擊,同時也不需犧牲任何系統性能,相信這對于機頂盒、新一代智能電話、付款設備、網絡設備、手機等注重信息安全的數字設備來說有很強的實用價值。
評論