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