南航嵌入式實(shí)時(shí)操作系統(tǒng)課件第2章嵌入式硬件系統(tǒng)_第1頁(yè)
南航嵌入式實(shí)時(shí)操作系統(tǒng)課件第2章嵌入式硬件系統(tǒng)_第2頁(yè)
南航嵌入式實(shí)時(shí)操作系統(tǒng)課件第2章嵌入式硬件系統(tǒng)_第3頁(yè)
南航嵌入式實(shí)時(shí)操作系統(tǒng)課件第2章嵌入式硬件系統(tǒng)_第4頁(yè)
南航嵌入式實(shí)時(shí)操作系統(tǒng)課件第2章嵌入式硬件系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩167頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章

嵌入式硬件系統(tǒng)主要內(nèi)容基本組成嵌入式微處理器總線存儲(chǔ)器2.1基本組成

嵌入式系統(tǒng)的硬件是以嵌入式微處理器為核心,主要由嵌入式微處理器、總線、存儲(chǔ)器、輸入/輸出接口和設(shè)備組成。嵌入式微處理器總線存儲(chǔ)器輸入/輸出接口和設(shè)備

1.嵌入式微處理器微處理器是整個(gè)系統(tǒng)的核心,通常由3大部分組成:控制單元、算術(shù)邏輯單元和寄存器。算術(shù)邏輯單元寄存器控制單元微處理器存儲(chǔ)器輸入輸出2.1嵌入式處理器的基本結(jié)構(gòu)1.嵌入式微處理器◆控制單元:主要負(fù)責(zé)取指、譯碼和取操作數(shù)等基本動(dòng)作,并發(fā)送主要的控制指令。程序計(jì)數(shù)器PC:記錄下一條程序指令的位置指令寄存器IR:存放所取的指令◆算術(shù)邏輯單元:算術(shù)運(yùn)算單元,進(jìn)行數(shù)學(xué)運(yùn)算,如加、減、乘、除或數(shù)值的比較;另一部分是邏輯運(yùn)算單元,主要處理邏輯運(yùn)算工作,如AND、OR、XOR或NOT等運(yùn)算?!艏拇嫫鳎河糜诖鎯?chǔ)暫時(shí)性的數(shù)據(jù)。2.總線嵌入式系統(tǒng)的總線一般集成在嵌入式微處理器中。從微處理器的角度來(lái)看,總線可分為:

片外總線(如:PCI、ISA等)

片內(nèi)總線(如:AMBA、AVALON、OCP、WISHBONE等)。選擇總線和選擇嵌入式微處理器密切相關(guān),總線的種類(lèi)隨不同的微處理器的結(jié)構(gòu)而不同。3.存儲(chǔ)器嵌入式系統(tǒng)的存儲(chǔ)器包括主存和外存。大多數(shù)嵌入式系統(tǒng)的代碼和數(shù)據(jù)都存儲(chǔ)在處理器可直接訪問(wèn)的存儲(chǔ)空間即主存中。系統(tǒng)上電后在主存中的代碼直接運(yùn)行。主存儲(chǔ)器的特點(diǎn)是速度快,一般采用ROM、EPROM、NorFlash、SRAM、DRAM等存儲(chǔ)器件。3.存儲(chǔ)器目前有些嵌入式系統(tǒng)除了主存外,還有外存。外存是處理器不能直接訪問(wèn)的存儲(chǔ)器,用來(lái)存放各種信息,相對(duì)主存而言具有價(jià)格低、容量大的特點(diǎn)。在嵌入式系統(tǒng)中一般不采用硬盤(pán)而采用電子盤(pán)做外存,電子盤(pán)的主要種類(lèi)有DOC(DiskOnChip)、NandFlash、CompactFlash、SmartMedia、MemoryStick、MultiMediaCard、SD(SecureDigital)卡等。

4.輸入/輸出接口和設(shè)備嵌入式系統(tǒng)的大多數(shù)輸入/輸出接口和部分設(shè)備已經(jīng)集成在嵌入式微處理器中。輸入/輸出接口主要有中斷控制器、DMA、串行和并行接口等設(shè)備主要有定時(shí)器(Timers)、計(jì)數(shù)器(counters)、看門(mén)狗(watchdogtimers)、RTC、UARTs、PWM(Pulsewidthmodulator)、AD/DA、顯示器、鍵盤(pán)和網(wǎng)絡(luò)等。2.2嵌入式微處理器嵌入式微處理器的體系結(jié)構(gòu)嵌入式微處理器的分類(lèi)嵌入式微處理器的特點(diǎn)主流的嵌入式微處理器X86ARMMIPS2.2.1嵌入式微處理器體系結(jié)構(gòu)每個(gè)嵌入式系統(tǒng)至少包含一個(gè)嵌入式微處理器。嵌入式微處理器體系結(jié)構(gòu)可采用:

馮?諾依曼(VonNeumann)結(jié)構(gòu)

哈佛(Harvard)結(jié)構(gòu)1.馮·諾依曼體系結(jié)構(gòu)與哈佛體系結(jié)構(gòu)

圖2.2馮·諾依曼體系結(jié)構(gòu)

圖2.3哈佛體系結(jié)構(gòu)(1)馮·諾依曼體系結(jié)構(gòu)傳統(tǒng)計(jì)算機(jī)采用馮·諾依曼(VonNeumann)體系結(jié)構(gòu),也稱普林斯頓結(jié)構(gòu)。將指令和數(shù)據(jù)存放在同一存儲(chǔ)空間中,統(tǒng)一編址,指令和數(shù)據(jù)通過(guò)同一總線訪問(wèn)。處理器在執(zhí)行任何指令時(shí),都要先從存儲(chǔ)器中取出指令解碼,再取操作數(shù)執(zhí)行運(yùn)算。這樣,即使單條指令也要耗費(fèi)幾個(gè),甚至幾十個(gè)時(shí)鐘周期,在高速運(yùn)算時(shí),在傳輸通道上會(huì)出現(xiàn)瓶頸效應(yīng)。(1)馮·諾依曼體系結(jié)構(gòu)在馮·諾依曼體系結(jié)構(gòu)中,PC只負(fù)責(zé)提供程序執(zhí)行所需要的指令或數(shù)據(jù),而不決定程序流程。要控制程序流程,則必須修改指令。目前,使用馮·諾依曼體系結(jié)構(gòu)的系列微處理器和微控制器有很多。其中包括英特爾公司的8086系列CPU、ARM公司的ARM系列微處理器、MIPS公司的MIPS系列微處理器等。

(2)哈佛體系結(jié)構(gòu)哈佛(Harvard)結(jié)構(gòu)則是不同于馮·諾依曼結(jié)構(gòu)的一種并行體系結(jié)構(gòu)。其主要特點(diǎn)是程序和數(shù)據(jù)存儲(chǔ)在不同的存儲(chǔ)空間中,即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是兩個(gè)相互獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編址、獨(dú)立訪問(wèn)。與之相對(duì)應(yīng)的是系統(tǒng)中設(shè)置的兩條總線(程序總線和數(shù)據(jù)總線),允許在一個(gè)機(jī)器周期內(nèi)同時(shí)獲取指令字(來(lái)自程序存儲(chǔ)器)和操作數(shù)(來(lái)自數(shù)據(jù)存儲(chǔ)器),從而提高了執(zhí)行速度,使數(shù)據(jù)的吞吐率提高了1倍。又由于程序和數(shù)據(jù)存儲(chǔ)器在兩個(gè)分開(kāi)的物理空間中,因此取指和執(zhí)行能完全重疊。

(2)哈佛體系結(jié)構(gòu)哈佛體系結(jié)構(gòu)的計(jì)算機(jī)由CPU、程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器組成,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器采用不同的總線,從而提供了較大的存儲(chǔ)器帶寬,使數(shù)據(jù)的移動(dòng)和交換更加方便,尤其提供了較高的數(shù)字信號(hào)處理性能。目前使用哈佛體系結(jié)構(gòu)的中央處理器和微控制器有很多,除了所有的DSP處理器,還有摩托羅拉公司的MC68系列、Zilog公司的z8系列、ATMEL公司的AVR系列和ARM公司的ARM9、ARM10和ARM11系列微處理器等。

