arm是advanced risc machines的縮寫,它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計(jì)了大量高性能、廉價(jià)、耗能低的risc (精簡指令集)處理器。
arm公司的特點(diǎn):只設(shè)計(jì)芯片,而不生產(chǎn)。它將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和oem廠商,并提供服務(wù)。
下面簡要講一下arm體系結(jié)構(gòu):
arm處理器為risc芯片,其簡單的結(jié)構(gòu)使arm內(nèi)核非常小,這使得器件的功耗也非常低。它具有經(jīng)典risc的特點(diǎn):
(1)大的、統(tǒng)一的寄存器文件;
(2)裝載/保存結(jié)構(gòu),數(shù)據(jù)處理 操作只針對寄存器的內(nèi)容,而不直接對存儲器進(jìn)行操作;
(3)簡單的尋址模式;
(4)統(tǒng)一和固定長度的指令域,簡化了指令的譯碼。
那么,arm體系結(jié)構(gòu)的特點(diǎn)是什么呢?
每條數(shù)據(jù)處理指令都對算術(shù)邏輯單元和移位器控制,以實(shí)現(xiàn)alu和移位器的最大利用;
地址自動(dòng)增加和減少尋址模式,優(yōu)化程序循環(huán);
多寄存器裝載和存儲指令實(shí)現(xiàn)最大數(shù)據(jù)吞吐量;
所有指令的條件執(zhí)行實(shí)現(xiàn)最快速的代碼執(zhí)行。
各arm體系結(jié)構(gòu)版本:
arm體系結(jié)構(gòu)從最初開發(fā)到現(xiàn)在有了巨大的改進(jìn),并仍在完善和發(fā)展。為了清楚的表達(dá)每個(gè)arm應(yīng)用實(shí)例所使用的指令集,arm公司定義了5種主要的arm指令集體系結(jié)構(gòu)版本,以版本號v1~v5表示。
arm體系結(jié)構(gòu)版本——v1
該版本的arm體系結(jié)構(gòu),只有26位的尋址空間,沒有商業(yè)化,其特點(diǎn)為:
(1)基本的數(shù)據(jù)處理指令(不包括乘法);
(2)字節(jié)、字和半字加載/存儲指令;
(3)具有分支指令,包括在子程序調(diào)用中使用的分支和鏈接指令;
(4)在操作系統(tǒng)調(diào)用中使用的軟件中斷指令。
arm體系結(jié)構(gòu)版本——v2
同樣為26位尋址空間,現(xiàn)在已經(jīng)廢棄不再使用,它相對v1版本有以下改進(jìn):
(1)具有乘法和乘加指令;
(2)支持協(xié)處理器;
(3)快速中斷模式中的兩個(gè)以上的分組寄存器;
(4)具有原子性加載/存儲指令swp和swpb。
arm體系結(jié)構(gòu)版本——v3
尋址范圍擴(kuò)展到32位(事實(shí)上也基本廢棄),具有獨(dú)立的程序:
(1)具有乘法和乘加指令;
(2)支持協(xié)處理器;
(3)快速中斷模式中具有的兩個(gè)以上的分組寄存器;
(4)具有“原子性加載”/存儲指令swp和swpb。
arm體系結(jié)構(gòu)版本——v4
不在為了與以前的版本兼容而支持26位體系結(jié)構(gòu),并明確了哪些指令會引起未定義指令異常發(fā)生,它相對v3版本作了以下的改進(jìn):
(1)半字加載/存儲指令;
(2)字節(jié)和半字的加載和符號擴(kuò)展指令;
(3)具有可以轉(zhuǎn)換到thumb狀態(tài)的指令;
(4)用戶模式寄存器的新的特權(quán)處理器模式。
arm體系結(jié)構(gòu)版本——v5
在v4版本的基礎(chǔ)上,對現(xiàn)在指令的定義進(jìn)行了必要的修正,對v4版本的體系結(jié)構(gòu)進(jìn)行了擴(kuò)展并增加了指令,具體如下:
(1)改進(jìn)了arm/thumb狀態(tài)之間的切換效率;
(2)允許非t變量和t變量一樣,使用相同的代碼生成技術(shù);
(3)增加計(jì)數(shù)前導(dǎo)零指令和軟件斷點(diǎn)指令;
(4)對乘法指令如何設(shè)置標(biāo)志作了嚴(yán)格的定義。
arm處理器核簡介
arm公司開發(fā)了很多系列的arm處理器核,目前最新的系列已經(jīng)是arm11了,而arm6核以及更早的系列已經(jīng)很罕見了。目前應(yīng)用比較廣泛的系列是:
arm處理器核簡介——arm7
該系列包括arm7tdmi、arm7tdmi-s、帶有高速緩存處理器宏單元的arm720t和擴(kuò)充了jazelle的arm7ej-s。該系列處理器提供thumb 16位壓縮指令集和embededice軟件調(diào)試方式,適用于更大規(guī)模的soc設(shè)計(jì)中。
arm7系列廣泛應(yīng)用于多媒體和嵌入式設(shè)備,包括internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備,以及移動(dòng)電話、pda等無線設(shè)備。
arm處理器核簡介——arm9
該系列包括arm9tdmi、arm920t和帶有告訴緩存處理器宏單元的arm940t。除了兼容arm7系列,而且能夠更加靈活的設(shè)計(jì)。
arm9系列主要應(yīng)用于引擎管理、儀器儀表、安全系統(tǒng)和機(jī)頂盒等領(lǐng)域。
arm處理器核簡介——arm10
該系列包括arm1020e和arm1020e處理器核,其核心在于使用向量浮點(diǎn)(vfp)單元vfp10提供高性能的浮點(diǎn)解決方案,從而極大提高了處理器的整型和浮點(diǎn)運(yùn)算性能。
可以用于視頻游戲機(jī)和高性能打印機(jī)等場合。
arm處理器核簡介——securcore
該系列涵蓋了sc100、sc110、sc200和sc210處理核。該系列處理器主要針對新興的安全市場,以一種全新的安全處理器設(shè)計(jì)為智能卡和其它安全ic開發(fā)提供獨(dú)特的32位系統(tǒng)設(shè)計(jì),并具有特定反偽造方法,從而有助于防止對硬件和軟件的盜版。
arm處理器核簡介——xscale
intel xscale微控制器則提供全性能、高性價(jià)比、低功耗的解決方案,支持16位thumb指令并集成數(shù)字信號處理(dsp)指令。