ARM7體系結(jié)構(gòu)20130304PPT課件_第1頁
ARM7體系結(jié)構(gòu)20130304PPT課件_第2頁
ARM7體系結(jié)構(gòu)20130304PPT課件_第3頁
ARM7體系結(jié)構(gòu)20130304PPT課件_第4頁
ARM7體系結(jié)構(gòu)20130304PPT課件_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、ARM7體系結(jié)構(gòu) 簡介 的模塊、內(nèi)核和功能框圖 處理器狀態(tài) 處理器模式 內(nèi)部寄存器 7.當前程序狀態(tài)寄存器 體系的異常體系的存儲系統(tǒng)第1頁/共50頁簡介ARM公司簡介 ARM是Advanced RISC Machines 的縮寫,它是一家微處理器行業(yè)的知名企業(yè),該企業(yè)設計了大量高性能、廉價、能耗低的RISC(精簡指令集)處理器。 公司的特點是只設計芯片,而不產(chǎn)生。它將技術(shù)授權(quán)給世界上許多著名的半導體、軟件和OEM廠商,并提供服務。第2頁/共50頁簡介ARM公司簡介第3頁/共50頁簡介RISC結(jié)構(gòu)特性 RISC是精簡指令集計算機的縮寫,其目標是設計出在高時鐘頻率下單周期執(zhí)行,簡單而有效的指令集。

2、ARM內(nèi)核采用RISC體系結(jié)構(gòu),因此具有RISC的結(jié)構(gòu)特點: 1.具有大量的通用存儲器; 2.獨特的裝載/保存(load-store)結(jié)構(gòu); 3.簡單的尋址模式; 4.統(tǒng)一和固定長度的指令格式。第4頁/共50頁簡介ARM體系結(jié)構(gòu) 為了使ARM能夠更好地滿足嵌入式應用的需要,ARM體系結(jié)構(gòu)還有以下特點: 1.每條數(shù)據(jù)處理指令可同時包含算術(shù)邏輯單元(ALU)的運算和移位處理,實現(xiàn)ALU和移位器的最大利用; 2.使用地址自增和自減的尋址方式優(yōu)化程序循環(huán); 3.裝載/保存指令對數(shù)據(jù)的批量傳輸,實現(xiàn)最大數(shù)據(jù)吞吐量; 4.大多數(shù)指令的條件執(zhí)行,實現(xiàn)最快速的代碼執(zhí)行。第5頁/共50頁簡介常用ARM處理器系列

3、 ARM公司開發(fā)了很多系列的ARM處理器核,目前最新的系列是Cortex,而ARM6核以及更早的系列已經(jīng)很罕見了。當前應用比較多的ARM處理器核系列有:第6頁/共50頁簡介ARMCortex系列簡介 基于ARMv7版本的ARM Cortex系列產(chǎn)品由A、R、M三個系列組成,具體分類延續(xù)了一直以來ARM面向具體應用設計CPU的思路。第7頁/共50頁簡介 處理器簡介 該處理器是首款基于ARMv7-M構(gòu)架的處理器,采用了純Thumb2指令的執(zhí)行方式,具有極高的運算能力和中斷響應能力。 Cortex-M3主要應用于汽車車身系統(tǒng),工業(yè)控制系統(tǒng)和無線網(wǎng)絡等對功耗和成本敏感的嵌入式應用領域。目前最便宜的基于

4、該內(nèi)核的ARM單片機售價為1美元。第8頁/共50頁簡介 Cortex-R4處理器簡介 該處理器是首款基于ARMv7-M構(gòu)架的高級嵌入式處理器,其主要目標為產(chǎn)量巨大的高級嵌入式應用系統(tǒng),如硬盤、噴墨式打印機,以及汽車安全系統(tǒng)等。 Cortex-R4F處理器簡介 該處理器是在Cortex-R4處理器的基礎上加入了代碼錯誤校正(ECC)技術(shù),浮點運算單元(FPU)以及DMA綜合配置的能力,增強了處理器在存儲器保護單元、緩存、緊密耦合存儲器、DMA訪問以及調(diào)試方面的能力。第9頁/共50頁簡介 Cortex-A8處理器簡介 該處理器是ARM公司開發(fā)的基于ARMv7-M構(gòu)架的首款應用級處理器,其特色是運用