2.ClSC與RISC

(1)復(fù)雜指令集計(jì)算機(jī)(ComplexInstructionSetComputer,CISC)

早期的計(jì)算機(jī)部件昂貴,主頻低、運(yùn)算速度慢。為了提高運(yùn)算速度,人們將越來(lái)越多的復(fù)雜指令加入到指令系統(tǒng)中,以提高計(jì)算機(jī)的處理效率,這就逐漸形成了復(fù)雜指令集計(jì)算機(jī)體系。為了在有限的指令長(zhǎng)度內(nèi)實(shí)現(xiàn)更多的指令,人們又設(shè)計(jì)了操作碼擴(kuò)展。然后,為了達(dá)到操作碼擴(kuò)展的先決條件——減少地址碼,又發(fā)明了各種各樣的尋址方式,如基址尋址、相對(duì)尋址等,以最大限度地壓縮地址碼長(zhǎng)度,為操作碼留出空間。Intel公司的X86系列CPU是典型的CISC體系的結(jié)構(gòu),從最初的8086到后來(lái)的Puntuim系列,每出一代新的CPU,都會(huì)有自己新的指令,而為了兼容以前CPU平臺(tái)上的軟件,舊的CPU的指令集又必須保留,這就使指令的譯碼系統(tǒng)越來(lái)越復(fù)雜。

2.ClSC與RISC優(yōu)點(diǎn):CISC可以有效地減少編譯代碼中指令的數(shù)目,使取指令操作所需要的內(nèi)存訪問(wèn)數(shù)量達(dá)到最小化。CISC可以簡(jiǎn)化編譯器結(jié)構(gòu),它在處理器指令集中包含了類(lèi)似于程序設(shè)計(jì)語(yǔ)言結(jié)構(gòu)的復(fù)雜指令,這些復(fù)雜指令減少了程序設(shè)計(jì)語(yǔ)言和機(jī)器語(yǔ)言之間的語(yǔ)義差別,而且簡(jiǎn)化了編譯器的結(jié)構(gòu)。缺點(diǎn):在CISC中很難實(shí)現(xiàn)指令流水操作。較長(zhǎng)的時(shí)鐘周期CISC體系結(jié)構(gòu)對(duì)于高效處理器而言不太合適。

2.ClSC與RISC(2)精簡(jiǎn)指令集計(jì)算機(jī)(ReducedInstructionSetComputer,RISC)從技術(shù)發(fā)展的角度,CISC技術(shù)已很難再有突破性的進(jìn)展,要想大幅度提高性價(jià)比也很困難。而RISC技術(shù)是在CISC基礎(chǔ)上發(fā)展起來(lái)的。指令流水線短小且高效只使用了幾種簡(jiǎn)單的尋址方式簡(jiǎn)短的時(shí)鐘周期,達(dá)到更高的性能。RISC體系結(jié)構(gòu)的簡(jiǎn)化則要求一個(gè)更為復(fù)雜的編譯器。由于指令數(shù)目的減少,RISC編譯器將需要一系列的RISC指令來(lái)完成復(fù)雜的操作,也給編譯器帶來(lái)了靈活的優(yōu)化性能。

表2.1CISC與RISC的特點(diǎn)

2.ClSC與RISC和CISC架構(gòu)相比較,盡管RISC架構(gòu)有優(yōu)點(diǎn),但決不能認(rèn)為RISC架構(gòu)就可以取代CISC架構(gòu)。事實(shí)上,RISC和CISC各有優(yōu)勢(shì),而且界限并不那么明顯。現(xiàn)代的CPU往往采用CISC的外圍,內(nèi)部加入了RISC的特性,如超長(zhǎng)指令集CPU就是融合了RISC和CISC的優(yōu)勢(shì),成為未來(lái)的CPU發(fā)展方向之一。在PC和服務(wù)器領(lǐng)域,以X86為代表的CISC體系結(jié)構(gòu)是市場(chǎng)的主流。在嵌入式系統(tǒng)領(lǐng)域,由于降低成本和功耗比保持向下兼容更為重要,RISC結(jié)構(gòu)的微處理器將占有重要的位置。嵌入式微處理器嵌入式微處理器有許多不同的體系,即使在同一體系中也可能具有不同的時(shí)鐘速度和總線數(shù)據(jù)寬度、集成不同的外部接口和設(shè)備。據(jù)不完全統(tǒng)計(jì),目前全世界嵌入式微處理器的品種總量已經(jīng)超過(guò)千種,有幾十種嵌入式微處理器體系,主流的體系有ARM、MIPS、PowerPC、X86、SH等。3.嵌入式微處理器的分類(lèi)嵌入式微處理器種類(lèi)繁多,按位數(shù)可分為4位、8位、16位、32位和64位。按用途來(lái)分,嵌入式微處理器可分為嵌入式DSP和通用的嵌入式微處理器兩種:嵌入式DSP:專用于數(shù)字信號(hào)處理,采用哈佛結(jié)構(gòu),程序和數(shù)據(jù)分開(kāi)存儲(chǔ),采用一系列措施保證數(shù)字信號(hào)的處理速度,如對(duì)FFT(快速傅立葉變換)的專門(mén)優(yōu)化。通用的嵌入式微處理器:一般是集成了通用微處理器的核、總線、外圍接口和設(shè)備的SOC芯片,有些還將DSP作為協(xié)處理器集成。2.2.2嵌入式微處理器的特點(diǎn)集成度。基礎(chǔ)是通用微處理器體系結(jié)構(gòu) 。與通用微處理器相比的區(qū)別:

指令集 .體積小、重量輕、成本低、性能

可靠性高功耗和管理.功耗低成本.工作溫度、抗電磁干擾、可靠

性等方面增強(qiáng)1.嵌入式微處理器的集成度用于桌面和服務(wù)器的微處理器的芯片內(nèi)部通常只包括CPU核心、Cache、MMU、總線接口等部分,其他附加的功能如外部接口、系統(tǒng)總線、外部總線和外部設(shè)備獨(dú)立在其他芯片和電路內(nèi)。

嵌入式微處理器除了集成CPU核心、Cache、MMU、總線等部分外,還集成了各種外部接口和設(shè)備,如中斷控制器、DMA、定時(shí)器、UART等。符合嵌入式系統(tǒng)的低成本和低功耗需求,一塊單一的、集成了大多數(shù)需要的功能塊的芯片價(jià)格更低,功耗更少。1.嵌入式微處理器的集成度嵌入式微處理器是面向應(yīng)用的,其片內(nèi)所包含的組件的數(shù)目和種類(lèi)是由它的市場(chǎng)定位決定的。在最普通的情況下,嵌入式微處理器包括:片內(nèi)存儲(chǔ)器:部分嵌入式微處理器外部存儲(chǔ)器的控制器,外設(shè)接口(串口,并口)LCD控制器:面向終端類(lèi)應(yīng)用的嵌入式微處理器中斷控制器,DMA控制器,協(xié)處理器定時(shí)器,A/D、D/A轉(zhuǎn)換器多媒體加速器:當(dāng)高級(jí)圖形功能需要時(shí)總線其他標(biāo)準(zhǔn)接口或外設(shè)1.嵌入式微處理器的集成度集成外圍邏輯芯片方式:?jiǎn)涡酒绞剑⊿ingleChip)芯片組方式(ChipSet):由微處理器主芯片和一些從芯片組成2.嵌入式微處理器的體系結(jié)構(gòu)算術(shù)格式(ArithmeticFormat)由于低成本和低功耗的限制,大多數(shù)的嵌入式微處理器使用定點(diǎn)運(yùn)算(fixed-pointarithmetic),即數(shù)值被表示為整數(shù)或在-1.0和+1.0之間的分?jǐn)?shù),比數(shù)值表示為尾數(shù)和指數(shù)的浮點(diǎn)版本的芯片便宜。當(dāng)嵌入式系統(tǒng)中需要使用浮點(diǎn)運(yùn)算時(shí),可采用軟件模擬的方式實(shí)現(xiàn)浮點(diǎn)運(yùn)算,只不過(guò)這樣要占用更多的處理器時(shí)間。功能單元(FunctionalUnits)通常包括不止一個(gè)的功能單元,典型的是包含一個(gè)ALU、移位器和MAC,處理器通常用一條指令完成乘法操作。流水線(Pipeline)通常采用單周期執(zhí)行指令,可能導(dǎo)致比較長(zhǎng)的流水線3.嵌入式微處理器的指令集為滿足應(yīng)用領(lǐng)域的需要,嵌入式微處理器的指令集一般要針對(duì)特定領(lǐng)域的應(yīng)用進(jìn)行剪裁和擴(kuò)充。目前很多應(yīng)用系統(tǒng)需要類(lèi)似于DSP的數(shù)字處理功能。這些指令主要有:乘加(MAC)操作:它在一個(gè)周期中執(zhí)行了一次乘法運(yùn)算和一次加法運(yùn)算。SIMD類(lèi)操作:允許使用一條指令進(jìn)行多個(gè)并行數(shù)據(jù)流的計(jì)算。零開(kāi)銷(xiāo)的循環(huán)指令:采用硬件方式減少了循環(huán)的開(kāi)銷(xiāo)。僅使用兩條指令實(shí)現(xiàn)一個(gè)循環(huán),一條是循環(huán)的開(kāi)始并提供循環(huán)次數(shù),另一條是循環(huán)體。多媒體加速指令:像素處理、多邊形、3D操作等指令。4.嵌入式微處理器的性能低端(低價(jià),低性能)

