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