5、了可增加代碼密度和加強性能的技術(shù)、可支持多媒體以及信號處理能力的NEON技術(shù)、以及能夠支持Java和其他文字代碼語言的提前和即時編譯的JazelleRTC技術(shù)。 眾多先進的技術(shù)使其適用于家電以及電子行業(yè)等各種高端的應用領域。第10頁/共50頁簡介 ARM7系列簡介 該系列包括ARM7TDMI、ARM7TDMI-S、帶有高速緩存處理器宏單元的ARM720T和擴充了Jazelle的ARM7EJ-S。該系列處理器提供Thumb 16位壓縮指令集合EmbededICE軟件調(diào)試方式,適用于更大規(guī)模的SOC設計中。 ARM7系列廣泛應用于多媒體和嵌入式設備,包括Internet設備、網(wǎng)絡和調(diào)制解調(diào)器設備,

6、以及移動電話、PDA等無線設備。第11頁/共50頁簡介 ARM9系列簡介 該系列包括ARM9TDMI、ARM920T和帶有高速緩存處理器宏單元的ARM940T。除了兼容ARM7系列,而且能夠更加靈活的設計。 ARM9系列主要應用于引擎管理、儀器儀表、安全系統(tǒng)和機頂盒等領域第12頁/共50頁簡介 ARM10系列簡介 該系列為包括ARM1020E和ARM1020E處理器核,其核心在于使用向量浮點(VFP)單元VFP10提供高性能的浮點解決方案,從而極大提高了處理器的整型和浮點運算性能。 可以用于視頻游戲機和高性能打印機等場合。第13頁/共50頁簡介 Xscale簡介 Intel Xscale微控制

7、器則提供全性能、高性價比、低功耗的解決方案,支持16位Thumb指令并集成數(shù)字信號處理(DSP)指令。 主要應用于手提式通訊和消費電子類設備。第14頁/共50頁ARM7體系結(jié)構(gòu) 簡介 的模塊、內(nèi)核和功能框圖 處理器狀態(tài) 處理器模式 內(nèi)部寄存器 7.當前程序狀態(tài)寄存器 體系的異常體系的存儲系統(tǒng)第15頁/共50頁簡介 ARM7TDMI是基于ARM體系結(jié)構(gòu)v4版本的低端ARM核。彌補了ARM6很難在低于5V的電源電壓下工作的不足,還增加了后綴所對應的功能: 注意:ARM核并非芯片,ARM核與其他部件如RAM、ROM、片內(nèi)外設組合在一起才能構(gòu)成現(xiàn)實的芯片。第16頁/共50頁存儲器的字與半字 從偶地址開

8、始的連續(xù)2個字節(jié)構(gòu)成一個半字; 以能被4整除的地址開始的連續(xù)4個字節(jié)構(gòu)成一個字; ARM指令的長度剛好是一個字,Thumb指令的長度干好是一個半字。第17頁/共50頁存儲器的存儲方式 如果一個數(shù)據(jù)是從偶地址開始的連續(xù)存儲,那么它就是半字對齊,否則就是非半字對齊; 如果一個數(shù)據(jù)是以能被4整除的地址開始的連續(xù)存儲,那么它就是字對齊,否則就是非字對齊。第18頁/共50頁三級流水線 ARM處理器使用流水線來增加處理器指令流的速度,這樣可使幾個操作同時進行,并使處理器和存儲器系統(tǒng)之間的操作更加流暢、連續(xù),能提供的指令執(zhí)行速度。 ARM7TDMI的流水線分為3級,分別為: 正常操作過程中,在執(zhí)行一條指令的

9、同時對下一條(第二條)指令進行譯碼,并將第三條指令從存儲器中取出。在ARM狀態(tài)下,流水線上個指令的地址為: PC PC-4 PC-8在Thumb狀態(tài)下,流水線上個指令的地址為: PC PC-2 PC-4第19頁/共50頁三級流水線結(jié)構(gòu)的指令執(zhí)行順序 1.在第一個周期,PC指向指令1,此時指令1進入三級流水線的取指階段。 2.在第二個周期,PC指向指令2,此時指令1進入三級流水線的譯碼階段,同時取出指令2。3.在第3個周期,PC指向指令3,此時指令1進入三級流水線的執(zhí)行階段,指令2進入譯碼階段,取出指令3。4.在第4個周期,指令1執(zhí)行完成,指令2和指令3流水線推進一級,同時開始指令4的取指處理。

10、第20頁/共50頁思考題執(zhí)行ADDPC,PC,#4指令后,PC的值為多少?程序計數(shù)器R15(PC)總是指向“正在取指”的指令,而不是指向“正在執(zhí)行”的指令或“正在譯碼”的指令。一般來說,人們習慣性約定將“正在執(zhí)行”的指令作為參考點,則 PC值= 當前程序執(zhí)行位置 + 8注: ARM狀態(tài)時,每條指令為4字節(jié)長PC指向0 x4000地址,取指ADD指令。PC指向0 x4004地址,譯碼ADD指令。PC指向0 x4008地址,執(zhí)行ADD指令,所以指令執(zhí)行的結(jié)果為:PC = PC+4 = 0 x4008+4 = 0 x400C第21頁/共50頁ARM7體系結(jié)構(gòu) 簡介 的模塊、內(nèi)核和功能框圖 處理器狀態(tài)