一般低端嵌入式微處理器的性能最多達(dá)到50MIPS,應(yīng)用在對(duì)性能要求不高但對(duì)價(jià)格和功耗有嚴(yán)格要求的應(yīng)用系統(tǒng)中。中檔,低功耗中檔的嵌入式微處理器可達(dá)到較好的性能(如150MIPS以上),采用增加時(shí)鐘頻率、加深流水深度、增加Cache及一些額外的功能塊來(lái)提高性能,并保持低功耗。高端4.嵌入式微處理器的性能高端嵌入式微處理器用于高強(qiáng)度計(jì)算的應(yīng)用,使用不同的方法來(lái)達(dá)到更高的并行度單指令執(zhí)行乘法操作:通過(guò)加入額外的功能單元和擴(kuò)展指令集,使許多操作能在一個(gè)單一的周期內(nèi)并行執(zhí)行。每個(gè)周期執(zhí)行多條指令:桌面和服務(wù)器的超標(biāo)量處理器都支持單周期多條指令執(zhí)行,在嵌入式領(lǐng)域通常使用VLIW(verylargeinstructionword)來(lái)實(shí)現(xiàn),這樣只需較少的硬件,總體價(jià)格會(huì)更低些。例如TI的TMS320C6201芯片,通過(guò)使用VLIW方法,能在每個(gè)周期同時(shí)執(zhí)行8條獨(dú)立的32位指令。使用多處理器:采用多處理器的方式滿足應(yīng)用系統(tǒng)的更高要求。一些嵌入式微處理器采用特殊的硬件支持多處理器。如TI的OMAP730包括了三個(gè)處理器核ARM9、ARM7、DSP。5.嵌入式微處理器的功耗管理大多數(shù)嵌入式系統(tǒng)有功耗的限制(特別是電池供電的系統(tǒng)),它們不支持使用風(fēng)扇和其他冷卻設(shè)備。降低功耗的技術(shù):降低工作電壓:1.8v、1.2v甚至更低,而且這個(gè)數(shù)值一直在下降。提供不同的時(shí)鐘頻率:通過(guò)軟件設(shè)置不同的時(shí)鐘分頻。關(guān)閉暫時(shí)不使用的功能塊:如果某功能塊在一個(gè)周期內(nèi)不使用,就可以被完全關(guān)閉,以節(jié)約能量。5.嵌入式微處理器的功耗管理提供功耗管理機(jī)制

運(yùn)行模式(RunningMode):處理器處于全速運(yùn)行狀態(tài)下。待命模式(StandbyMode):處理器不執(zhí)行指令,所有存儲(chǔ)的信息是可用的,處理器能在幾個(gè)周期內(nèi)返回運(yùn)行模式。時(shí)鐘關(guān)閉模式(clock-offmode):時(shí)鐘完全停止,要退出這個(gè)模式系統(tǒng)需要重新啟動(dòng)。影響功耗的其他因素還有總線(特別是總線轉(zhuǎn)換器,可以采用特殊的技術(shù)使它的功耗最?。┖痛鎯?chǔ)器的大小(如果使用DRAM,它需要不斷的刷新)。為了使功耗最小,總線和存儲(chǔ)器要保持在應(yīng)用系統(tǒng)可接受的最小規(guī)模。6.嵌入式微處理器的成本為降低價(jià)格,需要在嵌入式微處理器的設(shè)計(jì)中考慮不同的折衷方案。處理器的價(jià)格受如下因素影響:處理器的特點(diǎn):功能塊的數(shù)目、總線類(lèi)型等。片上存儲(chǔ)器的大小。芯片的引腳數(shù)和封裝形式:如塑料四邊引出扁平封裝PQFP(PlasticQuadFlatPackage)通常比球柵陣列封裝BGA(BallGridArrayPackage)便宜。芯片大小(diesize):取決于制造的工藝水平6.嵌入式微處理器的成本代碼密度(codedensity):代碼存儲(chǔ)器的大小將影響價(jià)格,不同種類(lèi)的處理器有不同的代碼密度:CISC芯片代碼密度高,但結(jié)構(gòu)復(fù)雜,其額外的控制邏輯單元使價(jià)格變得很高;RISC芯片擁有簡(jiǎn)單的結(jié)構(gòu),代碼密度低,因?yàn)槠渲噶罴?jiǎn)單;VLIW代碼密度最低,因?yàn)樗闹噶钭謨A向于采用多字節(jié)。2.2.3主流的嵌入式微處理器目前主流的嵌入式微處理器系列主要有ARM系列、MIPS系列、PowerPC系列、SuperH系列和X86系列等。屬于這些系列的嵌入式微處理器產(chǎn)品很多,有上千種以上。X86系列主要由AMD,Intel,NS,ST等公司提供,如:Am186/88、Elan520、嵌入式K6,386EX、STPC等。主要應(yīng)用在工業(yè)控制、通信等領(lǐng)域。國(guó)內(nèi)由于對(duì)X86體系比較熟悉,得到廣泛應(yīng)用,特別是嵌入式PC的應(yīng)用非常廣泛。X86系列它起源于Intel架構(gòu)的8080,再發(fā)展出286、386、486,直到現(xiàn)在的Pentium4、Athlon和AMD的64位處理器Hammer。從嵌入式市場(chǎng)來(lái)看,486DX是當(dāng)時(shí)和ARM、68K、MIPS、SuperH齊名的五大嵌入式處理器之一,8080是第一款主流的處理器。今天的Pentium和當(dāng)初的8080使用相同的指令集,這有利也有弊,利是可以保持兼容性,至少10年前寫(xiě)的程序在現(xiàn)在的機(jī)器上還能運(yùn)行;弊端是限制了CPU性能的提高。MPC/PPC系列(PowerPC)

PowerPC架構(gòu)的特點(diǎn)是可伸縮性好,方便靈活。Motorola推出的MPC系列,如MPC8XX。IBM推出PPC系列,如PPC4XX。主要應(yīng)用在通信及消費(fèi)電子領(lǐng)域。IBM:PPC系列IBMPowerPC405GP集成10/100Mbps以太網(wǎng)控制器、串行和并行端口、內(nèi)存控制器以及其它外設(shè)的高性能嵌入式處理器。PowerPC405GP嵌入式處理器的特性:◆PowerPC405GP是一個(gè)專門(mén)應(yīng)用于網(wǎng)絡(luò)設(shè)備的高性能嵌入式處理器,包括有線通信、數(shù)據(jù)存儲(chǔ)以及其他計(jì)算機(jī)設(shè)備?!魯U(kuò)展了PowerPC處理器家族的可伸縮性?!魬?yīng)用軟件源代碼兼容所有其他的PowerPC處理器?!衾米罡呖蛇_(dá)133MHz外頻的64位CoreConnect總線體系結(jié)構(gòu),提供高性能、響應(yīng)時(shí)間短的嵌入式芯片?!籼峁┝司哂袆?chuàng)新意義的CodePack的代碼壓縮,極大地改進(jìn)了指令代碼密度并減少了系統(tǒng)整體成本?!鬚owerPC405GP的藍(lán)色邏輯上層結(jié)構(gòu)為要求低功耗的嵌入式處理器提供了理想的解決方案,其可重復(fù)使用的核心、靈活的高性能總線結(jié)構(gòu)、可定制SOC設(shè)計(jì)等特性極大地縮短了產(chǎn)品從設(shè)計(jì)到上市的時(shí)間。

