第06講第4章ARM體系結(jié)構(gòu)_第1頁(yè)
第06講第4章ARM體系結(jié)構(gòu)_第2頁(yè)
第06講第4章ARM體系結(jié)構(gòu)_第3頁(yè)
第06講第4章ARM體系結(jié)構(gòu)_第4頁(yè)
第06講第4章ARM體系結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

嵌入式系統(tǒng)構(gòu)造與設(shè)計(jì)根底

第6講合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院史久根第4章ARM體系構(gòu)造本章主要引見(jiàn)以下內(nèi)容:ARM體系構(gòu)造版本ARM處置器系列ARM流水線(xiàn)ARM任務(wù)方式和任務(wù)形狀A(yù)RM存放器組織ARM存儲(chǔ)器組織ARM的異常中斷AMBA和ARM7TDMI1/7/20242合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM處置器根本特征ARM處置器在設(shè)計(jì)上沿用了RISC技術(shù)的根本特征,但是也放棄了一些RISC設(shè)計(jì)特征。沿用的有:通用存放器堆,32位定長(zhǎng)指令,Load/Store訪(fǎng)問(wèn)存儲(chǔ)器指令和3地址數(shù)據(jù)運(yùn)算指令。沒(méi)有沿用的有:重疊存放器窗口,延遲轉(zhuǎn)移和單周期指令執(zhí)行。2001年以后,ARMv6體系構(gòu)造中添加了60多條SIMD指令集。如今可以以為ARM處置器體系構(gòu)造以CISC構(gòu)造為主,兼有RISC的優(yōu)點(diǎn)。1/7/20243合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院4.1ARM體系構(gòu)造版本迄今為止主要出現(xiàn)過(guò)7個(gè)指令集體系構(gòu)造版本,分別命名為V1-V7。此外還有基于這些體系構(gòu)造版本的變種版本。目前主要在用的ARM處置器的體系構(gòu)造是V4、V5、V6和V7。每一個(gè)版本都承繼了前一個(gè)版本的根本設(shè)計(jì),指令集向下兼容。1/7/20244合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院當(dāng)前在用的ARM核概略目前實(shí)踐運(yùn)用的ARM處置器核有二十多種每一種處置器核根據(jù)一個(gè)體系構(gòu)造版本設(shè)計(jì)這些ARM核的共同特點(diǎn)是:字長(zhǎng)32位、RISC構(gòu)造、低功耗、附加16位高密度指令集Thumb獲得廣泛的嵌入式操作系統(tǒng)支持包括:WindowsCE、PalmOS、SymbianOS、Linux以及其他的主流RTOS含有嵌入式跟蹤宏單元ETM〔EmbeddedTraceMacro〕1/7/20245合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院體系構(gòu)造版本V1這種版本在原型機(jī)ARM1上實(shí)現(xiàn)過(guò),從未用于商用產(chǎn)品。它包含:根本的數(shù)據(jù)處置指令〔不包括乘法〕;字節(jié)、字和多字的加載/存儲(chǔ)〔load/store〕指令;分支〔branch〕指令,包括設(shè)計(jì)用于子程序調(diào)用的分支與鏈接指令;軟件中斷指令SWI。版本V1只需26位尋址空間,如今已廢棄不用。1/7/20246合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院體系構(gòu)造版本V2添加了這幾種指令:乘法和乘加指令;支持協(xié)處置器的指令;快速中斷方式〔FIQ〕中額外的2個(gè)備份存放器;SWP指令和SWPB指令。版本V2和它之后的版本V2a依然只需26位尋址空間,如今已廢棄不用。1/7/20247合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院體系構(gòu)造版本V3這個(gè)體系構(gòu)造版本將尋址范圍擴(kuò)展到了32位。當(dāng)前程序形狀信息由過(guò)去存于R15中移到一個(gè)新的當(dāng)前程序形狀存放器CPSR〔CurrentProgramStatusRegister〕中。添加了程序形狀保管存放器SPSR〔SavedProgramStatusRegisters〕,以便當(dāng)異常出現(xiàn)時(shí)保管CPSR的內(nèi)容。添加了2個(gè)指令〔MRS和MSR〕,允許訪(fǎng)問(wèn)新的CPSR和SPSR存放器。1/7/20248合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院體系構(gòu)造版本V4對(duì)體系構(gòu)造版本V3進(jìn)展了擴(kuò)展,即:半字讀取和存儲(chǔ)指令;讀取帶符號(hào)的字節(jié)和半字?jǐn)?shù)據(jù)的指令;添加了高密度指令集Thumb,這樣V4體系構(gòu)造有了T變量;有了在ARM/Thumb形狀之間切換的指令;添加了處置器管理方式〔SVC方式〕。1/7/20249合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院體系構(gòu)造版本V5提高了T變量中ARM/Thumb之間切換的效率;讓非T變量同T變量一樣,運(yùn)用一樣的代碼生成技術(shù)。添加了一個(gè)前導(dǎo)零計(jì)數(shù)〔countleadingzeros〕指令,該指令允許更有效的整數(shù)除法和中斷優(yōu)先程序;添加了軟件斷點(diǎn)指令;為協(xié)處置器設(shè)計(jì)者添加了更多可選擇指令;對(duì)由乘法指令如何設(shè)置標(biāo)志進(jìn)展了定義。1/7/202410合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院體系構(gòu)造版本V6平均取指令和取數(shù)據(jù)延時(shí)減少,因Cache未命中呵斥的等待時(shí)間減少,總的內(nèi)存管理性能提高到達(dá)30%左右;順應(yīng)多處置器核的需求;添加了SIMD指令集。支持混合端序,可以處置大端序和小端序混合的數(shù)據(jù);異常處置和中斷處置得以改良,實(shí)時(shí)義務(wù)處置才干加強(qiáng)。1/7/202411合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院體系構(gòu)造版本V7擴(kuò)展了的130條指令的Thumb-2指令集;NEON媒體引擎,該引擎具有分別的單指令多數(shù)據(jù)〔SIMD〕執(zhí)行流水線(xiàn)和存放器堆,可共享訪(fǎng)問(wèn)L1和L2高速緩存,因此提供了靈敏的媒體加速功能并且簡(jiǎn)化了系統(tǒng)帶寬設(shè)計(jì);TrustZone技術(shù),可以對(duì)電子支付和數(shù)字版權(quán)管理之類(lèi)的運(yùn)用業(yè)務(wù)提供可靠的平安措施。1/7/202412合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM處置器的3種指令集ARM指令集32位,低密度指令集Thumb指令集16位,高密度指令集Jazelle指令集8位,Java字節(jié)碼指令集1/7/202413合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM指令集和Thumb指令集ARM體系構(gòu)造版本中帶有T變量的ARM處置器核可以任務(wù)在2種形狀。ARM形狀,運(yùn)轉(zhuǎn)32位的ARM指令集Thumb形狀,運(yùn)轉(zhuǎn)16位的Thumb指令集在任何一種任務(wù)形狀可以經(jīng)過(guò)轉(zhuǎn)移指令切換到另一種任務(wù)形狀。ARM和Thumb之間的形狀切換不影響處置器任務(wù)方式和存放器中的內(nèi)容。加電起動(dòng)時(shí)處置器任務(wù)在ARM形狀。1/7/202414合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院指令集緊縮對(duì)于傳統(tǒng)的微處置器體系構(gòu)造,指令和數(shù)據(jù)具有同樣的寬度。與16位體系構(gòu)造相比,32位體系構(gòu)造在支配32位數(shù)據(jù)時(shí)呈顯了更高的性能,并可更有效地尋址更大的空間。普通來(lái)講,16位體系構(gòu)造比32位體系構(gòu)造具有更高的代碼密度,但只需近似一半的性能。Thumb在32位體系構(gòu)造上實(shí)現(xiàn)了16位指令集,以提供:比16位體系構(gòu)造更高的性能;比32位體系構(gòu)造更高的代碼密度。更加符合工業(yè)控制的需求1/7/202415合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院Thumb指令集Thumb指令集是通常運(yùn)用的32位ARM指令集的子集。每條Thumb指令是16位長(zhǎng),有相應(yīng)的對(duì)于處置器模型有一樣效果的32位ARM指令。Thumb指令在規(guī)范的ARM存放器配置下進(jìn)展操作,在ARM和Thumb形狀之間具有出色的互操作性。執(zhí)行時(shí),16位Thumb指令透明地實(shí)時(shí)解緊縮成32位ARM指令,且沒(méi)有性能損失。Thumb具有32位核的一切優(yōu)點(diǎn):32位尋址空間;32位存放器;32位移位器和算術(shù)邏輯單元ALU(ArithmeticLogicUnit);32位存儲(chǔ)器傳送。1/7/202416合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院Thumb指令集〔續(xù)〕Thumb因此可提供長(zhǎng)的轉(zhuǎn)移范圍、強(qiáng)大的算術(shù)運(yùn)算才干和大的尋址空間。Thumb代碼的長(zhǎng)度是ARM代碼長(zhǎng)度的65%,當(dāng)從16位存儲(chǔ)系統(tǒng)運(yùn)轉(zhuǎn)時(shí),提供ARM代碼160%的性能。Thumb使ARM7TDMI核非常適用于有存儲(chǔ)器寬度限制且代碼密度為重要的嵌入式運(yùn)用場(chǎng)所。由于ARM7TDMI具有16位Thumb指令集和32位ARM指令集,這使設(shè)計(jì)者能根據(jù)他們的運(yùn)用要求在子程序級(jí)靈敏地強(qiáng)調(diào)性能或代碼長(zhǎng)度。1/7/202417合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院Jazelle技術(shù)Jazelle的特點(diǎn)在于可以直接執(zhí)行JavaByteCord。它經(jīng)過(guò)在ARM微處置器上添加Jazelle任務(wù)方式,使ARM指令和JavaByteCord指令在同一個(gè)微處置器上執(zhí)行。ARM的Jazelle技術(shù)使Java加速得到比基于軟件的Java虛擬機(jī)(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。1/7/202418合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院第3種指令集Jazelle執(zhí)行8位指令一個(gè)軟件與硬件的混合體可以加速Java字節(jié)碼的執(zhí)行JavaBytecodes為了執(zhí)行Java字節(jié)碼,需求Jazelle技術(shù)外加一個(gè)Java虛擬機(jī)的特殊修訂版。Jazelle的硬件部分只Java字節(jié)碼的一個(gè)部分,其他由軟件仿真。1/7/202419合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院Jazelle指令集特征CPSR存放器T=0,J=1硬件完成超越60%的Java字節(jié)代碼其他由軟件完成1/7/202420合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM體系構(gòu)造版本變量列表

〔第1種方式〕后綴變量功能說(shuō)明TThumb指令集,Thumb指令的長(zhǎng)度為16位。目前Thumb有兩個(gè)版本。Thumb1用于ARM4的T變種,Thumb2用于ARM5以上的T變種。D含JTAG調(diào)試器,支持片上調(diào)試。M提供用于進(jìn)行長(zhǎng)乘法操作的ARM指令,產(chǎn)生全64位結(jié)果。I嵌入式跟蹤宏單元(EmbeddedICEmacrocell)硬件部件,提供片上斷點(diǎn)和調(diào)試點(diǎn)支持。E增強(qiáng)型DSP指令,增加了幾條16位乘法和加法指令,加減法指令可以完成飽和帶符號(hào)算術(shù)運(yùn)算。JJAVA加速器Jazelle,與普通的JAVA虛擬機(jī)相比較,Jazelle使Java代碼運(yùn)行速度提高了8倍,而功耗降低了80%。F向量浮點(diǎn)單元S可綜合版本,以源代碼形式提供的,可以被EDA工具使用。1/7/202421合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM體系構(gòu)造變量列表

〔第2種方式〕1/7/202422合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM核版本命名規(guī)那么命名規(guī)那么的字符串表達(dá)式如下:ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}其中花括號(hào)的內(nèi)容表示可有可無(wú)。前三個(gè)參數(shù)含義在下面闡明:{x}表示系列號(hào),例如:ARM7,ARM9,ARM10{y}表示內(nèi)部存儲(chǔ)管理和維護(hù)單元,例如:ARM72,ARM92{z}表示含有高速緩存〔Cache〕,例如:ARM720,ARM940其他體系構(gòu)造版本變量曾經(jīng)在前面幻燈片給出。1/7/202423合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM核版本命名規(guī)那么〔續(xù)〕闡明:①在ARM7TDMI之后出產(chǎn)的一切ARM內(nèi)核稱(chēng)號(hào),即使“ARM〞字串后面沒(méi)有包含“TDMI〞字符串,也都默許包含了該字串。②對(duì)于2005年以后ARM公司投入市場(chǎng)的ARMv7體系構(gòu)造的處置器核,運(yùn)用字符串“ARMCortex〞打頭,隨后附加一個(gè)字母后綴“-A〞,“-R〞或者“-M〞,表示該處置器核合順運(yùn)用的領(lǐng)域; 其中:后綴A表示運(yùn)用〔Application〕、R表示實(shí)時(shí)控制〔Realtime〕、M表示微控制器〔MicroController〕。1/7/202424合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM核與體系構(gòu)造版本間的關(guān)系1/7/202425合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM體系構(gòu)造版本詳解1/7/202426合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM處置器核的3種運(yùn)用類(lèi)型處理器核分類(lèi)硬件特點(diǎn)頻率性能功耗典型用途/產(chǎn)品舉例應(yīng)用處理器符號(hào)標(biāo)記:A配備MMU和Cache最快最高合理媒體播放器,產(chǎn)品舉例:MP3,機(jī)頂盒,iPOD,智能手機(jī),PAD實(shí)時(shí)控制處理器符號(hào)標(biāo)記:R去除MMU,備有Cache較快合理較低數(shù)字信號(hào)處理,產(chǎn)品舉例:汽車(chē)ABS系統(tǒng),路由器,交換機(jī),航電系統(tǒng)微控制器符號(hào)標(biāo)記:M沒(méi)有存儲(chǔ)子系統(tǒng),即不含MMU。合理適中極低日常電器控制,產(chǎn)品舉例:門(mén)禁系統(tǒng),游戲控制器,家庭網(wǎng)關(guān),洗衣機(jī)控制器1/7/202427合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院當(dāng)前主流ARM處置器核一覽表處理器核系列應(yīng)用處理器實(shí)時(shí)控制器微控制器ARMCortex系列ARMCortex-A8ARMCortex-R4ARMCortex-M3ARM11系列ARM1136J-SARM1176JZ-SARM1156T2ARM10系列ARM1020EARM1022EARM1026EJ-SARM1026EJ-SARM9系列ARM920TARM922TARM926EJARM946EARM966EARM948EARM7系列ARM720TARM7TDMIARM7EJ-SARM7TDMI1/7/202428合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院4.2ARM處置器系列目前在用的ARM處置器系列主要有6個(gè)ARM7ARM9ARM10EARM11SecurCoreCortex1/7/202429合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM7系列處置器特點(diǎn)ARM7系列為低功耗32位核,適用于對(duì)價(jià)位和功耗敏感的消費(fèi)類(lèi)運(yùn)用。ARM7系列處置器具有以下特點(diǎn):含有嵌入式ICE-RT邏輯;非常低的功耗;馮·諾依曼構(gòu)造;MIPS/MHz的三級(jí)流水線(xiàn)。1/7/202430合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM7系列處置器特點(diǎn)1/7/202431合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院其它ARM7處置器核ARM7TDMI-SARM7TDMI的可綜合(synthesizable)版本(軟核);最適用于可移植性和靈敏性為關(guān)鍵的現(xiàn)代設(shè)計(jì)。ARM720T全性能的MMU;最適用于低功耗和體積為關(guān)鍵的運(yùn)用。ARM7EJARM7EJ是Jazelle和DSP指令集的最小及最低功耗的實(shí)現(xiàn)。1/7/202432合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM9系列處置器ARM9系列是高性能和低功耗特性方面最正確的硬宏單元。它具有:5級(jí)流水線(xiàn)提供1.1MIPS/MHz的哈佛構(gòu)造處置才干ARM9主要運(yùn)用領(lǐng)域先進(jìn)的引擎管理 #網(wǎng)絡(luò)電腦儀器儀表 #智能平安系統(tǒng) #機(jī)頂盒高端打印機(jī) #PDA1/7/202433合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM9系列處置器的組成1/7/202434合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM920T和ARM922T全性能的MMU;指令和數(shù)據(jù)Cache;高速AMBA基于總線(xiàn)的接口:AMBA片上總線(xiàn)是一個(gè)已建立的、用于SOC設(shè)計(jì)框架的開(kāi)放規(guī)范。ARM940T維護(hù)單元;指令和數(shù)據(jù)Cache;高速AMBA基于總線(xiàn)的接口ARM9系列處置器特點(diǎn)1/7/202435合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM9E系列ARM9E系列為可綜合處置器具有以下特點(diǎn):DSP擴(kuò)展;嵌入式ICE-RT調(diào)試邏輯;提供1.1MIPS/MHz的5級(jí)流水線(xiàn)和哈佛構(gòu)造;緊耦合存儲(chǔ)器(TCM)接口,可使存儲(chǔ)器以最高的處置器速度運(yùn)轉(zhuǎn),可直接銜接到內(nèi)核上,非常適用于必需有確定性能和快速訪(fǎng)問(wèn)時(shí)間的代碼。1/7/202436合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM9E的組成1/7/202437合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM9E系列處置器特點(diǎn)ARM966E-S最適用于硅片面積為關(guān)鍵而對(duì)Cache無(wú)要求的實(shí)時(shí)嵌入式運(yùn)用;可配置的TCM大?。?KB、4KB、8KB、16KB,可高達(dá)64MB。ARM946E-S集成的維護(hù)單元,提供實(shí)時(shí)嵌入式操作系統(tǒng)的Cache核方案。每個(gè)配置的Cache大小為:0KB、4KB、8KB、16KB,高達(dá)1MB。TCM是嚴(yán)密耦合存儲(chǔ)器的縮略語(yǔ)多處置器陣列上運(yùn)用1/7/202438合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院緊耦合存儲(chǔ)器在ARMV6處置器

