什么是arm架構(gòu)?arm架構(gòu)有什么用?
ARM架構(gòu)過(guò)去稱(chēng)作進(jìn)階精簡(jiǎn)指令集機(jī)器(AdvancedRISCMachine,更早稱(chēng)作:AcornRISCMachine),是一個(gè)32位精簡(jiǎn)指令集(RISC)處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計(jì)。由于節(jié)能的特點(diǎn),ARM處理器非常適用于移動(dòng)通訊領(lǐng)域,符合其主要設(shè)計(jì)目標(biāo)為低耗電的特性。在今日,ARM家族占了所有32位嵌入式處理器75%的比例,使它成為占全世界最多數(shù)的32位架構(gòu)之一。ARM處理器可以在很多消費(fèi)性電子產(chǎn)品上看到,從可攜式裝置(PDA、移動(dòng)電話、多媒體播放器、掌上型電子游戲,和計(jì)算機(jī))到電腦外設(shè)(硬盤(pán)、桌上型路由器)甚至在導(dǎo)彈的彈載計(jì)算機(jī)等軍用設(shè)施中都有他的存在。在此還有一些基于ARM設(shè)計(jì)的派生產(chǎn)品,重要產(chǎn)品還包括Marvell的XScale架構(gòu)和德州儀器的OMAP系列。
一 ARM(Advanced RISC Machines)的幾種含義:1、ARM是一種RISC MPU/MCU的體系結(jié)構(gòu),如同x86架構(gòu)是一種CISC體系結(jié)構(gòu)一樣。另外,還有MIPS架構(gòu)、PowerPC架構(gòu)等等。2、ARM是Advanced RISC Machine Limited公司的簡(jiǎn)稱(chēng)。3、ARM是Advanced RISC Machine Limited公司的產(chǎn)品,該產(chǎn)品以IP Core(Intellectual Property Core,知識(shí)產(chǎn)權(quán)核)的形式提供的。4、ARM還用以泛指許多半導(dǎo)體廠商買(mǎi)了這種設(shè)計(jì)后生產(chǎn)出來(lái)的“ARM處理器”系列的芯片及其衍生產(chǎn)品。半導(dǎo)體廠商固然可以光購(gòu)買(mǎi)ARM公司的設(shè)計(jì)而直接生產(chǎn)ARM處理器芯片,但是更好的方法是以ARM處理器為核心,在同一塊芯片上配上自己開(kāi)發(fā)的外圍模塊,形成面向特定應(yīng)用和市場(chǎng)的專(zhuān)用芯片,甚至“片上系統(tǒng)(System on a Chip,SoC)”。這樣,作為專(zhuān)用處理器/控制器芯片的生產(chǎn)商既可以減少開(kāi)發(fā)中的風(fēng)險(xiǎn),又可以大大縮短開(kāi)發(fā)周期,降低成本。所以,“ARM處理器”一般是作為“內(nèi)核”存在于一些專(zhuān)用處理器/控制器的內(nèi)部,因而又常常叫做“ARM核”。特別地,如果一個(gè)處理器核不帶浮點(diǎn)運(yùn)算功能,有時(shí)候就對(duì)此特別加以強(qiáng)調(diào),稱(chēng)之為“整形核”。
它由32位ALU、若干個(gè)32位通用寄存器以及狀態(tài)寄存器、32×8位乘法器、32×32位桶形移位寄存器、指令譯碼以及控制邏輯、指令流水線和數(shù)據(jù)/地址寄存器組成。1.ALU:它有兩個(gè)操作數(shù)鎖存器、加法器、邏輯功能、結(jié)果以及零檢測(cè)邏輯構(gòu)成。2.桶形移位寄存器:ARM采用了32×32位的桶形移位寄存器,這樣可以使在左移/右移n位、環(huán)移n位和算術(shù)右移n位等都可以一次完成。3.高速乘法器:乘法器一般采用“加一移位”的方法來(lái)實(shí)現(xiàn)乘法。ARM為了提高運(yùn)算速度,則采用兩位乘法的方法,根據(jù)乘數(shù)的2位來(lái)實(shí)現(xiàn)“加一移位”運(yùn)算;ARM高速乘法器采用32×8位的結(jié)構(gòu),這樣,可以降低集成度(其相應(yīng)芯片面積不到并行乘法器的1/3)。4.浮點(diǎn)部件:浮點(diǎn)部件是作為選件供ARM構(gòu)架使用。FPA10浮點(diǎn)加速器是作為協(xié)處理方式與ARM相連,并通過(guò)協(xié)處理指令的解釋來(lái)執(zhí)行。5.控制器:ARM的控制器采用的是硬接線的可編程邏輯陣列PLA。6.寄存器除了用戶模式之外的其他6種處理器模式稱(chēng)為特權(quán)模式(PrivilegedModes)。在這些模式下,程序可以訪問(wèn)所有的系統(tǒng)資源,也可以任意地進(jìn)行處理器模式的切換。其中,除系統(tǒng)模式外,其他5種特權(quán)模式又稱(chēng)為異常模式。
ARM處理器還有一些在其他RISC的架構(gòu)所不常見(jiàn)到的特色,例如PC-相對(duì)尋址(的確在ARM上PC為16個(gè)暫存器的其中一個(gè))以及 前遞加或后遞加的尋址模式。另外一些注意事項(xiàng)是 ARM 處理器會(huì)隨著時(shí)間,不斷地增加它的指令集。某些早期的 ARM 處理器(比ARM7TDMI更早),譬如可能并未具備指令可以讀取兩 Bytes 的數(shù)量,因此,嚴(yán)格來(lái)講,對(duì)這些處理器產(chǎn)生程式碼時(shí),就不可能處理如 C 語(yǔ)言物件中使用 "volatile short" 的資料型態(tài)。
ARM7 和大多數(shù)較早的設(shè)計(jì)具備三階段的流水線化(Pipeline):提取指令、解碼,并執(zhí)行。較高效能的設(shè)計(jì),如 ARM9,則有五階段的流水線化。提高效能的額外方式,包含一顆較快的加法器,和更廣的分支預(yù)測(cè)邏輯線路。這個(gè)架構(gòu)使用“協(xié)處理器”提供一種非侵入式的方法來(lái)延伸指令集,可透過(guò)軟件下 MCR、MRC、MRRC和MCRR 等指令來(lái)對(duì)協(xié)處理器尋址。協(xié)處理器空間邏輯上通常分成16個(gè)協(xié)處理器,編號(hào)分別從 0 至 15 ,而第15號(hào)協(xié)處理器(CP15)是保留用作某些常用的控制功能,像是使用高速緩存和記憶管理單元運(yùn)算(若包含于處理器時(shí))。