Motorola:PowerPC-MPCMotorolaMPC823e高度綜合的SOC設(shè)備,它結(jié)合了PPC微處理器核心的功能、通信處理器和單硅成分內(nèi)的顯示控制器。這個(gè)設(shè)備可以在大量的電子應(yīng)用中使用,特別是在低能源、便攜式、圖像捕捉和個(gè)人通信設(shè)備。MPC823e微處理器使用帶有大量數(shù)據(jù)和指令高速緩存的雙處理器結(jié)構(gòu)設(shè)計(jì)方法,使用通用RISC整數(shù)處理器和特殊32-bit標(biāo)量RISC通信處理器模塊來(lái)提供高性能。為了通信的需要,外設(shè)的設(shè)計(jì)獨(dú)特,可以為高速數(shù)字通信、成像、用戶接口的增加和其他I/O的支持提供嵌入式信號(hào)處理功能。MIPS:簡(jiǎn)介MIPS是世界上很流行的一種RISC處理器。MIPS的意思是“無(wú)互鎖流水級(jí)的微處理器”(Microprocessorwithoutinterlockedpipedstages)。其機(jī)制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關(guān)問(wèn)題。MIPS處理器是由斯坦福(Stanford)大學(xué)JohnHennery教授領(lǐng)導(dǎo)的研究小組研制出來(lái)的。PresidentofStanfordUniversity,USAComputerarchitecturebookuseMIPSasfoundationMIPS:發(fā)展歷程1984年MIPS計(jì)算機(jī)公司成立。1986年推出R2000處理器。1988年推出R3000處理器。1989年IPOasMIPSComputerSystems,專注于workstations1991年推出第一款64位商用微處理器R4000。1992年,SGI收購(gòu)了MIPS計(jì)算機(jī)公司之后,該公司又陸續(xù)推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型號(hào)的處理器。1998年,MIPS脫離SGI成為MIPSTechnologies之后IPO,其戰(zhàn)略發(fā)生變化,把重點(diǎn)放在了嵌入式系統(tǒng)上。MIPS:發(fā)展歷程1999年,MIPS公司發(fā)布MIPS32和MIPS64架構(gòu)標(biāo)準(zhǔn),為未來(lái)MIPS處理器的開(kāi)發(fā)奠定了基礎(chǔ)。新的架構(gòu)集成了所有原來(lái)的MIPS指令集,并且增加了許多更強(qiáng)大的功能。和ARM公司一樣,MIPS公司本身并不從事芯片的生產(chǎn)活動(dòng)(只進(jìn)行設(shè)計(jì)),不過(guò)其他公司如果要生產(chǎn)該芯片的話必須得到MIPS公司的許可。MIPS:指令體系MIPS指令集體系ISA(MIPSInstructionSetArchitecture)從最早的MIPSIISA開(kāi)始發(fā)展,到MIPSVISA,再到現(xiàn)在的MIPS32和MIPS64結(jié)構(gòu),其所有版本都是與前一個(gè)版本兼容的。在MIPSIII的ISA中,增加了64位整數(shù)和64位地址。在MIPSIV和MIPSV的ISA中增加了浮點(diǎn)數(shù)的操作等。MIPS:指令體系MIPSIMIPSVMIPS32和MIPS64結(jié)構(gòu),其所有版本都是與前一個(gè)版本兼容的。MIPS32和MIPS64體系是為滿足高性能、成本敏感的需求而設(shè)計(jì)的。MIPS32體系是基于MIPSII的,并從MIPSIII、MIPSIV和MIPSV中選擇一些指令以增強(qiáng)數(shù)據(jù)和代碼的有效操作。MIPS64體系是基于MIPSV并與MIPS32體系兼容的。ARM系列ARM(AdvancedRISCMachine)公司是一家專門(mén)從事芯片IP設(shè)計(jì)與授權(quán)業(yè)務(wù)的英國(guó)公司,是全球領(lǐng)先的16/32位RISC微處理器知識(shí)產(chǎn)權(quán)設(shè)計(jì)供應(yīng)商。其產(chǎn)品有ARM內(nèi)核以及各類(lèi)外圍接口。ARM公司通過(guò)轉(zhuǎn)讓高性能、低成本、低功耗的RISC微處理器、外圍和系統(tǒng)芯片設(shè)計(jì)技術(shù)給合作伙伴,使他們能用這些技術(shù)來(lái)生產(chǎn)各具特色的芯片。ARM已成為移動(dòng)通信、手持設(shè)備、多媒體數(shù)字消費(fèi)嵌入式解決方案的RISC標(biāo)準(zhǔn)。ARMLtd成立于1990年11月前身為Acorn計(jì)算機(jī)公司AdvanceRISCMachine(ARM)主要設(shè)計(jì)ARM系列RISC處理器內(nèi)核授權(quán)ARM內(nèi)核給生產(chǎn)和銷(xiāo)售半導(dǎo)體的合作伙伴ARM公司不生產(chǎn)芯片IP(IntelligenceProperty)另外也提供基于ARM架構(gòu)的開(kāi)發(fā)設(shè)計(jì)技術(shù)軟件工具,評(píng)估板,調(diào)試工具,應(yīng)用軟件,總線架構(gòu),外圍設(shè)備單元,等等ARM微處理器的應(yīng)用領(lǐng)域工業(yè)控制領(lǐng)域無(wú)線通訊領(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處理器的3大特點(diǎn)如下:小體積、低功耗、成本低、高性能;16位/32位雙指令集;全球眾多的合作伙伴。當(dāng)前ARM體系結(jié)構(gòu)的擴(kuò)充包括:Thumb:16位指令集,用以改善代碼密度;DSP:用于DSP應(yīng)用的算術(shù)運(yùn)算指令集;Jazeller:允許直接執(zhí)行Java代碼的擴(kuò)充。ARM處理器系列提供的解決方案包括:在無(wú)線、消費(fèi)電子和圖像應(yīng)用方面的開(kāi)放平臺(tái);存儲(chǔ)、自動(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把ARMIP和其他IP集成進(jìn)產(chǎn)品OEMCustomer版權(quán)費(fèi)單價(jià)OEM用來(lái)自ARMPartner的芯片設(shè)計(jì)制造最終用戶產(chǎn)品業(yè)務(wù)拓展

/市場(chǎng)格局ARM的業(yè)務(wù)模型ARM系列ARM處理器有3大特點(diǎn):小體積、低功耗、低成本而高性能;16/32位雙指令集;全球眾多的合作伙伴。目前,70%的移動(dòng)電話、大量的游戲機(jī)、手持PC和機(jī)頂盒等都已采用了ARM處理器,許多一流的芯片廠商都是ARM的授權(quán)用戶(Licensee),如Intel、Samsung、TI、Motorola、ST等,ARM已成為業(yè)界公認(rèn)的嵌入式微處理器標(biāo)準(zhǔn)。ARM微處理器經(jīng)過(guò)近20年的發(fā)展,ARM體系結(jié)構(gòu)已經(jīng)發(fā)展得日趨成熟,功能也越來(lái)越強(qiáng),應(yīng)用領(lǐng)域也越來(lái)越廣泛。從最初到現(xiàn)在,已經(jīng)有六個(gè)主要的版本:ARMv1,ARMv2,ARMv3,ARMv4,ARMv5,ARMv6。ARMv1系列的CPU主要還是作為研究之用。后面幾種都得到了較為廣泛的應(yīng)用,特別是ARMv4系列的CPU目前仍然是ARM芯片的主要開(kāi)發(fā)版本。ARM體系結(jié)構(gòu)版本

-1Version1(obsolete)基本數(shù)據(jù)處理字節(jié),字以及多字load/store軟件中斷26bit地址總線Version2(obsolete)Multiply&Multiply-accumulate支持協(xié)處理器支持線程同步26bit地址總線ARM體系結(jié)構(gòu)版本

-2V3版本推出32位尋址能力,結(jié)構(gòu)擴(kuò)展變化為T(mén)—16位壓縮指令集M—增強(qiáng)型乘法器,產(chǎn)生全64位結(jié)果(32X3264or32X32+6464)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位指令重新編碼代碼尺寸小

(upto40%compression)簡(jiǎn)化設(shè)計(jì)體系結(jié)構(gòu)變化

-2長(zhǎng)乘法指令

(‘M’)32x32=64bit.提供全64位結(jié)果增強(qiáng)DSP指令集

(‘E’)可附加在ARM中的DSP指令64bit轉(zhuǎn)換在v5版本中第一次推出處理器內(nèi)核的變化D:在片調(diào)試.處理器可響應(yīng)調(diào)試暫停請(qǐng)求I:EmbeddedICE.支持片上斷點(diǎn)調(diào)試體系結(jié)構(gòu)變化

-3ARMDSP指令集對(duì)于音頻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-110ARM7TDMI4T1Halfwordandsignedhalfword/bytesupportSystemmodeThumbinstructionset24ARM9TDMISA-1110ARM720TARM940TImprovedARM/ThumbInterworkingCLZ5TESaturatedmathsDSPmultiply-accumulateinstructionsXScaleARM1020EARM9E-SARM966E-S3EarlyARMarchitecturesARM9EJ-S5TEJARM7EJ-SARM926EJ-SJazelleJavabytecode

execution6ARM1136EJ-SARM1026EJ-SSIMDInstructionsMulti-processingV6Memoryarchitecture(VMSA)UnaligneddatasupportARM微處理器目前ARM處理器主要有5大系列:ARM7、ARM9、ARM9E、ARM10、SecurCore。

此外還有與Intel合作實(shí)現(xiàn)的StrongARM和XScale處理器,性能從30MIPS到1200MIPS不等。P34表2-3ARM各個(gè)系列產(chǎn)品信息ARM7系列一般包括ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ幾種內(nèi)核。ARM7TDMI是目前使用最廣泛的32位嵌入式RISC處理器之一,主要應(yīng)用于工業(yè)控制、Internet設(shè)備、網(wǎng)絡(luò)和調(diào)制解調(diào)器設(shè)備、移動(dòng)電話等多種多媒體和嵌入式應(yīng)用。TDMI的基本含義如下:·T支持16位壓縮指令集Thumb; ·D支持片上Debug; ·M內(nèi)嵌硬件乘法器(Multiplier); ·I嵌入式ICE,支持片上斷點(diǎn)和調(diào)試點(diǎn)。ARM7系列ARM7TDMI由于采用RISC的原理設(shè)計(jì),故具有指令精煉,代碼少,譯碼結(jié)構(gòu)簡(jiǎn)單,集成門(mén)數(shù)少,功耗低等特點(diǎn)。ARM7TDMI的主要特點(diǎn)如下: ·32位嵌入式RISC處理器 ·3級(jí)指令流水線 ·32位ARM指令集,兼容16位Thumb指令集 ·支持32位、16位、8位數(shù)據(jù)類(lèi)型 ·支持協(xié)處理器 ·實(shí)時(shí)中斷處理系統(tǒng)ARM9系列包括ARM920T、ARM922T和ARM940T3種類(lèi)型,主要應(yīng)用于無(wú)線設(shè)備、儀器儀表、安全系統(tǒng)、機(jī)頂盒、高端打印機(jī)、數(shù)字照相機(jī)和數(shù)字?jǐn)z像機(jī)等。ARM9具有以下特點(diǎn)。 ·5級(jí)流水線,指令執(zhí)行效率更高; ·提供1.1MIPS/MHz的哈佛結(jié)構(gòu); ·支持32位元ARM指令集和16位元Thumb指令集; ·支持32位元的高速AMBA匯流排界面; ·全性能的MMU,支持WindowsCE、Linux、PalmOS等多種主流嵌入式操作系統(tǒng); ·支持?jǐn)?shù)據(jù)Cache和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。ARM系列