存儲(chǔ)系統(tǒng)模型中的位置1/7/202439合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM9E系列處置器的特點(diǎn)ARM926EJ-SJazelle擴(kuò)展;每個(gè)可配置的Cache大小:4KB、8KB、16KB,高達(dá)128KB;分立的指令和數(shù)據(jù)高速AHB接口;全性能的MMU主要智能手機(jī),3G手機(jī)和媒體播放器運(yùn)用的處置器均采用ARM926EJ-S核。1/7/202440合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM10系列處置器ARM10系列為硬宏單元,具有如下特點(diǎn):DSP擴(kuò)展;嵌入式ICE-RT;全性能MMU;Cache;對(duì)于指令和數(shù)據(jù),64位AHB接口;6級(jí)流水線(xiàn);內(nèi)部64位數(shù)據(jù)通路;1.25MIPS/MHz;在實(shí)踐運(yùn)用中,與同等ARM9器件相比,在同樣的時(shí)鐘速度下,性能提高了50%。1/7/202441合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM10系列處置器的組成1/7/202442合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院SecurCoreSC100系列SecurCoreSC100系列專(zhuān)為平安需求而設(shè)計(jì)具有特定的抗竄改(resisttampering)和反工程(reverseengineering)特性;帶有靈敏的維護(hù)單元,以確保操作系統(tǒng)和運(yùn)用數(shù)據(jù)的平安。1/7/202443合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM11系列處置器ARM11核是2001年10月公布的V6體系構(gòu)造版本的第1個(gè)實(shí)現(xiàn),具有以下特點(diǎn):主頻:350-500MHz工藝:0.13微米功耗:0.4mW/Mhz電壓:1.2V8級(jí)標(biāo)量流水線(xiàn)64位數(shù)據(jù)通路1/7/202444合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院掌握ARM處置器的留意點(diǎn)初學(xué)者要弄清楚三個(gè)根本概念A(yù)RM體系構(gòu)造版本ARM公司規(guī)定,長(zhǎng)期運(yùn)用ARM處置器核型號(hào)ARM公司規(guī)定,中期運(yùn)用ARM處置器型號(hào)多個(gè)公司消費(fèi),各個(gè)公司自行規(guī)定1/7/202445合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM7TDMI內(nèi)核產(chǎn)品舉例ARM7TDMI是一個(gè)經(jīng)典的ARM內(nèi)核體系構(gòu)造版本是ARMv4T列出4個(gè)基于ARM7TDMI核制造的嵌入式處置器S3C44B0X,三星公司消費(fèi)SEP3203,東南大學(xué)集成電路研討所AT91SAM7,Atmel公司LPC2114,飛利浦公司1/7/202446合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARMCortex核系列處置器目前曾經(jīng)有了四個(gè)ARMCortex內(nèi)核Cortex-A8、Cortex-M4、Cortex-R4和Cortex-R4F特點(diǎn):先進(jìn)3級(jí)流水線(xiàn)、哈佛構(gòu)造、ARMv7指令集、靈敏的可配置功能〔可以在整合階段對(duì)Cache、TCM和MPU進(jìn)展配置〕、分支預(yù)測(cè)、單周期乘法、硬件除法器、峰值運(yùn)算速度到達(dá)1.25DMPIS/MHZ〔Dhrystone測(cè)試基準(zhǔn)〕、新的Thumb-2指令集。1/7/202447合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARMCortex處置器舉例ARMCortex-A8ARMCortex-M3ARMCortex-R41/7/202448合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARMCortex系列處置器TheARMCortexfamilycomprisesthreeseries,allimplementtheThumb-2instructionset.ARMCortex-ASeriesapplicationsprocessorsforcomplexOSanduserapplications.SupportstheARM,ThumbandThumb-2instructionsetsARMCortex-RSeriesembeddedprocessorsforreal-timesystems.SupportstheARM,Thumb,andThumb-2instructionsetsARMCortex-MSeriesdeeplyembeddedprocessorsoptimizedforcostsensitiveapplications.SupportstheThumb-2instructionsetonly1/7/202449合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARMCortex-A8簡(jiǎn)介T(mén)heARMCortex-A8processoristhefirstapplicationsprocessorbasedontheARMv7architectureandisthehighestperformance,mostpower-efficientprocessoreverdevelopedbyARM.Withtheabilitytoscaleinspeedfrom600MHztogreaterthan1GHz,theCortex-A8processorcanmeettherequirementsforpower-optimizedmobiledevicesneedingoperationinlessthan300mW;andperformance-optimizedconsumerapplicationsrequiring2000DhrystoneMIPS.1/7/202450合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARMCortex-A8簡(jiǎn)介〔續(xù)〕TheCortex-A8processorisARM’sfirstsuperscalarprocessorfeaturingtechnologyforenhancedcodedensityandperformance,NEONtechnologyformultimediaandsignalprocessing,andJazelleRCT(RuntimeCompilationTarget)technologyforefficientsupportofahead-of-timeandjust-in-timecompilationofJavaandotherbytecodelanguages.1/7/202451合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院TI公司的OMAP3430處置器架構(gòu)圖1/7/202452合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院Cortex-A8內(nèi)核的運(yùn)用舉例

