??? 摘 要: ARM處理器是世界上最流行的嵌入式處理器,,廣泛應(yīng)用于個人通信等嵌入式領(lǐng)域,。ARM7處理器雖然功能強大,但是目前已經(jīng)開始退出主流應(yīng)用領(lǐng)域,代替它的是性能更加強大的ARM9系列處理器,。介紹了ARM9處理器與ARM7處理器的不同之處,并且給出了ARM9的應(yīng)用實例,。
??? 關(guān)鍵詞: ARM9? ARM7? 流水線? 指令周期
?
??? ARM9系列處理器是英國ARM公司設(shè)計的主流嵌入式處理器,,主要包括ARM9TDMI和ARM9E-S等系列。本文主要介紹它們與ARM7TDMI的結(jié)構(gòu)以及性能比較,。
??? 以手機應(yīng)用為例,,2G手機只需提供語音及簡單的文字短信功能,而目前的2.5G和未來的3G手機除了提供這兩項功能外,,還必須提供各種其他的應(yīng)用功能,。主要包括: (1)無線網(wǎng)絡(luò)設(shè)備:手機上網(wǎng)、電子郵件及其他定位服務(wù)等功能,; (2)PDA功能:含有用戶操作系統(tǒng)(Windows CE,、Symbian OS、Linux等)及其他功能,;(3)高性能" title="高性能">高性能功能:音頻播放器,、視頻電話,、手機游戲等。在2.5G和3G的應(yīng)用中ARM9已經(jīng)全面替代了ARM7,。因為ARM9的新特性能夠滿足各種新需求的同時減少產(chǎn)品研發(fā)時間并降低研發(fā)費用,。
??? 新一代的ARM9處理器,通過全新的設(shè)計,,采用了更多的晶體管,,能夠達(dá)到兩倍以上于ARM7處理器的處理能力" title="處理能力">處理能力。這種處理能力的提高是通過增加時鐘頻率" title="時鐘頻率">時鐘頻率和減少指令執(zhí)行周期實現(xiàn)的,。
1 時鐘頻率的提高
??? ARM7處理器采用3級流水線,,而ARM9采用5級流水線,如圖1,、2,、3所示。增加的流水線設(shè)計提高了時鐘頻率和并行處理能力,。5級流水線能夠?qū)⒚恳粋€指令處理分配到5個時鐘周期內(nèi),,在每一個時鐘周期內(nèi)同時有5個指令在執(zhí)行。在同樣的加工工藝下,,ARM9TDMI處理器的時鐘頻率是ARM7TDMI的1.8~2.2倍,。
?
?
?
2 指令周期" title="指令周期">指令周期的改進(jìn)
??? 指令周期的改進(jìn)對于處理器性能的提高有很大的幫助。性能提高的幅度依賴于代碼執(zhí)行時指令的重疊,,這實際上是程序本身的問題,。對于采用最高級的語言,一般來說,,性能的提高在30%左右,。
2.1 loads 指令和stores 指令
??? 指令周期數(shù)的改進(jìn)最明顯的是loads 指令和stores 指令。從ARM7到ARM9 這兩條指令的執(zhí)行時間減少了30%,。指令周期的減少是由于ARM7和ARM9兩種處理器內(nèi)的兩個基本的微處理結(jié)構(gòu)不同所造成的,。
??? (1)ARM9有獨立的指令和數(shù)據(jù)存儲器接口" title="存儲器接口">存儲器接口,允許處理器同時進(jìn)行取指和讀寫數(shù)據(jù),。這叫作改進(jìn)型哈佛結(jié)構(gòu),。而ARM7只有數(shù)據(jù)存儲器接口,它同時用來取指令和數(shù)據(jù)訪問,。
??? (2)5級流水線引入了獨立的存儲器和寫回流水線,,分別用來訪問存儲器和將結(jié)果寫回寄存器。
??? 以上兩點實現(xiàn)了一個周期完成loads 指令和stores 指令,。
2.2 互鎖(interlocks)技術(shù)
??? 當(dāng)指令需要的數(shù)據(jù)因為以前的指令沒有執(zhí)行完而沒有準(zhǔn)備好就會產(chǎn)生管道互鎖,。當(dāng)管道互鎖發(fā)生時,硬件會停止這個指令的執(zhí)行,,直到數(shù)據(jù)準(zhǔn)備好為止,。雖然這種技術(shù)會增加代碼執(zhí)行時間,但是為初期的設(shè)計者提供了巨大的方便,。編譯器以及匯編程序員可以通過重新設(shè)計代碼的順序或者其他方法來減少管道互鎖的數(shù)量,。
2.3 分枝指令
??? ARM9和ARM7的分枝指令周期是相同的。而且ARM9TDMI和ARM9E-S并沒有對分枝指令進(jìn)行預(yù)測處理,。
3 ARM9結(jié)構(gòu)及特點
??? 以ARM9E-S為例介紹ARM9處理器的主要結(jié)構(gòu)及其特點,。ARM9E-S的結(jié)構(gòu)如圖4所示。其主要特點如下:
??? (1)32bit定點RISC處理器,,改進(jìn)型ARM/Thumb 代碼交織,,增強性乘法器設(shè)計。支持實時(real-time)調(diào)試,;
??? (2)片內(nèi)指令和數(shù)據(jù)SRAM,,而且指令和數(shù)據(jù)的存儲器容量可調(diào);
??? (3)片內(nèi)指令和數(shù)據(jù)高速緩沖器(cache)容量從4K字節(jié)到1M字節(jié),;
??? (4)設(shè)置保護(hù)單元(protection unit),,非常適合嵌入式應(yīng)用中對存儲器進(jìn)行分段和保護(hù);
??? (5)采用AMBA AHB總線接口,,為外設(shè)提供統(tǒng)一的地址和數(shù)據(jù)總線,;
??? (6)支持外部協(xié)處理器,指令和數(shù)據(jù)總線有簡單的握手信令支持,;
??? (7)支持標(biāo)準(zhǔn)基本邏輯單元掃描測試方法學(xué),,而且支持BIST(built-in-self-test);
??? (8)支持嵌入式跟蹤宏單元,,支持實時跟蹤指令和數(shù)據(jù),。
?
4 ARM9的典型應(yīng)用
??? TI公司的OMAP730是最新的無線通信基帶信號處理器。該處理器是TI的GPRS Class 12通信模塊與專用于應(yīng)用處理的ARM926通用處理器(GPP)的集成,。由于GPP的速度可達(dá)200MHz,,因此OMAP730具有兩倍于上一代OMAP710處理器的應(yīng)用處理性能。如同所有的OMAP處理器一樣,,OMAP730可支持領(lǐng)先的移動操作系統(tǒng),,其中包括Microsoft 的智能電話與Pocket PC Phone Edition、Symbian OS與Series 60,、Palm OS以及 Linux,。
??? TI OMAP730結(jié)構(gòu)如圖5所示。其中ARM926TEJ處理器的主要特性包括:(1)最高頻率200MHz,;(2)16KB 指令高速緩存,,8KB 數(shù)據(jù)高速緩存;(3)硬件JAVA加速,;(4)擴展多媒體指令集結(jié)構(gòu),。
?
??? ARM微處理器是一種高性能,、低功耗的32位微處器,它被廣泛應(yīng)用于嵌入式系統(tǒng)中,。ARM9代表了ARM公司主流的處理器,,已經(jīng)在手持電話、機頂盒,、數(shù)碼像機,、GPS、個人數(shù)字助理以及因特網(wǎng)設(shè)備等方面有了廣泛的應(yīng)用,。
參考文獻(xiàn)
1 蔣亞群.ARM微處理器體系結(jié)構(gòu)及其嵌入式SOC.計算機工程,2002;28(11)
2 TI. Wireless Terminals Solutions Guide. http://www.ti.com.cn
3 譚 軍.ARM在無線領(lǐng)域中的應(yīng)用.ARM中國公司
4 ARM. ARM946E-S Technical Reference Manual,,http://www.arm.com