ARM9E系列:包含ARM926EJ-S、ARM946E-S和ARM966E-S3種類(lèi)型。主要應(yīng)用于下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備等領(lǐng)域。

ARMl0E系列:包含ARM1020E、ARM1022E和ARM1026EJ-S3種類(lèi)型。主要應(yīng)用于下一代無(wú)線設(shè)備、數(shù)字消費(fèi)品、成像設(shè)備、工業(yè)控制、通信和信息系統(tǒng)等領(lǐng)域。SecurCore系列:包含SecurCoreSCl00、SecurCoreSC110、SecurCoreSC200和SecurCoreSC2104種類(lèi)型,主要應(yīng)用于一些對(duì)安全性要求較高的應(yīng)用產(chǎn)品及應(yīng)用系統(tǒng),如電子商務(wù)、電子政務(wù)、電子銀行業(yè)務(wù)、網(wǎng)絡(luò)和認(rèn)證系統(tǒng)等領(lǐng)域。其他系列

Intel的Xscale:該處理器是基于ARMv5TE架構(gòu)的解決方案,是一款全性能、高成本效益比、低功耗的處理器。它支持16位的Thumb指令和DSP指令集,已使用在許多移動(dòng)電話、個(gè)人數(shù)字助理(PDA)和網(wǎng)絡(luò)產(chǎn)品等場(chǎng)合。Intel的StrongARM:SA-1100處理器是采用ARM架構(gòu)高度整合的32位元RISC微處理器。它融合了Intel公司的設(shè)計(jì)和處理技術(shù)以及ARM架構(gòu)的電源效率,采用在軟件上相容ARMv4架構(gòu),同時(shí)采用具有Intel技術(shù)優(yōu)點(diǎn)的架構(gòu)。IntelStrongARM處理器是便攜型通信產(chǎn)品和消費(fèi)類(lèi)電子產(chǎn)品的理想選擇,已成功應(yīng)用于多家公司的掌上電腦系列。ARM7TDMIARM7TDMI處理器是ARM7處理器系列成員之一,是目前應(yīng)用最廣的32位高性能嵌入式RISC處理器。ARM7TDMI是基于ARM7內(nèi)核3級(jí)流水線馮.諾依曼架構(gòu)CPI(CyclePerInstruction)約為1.9T-Thumb架構(gòu)擴(kuò)展,提供兩個(gè)獨(dú)立的指令集:ARM指令,均為32位Thumb指令,均為16位兩種運(yùn)行狀態(tài),用來(lái)選擇哪個(gè)指令集被執(zhí)行D-內(nèi)核具有Debug擴(kuò)展結(jié)構(gòu)M-增強(qiáng)乘法器(32x8)支持64位結(jié)果.I-EmbeddedICE邏輯ARM7TDMI內(nèi)核信號(hào)ARM7TDMI硬件結(jié)構(gòu)方框圖ARM7TDMI主核和外部的總線連接是通過(guò)總線分割器(BusSplitter),內(nèi)部數(shù)據(jù)總線為32位,而外部32位數(shù)據(jù)輸入和輸出分開(kāi),分別為DIN[31:0],DOUT[31:0],而地址線仍為公用的32位地址線。為便于調(diào)試和測(cè)試,設(shè)置TAP(TestAscessingPort),它是測(cè)試訪問(wèn)接口。一般外部調(diào)試主機(jī)使用JTAG通過(guò)串行通信訪問(wèn)ARM處理器,這是常用的以ARM為核嵌入式系統(tǒng)的調(diào)試方法。圖中掃描鏈0~2亦便于調(diào)試。ARM7TDMI內(nèi)核ARM7TDMI它分為二部分,左面為CPU的寄存器陣列和總線邏輯,右面為CPU的I/O控制邏輯和指令譯碼器。其中輸入控制邏輯直接影響CPU的運(yùn)行,例如中斷控制邏輯會(huì)引起CPU異常中斷等,字節(jié)鎖存控制要求CPU鎖存總線上4個(gè)字節(jié)。輸出邏輯對(duì)外部進(jìn)行控制,例如總線傳輸方向(讀/寫(xiě))和訪問(wèn)的模式(特權(quán)還是用戶)等。ARM7TDMI指令流水線為增加處理器指令流的速度,ARM7系列使用3級(jí)流水線.允許多個(gè)操作同時(shí)處理,而非順序執(zhí)行。PC指向正被取指的指令,而非正在執(zhí)行的指令。ARM流水線ADDSUBADDCMPSUBADD取指譯碼執(zhí)行時(shí)間周期1周期2周期3ARM流水線的級(jí)數(shù)ARM9流水線增加到5級(jí),增加了存儲(chǔ)器訪問(wèn)段和回寫(xiě)段,使ARM9處理能力平均可達(dá)到1.1Dhrystone,指令吞吐量增加了約13%。隨著流水線深度(級(jí)數(shù))的增加,每一段的工作量被削減了,這使得處理器可以工作在更高的頻率,同時(shí)改進(jìn)了性能;負(fù)面作用是增加了系統(tǒng)的延時(shí),即內(nèi)核在執(zhí)行一條指令前,需要更多的周期來(lái)填充流水線;流水線級(jí)數(shù)的增加也意味著在某些段之間會(huì)產(chǎn)生數(shù)據(jù)相關(guān);ARM流水線結(jié)構(gòu)的發(fā)展預(yù)取(Fetch)譯碼(Decode)執(zhí)行(Execute)預(yù)?。‵etch)譯碼(Decode)執(zhí)行(Execute)訪存(Memory)寫(xiě)入(Write)預(yù)取(Fetch)譯碼(Decode)發(fā)送(Issue)預(yù)?。‵etch)預(yù)取(Fetch)執(zhí)行(Execute)訪存(Memory)寫(xiě)入(Write)譯碼(Decode)發(fā)送(Issue)執(zhí)行(Execute)轉(zhuǎn)換(Snny)訪存(Memory)寫(xiě)入(Write)ARM7ARM9ARM10ARM11ARM微處理器特性項(xiàng)目ARM7ARM9ARM10ARM11流水線3568典型頻率(MHz)80150260335功耗(mW/MHz)0.060.19(+cache)0.5(+cache)0.4(+cache)性能MIPS**/MHz0.971.11.31.2架構(gòu)馮諾伊曼哈佛哈佛哈佛乘法器83283216321632AMBA總線高級(jí)微控制器總線協(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í)行時(shí)間變得不可預(yù)測(cè),對(duì)實(shí)時(shí)系統(tǒng)而言,代碼執(zhí)行的確定性——裝載和存儲(chǔ)指令或數(shù)據(jù)的時(shí)間必須是可預(yù)測(cè)的;ARM采用緊耦合器TCM實(shí)現(xiàn)可預(yù)測(cè),TCM緊靠?jī)?nèi)核,保證取指或數(shù)據(jù)操作的時(shí)鐘周期數(shù)。TCM位于存儲(chǔ)器的地址映射中,可作為快速存儲(chǔ)器訪問(wèn);結(jié)合Cache和TCM,ARM即能改善性能,又能夠獲得可預(yù)測(cè)的實(shí)時(shí)響應(yīng);存儲(chǔ)器管理無(wú)保護(hù)模式:沒(méi)有存儲(chǔ)器的硬件保護(hù),只能提供非常有限的靈活性。通常用于小的、簡(jiǎn)單的嵌入式系統(tǒng),不要求存儲(chǔ)器保護(hù);提供有限保護(hù)的存儲(chǔ)器保護(hù)單元(MPU):MPU使用一個(gè)只用到少量存儲(chǔ)區(qū)域的簡(jiǎn)單系統(tǒng),這些區(qū)域由一組特殊的協(xié)處理器寄存器控制,每一個(gè)區(qū)域定義了專門(mén)的訪問(wèn)權(quán)限。適用于要求有存儲(chǔ)器保護(hù)但沒(méi)有復(fù)雜存儲(chǔ)器系統(tǒng)映射的系統(tǒng);提供全面保護(hù)的存儲(chǔ)器管理單元(MMU):MMU使用一組轉(zhuǎn)化表,以提供精細(xì)的存儲(chǔ)器控制。這些表保存在主存里,并且提供虛擬地址與物理地址的映射和訪問(wèn)權(quán)限。MMU適用于支持多任務(wù)的復(fù)雜操作系統(tǒng)平臺(tái)。協(xié)處理器協(xié)處理器可以附屬于ARM處理器,一個(gè)協(xié)處理器通過(guò)擴(kuò)展指令或提供配置寄存器來(lái)擴(kuò)展內(nèi)核處理功能;協(xié)處理器可以通過(guò)一組專門(mén)的、提供load-store類(lèi)型接口的ARM指令來(lái)訪問(wèn)。如協(xié)處理器15(CP15),用于控制Cache、TCM和存儲(chǔ)器管理;協(xié)處理器也能通過(guò)提供一組專門(mén)的新指令來(lái)擴(kuò)展指令集,如,處理向量浮點(diǎn)運(yùn)算的指令集;這些指令在ARM流水線的譯碼階段被處理,如果在譯碼階段發(fā)現(xiàn)是一條協(xié)處理器指令,則把它送給相應(yīng)的協(xié)處理器。如果該協(xié)處理器不存在,或不認(rèn)識(shí)該指令,則ARM認(rèn)為發(fā)生未定義指令異常;ARM體系結(jié)構(gòu)的命名規(guī)則ARM{X}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}x——系列y——存儲(chǔ)管理/保護(hù)單元z——CacheT——Thumb16位譯碼器D——JTAG調(diào)試器M——快速乘法器I——嵌入式跟蹤宏單元E——增強(qiáng)DSP指令J——JazelleF——向量浮點(diǎn)單元S——可綜合版本,以源代碼形式提供的ARM核ARM9TDMIHarvard架構(gòu)增加了可用的存儲(chǔ)器寬度指令存儲(chǔ)器接口數(shù)據(jù)存儲(chǔ)器接口可以實(shí)現(xiàn)對(duì)指令和數(shù)據(jù)存儲(chǔ)器的同時(shí)訪問(wèn)5級(jí)流水線實(shí)現(xiàn)了以下改進(jìn):改進(jìn)CPI到~1.5提高了最大時(shí)鐘頻率ARM9TDMI流水線的變化InstructionFetchShift+ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARMorThumb

InstDecodeRegSelectRegReadShiftALURegWriteThumb?ARM

decompressARMdecodeInstructionFetchFETCHDECODEEXECUTEARM7TDMIARM9TDMI數(shù)據(jù)通道(1)IA指令地址總線ARM9TDMI數(shù)據(jù)通道(2)寄存器BankPSR乘法器移位器ALUBAImmDINFWDBDATAADATA鎖存鎖存MU邏輯(至IA生成邏輯)結(jié)果周期操作ADD R1,R1,R2SUB R3,R4,R1ORR R8,R3,R4AND R6,R3,R1EOR R3,R1,R212345678LDR R4,[R7]9FDEFDEWFDEWFDEWFDWEFDEWF–取指(Fetch)D

–解碼(Decode) E–執(zhí)行(Execute)I–互鎖(Interlock)M–存儲(chǔ)器(Memory)W–寫(xiě)回(Writeback)ILDR互鎖本例中,用了7個(gè)時(shí)鐘周期執(zhí)行6條指令,CPI=1.2。LDR指令之后立即跟一條數(shù)據(jù)操作指令,由于使用了相同的寄存器,將會(huì)導(dǎo)致互鎖。WIM周期操作ADD R1,R1,R2SUB R3,R4,R1ORR R8,R3,R4AND R6,R3,R1EOR R3,R1,R2LDR R4,[R7]最佳流水線本例中,用了6個(gè)時(shí)鐘周期執(zhí)行6條指令,CPI=1。LDR指令沒(méi)有引起流水線互鎖123456789FDEWFDEWFEWFDEWFDWEFDEWF–取指(Fetch)D