——TI公司的OMAP3430處置器業(yè)界第一個(gè)具有先進(jìn)的超級(jí)標(biāo)量Cortex-A8內(nèi)核的處置器業(yè)界第一個(gè)采用65nmCMOS工藝技術(shù)設(shè)計(jì)的ARM處置器,提高了處置性能集成的圖像信號(hào)處置器〔ISP〕可提供更快、更高質(zhì)量的圖像捕捉功能,并且可以降低系統(tǒng)本錢(qián)復(fù)合視頻和S端子TV輸出XGA〔1024x768像素〕、16M色〔24位定義〕顯示支持高速USB2.0OTG支持1/7/202453合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院Cortex-M3內(nèi)核的運(yùn)用舉例

——意法半導(dǎo)體的STM32微控制器不支持ARM指令集,只支持Thumb-2指令集中斷向量表與其他ARM處置器有明顯區(qū)別STM32微控制器有兩個(gè)系列STM32F103“加強(qiáng)型〞系列,72MHz主頻STM32F101“根本型〞系列,36MHz主頻2.0到3.6V電源,當(dāng)復(fù)位電路任務(wù)時(shí),在待機(jī)方式下最低功耗2μA,最適宜電池供電的運(yùn)用設(shè)備。比同級(jí)別的基于ARM7TDMI的產(chǎn)品快30%。換句話(huà)說(shuō),假設(shè)處置性能一樣,STM32產(chǎn)品功耗比同級(jí)別產(chǎn)品低75%。1/7/202454合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院4.3ARM流水線(xiàn)計(jì)算機(jī)指令執(zhí)行過(guò)程的各個(gè)階段相對(duì)獨(dú)立,因此CPU內(nèi)部的指令譯碼執(zhí)行邏輯電路可以設(shè)計(jì)成分級(jí)的處置部件,實(shí)行流水處置,即流水線(xiàn)方式。流水線(xiàn)技術(shù)大大加快了處置器的指令執(zhí)行速度,因此現(xiàn)代CPU設(shè)計(jì)方案中幾乎都采用了流水線(xiàn)技術(shù)。ARM處置器設(shè)計(jì)也不例外。一切的ARM處置器核都運(yùn)用了流水線(xiàn)設(shè)計(jì)。1/7/202455合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM7流水線(xiàn)ARM7TDMI核運(yùn)用3級(jí)指令流水線(xiàn)。ARM7處置器核的指令執(zhí)行分為3個(gè)階段:取指、譯碼和執(zhí)行。<1>取指,由取指部件處置,把指令從內(nèi)存中取出,放入指令流水線(xiàn);<2>譯碼,指令被譯碼。在這一級(jí)指令占有譯碼邏輯,不占有數(shù)據(jù)通路;<3>執(zhí)行,執(zhí)行流水線(xiàn)中曾經(jīng)被譯碼的指令,在這一級(jí),指令占有數(shù)據(jù)通路,移位操作,讀通用存放器,ALU產(chǎn)生結(jié)果,寫(xiě)通用存放器。1/7/202456合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM7流水線(xiàn)架構(gòu)圖1/7/202457合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM9流水線(xiàn)ARM9TDMI采用了5級(jí)流水線(xiàn)。這5個(gè)指令執(zhí)行階段的功能如下:<1>取指,從指令存儲(chǔ)器中讀取指令,放入指令流水線(xiàn)。<2>譯碼,對(duì)指令進(jìn)展譯碼,從通用存放器組中讀取操作數(shù)。由于存放器組有3個(gè)讀端口,大多數(shù)ARM指令能在一個(gè)時(shí)鐘周期內(nèi)讀取其操作數(shù)。1/7/202458合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM9流水線(xiàn)〔續(xù)〕<3>執(zhí)行,將其中的一個(gè)操作數(shù)移位,并在ALU中產(chǎn)生結(jié)果。假設(shè)指令是Load或Store指令,那么在ALU中計(jì)算存儲(chǔ)器的地址。<4>數(shù)據(jù)緩沖,假設(shè)需求,那么訪(fǎng)問(wèn)數(shù)據(jù)存儲(chǔ)器;否那么,ALU只是簡(jiǎn)單地緩沖一個(gè)時(shí)鐘周期,以便使一切指令具有同樣的流水線(xiàn)流程。<5>寫(xiě)回,將指令的結(jié)果寫(xiě)回到存放器組。包括任何從存儲(chǔ)器讀取的數(shù)據(jù)。1/7/202459合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM9流水線(xiàn)架構(gòu)圖1/7/202460合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM10和ARM11流水線(xiàn)ARM10流水線(xiàn)為6級(jí)流水線(xiàn)ARM11流水線(xiàn)為8級(jí)流水線(xiàn)1/7/202461合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院Cortex-R4流水線(xiàn)Cortex-R4處置器的流水線(xiàn)為8級(jí),參看以下圖。其特點(diǎn)是雙發(fā)射指令流水線(xiàn),含動(dòng)態(tài)分支預(yù)測(cè),執(zhí)行速度到達(dá)1.6MIPS/MHz〔Dhrystone基準(zhǔn)測(cè)試程序〕。其中前3級(jí)是指令預(yù)取單元PFU,包括第1階段取指,第2階段取指和譯碼。1/7/202462合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院4.4ARM任務(wù)方式和任務(wù)形狀異常指計(jì)算機(jī)脫離正常的運(yùn)算順序,暫時(shí)改動(dòng)原先的執(zhí)行順序,轉(zhuǎn)而執(zhí)行一個(gè)子程序,完成一個(gè)預(yù)先預(yù)備的特殊效力例程。中斷ARM公司對(duì)異常處置一概用中斷效力子程序處置。這樣,在概念上ARM處置器不再區(qū)分異常和中斷,異常處置與中斷處置一樣。1/7/202463合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM5種異常任務(wù)方式ARM處置器內(nèi)部安排了5種異常中斷處置的任務(wù)方式。ABT〔取指中止或者取操作數(shù)中止〕UND〔進(jìn)入未定義指令圈套〕IRQ〔普通中斷〕FIQ〔快速中斷〕SVC〔管理〕1/7/202464合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM處置器任務(wù)方式ARM處置器支持7種任務(wù)方式用戶(hù)方式特點(diǎn):不能訪(fǎng)問(wèn)某些受操作系統(tǒng)維護(hù)的資源,也不能改動(dòng)任務(wù)方式。6種特權(quán)方式分類(lèi):系統(tǒng)方式,5種異常方式特點(diǎn):能訪(fǎng)問(wèn)全部資源,能改動(dòng)任務(wù)方式。1/7/202465合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM處置器任務(wù)方式1/7/202466合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院方式運(yùn)用闡明〔1〕SVC方式是操作系統(tǒng)內(nèi)核代碼運(yùn)轉(zhuǎn)的方式,USR方式通常是用戶(hù)代碼運(yùn)轉(zhuǎn)方式。處置器一旦進(jìn)入U(xiǎn)SR方式,必需經(jīng)過(guò)SWI異常中斷才干進(jìn)入SVC方式調(diào)用內(nèi)核代碼的接口。但是,在沒(méi)有MMU進(jìn)展內(nèi)存維護(hù)的場(chǎng)所,USR方式也可以訪(fǎng)問(wèn)到SVC方式的內(nèi)存空間,因此運(yùn)用USR隔離用戶(hù)級(jí)代碼沒(méi)有意義。1/7/202467合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院方式運(yùn)用闡明〔2〕IRQ和FIQ方式是微處置器收到中斷信號(hào)后強(qiáng)迫處置器進(jìn)入的方式,用于中斷處置。SYS方式用于嵌套中斷處置。有人簡(jiǎn)單地把SYS方式與PC機(jī)的Ring0特權(quán)級(jí)別任務(wù)方式相類(lèi)比,以為它是特權(quán)級(jí)別的操作系統(tǒng)代碼運(yùn)轉(zhuǎn)方式,這種觀念是錯(cuò)誤的。ARM的SYS方式與PC機(jī)的特權(quán)級(jí)運(yùn)轉(zhuǎn)方式是不可以簡(jiǎn)單比較的。1/7/202468合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院方式運(yùn)用闡明〔3〕ABT和UND方式是真正意義上的“異常〞,一旦出現(xiàn)就要進(jìn)入對(duì)應(yīng)的異常中斷效力子程序進(jìn)展處置。1/7/202469合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM處置器任務(wù)形狀A(yù)RM體系構(gòu)造版本中帶有T變量的ARM處置器核可以任務(wù)在2種形狀。⑴ARM形狀,機(jī)器指令為32位的ARM指令集,字對(duì)齊取指執(zhí)行ARM指令。⑵Thumb形狀,機(jī)器指令為16位的Thumb指令集,半字對(duì)齊取指執(zhí)行Thumb指令。在任何一種任務(wù)形狀可以經(jīng)過(guò)轉(zhuǎn)移指令切換到另一種任務(wù)形狀。ARM和Thumb之間的形狀切換不影響處置器任務(wù)方式和存放器中的內(nèi)容。加電起動(dòng)時(shí)處置器任務(wù)在ARM形狀。1/7/202470合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院兩種任務(wù)形狀之間切換進(jìn)入Thumb形狀當(dāng)操作數(shù)存放器的形狀位〔位[0]〕為1時(shí),執(zhí)行BX指令進(jìn)入Thumb形狀。假設(shè)處置器在Thumb形狀進(jìn)入異常,那么當(dāng)異常處置〔IRQ、FIQ、Undef、Abort和SWI〕前往時(shí),自動(dòng)轉(zhuǎn)換到Thumb形狀。進(jìn)入ARM形狀當(dāng)操作數(shù)存放器的形狀位〔位[0]〕為0時(shí),執(zhí)行BX指令進(jìn)入ARM形狀。處置器進(jìn)展異常處置〔IRQ、FIQ、Reset、Undef、Abort和SWI〕。在此情況下,把PC放入異常方式鏈接存放器中。從異常向量地址開(kāi)場(chǎng)執(zhí)行也可以進(jìn)入ARM形狀。1/7/202471合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院任務(wù)形狀切換方法運(yùn)用BX指令可以將ARM7TDMI(-S)內(nèi)核的任務(wù)形狀在ARM形狀和Thumb形狀之間進(jìn)展切換。參看下例:;從ARM形狀轉(zhuǎn)變?yōu)門(mén)humb形狀 LDR R0,=Lable+1 BX R0;從Thumb形狀轉(zhuǎn)變?yōu)锳RM形狀 LDR R0,=Lable BX R01/7/202472合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院4.5ARM存放器組織ARM處置器總共有37個(gè)32位存放器,其中有31個(gè)通用存放器,6個(gè)形狀存放器〔到目前為止只定義了12位〕。這些存放器按照任務(wù)方式分成不同的組。編程時(shí)哪些存放器組可用,哪些存放器組不可用,由處置器的形狀和方式?jīng)Q議。下表示出了ARM任務(wù)形狀下每一種方式下運(yùn)用的存放器組。1/7/202473合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM存放器組織1/7/202474合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院影子存放器在ARM存放器組織表中帶有陰影色塊的存放器稱(chēng)為影子存放器,它們是為處置器不同任務(wù)方式配備的公用物理存放器。在異常方式下,它們將替代用戶(hù)或者系統(tǒng)方式下運(yùn)用的部分存放器。在管理、中止、未定義和普通中斷方式下,影子存放器的數(shù)量均為2個(gè)。而快速中斷為7個(gè)。1/7/202475合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ATPCS命名規(guī)那么ATPCS是集成開(kāi)發(fā)環(huán)境ADS中規(guī)定的子程序之間調(diào)用的根本規(guī)那么。在該規(guī)那么中對(duì)ARM處置器中的存放器給出了命名規(guī)那么。程序員在編程時(shí)運(yùn)用ATPCS規(guī)定的存放器稱(chēng)號(hào)可以方便記憶,提高任務(wù)效率,減少過(guò)失。1/7/202476合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院ARM存放器的運(yùn)用規(guī)那么〔1〕子程序間經(jīng)過(guò)存放器R0~R3來(lái)傳送參數(shù)。這時(shí),存放器R0~R3可記作a0~a3。被調(diào)用的子程序在前往前無(wú)需恢復(fù)存放器R0~R3的內(nèi)容。在子程序中,運(yùn)用存放器R4~R11來(lái)保管部分變量。這時(shí),存放器R4~R11可以記作v1~v8。假設(shè)在子程序中運(yùn)用了存放器v1~v8中的某些存放器,那么子程序

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論