11、 處理器模式 內(nèi)部寄存器 7.當前程序狀態(tài)寄存器 體系的異常體系的存儲系統(tǒng)第22頁/共50頁2.3 ARM模塊框圖第23頁/共50頁2.3 ARM 功能框圖第24頁/共50頁ARM7體系結(jié)構(gòu) 簡介 的模塊、內(nèi)核和功能框圖 處理器狀態(tài) 處理器模式 內(nèi)部寄存器 7.當前程序狀態(tài)寄存器 體系的異常、中斷及其向量表 體系的存儲系統(tǒng)第25頁/共50頁處理器狀態(tài)存儲器狀態(tài) ARM7TDMI處理器內(nèi)核包含2套指令系統(tǒng),分別為ARM指令集和Thumb指令,并且各自對應1種處理器的狀態(tài):狀態(tài):32位,處理器執(zhí)行字方式的ARM指令,處理器默認為此狀態(tài);狀態(tài): 16位,處理器執(zhí)行半字方式的Thumb指令。注意: 兩

12、個狀態(tài)之間的切換并不影響處理器模式或寄存器內(nèi)容。第26頁/共50頁處理器狀態(tài)狀態(tài)切換的一個例子 使用BX指令將ARM內(nèi)核的操作狀態(tài)在ARM狀態(tài)和Thumb狀態(tài)之間進行切換。從ARM狀態(tài)切換到Thumb狀態(tài)下的程序代碼如下:從Thumb狀態(tài)切換到ARM狀態(tài)下的程序代碼如下:第27頁/共50頁ARM7體系結(jié)構(gòu) 簡介 的模塊、內(nèi)核和功能框圖 處理器狀態(tài) 處理器模式 內(nèi)部寄存器 7.當前程序狀態(tài)寄存器 體系的異常體系的存儲系統(tǒng)第28頁/共50頁2.5 ARM處理器模式簡介 ARM體系結(jié)構(gòu)支持7種處理器模式,分別為:用戶模式、快中斷模式、中斷模式、管理模式、中止模式、未定義模式和系統(tǒng)模式。這樣的好處是可

13、以更好的支持操作系統(tǒng)并提高工作效率。ARM7TDMI完全支持這七種模式。第29頁/共50頁處理器模式 除用戶模式外,其它模式均為特權(quán)模式。ARM內(nèi)部寄存器和一些片內(nèi)外設在硬件設計上只允許(或者可選為只允許)特權(quán)模式下訪問。此外,特權(quán)模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。第30頁/共50頁ARM7體系結(jié)構(gòu) 簡介 的模塊、內(nèi)核和功能框圖 處理器狀態(tài) 處理器模式 內(nèi)部寄存器 7.當前程序狀態(tài)寄存器 體系的異常體系的存儲系統(tǒng)第31頁/共50頁2.6 ARM內(nèi)部寄存器簡介 在ARM處理器內(nèi)部共有37個用戶可訪問的寄存器,分別為31個通用32位寄存器和6個狀態(tài)寄存器。第32頁/共

14、50頁2.6 ARM內(nèi)部寄存器在Thumb狀態(tài)各模式下實際訪問的寄存器 Thumb狀態(tài)寄存器集是ARM狀態(tài)集的子集,其包括: 1. 8個通用寄存器R0R7; 2. 程序計數(shù)器(PC); 3. 堆棧指針(SP); 4. 鏈接寄存器(LR); 5. 當前程序狀態(tài)寄存器(CPSR)。第33頁/共50頁Thumb寄存器在ARM狀態(tài)寄存器上的映射低端寄存器高端寄存器 1. Thumb狀態(tài)R0R7與ARM狀態(tài)R0R7相同;2. Thumb狀態(tài)SP映射到ARM狀態(tài)R13;3. Thumb狀態(tài)LR映射到ARM狀態(tài)R14;4. Thumb狀態(tài)PC映射到ARM狀態(tài)R15(PC);5. Thumb狀態(tài)CPSR(無S

15、PSR)與ARM狀態(tài)CPSR相同; 在Thumb狀態(tài)中,高端寄存器的訪問是受到限制的,只有MOV,CMP和ADD指令可以對其訪問,可以用于數(shù)據(jù)的快速暫存。第34頁/共50頁狀態(tài)切換過程程序在正常的運行過程中,復位事件產(chǎn)生,導致相同復位。1. 系統(tǒng)復位,自動切換到ARM狀態(tài)。2. 通過BX和BLX指令改變當前處理器模式,使之ARM 狀態(tài)切換到Thumb狀態(tài)3.在Thumb狀態(tài)下,正常程序執(zhí)行時產(chǎn)生中斷異常。4.處理器進入中斷異常,自動的將模式切換到ARM狀態(tài)5.異常處理完畢,返回正常程序,此時處理器自動地將模式切換到Thumb狀態(tài)。6.再次通過BX和BLX指令改變當前處理器模式,使之從Thumb