–解碼(Decode) E–執(zhí)行(Execute)I–互鎖(Interlock)M–存儲(chǔ)器(Memory)W–寫(xiě)回(Writeback)MDLDM互鎖(1)本例中,用了8個(gè)時(shí)鐘周期執(zhí)行5條指令,CPI=1.6在LDM期間,有并行的存儲(chǔ)器訪問(wèn)和回寫(xiě)周期周期操作LDMIA R13!,{R0-R3}SUB R9,R7,R8ORR R8,R4,R3AND R6,R3,R112345678STR R4,[R9]9F–取指(Fetch)D

–解碼(Decode) E–執(zhí)行(Execute)MW-存儲(chǔ)器和回寫(xiě)同時(shí)執(zhí)行I–互鎖(Interlock)M–存儲(chǔ)器(Memory)W–寫(xiě)回(Writeback)FDEWFDEWDEFDEWFMDWEIIIIIIMFMWMWMWLDM互鎖(2)本例中,用了9個(gè)時(shí)鐘周期執(zhí)行5條指令,CPI=1.8

此處SUB使用了R3,增加了一個(gè)額外的互鎖周期來(lái)完成該寄存器數(shù)據(jù)的獲取這種情況對(duì)任何LDM指令,像帶IA,DB,FD,等,都會(huì)發(fā)生。周期操作LDMIA R13!,{R0-R3}SUB R9,R7,R3ORR R8,R4,R3AND R6,R3,R112345678STR R4,[R9]9F–取指(Fetch)D

