ARM體系結(jié)構(gòu)研究(一)
隨著近兩年各種智能手機(jī)、平板電腦、車載電子等各種消
費(fèi)品的蓬勃發(fā)展,ARM體系結(jié)構(gòu)的處理器,作為這些消費(fèi)品的處理核心,也得到了長(zhǎng)足的進(jìn)步,甚至擊敗了Intel,在移動(dòng)嵌入式領(lǐng)域獨(dú)占鰲頭。本文將首先介紹ARM體系結(jié)構(gòu)的發(fā)展歷程,然后將著重梳理其最先進(jìn)的Cortex系列處理器的體系結(jié)構(gòu),以及這些結(jié)構(gòu)對(duì)于各種軟件平臺(tái)如JAVA、.NET的支持等。
二、
2.1
來(lái)自英國(guó)的ARM(Acorn RISC Machine)公司雖然以ARM處理器著稱,但是它獨(dú)特的商業(yè)模式卻決定了ARM公司本身并不生產(chǎn)處理器,這點(diǎn)與從研發(fā)到生產(chǎn)到出貨垂直整合的Intel公司有很大不同,ARM公司采取的是授權(quán)與提成的商業(yè)模式(Intellectual Property Core簡(jiǎn)寫IP-Core):公司自己研發(fā)處理器體系架構(gòu),然后將這套架構(gòu)的知識(shí)產(chǎn)權(quán)有償授權(quán)給處理器制造廠商如高通、三星等半導(dǎo)體廠商,這些廠商造出的每一塊使用ARM體系結(jié)構(gòu)的芯片只需向ARM公司交付低廉的提成即可。由于這種創(chuàng)新的商業(yè)模式和低廉的成本,加上ARM體系的低功耗特點(diǎn),讓ARM體系在對(duì)價(jià)格敏感和續(xù)航能力敏感的32位嵌入式電子消費(fèi)品市場(chǎng)如虎添翼,基本占據(jù)了32位嵌入式消費(fèi)平100%的市場(chǎng)份額。發(fā)展到如今,ARM芯片甚至在對(duì)運(yùn)算速度要求更高的的上網(wǎng)本、平板電腦也大有跟Intel的ATOM處理器一較高低的實(shí)力。近來(lái)紅得發(fā)紫的蘋果iPad就是采用的ARM深度定制的一款處理器架構(gòu),其它還有很多運(yùn)行著Android系統(tǒng)的平板產(chǎn)品、智能手機(jī)產(chǎn)品等也都采用ARM體系結(jié)構(gòu)的處理核心。由此可見ARM體系結(jié)構(gòu)在移動(dòng)電子消費(fèi)品市場(chǎng)無(wú)與倫比的優(yōu)勢(shì)。
2.2
1985——誕生了第一顆ARM芯片,ARM1 Sample版。
1986——ARM2,具有32位數(shù)據(jù)總線,26位地址總線,16個(gè)32位寄存器的處理器實(shí)現(xiàn)產(chǎn)能量產(chǎn)。
20世紀(jì)80年代晚期——蘋果電腦開始與Acorn合作開發(fā)新版的ARM核心。
1991——與蘋果的合作造就了ARM6,并進(jìn)入了蘋果的Apple Newton PDA和Acorn Risc-PC成為了它們的處理器。在該年正式成立了ARM公司,作為Acorn的一家子公司。
1991——至今ARM的產(chǎn)品已經(jīng)橫貫應(yīng)用程序處理器,嵌入式處理器,專家系統(tǒng)等各種計(jì)算領(lǐng)域,成為了移動(dòng)電子消費(fèi)品市場(chǎng)、復(fù)雜工業(yè)控制應(yīng)用的首選處理器體系架構(gòu)。
2.3
2.3.1
這一系列包括的處理器架構(gòu)有:
l
l
l
該系列適用于那些希望在新應(yīng)用中追求穩(wěn)定的產(chǎn)品。這些處理器提供了許多的特性、卓越的功效和范圍廣泛的操作能力,適用于成本敏感型解決方案。這些處理器每年都有數(shù)十億的發(fā)貨量,因此可確保設(shè)計(jì)者獲得最廣泛的體系和資源,從而最大限度地減少集成過(guò)程中出現(xiàn)的問(wèn)題并縮短上市時(shí)間。
2.3.2
這一系列的處理器架構(gòu)有:
l
l
Cortex-M系列處理器主要是針對(duì)微控制器領(lǐng)域開發(fā)的,在該領(lǐng)域中,既需進(jìn)行快速且具有高確定性的中斷管理,又需將門數(shù)和可能功耗控制在最低;而Cortex-R系列處理器的開發(fā)則面向深層嵌入式實(shí)時(shí)應(yīng)用,對(duì)低功耗、良好的中斷行為、卓越性能以及與現(xiàn)有平臺(tái)的高兼容性這些需求進(jìn)行了平衡考慮。
2.3.3
這一系列包括的處理器架構(gòu)只有
l
Cortex-A在高級(jí)工藝節(jié)點(diǎn)中可實(shí)現(xiàn)高達(dá)2GHZ+的主頻,也正是由于如此卓越的性能,該處理器架構(gòu)可用于下一代Internet設(shè)備,而且該系列提供單核和多核多種種類,并且提供NEON多媒體處理模塊的四種選擇和高級(jí)浮點(diǎn)執(zhí)行單元和處理單元。
2.3.4
這一系列包括的處理器架構(gòu)只有
l
l
該系列的處理器主要是為了滿足一些特定市場(chǎng)的苛刻需求。SecurCore可以用于手機(jī)SIM卡和其他識(shí)別應(yīng)用,集成了多種既可以為用戶提供卓越性能,又可以檢測(cè)和避免安全攻擊的技術(shù)。
2.4
談到ARM的指令系統(tǒng),必須先明確一點(diǎn)的就是,ARM體系結(jié)構(gòu)不同于x86,它是RISC(Reduced Instruction Set Computer)體系結(jié)構(gòu)。所以,在ARM指令體系中,各指令相對(duì)來(lái)說(shuō)更加規(guī)整、對(duì)稱、簡(jiǎn)單。而且指令小于100條,基本尋址方式只有2~3中,而且指令字長(zhǎng)都比較一直,并都在單個(gè)時(shí)鐘周期內(nèi)完成,以便于流水操作。在ARM7中采用的是3級(jí)流水線:取值、譯碼、執(zhí)行。而ARM9和ARM10則是五級(jí)流水線和六級(jí)流水線。ARM的訪存采用的都是LOAD-STORE結(jié)構(gòu),這樣可以把每條指令的執(zhí)行時(shí)間都平均化,有助于高效的流水線的實(shí)現(xiàn),采用這種結(jié)構(gòu)也就同時(shí)意味著指令都要在寄存器間進(jìn)行操作,所以ARM體系中有大量的寄存器(不少于32個(gè))。
2.4.1
ARM指令集可以是32位長(zhǎng)的ARM指令,也可以是16位長(zhǎng)的Thumb指令,這主要是為了兼容數(shù)據(jù)總線為16位的應(yīng)用系統(tǒng)。所有的Thumb指令都有對(duì)應(yīng)的ARM指令,Thumb只是ARM的一個(gè)真子集,而且Thumb指令舍棄了ARM指令集的一些特性,如大多數(shù)Thumb指令都是無(wú)條件執(zhí)行的,而幾乎所有的ARM指令都是有條件執(zhí)行的,又如大多數(shù)的Thumb指令由于長(zhǎng)度有限,目的寄存器是源寄存器中的一個(gè),這跟x86的匯編指令集相似。
評(píng)論