16、狀態(tài)切換到ARM狀態(tài)第35頁/共50頁ARM7體系結(jié)構(gòu) 簡介 的模塊、內(nèi)核和功能框圖 處理器狀態(tài) 處理器模式 內(nèi)部寄存器 7.當前程序狀態(tài)寄存器 體系的異常體系的存儲系統(tǒng)第36頁/共50頁2.7 當前程序狀態(tài)寄存器簡介 ARM內(nèi)核包含1個CPSR和5個僅供異常處理程序使用的SPSR。 CPSR反映當前處理器的狀態(tài),監(jiān)視和控制所有內(nèi)部操作。 SPSR程序狀態(tài)保護寄存器:保護任務在異常發(fā)生之前的CPSR的當前值。第37頁/共50頁ARM7體系結(jié)構(gòu) 簡介 的模塊、內(nèi)核和功能框圖 處理器狀態(tài) 處理器模式 內(nèi)部寄存器 7.當前程序狀態(tài)寄存器 體系的異常體系的存儲系統(tǒng)第38頁/共50頁2.8 ARM體系的

17、異常異常簡介 只要正常的程序流被暫時中止,處理器就進入異常模式。例如在用戶模式下執(zhí)行程序時,當外設向處理器內(nèi)核發(fā)出中斷請求導致內(nèi)核從用戶模式切換到異常中斷模式。 如果同時發(fā)生兩個或更多異常,那么將按照固定的順序來處理異常。第39頁/共50頁2.8 ARM體系的異常異常的進入 程序代碼正常運行在用戶模式下。 當一個異常導致模式切換時,內(nèi)核自動的做如下處理: 將異常處理程序的返回地址(加固定的偏移量)保存到相應異常模式下的LR; 將CPSR的當前值保存到相應異常模式下的SPSR; 設置CPSR為相應的異常模式; 設置PC為相應異常處理程序的中斷入口向量地址,跳轉(zhuǎn)到相應的異常中斷處理程序執(zhí)行;第40

18、頁/共50頁2.8 ARM體系的異常異常的進入 當一個異常導致模式切換時,內(nèi)核自動的做如下處理:1. 將異常處理程序的返回地址(加固定的偏移量)保存到相應異常模式下的LR;2. 將CPSR的當前值保存到相應異常模式下的SPSR;3. 設置CPSR為相應的異常模式;4. 設置PC為相應異常處理程序的中斷入口向量地址,跳轉(zhuǎn)到相應的異常中斷處理程序執(zhí)行;第41頁/共50頁2.8 ARM體系的異常異常的退出 當異常處理程序結(jié)束時,異常處理程序必須: 返回到發(fā)生異常中斷的指令下一條指令處執(zhí)行,即就是說將LR中的值減去偏移量后移入PC; 將SPSR的值復制回CPSR;第42頁/共50頁2.8 ARM體系的

19、異常異常的退出 當異常處理程序結(jié)束時,異常處理程序必須: 返回到發(fā)生異常中斷的指令的下一條指令處執(zhí)行,即就是說將LR中的值減去偏移量后移入PC; 將SPSR的值復制回CPSR; 清零在入口處置位的中斷禁止標志。第43頁/共50頁ARM7體系結(jié)構(gòu) 簡介 的模塊、內(nèi)核和功能框圖 處理器狀態(tài) 處理器模式 內(nèi)部寄存器 7.當前程序狀態(tài)寄存器 體系的異常體系的存儲系統(tǒng)第44頁/共50頁2.9 ARM體系的存儲系統(tǒng)簡介 ARM處理器采用馮諾依曼(Von Neumann)結(jié)構(gòu),指令、數(shù)據(jù)和I/O統(tǒng)一編址(即存在同一個空間)。只有裝載、保存和交換指令可訪問存儲器中的數(shù)據(jù)。 ARM芯片一般在處理器核和外部存儲器之間有一個存儲器管理部件將局部總線的信號和時序轉(zhuǎn)換為現(xiàn)實的外部總線信號和時序。第45頁/共50頁2.9 ARM體系的存儲系統(tǒng)地址空間 ARM結(jié)構(gòu)使用單個平面的232 個8位字節(jié)地址空間。地址空間可以看作是包含230 個32位字,或231 個16位半字。如

溫馨提示

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

評論

0/150

提交評論