–解碼(Decode) E–執(zhí)行(Execute)I–互鎖(Interlock)M–存儲(chǔ)器(Memory)W–寫(xiě)回(Writeback)FDEWFDEWDEFDEWFMDWEMWMWMWIIIIIIMIIFARM9TDMI系統(tǒng)舉例ARM9TDMI數(shù)據(jù)存儲(chǔ)器指令存儲(chǔ)器CTRLDA[..]DD[..]CTRLIA[..]ID[..]GLUEGLUE注意:數(shù)據(jù)接口必須能夠讀取指令存儲(chǔ)器中的數(shù)據(jù)。為調(diào)試方便,建議數(shù)據(jù)接口能夠讀寫(xiě)指令存儲(chǔ)器。帶Cache的ARM9TDMIARM9TDMIDCacheICacheMMUGLUE外部存儲(chǔ)器ARM920T2x16KcachesMMU支持虛擬地址和內(nèi)存保護(hù)寫(xiě)緩沖ARM940T2x4KcachesMPU寫(xiě)緩沖ARM9xxTARM處理器結(jié)構(gòu)綜述(一)ARM系列微處理器核特點(diǎn)ARM7ARM7TDMI:整數(shù)處理核ARM7TDMI處理器的可綜合版本;ARM720T:帶MMU的處理器核心,支持操作系統(tǒng);ARM7EJ-S:帶有DSP和JazelleTM技術(shù),能夠?qū)崿F(xiàn)Java加速功能馮諾伊曼體系結(jié)構(gòu);ARMTDMI是目前應(yīng)用最廣的微處理器核ARM720T帶有MMU和8KB的指令數(shù)據(jù)混合cache;ARM7EJ-執(zhí)行ARMv5TEJ指令,5級(jí)流水線,提供Java加速指令,沒(méi)有存儲(chǔ)器保護(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.13μm工藝下最高性能可達(dá)到300MIPS(Dhrystone2.1測(cè)試標(biāo)準(zhǔn));集成了數(shù)據(jù)和指令Chche;32位AMBA總線接口的MMU支持;可在0.18μm、0.15μm和0.13μm工藝的硅芯片上實(shí)現(xiàn)。ARM處理器結(jié)構(gòu)綜述(二)ARM9EARM926EJ-S:Jazelle技術(shù),有MMU,可配置的數(shù)據(jù)和指令Cache,TCM接口;ARM946E-S:可配置的數(shù)據(jù)和指令Cache及TCM;ARM966E-S:針對(duì)要求高性能和低功耗的可預(yù)測(cè)的指令執(zhí)行時(shí)間的硬實(shí)時(shí)應(yīng)用設(shè)計(jì)ARM968E-S:最小、功耗最小的

ARM9E系列處理器,針對(duì)嵌入式實(shí)時(shí)應(yīng)用設(shè)計(jì);ARM9E是針對(duì)微控制器、DSP和Java的單處理器解決方案;ARM

Jazelle

技術(shù)提供8倍的Java加速性能(ARM926EJ-S);5-級(jí)整數(shù)流水線;在0.13μm工藝下最高性能可達(dá)到300MIPS(Dhrystone2.1測(cè)試標(biāo)準(zhǔn));可選擇的

向量浮點(diǎn)單元VFP9協(xié)處理器指令優(yōu)秀浮點(diǎn)性能,對(duì)于3D圖形加速和實(shí)時(shí)控制可達(dá)到

215MFLOPS。高性能的AHB總線,帶MMU可在0.18μm,0.15μm,0.13μm工藝的硅芯片上實(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ù)測(cè)的6級(jí)整數(shù)流水線;在0.13μm工藝下最高性能可達(dá)到430MIPS(Dhrystone2.1測(cè)試標(biāo)準(zhǔn));對(duì)于3D圖形運(yùn)算和實(shí)時(shí)控制采用VFP協(xié)處理器,浮點(diǎn)運(yùn)算性能最高可達(dá)650MFLOPS;雙64位AMBA總線接口和64位內(nèi)部總路線接口;優(yōu)化的緩存結(jié)構(gòu)提高了處理器訪問(wèn)低速存儲(chǔ)器的性能;可在0.18μm,0.15μm,0.13μm工藝的硅芯片上實(shí)現(xiàn)ARM處理器結(jié)構(gòu)綜述(三)ARM11ARM11MPCore:可綜合的多處理器核,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:帶針對(duì)CPU和系統(tǒng)安全架構(gòu)擴(kuò)展的TrustZone技術(shù)。增強(qiáng)的Thumb、Jazelle、DSP擴(kuò)展支持;

帶片上和系統(tǒng)安全TrustZone

技術(shù)支持

;在0.13μm工藝下最高可達(dá)到550MHz;MPCore在0.13μm工藝下最高性能可達(dá)到740MIPS(Dhrystone2.1測(cè)試標(biāo)準(zhǔn));支持多媒體指令SIMD;采用三種電源模式:全速/待命/休眠集成DMA的TCM低功耗、高性能。

SecurCoreSC100:第一個(gè)32位安全處理器;、SC110:在SC100上增加密鑰協(xié)處理器;SC200:帶Jazelle技術(shù)的高級(jí)安全處理器;SC210:在SC200上增加密鑰協(xié)處理器SecurCore是專門(mén)為智能卡、安全I(xiàn)C提供的32位安全處理器,為電子商務(wù)、銀行、網(wǎng)絡(luò)、移動(dòng)多媒體、公共交通提供安全解決方案;體積小、功耗低,代碼壓縮密度高;為快速增長(zhǎng)的Java卡平臺(tái)提供Java加速功能;ARM處理器結(jié)構(gòu)綜述(四)CortexCortex-A:面向應(yīng)用的微處理器,針對(duì)復(fù)雜操作系統(tǒng)和應(yīng)用程序設(shè)計(jì);Cortex-R:針對(duì)實(shí)時(shí)系統(tǒng)的嵌入式處理器;Cortex-M:針對(duì)成本敏感應(yīng)用優(yōu)化的深度嵌入式處理器;2004年發(fā)布,提供增強(qiáng)的媒體和數(shù)字處理能力,增加了系統(tǒng)性能;支持ARM、Thumb、Thumb-2指令集;Thumb-2指令集提供了更高的代碼存儲(chǔ)密度,進(jìn)一步降低成本;Intel系列StrongARM:ARMv4體系XScale:ARMv5TE體系,增加MMX指令StrongARM主要應(yīng)用于手持設(shè)備和PDA,5級(jí)流水線,具有獨(dú)立的數(shù)據(jù)和指令Cache,不支持Thumb指令集,目前已停產(chǎn);XScale是目前Intel公司主推的高性能嵌入式處理器,分通用處理器、網(wǎng)絡(luò)處理器和I/O處理器三類(lèi)。其中通用處理器有PXA25x、PXA26x、PXA27x三個(gè)系列,被廣泛應(yīng)用于智能手機(jī)、PDA領(lǐng)域。應(yīng)用ARM微處理器的選型ARM內(nèi)核的選擇系統(tǒng)的工作頻率片內(nèi)存儲(chǔ)器的容量片內(nèi)外圍電路的選擇ARM編程模型ARM的存儲(chǔ)器模式處理器工作模式寄存器ARM內(nèi)核的數(shù)據(jù)流模型指令流水線為增加處理器指令流的速度,ARM7系列使用3級(jí)流水線.允許多個(gè)操作同時(shí)處理,比逐條指令執(zhí)行要快。PC指向正被取指的指令,而非正在執(zhí)行的指令FetchDecodeExecute從存儲(chǔ)器中讀取指令解碼指令寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(xiě)(到寄存器Bank)PC PCPC-4 PC-2PC-8 PC-4ARM Thumb處理器的工作狀態(tài)ARM7TDMI處理器有兩種工作狀態(tài):ARM-32-bit,按字排列的ARM指令集Thumb-16-bit,按半字排列的Thumb指令集ARM7TDMI核的操作狀態(tài)可能通過(guò)BX指令(分支和交換指令)在ARM狀態(tài)和Thumb狀態(tài)之間切換例:從ARM狀態(tài)切換到Thumb狀態(tài):LDRR0,=Label+1BXR0從Thumb狀態(tài)切換到ARM狀態(tài):LDRR0,=LabelBXR0存儲(chǔ)器模式*大端模式字?jǐn)?shù)據(jù)的高位字節(jié)存儲(chǔ)在低地址中字?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.小端存儲(chǔ)法(0x01234567)地址0x80000x80010x80020x8003數(shù)據(jù)(16進(jìn)制表示)0x670x450x230x01數(shù)據(jù)(二進(jìn)制表示)01100111010001010010001100000001B.大端存儲(chǔ)法地址0x80000x80010x80020x8003數(shù)據(jù)(16進(jìn)制表示)0x010x230x450x67數(shù)據(jù)(二進(jìn)制表示)00000001001000110100010101100111數(shù)據(jù)和指令類(lèi)型ARM采用的是32位架構(gòu).ARM約定:Byte: 8bitsHalfword:16bits(2byte)Word: 32bits(4byte)大部分ARMcore提供:ARM指令集(32-bit)Thumb指令集(T變種)(16-bit)Jazellecores支持Javabytecode(J變種,4TEJ)處理器模式說(shuō)明備注用戶(usr)正常程序執(zhí)行模式不能直接切換到其它模式系統(tǒng)(sys)運(yùn)行操作系統(tǒng)的特權(quán)任務(wù)與用戶模式類(lèi)似,但具有可以直接切換到其它模式等特權(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)存和/或存儲(chǔ)器保護(hù)在ARM7TDMI沒(méi)有大用處未定義(und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時(shí)進(jìn)入此模式處理器工作模式(1)ARM處理器有7種工作模式處理器工作模式(2)特權(quán)模式處理器模式說(shuō)明備注用戶(usr)正常程序工作模式不能直接切換到其它模式系統(tǒng)(sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類(lèi)似,但具有可以直接切換到其它模式等特權(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)存和/或存儲(chǔ)器保護(hù)在ARM7TDMI沒(méi)有大用處未定義(und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時(shí)進(jìn)入此模式除用戶模式外,其它模式均為特權(quán)模式。ARM內(nèi)部寄存器和一些片內(nèi)外設(shè)在硬件設(shè)計(jì)上只允許(或者可選為只允許)特權(quán)模式下訪問(wèn)。此外,特權(quán)模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。未定義(und)中止(abt)管理(svc)中斷(irq)快中斷(fiq)系統(tǒng)(sys)處理器工作模式(3)用戶和系統(tǒng)模式處理器模式說(shuō)明備注用戶(usr)正常程序工作模式不能直接切換到其它模式系統(tǒng)(sys)用于支持操作系統(tǒng)的特權(quán)任務(wù)等與用戶模式類(lèi)似,但具有可以直接切換到其它模式等特權(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)存和/或存儲(chǔ)器保護(hù)在ARM7TDMI沒(méi)有大用處未定義(und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應(yīng)時(shí)進(jìn)入此模式這兩種模式都不能由異常進(jìn)入,而且它們使用完全相同的寄存器組。系統(tǒng)模式是特權(quán)模式,不受用戶模式的限制。操作系統(tǒng)在該模式下訪問(wèn)用戶模式的寄存器就比較方便,而且操作系統(tǒng)的一些特權(quán)任務(wù)可以使用這個(gè)模式訪問(wèn)一些受控的資源。系統(tǒng)(sys)用戶(usr)寄存器類(lèi)別寄存器在匯編中的名稱各模式下實(shí)際訪問(wèn)的寄存器用戶系統(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*R14_abt*R14_und*R14_irq*R14_fiq*R15(PC)R15狀態(tài)寄存器R16(CPSR)CPSRSPSR無(wú)SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM狀態(tài)各模式下的寄存器寄存器類(lèi)別寄存器在匯編中的名稱各模式下實(shí)際訪問(wèn)的寄存器用戶系統(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_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無(wú)SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM狀態(tài)各模式下的寄存器SPSR_fiqSPSR_irqSPSR_undSPSR_abtSPSR_abtCPSRR15R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0所有的37個(gè)寄存器,分成兩大類(lèi):31個(gè)通用32位寄存器;6個(gè)狀態(tài)寄存器。寄存器類(lèi)別寄存器在匯編中的名稱各模式下實(shí)際訪問(wèn)的寄存器用戶系統(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_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無(wú)SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq無(wú)CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0用戶無(wú)CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0系統(tǒng)SPSR_abtCPSRR15R14_svcR13_svcR12R11R10R9R8R7R6R5R4R3R2R1R0管理SPSR_abtCPSRR15R14_abtR13_abtR12R11R10R9R8R7R6R5R4R3R2R1R0中止SPSR_undCPSRR15R14_undR13_undR12R11R10R9R8R7R6R5R4R3R2R1R0未定義SPSR_irqCPSRR15R14_irqR13_irqR12R11R10R9R8R7R6R5R4R3R2R1R0中斷SPSR_fiqCPSRR15R14_fiqR13_fiqR12_fiqR11_fiqR10_fiqR9_fiqR8_fiqR7R6R5R4R3R2R1R0快中斷ARM狀態(tài)各模式下可以訪問(wèn)的寄存器寄存器類(lèi)別寄存器在匯編中的名稱各模式下實(shí)際訪問(wèn)的寄存器用戶系統(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_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無(wú)SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0在匯編語(yǔ)言中寄存器R0~R13為保存數(shù)據(jù)或地址值的通用寄存器。它們是完全通用的寄存器,不會(huì)被體系結(jié)構(gòu)作為特殊用途,并且可用于任何使用通用寄存器的指令。寄存器類(lèi)別寄存器在匯編中的名稱各模式下實(shí)際訪問(wèn)的寄存器用戶系統(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_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無(wú)SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0R7R6R5R4R3R2R1R0其中R0~R7為未分組的寄存器,也就是說(shuō)對(duì)于任何處理器模式,這些寄存器都對(duì)應(yīng)于相同的32位物理寄存器。寄存器類(lèi)別寄存器在匯編中的名稱各模式下實(shí)際訪問(wèn)的寄存器用戶系統(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_irqR14_fiqR15(PC)R15狀態(tài)寄存器CPSRCPSRSPSR無(wú)SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8寄存器R8~R14為分組寄存器。它們所對(duì)應(yīng)的物理寄存器取決于當(dāng)前的處理器模式,幾乎所有允許使用通用寄存器的指令都允許使用分組寄存器寄存器類(lèi)別寄存器在匯編中的名稱各模式下實(shí)際訪問(wèn)的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計(jì)數(shù)器R0(a1)R0R1(a2)R1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論