資源描述:
《嵌入式系統(tǒng)應(yīng)用與開(kāi)發(fā)_第二章_arm架構(gòu)(一)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第二章ARM體系結(jié)構(gòu)ARM公司是嵌入式RISC處理器的知識(shí)產(chǎn)權(quán)IP供應(yīng)商,它為ARM架構(gòu)處理器提供了ARM處理器內(nèi)核(如ARM7TDMI、ARM9TDMI、ARM10TDMI等)和ARM處理器核(ARM710T/720T/740T、ARM920T/922T/940T、ARM926E/966E及ARM1020E等)。2.1ARM架構(gòu)的發(fā)展ARM公司(AdvancedRISCMachinesLimited)正式成立于1990年。目前,ARM架構(gòu)處理器已在高性能、低功耗、低成本的嵌入式應(yīng)用領(lǐng)域占據(jù)領(lǐng)先地位,已占有75%左右的市場(chǎng)。ARM架構(gòu)自誕生至今,已經(jīng)發(fā)生了很大的演變,至今已定義5種不同的版本:
2、1.V1版架構(gòu)該版架構(gòu)只在原型機(jī)ARM1出現(xiàn)過(guò),其基本性能:·基本的數(shù)據(jù)處理指令(無(wú)乘法)·字節(jié)、半字和字的LOAD/STORE指令·轉(zhuǎn)移指令,包括子程序調(diào)用及鏈接指令·軟件中斷指令·尋址空間:64M字節(jié)(226)2.V2版架構(gòu)該版架構(gòu)對(duì)V1版進(jìn)行了擴(kuò)展,如ARM2與ARM3(V2a版)架構(gòu),增加了以下功能:·乘法和乘加指令·支持協(xié)處理器操作指令·快速中斷模式·SWP/SWPB的最基本存儲(chǔ)器與寄存器交換指令·尋址空間:64M字節(jié)3.V3版架構(gòu)V3版架構(gòu)對(duì)ARM體系結(jié)構(gòu)作為較大的改動(dòng),把尋址空間增至32位(4G字節(jié)),增加了當(dāng)前程序狀態(tài)寄存器CPSR(CurrentProgramStatusRe
3、gister)和程序狀態(tài)保存寄存器SPSR(SavedProgramStatusRegister)以便于異常(Exception)的處理。增加了中止(Abort)和未定義二種處理器模式。ARM6就采用該版架構(gòu)。指令集變化如下:·增加了MRS/MSR指令,以訪(fǎng)問(wèn)新增的CPSR/SPSR寄存器·增加了從異常處理返回的指令功能。4.V4版架構(gòu)V4版架構(gòu)是目前應(yīng)用最廣的ARM體系結(jié)構(gòu),對(duì)V3版架構(gòu)進(jìn)行了進(jìn)一步擴(kuò)充,有的還引進(jìn)了16位的Thumb指令集,使ARM使用更加靈活。ARM7、ARM8、ARM9和StrongARM都采用該版架構(gòu)。指令集中增加了以下功能:·符號(hào)化和非符號(hào)化半字及符號(hào)化字節(jié)的存/取
4、指令·增加了16位Thumb指令集·完善了軟件中斷SWI指令的功能·處理器系統(tǒng)模式引進(jìn)特權(quán)方式時(shí)使用用戶(hù)寄存器操作·把一些未使用的指令空間捕獲為未定義指令5.V5版架構(gòu)這是最近推出ARM架構(gòu),在V4版基本上增加了一些新的指令,ARM10和XScale都采用該版架構(gòu),這些新增指令有:·帶有鏈接和交換的轉(zhuǎn)移BLX指令·計(jì)數(shù)前導(dǎo)零CLZ指令·BRK中斷指令·增加了信號(hào)處理指令(V5TE版)·為協(xié)處理器增加更多可選擇的指令2.2ARM架構(gòu)的特點(diǎn)RISC(ReducedInstructionSetComputer)型處理器結(jié)構(gòu)盡量減少?gòu)?fù)雜功能指令每條指令在單機(jī)器周期內(nèi)執(zhí)行每條指令都是32bit,具有多種
5、操作功能訪(fǎng)問(wèn)存儲(chǔ)空間指令采用LOAD/STORE結(jié)構(gòu)采用cache來(lái)提高存/取速度多寄存器結(jié)構(gòu)小知識(shí):RISC體系結(jié)構(gòu)傳統(tǒng)的CISC(ComplexInstructionSetComputer,復(fù)雜指令集計(jì)算機(jī))結(jié)構(gòu)越來(lái)越復(fù)雜。在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20%的指令會(huì)被反復(fù)使用,占整個(gè)程序代碼的80%。而余下的80%的指令卻不經(jīng)常使用,在程序設(shè)計(jì)中只占20%,顯然,這種結(jié)構(gòu)是不太合理的。指令類(lèi)型使用指令使用頻度數(shù)據(jù)傳送類(lèi)43%轉(zhuǎn)/跳控制類(lèi)23%算術(shù)運(yùn)算類(lèi)15%比較類(lèi)13%邏輯運(yùn)算類(lèi)5%其他1%表2.1典型指令使用頻度小知識(shí):RISC體系結(jié)構(gòu)(續(xù)二)1979年美國(guó)
6、加州大學(xué)伯克利分校提出了RISC(ReducedInstructionSetComputer,精簡(jiǎn)指令集計(jì)算機(jī))的概念,RISC并非只是簡(jiǎn)單地去減少指令,而是把著眼點(diǎn)放在了如何使計(jì)算機(jī)的結(jié)構(gòu)更加簡(jiǎn)單合理地提高運(yùn)算速度上。RISC結(jié)構(gòu)優(yōu)先選取使用頻最高的簡(jiǎn)單指令,避免復(fù)雜指令;將指令長(zhǎng)度固定,指令格式和尋地方式種類(lèi)減少;以控制邏輯為主,不用或少用微碼控制等措施來(lái)達(dá)到上述目的。小知識(shí):RISC體系結(jié)構(gòu)(續(xù)三)RISC體系結(jié)構(gòu)應(yīng)具有如下特點(diǎn):采用固定長(zhǎng)度的指令格式,指令歸整、簡(jiǎn)單、基本尋址方式有2~3種。使用單周期指令,便于流水線(xiàn)操作執(zhí)行。大量使用寄存器,數(shù)據(jù)處理指令只對(duì)寄存器進(jìn)行操作,只有加載/存
7、儲(chǔ)指令可以訪(fǎng)問(wèn)存儲(chǔ)器,以提高指令的執(zhí)行效率?,F(xiàn)代的CPU往往采用CISC的外圍,內(nèi)部加入了RISC的特性,如超長(zhǎng)指令集CPU就是融合了RISC和CISC的優(yōu)勢(shì),成為未來(lái)的CPU發(fā)展方向之一。小知識(shí):RISC體系結(jié)構(gòu)(續(xù)四)2.Thumb指令集由于RISC型處理器的指令功能相對(duì)比較弱,ARM為了彌補(bǔ)此不足,在新型ARM架構(gòu)(V4T版以上)定義了16位的Thumb指令集。Thumb指令集比通常的8位和