




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 ARM簡介和體系結(jié)構(gòu)ARM簡介和體系結(jié)構(gòu)ARM簡介ARM公司簡介 ARM是Advanced RISC Machines的縮寫,它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設(shè)計了大量高性能、廉價、耗能低的RISC (精簡指令集)處理器。 公司的特點是只設(shè)計芯片,而不生產(chǎn)。它將技術(shù)授權(quán)給世界上許多著名的半導(dǎo)體、軟件和OEM廠商,并提供服務(wù)。ARM簡介和體系結(jié)構(gòu)1 ARM簡介ARM公司簡介將技術(shù)授權(quán)給其它芯片廠商形成各具特色的ARM芯片. . .ARM簡介和體系結(jié)構(gòu)ARM的發(fā)展歷程ARM即Advanced RISC Machines的縮寫。1985年4月26日,第一個ARM原型在英國劍橋的Acorn計算
2、機(jī)有限公司誕生,由美國加州San Jose VLSI技術(shù)公司制造。20世紀(jì)80年代后期,ARM很快開發(fā)成Acorn的臺式機(jī)產(chǎn)品,形成英國的計算機(jī)教育基礎(chǔ)。1990年成立了Advanced RISC Machines Limited。ARM簡介和體系結(jié)構(gòu)ARM的發(fā)展歷程20世紀(jì)90年代,ARM32位嵌人式RISC(Reduced Instruction Set Computer)處理器擴(kuò)展到世界范圍,占據(jù)了低功耗、低成本和高性能的嵌入式系統(tǒng)應(yīng)用領(lǐng)域的領(lǐng)先地位。32位RISC處理器受到青睞,領(lǐng)先的是ARM嵌入式微處理器系列。ARM公司雖然只成立10多年,但在1999年因移動 火爆市場,其32位RI
3、SC處理器占市場份額超過了50%,2001年初,ARM公司的32位RISC處理器市場占有率超過了75%。ARM公司是知識產(chǎn)權(quán)供應(yīng)商,是設(shè)計公司。由合作伙伴公司來生產(chǎn)各具特色的芯片。ARM簡介和體系結(jié)構(gòu)ARM的發(fā)展歷程ARM公司商業(yè)模式的強大之處在于其價格合理,全世界范圍有超過100個合作伙伴-包括半導(dǎo)體工業(yè)的著名公司。ARM公司專注于設(shè)計,其內(nèi)核耗電少、成本低、功能強,特有16/32位雙指令集。ARM已成為移動通信、手持計算、多媒體數(shù)字消費等嵌入式解決方案的RISC標(biāo)準(zhǔn)。在所有ARM處理器系列中,ARM7處理器系列應(yīng)用最廣,采用ARM7處理器作為內(nèi)核生產(chǎn)芯片的公司最多。ARM簡介和體系結(jié)構(gòu)AR
4、M處理器的特點ARM處理器的3大特點如下:小體積、低功耗、成本低、高性能;16位/32位雙指令集;全球眾多的合作伙伴。當(dāng)前ARM體系結(jié)構(gòu)的擴(kuò)充包括:Thumb:16位指令集,用以改善代碼密度;DSP:用于DSP應(yīng)用的算術(shù)運算指令集;Jazeller:允許直接執(zhí)行Java代碼的擴(kuò)充。ARM處理器系列提供的解決方案包括:在無線、消費電子和圖像應(yīng)用方面的開放平臺;存儲、自動化、工業(yè)和網(wǎng)絡(luò)應(yīng)用的嵌入式實時系統(tǒng);智能卡和SIM卡的安全應(yīng)用。ARM簡介和體系結(jié)構(gòu)ARM處理器的特點ARM處理器本身是32位設(shè)計,但也配備16位指令集,以允許軟件編碼為更短的16位指令。與等價的32代碼相比,占用的存儲器空間節(jié)省
5、高達(dá)35%,然而保留了32位系統(tǒng)所有的優(yōu)勢。 ARM還提供了兩個前沿特性嵌入式ICERT邏輯和嵌入式跟蹤宏核系列,用以輔助帶深嵌入式處理器核的、高集成的SOC器件的調(diào)試。ARM業(yè)界領(lǐng)先的跟蹤解決方案嵌入式跟蹤宏單元(ETM,Embeddeb Trace Macrocell),被設(shè)計成駐留在ARM處理器上,用以監(jiān)控內(nèi)部總線,并能以該速度無妨礙地跟蹤指令和數(shù)據(jù)的訪問。ARM簡介和體系結(jié)構(gòu)ARM簡介ARM處理器的應(yīng)用當(dāng)前主要應(yīng)用于消費類電子領(lǐng)域;到目前為止,基于ARM技術(shù)的微處理器應(yīng)用約占據(jù)了32位嵌入式微處理器75以上的市場份額全球80%的GSM/3G手機(jī)、99%的CDMA手機(jī)以及絕大多數(shù)PDA產(chǎn)
6、品均采用ARM體系的嵌入式處理器,“掌上計算”相關(guān)的所有領(lǐng)域皆為其所主宰。ARM技術(shù)正在逐步滲入到我們生活的各個方面。ARM簡介和體系結(jié)構(gòu)ARM簡介ARM體系結(jié)構(gòu) ARM處理器為RISC芯片,其簡單的結(jié)構(gòu)使ARM內(nèi)核非常小,這使得器件的功耗也非常低。它具有經(jīng)典RISC的特點:大的、統(tǒng)一的寄存器文件;裝載/保存結(jié)構(gòu),數(shù)據(jù)處理 操作只針對寄存器的內(nèi)容,而不直接對存儲器進(jìn)行操作;簡單的尋址模式;統(tǒng)一和固定長度的指令域,簡化了指令的譯碼,便于指令流水線設(shè)計。ARM簡介和體系結(jié)構(gòu)ARM簡介ARM體系結(jié)構(gòu)ARM體系結(jié)構(gòu)的特點:每條數(shù)據(jù)處理指令都對算術(shù)邏輯單元和移位器控制,實現(xiàn)了ALU和移位器的最大利用;地
7、址自動增加和減少尋址模式,優(yōu)化程序循環(huán);多寄存器裝載和存儲指令實現(xiàn)最大數(shù)據(jù)吞吐量;所有指令的條件執(zhí)行實現(xiàn)最快速的代碼執(zhí)行。ARM簡介和體系結(jié)構(gòu)ARM簡介各ARM體系結(jié)構(gòu)版本 ARM體系結(jié)構(gòu)從最初開發(fā)到現(xiàn)在有了很大的改進(jìn),并仍在完善和發(fā)展。為了清楚的表達(dá)每個ARM應(yīng)用實例所使用的指令集,ARM公司定義了6種主要的ARM指令集體系結(jié)構(gòu)版本,以版本號V1V6表示。ARM簡介和體系結(jié)構(gòu)ARM簡介各ARM體系結(jié)構(gòu)版本V1 該版本的ARM體系結(jié)構(gòu),只有26位的尋址空間,沒有商業(yè)化,其特點為:基本的數(shù)據(jù)處理指令(不包括乘法);字節(jié)、字和半字加載/存儲指令;具有分支指令,包括在子程序調(diào)用中使用的分支和鏈接指令
8、;在操作系統(tǒng)調(diào)用中使用的軟件中斷指令。ARM簡介和體系結(jié)構(gòu)ARM簡介各ARM體系結(jié)構(gòu)版本V2 同樣為26位尋址空間,現(xiàn)在已經(jīng)廢棄不再使用,它相對V1版本有以下改進(jìn):具有乘法和乘加指令;支持協(xié)處理器;快速中斷模式中的兩個以上的分組寄存器;具有原子性加載/存儲指令SWP和SWPB。ARM簡介和體系結(jié)構(gòu)ARM簡介各ARM體系結(jié)構(gòu)版本V3 尋址范圍擴(kuò)展到32位(目前已廢棄),具有獨立的程序:具有乘法和乘加指令;支持協(xié)處理器;快速中斷模式中具有的兩個以上的分組寄存器;具有原子性加載/存儲指令SWP和SWPB。ARM簡介和體系結(jié)構(gòu)ARM簡介各ARM體系結(jié)構(gòu)版本V4 不在為了與以前的版本兼容而支持26位體系
9、結(jié)構(gòu),并明確了哪些指令會引起未定義指令異常發(fā)生,它相對V3版本作了以下的改進(jìn):半字加載/存儲指令;字節(jié)和半字的加載和符號擴(kuò)展指令;具有可以轉(zhuǎn)換到Thumb狀態(tài)的指令(BX);增加了用戶模式寄存器的新的特權(quán)處理器模式。ARM簡介和體系結(jié)構(gòu)ARM簡介各ARM體系結(jié)構(gòu)版本V5 在V4版本的基礎(chǔ)上,對現(xiàn)在指令的定義進(jìn)行了必要的修正,對V4版本的體系結(jié)構(gòu)進(jìn)行了擴(kuò)展并并增加了指令,具體如下:改進(jìn)了ARM/Thumb狀態(tài)之間的切換效率;E-增強型DSP指令集,包括全部算法操作和16位乘法操作;J-支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能。ARM簡介和體系結(jié)構(gòu)3.1 ARM簡介ARM處理器核
10、簡介 ARM公司開發(fā)了很多系列的ARM處理器核,目前最新的系列已經(jīng)是ARM11了,而ARM6核以及更早的系列已經(jīng)很罕見了。目前應(yīng)用比較廣泛的系列是:ARM7ARM9ARM9EARM10SecurCoreXscaleARM11CortexARM簡介和體系結(jié)構(gòu)預(yù)?。‵etch)譯碼(Decode)執(zhí)行(Execute)預(yù)取(Fetch)譯碼(Decode)執(zhí)行(Execute)訪存(Memory)寫入(Write)預(yù)?。‵etch)譯碼(Decode)發(fā)送(Issue)預(yù)取(Fetch)預(yù)?。‵etch)執(zhí)行(Execute)訪存(Memory)寫入(Write)譯碼(Decode)發(fā)送(Issu
11、e)執(zhí)行(Execute)轉(zhuǎn)換(Snny)訪存(Memory)寫入(Write)ARM7ARM9ARM10ARM11ARM簡介ARM簡介和體系結(jié)構(gòu)項目ARM7ARM9ARM10ARM11流水線3568典型頻率(MHz)80150260335功耗(mW/MHz)0.060.19(+cache)0.5(+cache)0.4(+cache)性能MIPS*/MHz0.971.11.31.2架構(gòu)馮諾伊曼哈佛哈佛哈佛ARM簡介ARM簡介和體系結(jié)構(gòu)ARM系列微處理器核特點ARM7ARM7TDMI:整數(shù)處理核ARM7TDMI 處理器的可綜合版本; ARM720T:帶MMU的處理器核心,支持操作系統(tǒng);ARM7E
12、J-S:帶有DSP和Jazelle TM 技術(shù),能夠?qū)崿F(xiàn)Java加速功能馮諾伊曼體系結(jié)構(gòu);ARMTDMI是目前應(yīng)用最廣的微處理器核ARM720T帶有MMU和8KB的指令數(shù)據(jù)混合cache;ARM7EJ-執(zhí)行ARMv5TEJ指令,5級流水線,提供Java加速指令,沒有存儲器保護(hù)。ARM9ARM920T:帶有獨立的16KB 數(shù)據(jù)和指令Cache;ARM922T:帶有獨立的8位KB 數(shù)據(jù)和指令Cache;ARM940T包括更小數(shù)據(jù)和指令Cache和一個MPU基于ARM9TDMI ,帶16位的Thumb指令集,增強代碼密度最多到35%;在0.13m工藝下最高性能可達(dá)到300MIPS(Dhrystone
13、 2.1測試標(biāo)準(zhǔn));集成了數(shù)據(jù)和指令Chche;32位AMBA總線接口的MMU支持;可在0.18m、 0.15m和0.13m工藝的硅芯片上實現(xiàn)。ARM簡介ARM簡介和體系結(jié)構(gòu)ARM9EARM926EJ-S:Jazelle 技術(shù),有MMU,可配置的數(shù)據(jù)和指令Cache,TCM接口;ARM946E-S:可配置的數(shù)據(jù)和指令Cache及TCM;ARM966E-S:針對要求高性能和低功耗的可預(yù)測的指令執(zhí)行時間的硬實時應(yīng)用設(shè)計 ARM968E-S:最小、功耗最小的ARM9E系列處理器,針對嵌入式實時應(yīng)用設(shè)計;ARM9E是針對微控制器、DSP和Java的單處理器解決方案; ARMJazelle技術(shù)提供 8倍
14、的 Java 加速性能 (ARM926EJ-S) ;5-級整數(shù)流水線; 在0.13m工藝下最高性能可達(dá)到300MIPS(Dhrystone 2.1測試標(biāo)準(zhǔn));可選擇的向量浮點單元VFP9 協(xié)處理器指令優(yōu)秀海浮點性能,對于3D圖形加速和實時控制可達(dá)到215MFLOPS。高性能的AHB總線,帶MMU可在0.18m, 0.15m, 0.13m工藝的硅芯片上實現(xiàn)。 ARM10EARM1020E:帶DSP指令集,在片調(diào)試功能,獨立的32KB數(shù)據(jù)和指令Cache,MMU支持;ARM1022E:與ARM1020E相同,只是獨立的數(shù)據(jù)和指令Cache變?yōu)?6KB;ARM1026EJ-S:同時具有MPU和MMU
15、,可綜合版本; 帶分支預(yù)測的6級整數(shù)流水線;在0.13m工藝下最高性能可達(dá)到430MIPS(Dhrystone 2.1測試標(biāo)準(zhǔn));對于3D圖形運算和實時控制采用VFP協(xié)處理器,浮點運算性能最高可達(dá)650MFLOPS;雙64位AMBA總線接口和64位內(nèi)部總路線接口;優(yōu)化的緩存結(jié)構(gòu)提高了處理器訪問低速存儲器的性能;可在0.18m, 0.15m, 0.13m工藝的硅芯片上實現(xiàn)ARM簡介ARM簡介和體系結(jié)構(gòu)ARM11ARM11 MPCore:可綜合的多處理器核,1至4個處理器可配置;ARM1136J(F)-S:可配置的數(shù)據(jù)和指令Cache,可提供1.9位的MPEG4編碼加速功能;ARM1156T2(F
16、)-S:帶集成浮點協(xié)處理器,帶內(nèi)存保護(hù)單元MPU;ARM1176JZ(F)-S:帶針對CPU和系統(tǒng)安全架構(gòu)擴(kuò)展的TrustZone技術(shù)。增強的Thumb、Jazelle、DSP擴(kuò)展支持; 帶片上和系統(tǒng)安全TrustZone 技術(shù)支持 ;在0.13m工藝下最高可達(dá)到550MHz;MPCore在0.13m工藝下最高性能可達(dá)到740MIPS(Dhrystone 2.1測試標(biāo)準(zhǔn));支持多媒體指令SIMD;采用三種電源模式:全速/待命/休眠集成DMA的TCM低功耗、高性能。 SecurCoreSC100:第一個32位安全處理器;、SC110:在SC100上增加密鑰協(xié)處理器;SC200:帶Jazelle技
17、術(shù)的高級安全處理器;SC210:在SC200上增加密鑰協(xié)處理器SecurCore是專門為智能卡、安全I(xiàn)C提供的32位安全處理器, 為電子商務(wù)、銀行、網(wǎng)絡(luò)、移動多媒體、公共交通提供安全解決方案;體積小、功耗低,代碼壓縮密度高;為快速增長的Java卡平臺提供Java加速功能;ARM簡介ARM簡介和體系結(jié)構(gòu)CortexCortex-A:面向應(yīng)用的微處理器,針對復(fù)雜操作系統(tǒng)和應(yīng)用程序設(shè)計;Cortex-R:針對實時系統(tǒng)的嵌入式處理器;Cortex-M:針對成本敏感應(yīng)用優(yōu)化的深度嵌入式處理器;2004年發(fā)布,提供增強的媒體和數(shù)字處理能力,增加了系統(tǒng)性能;支持ARM、Thumb、Thumb-2指令集;Th
18、umb-2指令集提供了更高的代碼存儲密度,進(jìn)一步降低成本;Intel系列StrongARM:ARMv4體系XScale:ARMv5TE體系,增加MMX指令StrongARM主要應(yīng)用于手持設(shè)備和PDA,5級流水線,具有獨立的數(shù)據(jù)和指令Cache,不支持Thumb指令集,目前已停產(chǎn);XScale是目前Intel公司主推的高性能嵌入式處理器,分通用處理器、網(wǎng)絡(luò)處理器和I/O處理器三類。其中通用處理器有PXA25x、PXA26x、PXA27x三個系列,被廣泛應(yīng)用于智能手機(jī)、PDA領(lǐng)域。ARM簡介ARM簡介和體系結(jié)構(gòu)典型的ARM處理器核產(chǎn)品ARM7 SamSung 公司的: S3C4510、S3C44B
19、0 Cirrus Logic 公司的:EP7211 、EP7212、EP7312 Atmel 公司的:At91M40800、 At91R40807 Piliph公司的:LPC2104/05/06 LinkUp Systems 公司的ARM 系列: L7200 、L7205 NetSilicon 公司的: NET+15/40/50 Triscend 公司的: TA7S12ARM簡介和體系結(jié)構(gòu)典型的ARM處理器核產(chǎn)品ARM9 SamSung 公司的: S3C2410 Cirrus Logic 公司的: EP9312 Atmel 公司的: AT91RM9200ARM10 Intel的StrongAR
20、M 的系列: Xscale(PXA250255)ARM簡介和體系結(jié)構(gòu)ARM微處理器體系結(jié)構(gòu) 數(shù)據(jù)類型ARM微處理器的工作狀態(tài)ARM體系結(jié)構(gòu)的存儲器格式處理器模式寄存器組織 ARM狀態(tài)下的寄存器組織 Thumb狀態(tài)下的寄存器組織ARM簡介和體系結(jié)構(gòu)數(shù)據(jù)類型ARM處理器支持以下數(shù)據(jù)類型:字節(jié)(Byte):各種處理器體系結(jié)構(gòu)中,字節(jié)的長度均為8位。 半字(Half-Word):半字的長度為16位,與8位/16位處理器體系結(jié)構(gòu)中字的長度一致。字(Word):字的長度為32位,而在8位/16位處理器體系結(jié)構(gòu)中,字的長度一般為16位,請注意區(qū)分。1112342ARM簡介和體系結(jié)構(gòu)ARM微處理器的工作狀態(tài)從
21、編程的角度看,ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換:ARM狀態(tài),此時處理器執(zhí)行32位的字對齊的ARM指令; Thumb狀態(tài),此時處理器執(zhí)行16位的、半字對齊的Thumb指令。ARM簡介和體系結(jié)構(gòu)ARM微處理器的工作狀態(tài)ARM處理器在兩種工作狀態(tài)之間可以切換:進(jìn)入Thumb狀態(tài)。當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為1時,執(zhí)行BX指令進(jìn)入Thumb狀態(tài)。如果處理器在Thumb狀態(tài)進(jìn)入異常,則當(dāng)異常處理(IRQ、FIQ、Undef、Abort 和 SWI)返回時,自動轉(zhuǎn)換到Thumb狀態(tài)。進(jìn)入ARM狀態(tài)。當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為0時,執(zhí)行BX指令進(jìn)入ARM狀態(tài)。處理器進(jìn)行異
22、常處理(IRQ、FIQ、Reset、Undef、Abort 和 SWI ARM狀態(tài)執(zhí)行)。在此情況下,把PC 放人異常模式鏈接寄存器中。從異常向量地址開始執(zhí)行也可以進(jìn)入ARM狀態(tài)。ARM簡介和體系結(jié)構(gòu)ARM體系結(jié)構(gòu)的存儲器格式ARM體系結(jié)構(gòu)將存儲器看作是從零地址開始的字節(jié)的線性組合。從零字節(jié)到三字節(jié)放置第一個存儲的字?jǐn)?shù)據(jù),從第四個字節(jié)到第七個字節(jié)放置第二個存儲的字?jǐn)?shù)據(jù),依次排列。作為32位的微處理器,ARM體系結(jié)構(gòu)所支持的最大尋址空間為4GB。ARM體系結(jié)構(gòu)可以用兩種方法存儲字?jǐn)?shù)據(jù),稱為大端格式和小端格式,具體說明如下。 ARM簡介和體系結(jié)構(gòu)ARM體系結(jié)構(gòu)的存儲器格式大端格式:字?jǐn)?shù)據(jù)的高字節(jié)存
23、儲在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中。 位大端模式字地址 8 4 0byte0byte1byte2byte3ARM簡介和體系結(jié)構(gòu)ARM體系結(jié)構(gòu)的存儲器格式小端格式:與大端存儲格式相反,在小端存儲格式中,低地址中存放的是字?jǐn)?shù)據(jù)的低字節(jié),高地址存放的是字?jǐn)?shù)據(jù)的高字節(jié)。 位小端模式byte3byte2byte1byte0字地址 8 4 0ARM簡介和體系結(jié)構(gòu)處理器模式ARM體系結(jié)構(gòu)支持7種處理器模式,分別為:用戶模式、快中斷模式、中斷模式、管理模式、中止模式、未定義模式和系統(tǒng)模式。這樣的好處是可以更好的支持操作系統(tǒng)并提高工作效率。ARM簡介和體系結(jié)構(gòu)處理器模式處理器模式說明備注 用戶 (u
24、sr)正常程序工作模式不能直接切換到其它模式 系統(tǒng) (sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類似,但具有可以直接切換到其它模式等特權(quán) 快中斷 (fiq)支持高速數(shù)據(jù)傳輸及通道處理FIQ異常響應(yīng)時進(jìn)入此模式 中斷 (irq)用于通用中斷處理IRQ異常響應(yīng)時進(jìn)入此模式 管理 (svc)操作系統(tǒng)保護(hù)代碼系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進(jìn)入此模式 中止 (abt)用于支持虛擬內(nèi)存和/或存儲器保護(hù)在ARM7TDMI沒有大用處 未定義 (und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時進(jìn)入此模式ARM簡介和體系結(jié)構(gòu)處理器模式特權(quán)模式處理器模式說明備注 用戶 (usr)正常程序工作模式不能直接切換到其
25、它模式 系統(tǒng) (sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類似,但具有可以直接切換到其它模式等特權(quán) 快中斷 (fiq)支持高速數(shù)據(jù)傳輸及通道處理FIQ異常響應(yīng)時進(jìn)入此模式 中斷 (irq)用于通用中斷處理IRQ異常響應(yīng)時進(jìn)入此模式 管理 (svc)操作系統(tǒng)保護(hù)代碼系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進(jìn)入此模式 中止 (abt)用于支持虛擬內(nèi)存和/或存儲器保護(hù)在ARM7TDMI沒有大用處 未定義 (und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時進(jìn)入此模式 除用戶模式外,其它模式均為特權(quán)模式。ARM內(nèi)部寄存器和一些片內(nèi)外設(shè)在硬件設(shè)計上只允許(或者可選為只允許)特權(quán)模式下訪問。此外,特權(quán)模式可以自由
26、的切換處理器模式,而用戶模式不能直接切換到別的模式。 未定義 (und) 中止 (abt) 管理 (svc) 中斷 (irq) 快中斷 (fiq) 系統(tǒng) (sys)ARM簡介和體系結(jié)構(gòu)處理器模式異常模式處理器模式說明備注 用戶 (usr)正常程序工作模式不能直接切換到其它模式 系統(tǒng) (sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類似,但具有可以直接切換到其它模式等特權(quán) 快中斷 (fiq)支持高速數(shù)據(jù)傳輸及通道處理FIQ異常響應(yīng)時進(jìn)入此模式 中斷 (irq)用于通用中斷處理IRQ異常響應(yīng)時進(jìn)入此模式 管理 (svc)操作系統(tǒng)保護(hù)代碼系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進(jìn)入此模式 中止 (abt)用于支持虛
27、擬內(nèi)存和/或存儲器保護(hù)在ARM7TDMI沒有大用處 未定義 (und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時進(jìn)入此模式 未定義 (und) 中止 (abt) 管理 (svc) 中斷 (irq) 快中斷 (fiq) 這五種模式稱為異常模式。它們除了可以通過程序切換進(jìn)入外,也可以由特定的異常進(jìn)入。當(dāng)特定的異常出現(xiàn)時,處理器進(jìn)入相應(yīng)的模式。每種異常模式都有一些獨立的寄存器,以避免異常退出時用戶模式的狀態(tài)不可靠。ARM簡介和體系結(jié)構(gòu)處理器模式用戶和系統(tǒng)模式處理器模式說明備注 用戶 (usr)正常程序工作模式不能直接切換到其它模式 系統(tǒng) (sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類似,但具
28、有可以直接切換到其它模式等特權(quán) 快中斷 (fiq)支持高速數(shù)據(jù)傳輸及通道處理FIQ異常響應(yīng)時進(jìn)入此模式 中斷 (irq)用于通用中斷處理IRQ異常響應(yīng)時進(jìn)入此模式 管理 (svc)操作系統(tǒng)保護(hù)代碼系統(tǒng)復(fù)位和軟件中斷響應(yīng)時進(jìn)入此模式 中止 (abt)用于支持虛擬內(nèi)存和/或存儲器保護(hù)在ARM7TDMI沒有大用處 未定義 (und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時進(jìn)入此模式 這兩種模式都不能由異常進(jìn)入,而且它們使用完全相同的寄存器組。 系統(tǒng)模式是特權(quán)模式,不受用戶模式的限制。操作系統(tǒng)在該模式下訪問用戶模式的寄存器就比較方便,而且操作系統(tǒng)的一些特權(quán)任務(wù)可以使用這個模式訪問一些受控的資源。
29、 系統(tǒng) (sys) 用戶 (usr)ARM簡介和體系結(jié)構(gòu)處理器啟動時的模式轉(zhuǎn)換圖管理模式SVC(Supervisor)多種特權(quán)模式變化用戶程序的運行模式 復(fù)位后缺省模式主要完成各模式的堆棧設(shè)置,注意不要進(jìn)入用戶模式一般為用戶模式UserARM簡介和體系結(jié)構(gòu)寄存器組織ARM處理器有37(31+6)個物理寄存器,有18個可編程訪問的寄存器。寄存器被安排成部分重疊的組。在不同的工作模式和處理器狀態(tài)下,程序員可以訪問的寄存器也不盡相同。分組的寄存器在處理處理器異常和特權(quán)操作時可得到快速的上下文切換。ARM簡介和體系結(jié)構(gòu)SPSR_fiqSPSR_irqSPSR_undSPSR_abtSPSR_svc無S
30、PSRCPSRCPSR狀態(tài)寄存器R15R15(PC)R14_fiqR14_irqR14_undR14_abtR14_svcR14R14(LR)R13_fiqR13_irqR13_undR13_abtR13_svcR13R13(SP)R12_fiqR12R12(IP)R11_fiqR11R11(FP,v8)R10_fiqR10R10(SL,v7)R9_fiqR9R9(SB,v6)R8_fiqR8R8(v5)R7R7(v4)R6R6(v3)R5R5(v2)R4R4(v1)R3R3(a4)R2R2(a3)R1R1(a2)R0R0(a1)通用寄存器和程序計數(shù)器快中斷中斷未定義中止管理系統(tǒng)用戶各模式下實
31、際訪問的寄存器寄存器在匯編中的名稱寄存器類別ARM狀態(tài)各模式下的寄存器ARM簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(
32、LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM狀態(tài)各模式下的寄存器SPSR_fiqSPSR_irqSPSR_undSPSR_abtSPSR_svcCPSRR15R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R
33、3R2R1R0所有的37個寄存器,分成兩大類:31個通用32位寄存器;6個狀態(tài)寄存器。ARM簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13
34、_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq無CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0用戶無CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0系統(tǒng)SPSR_svcCPSRR15R14_svcR13_svcR12R11R10R9R8R7R6R5R4R3R2R1R0管理SPSR_abtCPSRR15R14_abtR13_abtR12R
35、11R10R9R8R7R6R5R4R3R2R1R0中止SPSR_undCPSRR15R14_undR13_undR12R11R10R9R8R7R6R5R4R3R2R1R0未定義SPSR_irqCPSRR15R14_irqR13_irqR12R11R10R9R8R7R6R5R4R3R2R1R0中斷SPSR_fiqCPSRR15R14_fiqR13_fiqR12_fiqR11_fiqR10_fiqR9_fiqR8_fiqR7R6R5R4R3R2R1R0快中斷ARM狀態(tài)各模式下可以訪問的寄存器ARM簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通
36、用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_svcSPSR_abtSPSR
37、_undSPSR_irqSPSR_fiq一般的通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0 在匯編語言中寄存器R0R13為保存數(shù)據(jù)或地址值的通用寄存器。它們是完全通用的寄存器,不會被體系結(jié)構(gòu)作為特殊用途,并且可用于任何使用通用寄存器的指令。ARM簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R
38、4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R13_fiqR13_irqR
39、13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0R7R6R5R4R3R2R1R0 其中R0R7為未分組的寄存器,也就是說對于任何處理器模式,這些寄存器都對應(yīng)于相同的32位物理寄存器。ARM簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,
40、v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abt
41、R13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8 寄存器R8R14為分組寄存器。它們所對應(yīng)的物理寄存器取決于當(dāng)前的處理器模式,幾乎所有允許使用通用寄存器的指令都允許使用分組寄存器ARM簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiq
42、R11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8 寄存器R8R12有兩個分組的物理寄存器。一個用于除FIQ模式之外的所有寄存器模式,另一個用于FIQ模
43、式。這樣在發(fā)生FIQ中斷后,可以加速FIQ的處理速度。ARM簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R1
44、4_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器 寄存器R13、R14分別有6個分組的物理寄存器。一個用于用戶和系統(tǒng)模式,其余5個分別用于5種異常模式。R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13ARM簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)
45、器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_svcSPSR_abtSPSR_undSPSR_
46、irqSPSR_fiq堆棧指針寄存器R13(SP) 寄存器R13常作為堆棧指針(SP)。在ARM指令集當(dāng)中,沒有以特殊方式使用R13的指令或其它功能,只是習(xí)慣上都這樣使用。但是在Thumb指令集中存在使用R13的指令。ARM簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R1
47、1R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_svcSPSR_abtSPSR_undSPSR_irqSPSR_fiq鏈接寄存器R14(LR) R14為鏈接寄存器(LR),在結(jié)構(gòu)上有兩個特殊功能:在每種模式下,模式自身的R14版本用于保存子程序返回地址;當(dāng)發(fā)生異常時,將R14對應(yīng)的異常模式版本設(shè)置為異常返回地址(有些異常有一個小的固定偏移量)。ARM
48、簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_
49、fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq程序計數(shù)器R15(PC) 寄存器R15為程序計數(shù)器(PC),它指向正在取指的地址??梢哉J(rèn)為它是一個通用寄存器,但是對于它的使用有許多與指令相關(guān)的限制或特殊情況。如果R15使用的方式超出了這些限制,那么結(jié)果將是不可預(yù)測的。ARM簡介和體系結(jié)構(gòu)寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_abtSPSR_abt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二維無機(jī)填料對酚酞-對苯型聚芳醚腈的結(jié)晶行為與性能影響研究
- 兒童成長鈣鐵鋅咀嚼片行業(yè)跨境出海戰(zhàn)略研究報告
- 車載式水質(zhì)監(jiān)測儀器儀表企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- MoS2基突觸晶體管的構(gòu)建及生物行為模擬研究
- 化學(xué)藥物質(zhì)量控制新方法行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 棉制臺布企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 基因測序樣本庫管理系統(tǒng)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 錳氧化物企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 制藥用自動化倉儲系統(tǒng)企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 薩提亞家庭治療模式緩解妊娠焦慮的個案研究
- 2025年度空調(diào)安裝驗收及保修服務(wù)合同
- 2024年山東司法警官職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2022版義務(wù)教育藝術(shù)課程標(biāo)準(zhǔn)美術(shù)新課標(biāo)學(xué)習(xí)解讀課件
- 四年級四年級下冊閱讀理解20篇(附帶答案解析)經(jīng)典
- 球泡檢驗標(biāo)準(zhǔn)
- 公安筆錄模板之詢問嫌疑人(書面?zhèn)鲉局伟舶讣?
- 振動分析基礎(chǔ)講義1
- 記賬憑證匯總表excel模板
- 鄧麗君經(jīng)典歌曲30首簡譜(共33頁)
- 園林綠化施工通用表格模板
- 人民檢察院信訪案件終結(jié)辦法
評論
0/150
提交評論