




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)基于32位微處理器與實(shí)時(shí)操作系統(tǒng)第三講 ARM嵌入式微處理器體系結(jié)構(gòu)北京航空航天大學(xué)機(jī)器人研究所王田苗魏洪興本節(jié)提要1324嵌入式微處理器概述ARM體系結(jié)構(gòu)概覽ARM編程模型ARM 異常處理嵌入式處理器概述嵌入式微處理器是嵌入式系統(tǒng)的核心。目前32位嵌入式微處理器是市場的主流。 32位嵌入式微處理器市場,我們可以發(fā)現(xiàn)超過100家的芯片供應(yīng)商和近30種指令體系結(jié)構(gòu)。在1996年以前,最成功的嵌入式微處理器是Motorola公司的68000系列。此外嵌入式微處理器市場還包括其它體系結(jié)構(gòu),如Intel公司的I960,Motorola公司的Coldfire,Sun公司的Spar
2、c,以及嵌入式X86系列平臺。當(dāng)然,最引人注目的還是ARM公司的ARM系列、MIPS公司的MIPS系列,以及Hitachi公司的SuperH系列(其中ARM和MIPS都知識產(chǎn)權(quán)公司,把他們的微處理器IP技術(shù)授權(quán)給半導(dǎo)體廠商,由他們生產(chǎn)形態(tài)各異的微處理器芯片)。 嵌入式處理器評價(jià)指標(biāo)(1)功耗。一般的嵌入式微處理器都有三種運(yùn)行模式:運(yùn)行模式(operational);待機(jī)模式(standby or power down);停機(jī)模式(and clock-off)。功耗的評測指標(biāo)是MIPS/W;代碼存儲密度。傳統(tǒng)的CISC指令集計(jì)算機(jī)具有較好的代碼存儲密度。而RISC指令集計(jì)算機(jī)由于要求指令編碼長度
3、固定,雖然可以簡化和加速指令譯碼過程,但為了實(shí)現(xiàn)與CISC指令集計(jì)算機(jī)相同的作業(yè),往往需要更多的指令來完成,從而增加了代碼長度。如Hitachi的SuperH體系結(jié)構(gòu)采用了定長的16位指令,對每條指令按16位的格式存儲。ARM則采用16位擴(kuò)展的Thumb指令集,片內(nèi)的邏輯譯碼器將其等價(jià)為32位的ARM指令而實(shí)時(shí)解碼。而MIPS則采用MIPS16方法來解決這個(gè)問題。(影響代碼密度的另外一個(gè)主要因素是所采用的C編譯器。ANSI C是當(dāng)前嵌入式領(lǐng)域的標(biāo)準(zhǔn)編程語言,隨著嵌入式微處理器性能的提高,面向?qū)ο蟮恼Z言也將被采用并會(huì)逐漸成為主流,一些編譯器供應(yīng)商已經(jīng)開始著手解決代碼密度問題。)嵌入式處理器評價(jià)指
4、標(biāo)(2)集成度。嵌入式微處理器一般都為專用市場設(shè)計(jì)的,需要較高的集成度。但把所有的外圍設(shè)備都集成到一個(gè)芯片上也不是一種好的解決方案。這是因?yàn)楦呒啥仁剐酒兊脧?fù)雜,芯片引腳變密,增加了系統(tǒng)設(shè)計(jì)和測試的復(fù)雜性。因此,集成外圍設(shè)備時(shí)必須要考慮簡化系統(tǒng)設(shè)計(jì),并縮短整個(gè)系統(tǒng)的開發(fā)周期。多媒體加速。為實(shí)現(xiàn)多媒體加速功能,嵌入式微處理器的設(shè)計(jì)者在傳統(tǒng)的微處理器指令集的基礎(chǔ)上增加JPEG和MPEG解壓縮的離散余弦變換指令。還有一些半導(dǎo)體廠商針對智能手機(jī)和移動(dòng)通訊市場的需求,將RISC微處理器和DSP集成在一個(gè)芯片上,如TI 的OMAP。嵌入式處理器的基本結(jié)構(gòu)(1)微處理器是整個(gè)系統(tǒng)的核心,通常由3大部分組成
5、:控制單元、算術(shù)邏輯單元和寄存器。 算術(shù)邏輯單元寄存器控制單元微處理器存儲器輸入輸出嵌入式處理器的基本結(jié)構(gòu)(2)控制單元:主要負(fù)責(zé)取指、譯碼和取操作數(shù)等基本動(dòng)作,并發(fā)送主要的控制指令??刂茊卧邪▋蓚€(gè)重要的寄存器:程序計(jì)數(shù)器(PC)和指令寄存器(IR)。程序計(jì)數(shù)器用于記錄下一條程序指令在內(nèi)存中的位置,以便控制單元能到正確的內(nèi)存位置取指;指令寄存器負(fù)責(zé)存放被控制單元所取的指令,通過譯碼,產(chǎn)生必要的控制信號送到算術(shù)邏輯單元進(jìn)行相關(guān)的數(shù)據(jù)處理工作。算術(shù)邏輯單元:算術(shù)邏輯單元分為兩部分,一部分是算術(shù)運(yùn)算單元,主要處理數(shù)值型的數(shù)據(jù),進(jìn)行數(shù)學(xué)運(yùn)算,如加、減、乘、除或數(shù)值的比較;另一部分是邏輯運(yùn)算單元,主
6、要處理邏輯運(yùn)算工作,如AND、OR、XOR或NOT等運(yùn)算。寄存器:用于存儲暫時(shí)性的數(shù)據(jù)。主要是從存儲器中所得到的數(shù)據(jù)(這些數(shù)據(jù)被送到算術(shù)邏輯單元中進(jìn)行處理)和算術(shù)邏輯單元中處理好的數(shù)據(jù)(再進(jìn)行算術(shù)邏輯運(yùn)行或存入到存儲器中。 評估嵌入式系統(tǒng)處理器的主要指標(biāo) 要先明確預(yù)期最終應(yīng)用程序在待選平臺上的運(yùn)行情況和測試目的,然后再挑選符合要求的特定測試向量。MIPS測試基準(zhǔn)。測試方法是計(jì)算在單位時(shí)間內(nèi)各類指令的平均執(zhí)行條數(shù),單位:MIPS。Dhrystone。Dhrystone(整數(shù)和邏輯運(yùn)算性能測試)還有Whetstone(測試浮點(diǎn)運(yùn)算性能)。Dhrystone的計(jì)量單位是MIPS(每秒處理100萬條指
7、令)而Whetstone的是MFLOPS(每秒執(zhí)行100萬次浮點(diǎn)運(yùn)算)。測試基準(zhǔn)是一個(gè)簡單的C語言程序。EEMBC驗(yàn)證實(shí)驗(yàn)室研究指出,Dhrystone不適于作為嵌入式系統(tǒng)的測試向量。雖然它是市面上最普遍適用的測試向量,但它有許多漏洞。EEMBC。基于每秒鐘算法執(zhí)行的次數(shù)和編譯代碼大小的統(tǒng)計(jì)結(jié)果 。一次詳盡的分析需要仔細(xì)衡量的因素包括:性能分析、功耗和效率分析、開發(fā)工具支持以及價(jià)格 本節(jié)提要1324嵌入式微處理器概述ARM體系結(jié)構(gòu)概覽ARM編程模型ARM 異常處理ARM簡介ARMAdvanced RISC MachinesARM32位RISC結(jié)構(gòu)IP核提供商ARM Ltd成立于1990年11月
8、前身為 Acorn計(jì)算機(jī)公司Advance RISC Machine(ARM)主要設(shè)計(jì)ARM系列RISC處理器內(nèi)核授權(quán)ARM內(nèi)核給生產(chǎn)和銷售半導(dǎo)體的合作伙伴ARM 公司不生產(chǎn)芯片IP(Intelligence Property)另外也提供基于ARM架構(gòu)的開發(fā)設(shè)計(jì)技術(shù)軟件工具, 評估板, 調(diào)試工具,應(yīng)用軟件,總線架構(gòu), 外圍設(shè)備單元,等等ARM微處理器的應(yīng)用領(lǐng)域工業(yè)控制領(lǐng)域無線通訊領(lǐng)域網(wǎng)絡(luò)應(yīng)用消費(fèi)電子產(chǎn)品成像和安全產(chǎn)品ARM微處理器系列ARM7系列ARM9系列ARM9E系列ARM10E系列ARM11系列SecurCore系列Cortex系列Inter的StrongARM和Xscale系列 ARM
9、公司成立于1981年,最初與英國廣播公司合作為英國教育界設(shè)計(jì)小型機(jī),當(dāng)時(shí)采用的是美國的6502芯片。取得成功后,他們開始設(shè)計(jì)自己的芯片,受當(dāng)時(shí)美國加洲大學(xué)伯克利分校提出的RISC思想的影響,他們設(shè)計(jì)的芯片也采用RISC體系結(jié)構(gòu),并命名為“Acorn RISC Machine”。ARM公司的第一款芯片ARM1在1985年被設(shè)計(jì)出來,次年又設(shè)計(jì)了真正實(shí)用的ARM2。ARM2具有32位數(shù)據(jù)總線和24位地址總線,帶有16個(gè)寄存器。ARM2可能是當(dāng)時(shí)最簡化的32位微處理器,上面僅有30000個(gè)晶體管(4年前Motorola公司的68000則有68000個(gè)晶體管)。這種精簡的結(jié)構(gòu)使ARM2具有優(yōu)異的低功耗
10、特性,而性能則超過了同期Intel公司的286(134K個(gè)晶體管)。1990年ARM公司另外組建了一個(gè)名為“Advanced RISC Machines”的公司,專門從事ARM系列微處理器的開發(fā)。1998年ARM公司在倫敦證券交易所和NASDAQ上市。ARM的發(fā)展歷程-1ARM7TDMI 是ARM公司最成功的微處理器IP之一,至今在蜂窩電話領(lǐng)域已銷售了數(shù)億個(gè)微處理器。DEC公司獲得ARM公司授權(quán)設(shè)計(jì)并生產(chǎn)了StrongARM系列微處理器,這款CPU的主頻達(dá)到了233MHz,而功率不到1瓦。后來DEC公司StrongARM部門被Intel公司并購,Intel公司用StrongARM取代了他們境況
11、不佳的i860和 i960體系,并在此基礎(chǔ)上開發(fā)了新的體系結(jié)構(gòu)XScale系列。世界各大半導(dǎo)體生產(chǎn)商從ARM公司購買其設(shè)計(jì)的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己的ARM微處理器芯片進(jìn)入市場。目前,Motorola、IBM、TI、Philips、VLSI、Atmel和Samsung等幾十家大的半導(dǎo)體公司都獲得了ARM公司的授權(quán),生產(chǎn)形態(tài)各異的ARM芯片ARM的發(fā)展歷程-2ARM處理器的技術(shù)優(yōu)勢低能耗:當(dāng)初剛剛起步的嵌入式應(yīng)用對運(yùn)算性能并不苛求,但對芯片的功耗卻相當(dāng)敏感。而相對同時(shí)期的其他解決方案, ARM架構(gòu)的能效比優(yōu)勢非常明顯。應(yīng)用方案非常靈活:由于ARM
12、公司只是提供了一個(gè)高效精簡的核心,各半導(dǎo)體廠商可根據(jù)自身需求進(jìn)行應(yīng)用設(shè)計(jì),架構(gòu)靈活簡便、擴(kuò)展力很強(qiáng)。如廠商可為多媒體信號處理加入相關(guān)的指令集,或?yàn)镴ava相關(guān)的應(yīng)用加入高效執(zhí)行單元,或增加3D圖形協(xié)處理器等等。得到大量的軟件支持:包括Windows CE、Symbian和Palm OS在內(nèi)的手持設(shè)備三種主要操作系統(tǒng)系統(tǒng)都是基于ARM架構(gòu)所設(shè)計(jì)。目前,ARM已經(jīng)牢牢占領(lǐng)手機(jī)、PDA以及其他的掌上電子產(chǎn)品市場,這些領(lǐng)域都非常注重軟件兼容和設(shè)計(jì)延續(xù)性,ARM在這些領(lǐng)域會(huì)繼續(xù)保持優(yōu)勢。ARM處理器的應(yīng)用當(dāng)前主要應(yīng)用于消費(fèi)類電子領(lǐng)域;到目前為止,基于ARM技術(shù)的微處理器應(yīng)用約占據(jù)了32位嵌入式微處理器7
13、5以上的市場份額全球80%的GSM/3G手機(jī)、99%的CDMA手機(jī)以及絕大多數(shù)PDA產(chǎn)品均采用ARM體系的嵌入式處理器,“掌上計(jì)算”相關(guān)的所有領(lǐng)域皆為其所主宰。ARM技術(shù)正在逐步滲入到我們生活的各個(gè)方面。ARM的發(fā)展歷程-21991 - ARM 推出第一款RISC嵌入式微處理器核 ARM61993 - ARM 推出 ARM7 核1995 ARM的 Thumb擴(kuò)展指令集結(jié)構(gòu)為16位系統(tǒng)增加了32位的性能,提供業(yè)界領(lǐng)先的代碼密度ARM的發(fā)展歷程-3ARM處理器的3大特點(diǎn)如下:小體積、低功耗、成本低、高性能;16位/32位雙指令集;全球眾多的合作伙伴。當(dāng)前ARM體系結(jié)構(gòu)的擴(kuò)充包括:Thumb:16位
14、指令集,用以改善代碼密度;DSP:用于DSP應(yīng)用的算術(shù)運(yùn)算指令集;Jazeller:允許直接執(zhí)行Java代碼的擴(kuò)充。ARM處理器系列提供的解決方案包括:在無線、消費(fèi)電子和圖像應(yīng)用方面的開放平臺;存儲、自動(dòng)化、工業(yè)和網(wǎng)絡(luò)應(yīng)用的嵌入式實(shí)時(shí)系統(tǒng);智能卡和SIM卡的安全應(yīng)用。ARM處理器的特點(diǎn)ARM授權(quán)費(fèi)IPARM 創(chuàng)造和設(shè)計(jì)IPPartner產(chǎn)品,例如:芯片Partner把ARM IP 和其他 IP 集成進(jìn)產(chǎn)品OEM Customer版權(quán)費(fèi)單價(jià)OEM 用來自ARM Partner的芯片設(shè)計(jì)制造最終用戶產(chǎn)品業(yè)務(wù)拓展 / 市場格局ARM的業(yè)務(wù)模型ARM 微處理器微處理器核: ARM6, ARM7, AR
15、M9, ARM10, ARM11擴(kuò)展: Thumb, DSP, SIMD, Jazelle etc.其它IP核: UART, GPIO, memory controllers, etcARM處理器的使用量ARM 2003ARM體系結(jié)構(gòu)版本 - 1Version 1 (obsolete)基本數(shù)據(jù)處理字節(jié),字以及多字 load/store軟件中斷26 bit 地址總線Version 2 (obsolete)Multiply & Multiply-accumulate支持協(xié)處理器支持線程同步26 bit 地址總線ARM體系結(jié)構(gòu)版本 - 2V3版本推出32位尋址能力,結(jié)構(gòu)擴(kuò)展變化為T16位壓縮指令集M
16、增強(qiáng)型乘法器,產(chǎn)生全64位結(jié)果(32X3264or32X32+64 64)V4版本增加了半字load和store指令V5版本改進(jìn)了ARM和Thumb之間的交互,結(jié)構(gòu)擴(kuò)展變化為:E-增強(qiáng)型DSP指令集,包括全部算法操作和16位乘法操作J-支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能ARM 體系結(jié)構(gòu)更新體系結(jié)構(gòu)變化 1*THUMB指令集 ( T)THUMB 指令集: 32位ARM指令集的子集,按16位指令重新編碼代碼尺寸小 ( up to 40 % compression)簡化設(shè)計(jì)體系結(jié)構(gòu)變化 - 2長乘法指令 (M)32x32 = 64 bit. 提供全64位結(jié)果增強(qiáng)DSP 指令集
17、 (E)可附加在ARM中的DSP指令64 bit 轉(zhuǎn)換在 v5版本中第一次推出處理器內(nèi)核的變化D: 在片調(diào)試. 處理器可響應(yīng)調(diào)試暫停請求I: Embedded ICE. 支持片上斷點(diǎn)調(diào)試體系結(jié)構(gòu)變化 - 3ARM DSP 指令集對于音頻DSP應(yīng)用提供高達(dá)70%的處理速度Jazelle提供比基于軟件的JAVA虛擬機(jī)(JVM)更高的性能 與非JAVA加速核相比,提供8倍JAVA加速性能和降低80%的功耗139 字節(jié)碼直接在硬件上執(zhí)行,88個(gè)字節(jié)碼在軟件上執(zhí)行ARM體系結(jié)構(gòu)的發(fā)展SA-110ARM7TDMI4T1Halfword and signed halfword / byte supportS
18、ystem modeThumb instruction set24ARM9TDMISA-1110ARM720TARM940TImproved ARM/Thumb InterworkingCLZ 5TESaturated mathsDSP multiply-accumulate instructionsXScaleARM1020EARM9E-SARM966E-S3Early ARM architecturesARM9EJ-S5TEJARM7EJ-SARM926EJ-SJazelleJava bytecodeexecution6ARM1136EJ-SARM1026EJ-SSIMD Instruct
19、ionsMulti-processingV6 Memory architecture (VMSA)Unaligned data supportARM流水線ADDSUBADDCMPSUBADD取指譯碼執(zhí)行時(shí)間周期1周期2周期3ARM流水線的級數(shù)ARM9流水線增加到5級,增加了存儲器訪問段和回寫段,使ARM9處理能力平均可達(dá)到1.1 Dhrystone,指令吞吐量增加了約13%。隨著流水線深度(級數(shù))的增加,每一段的工作量被削減了,這使得處理器可以工作在更高的頻率,同時(shí)改進(jìn)了性能;負(fù)面作用是增加了系統(tǒng)的延時(shí),即內(nèi)核在執(zhí)行一條指令前,需要更多的周期來填充流水線;流水線級數(shù)的增加也意味著在某些段之間會(huì)
20、產(chǎn)生數(shù)據(jù)相關(guān);ARM流水線結(jié)構(gòu)的發(fā)展預(yù)取(Fetch)譯碼(Decode)執(zhí)行(Execute)預(yù)?。‵etch)譯碼(Decode)執(zhí)行(Execute)訪存(Memory)寫入(Write)預(yù)?。‵etch)譯碼(Decode)發(fā)送(Issue)預(yù)取(Fetch)預(yù)?。‵etch)執(zhí)行(Execute)訪存(Memory)寫入(Write)譯碼(Decode)發(fā)送(Issue)執(zhí)行(Execute)轉(zhuǎn)換(Snny)訪存(Memory)寫入(Write)ARM7ARM9ARM10ARM11ARM微處理器特性項(xiàng)目ARM7ARM9ARM10ARM11流水線3568典型頻率(MHz)8015026
21、0335功耗(mW/MHz)0.060.19(+cache)0.5(+cache)0.4(+cache)性能MIPS*/MHz0.971.11.31.2架構(gòu)馮諾伊曼哈佛哈佛哈佛乘法器83283216321632AMBA總線高級微控制器總線協(xié)議(AMBA)是1996年提出的,被ARM處理器做為片上總線結(jié)構(gòu);最初的AMBA總線包含ARM系統(tǒng)總線(ASB)和ARM外設(shè)總線(APB);ARM高性能總線(AHB)是新的標(biāo)準(zhǔn),可以支持64位和128位寬度的ARM總線;Cache和緊耦合器馮諾伊曼結(jié)構(gòu)數(shù)據(jù)和指令共用一個(gè)緩存;哈佛體系結(jié)構(gòu)有獨(dú)立的指令和數(shù)據(jù)緩存;Cache改善了系統(tǒng)的整體性能,但也使程序的執(zhí)行
22、時(shí)間變得不可預(yù)測,對實(shí)時(shí)系統(tǒng)而言,代碼執(zhí)行的確定性裝載和存儲指令或數(shù)據(jù)的時(shí)間必須是可預(yù)測的;ARM采用緊耦合器TCM實(shí)現(xiàn)可預(yù)測,TCM緊靠內(nèi)核,保證取指或數(shù)據(jù)操作的時(shí)鐘周期數(shù)。TCM位于存儲器的地址映射中,可作為快速存儲器訪問;結(jié)合Cache和TCM,ARM即能改善性能,又能夠獲得可預(yù)測的實(shí)時(shí)響應(yīng);存儲器管理無保護(hù)模式:沒有存儲器的硬件保護(hù),只能提供非常有限的靈活性。通常用于小的、簡單的嵌入式系統(tǒng),不要求存儲器保護(hù);提供有限保護(hù)的存儲器保護(hù)單元(MPU):MPU使用一個(gè)只用到少量存儲區(qū)域的簡單系統(tǒng),這些區(qū)域由一組特殊的協(xié)處理器寄存器控制,每一個(gè)區(qū)域定義了專門的訪問權(quán)限。適用于要求有存儲器保護(hù)但
23、沒有復(fù)雜存儲器系統(tǒng)映射的系統(tǒng);提供全面保護(hù)的存儲器管理單元(MMU):MMU使用一組轉(zhuǎn)化表,以提供精細(xì)的存儲器控制。這些表保存在主存里,并且提供虛擬地址與物理地址的映射和訪問權(quán)限。MMU適用于支持多任務(wù)的復(fù)雜操作系統(tǒng)平臺。協(xié)處理器協(xié)處理器可以附屬于ARM處理器,一個(gè)協(xié)處理器通過擴(kuò)展指令或提供配置寄存器來擴(kuò)展內(nèi)核處理功能;協(xié)處理器可以通過一組專門的、提供load-store類型接口的ARM指令來訪問。如協(xié)處理器15(CP15),用于控制Cache、TCM和存儲器管理;協(xié)處理器也能通過提供一組專門的新指令來擴(kuò)展指令集,如,處理向量浮點(diǎn)運(yùn)算的指令集;這些指令在ARM流水線的譯碼階段被處理,如果在譯碼
24、階段發(fā)現(xiàn)是一條協(xié)處理器指令,則把它送給相應(yīng)的協(xié)處理器。如果該協(xié)處理器不存在,或不認(rèn)識該指令,則ARM認(rèn)為發(fā)生未定義指令異常;ARM體系結(jié)構(gòu)的命名規(guī)則ARMXyzTDMIEJF-Sx系列y存儲管理/保護(hù)單元zCacheTThumb16位譯碼器DJTAG調(diào)試器M快速乘法器I嵌入式跟蹤宏單元E增強(qiáng)DSP指令JJazelleF向量浮點(diǎn)單元S可綜合版本,以源代碼形式提供的ARM核ARM9TDMIHarvard架構(gòu)增加了可用的存儲器寬度指令存儲器接口數(shù)據(jù)存儲器接口可以實(shí)現(xiàn)對指令和數(shù)據(jù)存儲器的同時(shí)訪問5 級流水線實(shí)現(xiàn)了以下改進(jìn):改進(jìn) CPI 到 1.5提高了最大時(shí)鐘頻率ARM9TDMI流水線的變化Instr
25、uctionFetch Shift + ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM or ThumbInst DecodeReg SelectRegReadShiftALURegWriteThumbARMdecompressARM decodeInstructionFetchFETCHDECODEEXECUTEARM7TDMIARM9TDMI數(shù)據(jù)通道 (1)IA指令地址總線ARM9TDMI 數(shù)據(jù)通道 (2)寄存器BankPSR乘法器移位器ALUBAImmDINFWDBDATAAD
26、ATA鎖存鎖存MU 邏輯(至 IA 生成邏輯)結(jié)果周期操作ADD R1, R1, R2SUB R3, R4, R1ORR R8, R3, R4AND R6, R3, R1EOR R3, R1, R212345678LDRR4, R79FDEFDEWFDEWFDEWFDWEFDEWF 取指(Fetch)D 解碼(Decode)E 執(zhí)行(Execute)I 互鎖(Interlock)M 存儲器(Memory )W 寫回( Writeback)ILDR互鎖 本例中,用了7個(gè)時(shí)鐘周期執(zhí)行6條指令, CPI = 1.2 。LDR指令之后立即跟一條數(shù)據(jù)操作指令,由于使用了相同的寄存器,將會(huì)導(dǎo)致互鎖 。WI
27、M周期操作ADD R1, R1, R2SUB R3, R4, R1ORR R8, R3, R4AND R6, R3, R1EOR R3, R1, R2LDRR4, R7最佳流水線本例中,用了6個(gè)時(shí)鐘周期執(zhí)行6條指令, CPI = 1。LDR指令沒有引起流水線互鎖123456789FDEWFDEWFEWFDEWFDWEFDEWF 取指(Fetch)D 解碼(Decode)E 執(zhí)行(Execute)I 互鎖(Interlock)M 存儲器(Memory )W 寫回( Writeback)MDLDM互鎖 (1)本例中,用了8個(gè)時(shí)鐘周期執(zhí)行5條指令, CPI = 1.6在LDM期間,有并行的存儲器訪問
28、和回寫周期周期操作LDMIA R13!, R0-R3SUB R9, R7, R8ORR R8, R4, R3AND R6, R3, R112345678STRR4, R99F 取指(Fetch)D 解碼(Decode)E 執(zhí)行(Execute)MW-存儲器和回寫同時(shí)執(zhí)行I 互鎖(Interlock)M 存儲器(Memory )W 寫回( Writeback)FDEWFDEWDEFDEWFMDWEIIIIIIMFMWMWMWLDM 互鎖 (2)本例中,用了9個(gè)時(shí)鐘周期執(zhí)行5條指令, CPI = 1.8 此處SUB 使用了 R3,增加了一個(gè)額外的互鎖周期來完成該寄存器數(shù)據(jù)的獲取 這種情況對任何LD
29、M 指令,像帶IA, DB, FD,等,都會(huì)發(fā)生 。周期操作LDMIA R13!, R0-R3SUB R9, R7, R3ORR R8, R4, R3AND R6, R3, R112345678STRR4, R99F 取指(Fetch)D 解碼(Decode)E 執(zhí)行(Execute)I 互鎖(Interlock)M 存儲器(Memory )W 寫回( Writeback)FDEWFDEWDEFDEWFMDWEMWMWMWIIIIIIMIIFARM9TDMI系統(tǒng)舉例ARM9TDMI數(shù)據(jù)存儲器指令存儲器CTRLDA.DD.CTRLIA.ID.GLUEGLUE注意:數(shù)據(jù)接口必須能夠讀取指令存儲器中
30、的數(shù)據(jù)。為調(diào)試方便,建議數(shù)據(jù)接口能夠讀寫指令存儲器。帶Cache的ARM9TDMIARM9TDMID CacheI CacheMMUGLUE外部存儲器ARM920T2x 16K caches MMU支持虛擬地址和內(nèi)存保護(hù) 寫緩沖ARM940T2x 4K caches MPU寫緩沖ARM9xxTARM處理器結(jié)構(gòu)綜述(一)ARM系列微處理器核特點(diǎn)ARM7ARM7TDMI:整數(shù)處理核ARM7TDMI 處理器的可綜合版本; ARM720T:帶MMU的處理器核心,支持操作系統(tǒng);ARM7EJ-S:帶有DSP和Jazelle TM 技術(shù),能夠?qū)崿F(xiàn)Java加速功能馮諾伊曼體系結(jié)構(gòu);ARMTDMI是目前應(yīng)用最廣
31、的微處理器核ARM720T帶有MMU和8KB的指令數(shù)據(jù)混合cache;ARM7EJ-執(zhí)行ARMv5TEJ指令,5級流水線,提供Java加速指令,沒有存儲器保護(hù)。ARM9ARM920T:帶有獨(dú)立的16KB 數(shù)據(jù)和指令Cache;ARM22T:帶有獨(dú)立的8位KB 數(shù)據(jù)和指令Cache;ARM940T包括更小數(shù)據(jù)和指令Cache和一個(gè)MPU基于ARM9TDMI ,帶16位的Thumb指令集,增強(qiáng)代碼密度最多到35%;在0.13m工藝下最高性能可達(dá)到300MIPS(Dhrystone 2.1測試標(biāo)準(zhǔn));集成了數(shù)據(jù)和指令Chche;32位AMBA總線接口的MMU支持;可在0.18m、 0.15m和0.1
32、3m工藝的硅芯片上實(shí)現(xiàn)。ARM處理器結(jié)構(gòu)綜述(二)ARM9EARM926EJ-S:Jazelle 技術(shù),有MMU,可配置的數(shù)據(jù)和指令Cache,TCM接口;ARM946E-S:可配置的數(shù)據(jù)和指令Cache及TCM;ARM966E-S:針對要求高性能和低功耗的可預(yù)測的指令執(zhí)行時(shí)間的硬實(shí)時(shí)應(yīng)用設(shè)計(jì) ARM968E-S:最小、功耗最小的ARM9E系列處理器,針對嵌入式實(shí)時(shí)應(yīng)用設(shè)計(jì);ARM9E是針對微控制器、DSP和Java的單處理器解決方案; ARMJazelle技術(shù)提供 8倍的 Java 加速性能 (ARM926EJ-S) ;5-級整數(shù)流水線; 在0.13m工藝下最高性能可達(dá)到300MIPS(Dh
33、rystone 2.1測試標(biāo)準(zhǔn));可選擇的向量浮點(diǎn)單元VFP9 協(xié)處理器指令優(yōu)秀浮點(diǎn)性能,對于3D圖形加速和實(shí)時(shí)控制可達(dá)到215MFLOPS。高性能的AHB總線,帶MMU可在0.18m, 0.15m, 0.13m工藝的硅芯片上實(shí)現(xiàn)。 ARM10EARM1020E:帶DSP指令集,在片調(diào)試功能,獨(dú)立的32KB數(shù)據(jù)和指令Cache,MMU支持;ARM1022E:與ARM1020E相同,只是獨(dú)立的數(shù)據(jù)和指令Cache變?yōu)?6KB;ARM1026EJ-S:同時(shí)具有MPU和MMU,可綜合版本; 帶分支預(yù)測的6級整數(shù)流水線;在0.13m工藝下最高性能可達(dá)到430MIPS(Dhrystone 2.1測試標(biāo)準(zhǔn)
34、);對于3D圖形運(yùn)算和實(shí)時(shí)控制采用VFP協(xié)處理器,浮點(diǎn)運(yùn)算性能最高可達(dá)650MFLOPS;雙64位AMBA總線接口和64位內(nèi)部總路線接口;優(yōu)化的緩存結(jié)構(gòu)提高了處理器訪問低速存儲器的性能;可在0.18m, 0.15m, 0.13m工藝的硅芯片上實(shí)現(xiàn)ARM處理器結(jié)構(gòu)綜述(三)ARM11ARM11 MPCore:可綜合的多處理器核,1至4個(gè)處理器可配置;ARM1136J(F)-S:可配置的數(shù)據(jù)和指令Cache,可提供1.9位的MPEG4編碼加速功能;ARM1156T2(F)-S:帶集成浮點(diǎn)協(xié)處理器,帶內(nèi)存保護(hù)單元MPU;ARM1176JZ(F)-S:帶針對CPU和系統(tǒng)安全架構(gòu)擴(kuò)展的TrustZone
35、技術(shù)。增強(qiáng)的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:第一個(gè)32位安全處理器;、SC110:在SC100上增加密鑰協(xié)處理器;SC200:帶Jazelle技術(shù)的高級安全處理器;SC210:在SC200上增加密鑰協(xié)處理器SecurCore是專門為智能卡、安全I(xiàn)C提供的32位安全處理器,
36、為電子商務(wù)、銀行、網(wǎng)絡(luò)、移動(dòng)多媒體、公共交通提供安全解決方案;體積小、功耗低,代碼壓縮密度高;為快速增長的Java卡平臺提供Java加速功能;ARM處理器結(jié)構(gòu)綜述(四)CortexCortex-A:面向應(yīng)用的微處理器,針對復(fù)雜操作系統(tǒng)和應(yīng)用程序設(shè)計(jì);Cortex-R:針對實(shí)時(shí)系統(tǒng)的嵌入式處理器;Cortex-M:針對成本敏感應(yīng)用優(yōu)化的深度嵌入式處理器;2004年發(fā)布,提供增強(qiáng)的媒體和數(shù)字處理能力,增加了系統(tǒng)性能;支持ARM、Thumb、Thumb-2指令集;Thumb-2指令集提供了更高的代碼存儲密度,進(jìn)一步降低成本;Intel系列StrongARM:ARMv4體系XScale:ARMv5TE
37、體系,增加MMX指令StrongARM主要應(yīng)用于手持設(shè)備和PDA,5級流水線,具有獨(dú)立的數(shù)據(jù)和指令Cache,不支持Thumb指令集,目前已停產(chǎn);XScale是目前Intel公司主推的高性能嵌入式處理器,分通用處理器、網(wǎng)絡(luò)處理器和I/O處理器三類。其中通用處理器有PXA25x、PXA26x、PXA27x三個(gè)系列,被廣泛應(yīng)用于智能手機(jī)、PDA領(lǐng)域。PXA架構(gòu)的應(yīng)用ARM微處理器的選型ARM內(nèi)核的選擇系統(tǒng)的工作頻率片內(nèi)存儲器的容量片內(nèi)外圍電路的選擇本節(jié)提要1324嵌入式微處理器概述ARM體系結(jié)構(gòu)概覽ARM編程模型ARM 異常處理ARM內(nèi)核的數(shù)據(jù)流模型指令流水線為增加處理器指令流的速度,ARM7 系
38、列使用3級流水線.允許多個(gè)操作同時(shí)處理,比逐條指令執(zhí)行要快。 PC指向正被取指的指令,而非正在執(zhí)行的指令FetchDecodeExecute從存儲器中讀取指令解碼指令寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumb處理器的工作狀態(tài)ARM7TDMI 處理器有兩種工作狀態(tài):ARM - 32-bit, 按字排列的ARM指令集Thumb -16-bit, 按半字排列的Thumb指令集ARM7TDMI 核的操作狀態(tài)可能通過BX指令(分支和交換指令)在ARM狀態(tài)和Thumb狀態(tài)之間切換例:從ARM狀態(tài)切換到Thu
39、mb狀態(tài): LDR R0,=Label+1 BX R0從Thumb狀態(tài)切換到ARM狀態(tài): LDR R0,=Label BX R0存儲器模式*大端模式字?jǐn)?shù)據(jù)的高位字節(jié)存儲在低地址中字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中小端模式低地址中存放字?jǐn)?shù)據(jù)的低字節(jié)高地址中存放字?jǐn)?shù)據(jù)的高字節(jié)3124 2316 158 70字地址11109887654432100 低地址 高地址3124 2316 158 70 字地址89101184567401230 低地址 高地址示例A. 小端存儲法(0 x01234567)地址0 x80000 x80010 x80020 x8003數(shù)據(jù)(16進(jìn)制表示)0 x670 x450 x2
40、30 x01數(shù)據(jù)(二進(jìn)制表示)01100111010001010010001100000001B. 大端存儲法地址0 x80000 x80010 x80020 x8003數(shù)據(jù)(16進(jìn)制表示)0 x010 x230 x450 x67數(shù)據(jù)(二進(jìn)制表示)00000001001000110100010101100111數(shù)據(jù)和指令類型ARM 采用的是32位架構(gòu).ARM 約定:Byte : 8 bitsHalfword :16 bits (2 byte)Word : 32 bits (4 byte)大部分ARM core 提供:ARM 指令集(32-bit) Thumb 指令集(T變種)(16-bit )
41、Jazelle cores 支持 Java bytecode(J變種,4TEJ)The ARM 可以用 little/big endian 格式存取數(shù)據(jù). r0 = 0 x11223344STR r0, r1LDRB r2, r1r1 = 0 x100Memory3 2 1 0 0 1 2 3Byte Lane312423161587011223344312423161587011223344312423161587011223344312423161587000000044312423161587000000011Little endianBig endianR2 = 0 x44R2 = 0
42、 x11For more information, see: “Application Note 61: Big and Little Endian Byte Addressing”字節(jié)順序處理器模式說明備注 用戶 (usr)正常程序執(zhí)行模式不能直接切換到其它模式 系統(tǒng) (sys)運(yùn)行操作系統(tǒng)的特權(quán)任務(wù)與用戶模式類似,但具有可以直接切換到其它模式等特權(quán) 快中斷(fiq)支持高速數(shù)據(jù)傳輸及通道處理FIQ異常響應(yīng)時(shí)進(jìn)入此模式 中斷 (irq)用于通用中斷處理IRQ異常響應(yīng)時(shí)進(jìn)入此模式 管理 (svc)操作系統(tǒng)保護(hù)模式系統(tǒng)復(fù)位和軟件中斷響應(yīng)時(shí)進(jìn)入此模式 中止 (abt)用于支持虛擬內(nèi)存和/或存儲器保
43、護(hù)在ARM7TDMI沒有大用處 未定義 (und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時(shí)進(jìn)入此模式處理器工作模式(1)ARM處理器有7種工作模式處理器工作模式(2)特權(quán)模式處理器模式說明備注 用戶 (usr)正常程序工作模式不能直接切換到其它模式 系統(tǒng) (sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類似,但具有可以直接切換到其它模式等特權(quán) 快中斷 (fiq)支持高速數(shù)據(jù)傳輸及通道處理FIQ異常響應(yīng)時(shí)進(jìn)入此模式 中斷 (irq)用于通用中斷處理IRQ異常響應(yīng)時(shí)進(jìn)入此模式 管理 (svc)操作系統(tǒng)保護(hù)代碼系統(tǒng)復(fù)位和軟件中斷響應(yīng)時(shí)進(jìn)入此模式 中止 (abt)用于支持虛擬內(nèi)存和/或存儲器保護(hù)
44、在ARM7TDMI沒有大用處 未定義 (und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時(shí)進(jìn)入此模式 除用戶模式外,其它模式均為特權(quán)模式。ARM內(nèi)部寄存器和一些片內(nèi)外設(shè)在硬件設(shè)計(jì)上只允許(或者可選為只允許)特權(quán)模式下訪問。此外,特權(quán)模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。 未定義 (und) 中止 (abt) 管理 (svc) 中斷 (irq) 快中斷 (fiq) 系統(tǒng) (sys)處理器工作模式(3)用戶和系統(tǒng)模式處理器模式說明備注 用戶 (usr)正常程序工作模式不能直接切換到其它模式 系統(tǒng) (sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類似,但具有可以直接切換
45、到其它模式等特權(quán) 快中斷 (fiq)支持高速數(shù)據(jù)傳輸及通道處理FIQ異常響應(yīng)時(shí)進(jìn)入此模式 中斷 (irq)用于通用中斷處理IRQ異常響應(yīng)時(shí)進(jìn)入此模式 管理 (svc)操作系統(tǒng)保護(hù)代碼系統(tǒng)復(fù)位和軟件中斷響應(yīng)時(shí)進(jìn)入此模式 中止 (abt)用于支持虛擬內(nèi)存和/或存儲器保護(hù)在ARM7TDMI沒有大用處 未定義 (und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時(shí)進(jìn)入此模式 這兩種模式都不能由異常進(jìn)入,而且它們使用完全相同的寄存器組。 系統(tǒng)模式是特權(quán)模式,不受用戶模式的限制。操作系統(tǒng)在該模式下訪問用戶模式的寄存器就比較方便,而且操作系統(tǒng)的一些特權(quán)任務(wù)可以使用這個(gè)模式訪問一些受控的資源。 系統(tǒng) (sy
46、s) 用戶 (usr)寄存器類別寄存器在匯編中的名稱各模式下實(shí)際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計(jì)數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiq *R9(SB,v6)R9R9_fiq *R10(SL,v7)R10R10_fiq *R11(FP,v8)R11R11_fiq *R12(IP)R12R12_fiq *R13(SP)R13R13_svc*R13_abt *R13_und *R13_irq *R13_fiq *R14(LR)R14R14_svc *
47、R14_abt *R14_und *R14_irq *R14_fiq *R15(PC)R15狀態(tài)寄存器R16(CPSR)CPSRSPSR無SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM狀態(tài)各模式下的寄存器寄存器類別寄存器在匯編中的名稱各模式下實(shí)際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計(jì)數(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
48、)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_abtSPSR_undSPSR_irqSPSR_fiqARM狀態(tài)各模式下的寄存器SPSR_fiqSPSR_irqSPSR_undSPSR_abtSPSR_abtCPSRR15R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR1
49、3_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0所有的37個(gè)寄存器,分成兩大類:31個(gè)通用32位寄存器;6個(gè)狀態(tài)寄存器。寄存器類別寄存器在匯編中的名稱各模式下實(shí)際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計(jì)數(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)R
50、11R11_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_abtSPSR_undSPSR_irqSPSR_fiq無CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0用戶無CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0系統(tǒng)SPSR_abtCPSRR15R14_svcR13_
51、svcR12R11R10R9R8R7R6R5R4R3R2R1R0管理SPSR_abtCPSRR15R14_abtR13_abtR12R11R10R9R8R7R6R5R4R3R2R1R0中止SPSR_undCPSRR15R14_undR13_undR12R11R10R9R8R7R6R5R4R3R2R1R0未定義SPSR_irqCPSRR15R14_irqR13_irqR12R11R10R9R8R7R6R5R4R3R2R1R0中斷SPSR_fiqCPSRR15R14_fiqR13_fiqR12_fiqR11_fiqR10_fiqR9_fiqR8_fiqR7R6R5R4R3R2R1R0快中斷ARM狀
52、態(tài)各模式下可以訪問的寄存器寄存器類別寄存器在匯編中的名稱各模式下實(shí)際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計(jì)數(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_i
53、rqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0 在匯編語言中寄存器R0R13為保存數(shù)據(jù)或地址值的通用寄存器。它們是完全通用的寄存器,不會(huì)被體系結(jié)構(gòu)作為特殊用途,并且可用于任何使用通用寄存器的指令。寄存器類別寄存器在匯編中的名稱各模式下實(shí)際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷
54、快中斷通用寄存器和程序計(jì)數(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
55、SPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0R7R6R5R4R3R2R1R0 其中R0R7為未分組的寄存器,也就是說對于任何處理器模式,這些寄存器都對應(yīng)于相同的32位物理寄存器。寄存器類別寄存器在匯編中的名稱各模式下實(shí)際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計(jì)數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R
56、5R6(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_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R14_fiqR14_irqR14_undR14_abtR
57、14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8 寄存器R8R14為分組寄存器。它們所對應(yīng)的物理寄存器取決于當(dāng)前的處理器模式,幾乎所有允許使用通用寄存器的指令都允許使用分組寄存器寄存器類別寄存器在匯編中的名稱各模式下實(shí)際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計(jì)數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R
58、9R9_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_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8 寄存器R8R12有兩個(gè)分組的物理寄存器。一個(gè)用
59、于除FIQ模式之外的所有寄存器模式,另一個(gè)用于FIQ模式。這樣在發(fā)生FIQ中斷后,可以加速FIQ的處理速度。寄存器類別寄存器在匯編中的名稱各模式下實(shí)際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計(jì)數(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_irqR1
60、3_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器 寄存器R13、R14分別有6個(gè)分組的物理寄存器。一個(gè)用于用戶和系統(tǒng)模式,其余5個(gè)分別用于5種異常模式。R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13寄存器類別寄存器在匯編中的名稱各模式下實(shí)際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)村土地租賃與農(nóng)產(chǎn)品訂單合同
- 二零二五年度美甲店知識產(chǎn)權(quán)保護(hù)合作協(xié)議
- 二零二五年度高端派遣出國勞務(wù)合同模板(IT領(lǐng)域)
- 2025年度貓咪寵物智能領(lǐng)養(yǎng)與買賣合同
- 二零二五年度醫(yī)療健康行業(yè)員工入職保密及服務(wù)合同
- 2025福建福州市建筑設(shè)計(jì)院有限責(zé)任公司招聘22人筆試參考題庫附帶答案詳解
- 2025廣西貴港市金融投資發(fā)展集團(tuán)有限公司招聘4人筆試參考題庫附帶答案詳解
- 交通運(yùn)輸系統(tǒng)規(guī)劃知到智慧樹章節(jié)測試課后答案2024年秋黑龍江工程學(xué)院
- 2025年河北保定鈔票紙業(yè)有限公司人員招聘29名筆試參考題庫附帶答案詳解
- 2025年華電煤業(yè)集團(tuán)有限公司校園招聘筆試參考題庫附帶答案詳解
- (中職)中職生禮儀實(shí)用教材完整版PPT最全教程課件整套教程電子講義(最新)
- 民航旅客運(yùn)輸完整版ppt-全體教學(xué)教程課件最新
- JJF (石化) 007-2018 鉛筆硬度計(jì)校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- 《中醫(yī)兒科學(xué)》課件生理病因病理特點(diǎn)
- 單招面試技巧簡介PPT幻燈片課件(PPT 59頁)
- 迪士尼樂園主題PPT模板
- DBJ61_T 179-2021 房屋建筑與市政基礎(chǔ)設(shè)施工程專業(yè)人員配備標(biāo)準(zhǔn)
- C形根管的形態(tài)識別和治療實(shí)用教案
- 京東入駐流程(課堂PPT)
- 渝價(jià)〔2013〕430號
- 鍋爐巡檢制度
評論
0/150
提交評論