嵌入式系統(tǒng)及其應(yīng)用-第二章嵌入式微處理器的體系結(jié)構(gòu) ppt課件_第1頁
嵌入式系統(tǒng)及其應(yīng)用-第二章嵌入式微處理器的體系結(jié)構(gòu) ppt課件_第2頁
嵌入式系統(tǒng)及其應(yīng)用-第二章嵌入式微處理器的體系結(jié)構(gòu) ppt課件_第3頁
嵌入式系統(tǒng)及其應(yīng)用-第二章嵌入式微處理器的體系結(jié)構(gòu) ppt課件_第4頁
嵌入式系統(tǒng)及其應(yīng)用-第二章嵌入式微處理器的體系結(jié)構(gòu) ppt課件_第5頁
已閱讀5頁,還剩96頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、主要內(nèi)容:主要內(nèi)容:一、一、ARM處置器概述處置器概述 ARMAdvanced RISC Machines是一家專門從事基于RISC技術(shù)的芯片設(shè)計開 發(fā)的公司,但公司并不直接從事芯片消費,而是靠轉(zhuǎn)讓設(shè)計答應(yīng)獲得收益。 ARM微處置器內(nèi)核產(chǎn)品是一個龐大產(chǎn)品系列,微處置器內(nèi)核產(chǎn)品是一個龐大產(chǎn)品系列,采用采用ARM微處置器內(nèi)核的微處置器芯片普及微處置器內(nèi)核的微處置器芯片普及工業(yè)控制消費類電子產(chǎn)品、通訊系統(tǒng)、網(wǎng)絡(luò)系工業(yè)控制消費類電子產(chǎn)品、通訊系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無線傳輸?shù)雀黝惍a(chǎn)品市場,約占據(jù)了統(tǒng)、無線傳輸?shù)雀黝惍a(chǎn)品市場,約占據(jù)了32位位RISC微處置器微處置器75%以上的市場份額。以上的市場份額。1V3版

2、架構(gòu) 目前已廢棄 對原來的ARM體系構(gòu)造作了較大的改動: ARM10 Family可綜合版本S支持向量浮點運算F支持Jazelle加速J基于TDMI加強型,支持DSP指令E支持Embedded ICE,支持嵌入式跟蹤調(diào)試I支持快速乘法器M支持片上調(diào)試D支持Thumb指令集TcacheZ存儲管理/維護(hù)單元Y處置器系列,如ARM7/ARM9/ARM11等X含義后綴變量 ARM主要產(chǎn)品家族、架構(gòu)、內(nèi)核及主要特點關(guān)系主要產(chǎn)品家族、架構(gòu)、內(nèi)核及主要特點關(guān)系T功能模塊功能模塊(16 Thumb ): 可以在可以在兼顧性能的同時減少代碼尺寸。兼顧性能的同時減少代碼尺寸。M功能模塊功能模塊: (加強型乘法器加

3、強型乘法器)可生可生成全成全64位的結(jié)果。位的結(jié)果。D功能模塊功能模塊(Debug ):該內(nèi)核中放該內(nèi)核中放置了用于調(diào)試的構(gòu)造。置了用于調(diào)試的構(gòu)造。I功能模塊功能模塊(EmbeddedICE Logic):用于實現(xiàn)斷點觀測及變量用于實現(xiàn)斷點觀測及變量觀測的邏輯電路部分觀測的邏輯電路部分 ARM內(nèi)核內(nèi)核TMDIARM內(nèi)核采用了內(nèi)核采用了RISC型處置器構(gòu)造,具有低功耗、型處置器構(gòu)造,具有低功耗、本錢低、功能強等突出優(yōu)勢,在嵌入式系統(tǒng)及運用本錢低、功能強等突出優(yōu)勢,在嵌入式系統(tǒng)及運用領(lǐng)域具有重要的影響,其主要特點包括:領(lǐng)域具有重要的影響,其主要特點包括:三級指令流水線是三級指令流水線是ARM7TD

4、MI的主要特征之一,三級指令的主要特征之一,三級指令流水線指令的執(zhí)行分為取指、譯碼和執(zhí)行三個階段,各階段流水線指令的執(zhí)行分為取指、譯碼和執(zhí)行三個階段,各階段所完成的操作詳細(xì)分解表如下:所完成的操作詳細(xì)分解表如下:MOV、ADD、SUB指令為單周期指令。從指令為單周期指令。從T1開場,用開場,用3個時個時鐘周期執(zhí)行了鐘周期執(zhí)行了3條指令,指令平均周期數(shù)等于條指令,指令平均周期數(shù)等于1個時鐘周期。個時鐘周期。ARM微處置器運轉(zhuǎn)方式要留意的問題微處置器運轉(zhuǎn)方式要留意的問題3. 中斷與異常入口向量一切的37個存放器,分成兩大類:31個通用32位存放器;6個形狀存放器。 在匯編言語中存放器R0R13為保

5、管數(shù)據(jù)或地址值的通用存放器。它們是完全通用的存放器,不會被體系構(gòu)造作為特殊用途,并且可用于任何運用通用存放器的指令。 其中R0R7為未分組的存放器,也就是說對于任何處置器方式,這些存放器都對應(yīng)于一樣的32位物理存放器。 存放器R8R14為分組存放器。它們所對應(yīng)的物理存放器取決于當(dāng)前的處置器方式,幾乎一切允許運用通用存放器的指令都允許運用分組存放器 存放器R8R12有兩個分組的物理存放器。一個用于除FIQ方式之外的一切存放器方式,另一個用于FIQ方式。這樣在發(fā)生FIQ中斷后,可以加速FIQ的處置速度。 存放器R13、R14分別有6個分組的物理存放器。一個用于用戶和系統(tǒng)方式,其他5個分別用于5種異

6、常方式。 存放器R13常作為堆棧指針SP。在ARM指令集當(dāng)中,沒有以特殊方式運用R13的指令或其它功能,只是習(xí)慣上都這樣運用。但是在Thumb指令集中存在運用R13的指令。 R14為鏈接存放器LR,在構(gòu)造上有兩個特殊功能:在每種方式下,方式本身的R14版本用于保管子程序前往地址;當(dāng)發(fā)生異常時,將R14對應(yīng)的異常方式版本設(shè)置為異常前往地址有些異常有一個小的固定偏移量。Lable程序A程序BR14BL Lable地址A?MOV PC,LRR14(地址A)Lable?1.1.程序程序A A執(zhí)行過程中調(diào)執(zhí)行過程中調(diào)用程序用程序B B;調(diào)用流程調(diào)用流程2.2.程序跳轉(zhuǎn)至標(biāo)號程序跳轉(zhuǎn)至標(biāo)號LableLab

7、le,執(zhí)行程序,執(zhí)行程序B B。同。同時硬件將時硬件將“BL Lable“BL Lable指令的下一條指令所指令的下一條指令所在地址存入在地址存入R14R14LRLR;3.3.程序程序B B執(zhí)行最后,將執(zhí)行最后,將R14R14存放器的存放器的內(nèi)容放入內(nèi)容放入PCPC,前往程序,前往程序A A;R14R14_irq用戶方式下的程序IRQ方式下的程序AaB.XA地址A地址A1.執(zhí)行用戶方式下的程序;2.發(fā)生IRQ中斷,硬件將某個地址存入IRQ方式下的R14_irq存放器,用戶方式下的R14沒有被破壞;3. IRQ效力程序A執(zhí)行終了,將R14_irq存放器的內(nèi)容減去某個常量后存入PC,前往之前被中斷

8、的程序;未被破壞IRQ方式下的程序BareturnB.XA地址B地址B4. 假設(shè)在IRQ處置程序中翻開IRQ中斷,并且再次發(fā)生IRQ中斷;5. 硬件將前往地址保管在R14_irq存放器中,原來保管的前往地址將被覆蓋,呵斥錯誤;R14_irq 被破壞被破壞6. 在程序B前往到程序A,然后在前往到用戶方式下被中斷的程序時,發(fā)生錯誤,將不能正確前往;returnreturnnR14存放器留意要點存放器留意要點 存放器R15為程序計數(shù)器PC,它指向正在取指的地址??梢砸詾樗且粋€通用存放器,但是對于它的運用有許多與指令相關(guān)的限制或特殊情況。假設(shè)R15運用的方式超出了這些限制,那么結(jié)果將是不可預(yù)測的。讀

9、讀R15的限制的限制 正常操作時,從正常操作時,從R15讀取的值是處置器正在取指的地讀取的值是處置器正在取指的地址,即當(dāng)前正在執(zhí)行指令的地址加上址,即當(dāng)前正在執(zhí)行指令的地址加上8個字節(jié)兩條個字節(jié)兩條ARM指令的長度。由于指令的長度。由于ARM指令總是以字為單位,所以指令總是以字為單位,所以R15存放器的最低兩位總是為存放器的最低兩位總是為0。LDR R0,PC?PCPC-4PC-8正在執(zhí)行正在譯碼正在取指流水線形狀地址程序代碼 存放器CPSR為程序形狀存放器,在異常方式中,另外一個存放器“程序形狀保管存放器SPSR可以被訪問。每種異常都有本人的SPSR,在進(jìn)入異常時它保管CPSR的當(dāng)前值,異常

10、退出時可經(jīng)過它恢復(fù)CPSR。NZCV IM0M1M2M3M4TF. . .31 30 29 28 27 26 8 7 6 5 4 3 2 1 0條件代碼標(biāo)志保管控制位溢出標(biāo)志oVerflow進(jìn)位或借位擴展 Carry零 Zero負(fù)或小于 NegativeIRQ制止 InterruptFIQ制止 Fast形狀位 Thumb方式位 ModeNZCVIM0M1M2M3M4TF2 .程序形狀存放器 N、Z、C、V均為條件碼標(biāo)志位。它們的內(nèi)容可被均為條件碼標(biāo)志位。它們的內(nèi)容可被算術(shù)或邏輯運算的結(jié)果所改動,并且可以決議某條指令算術(shù)或邏輯運算的結(jié)果所改動,并且可以決議某條指令能否被執(zhí)行。能否被執(zhí)行。條條件件

11、碼碼的的詳詳細(xì)細(xì)含含義義PSR的低的低8位位(包括包括I、F、T和和M4:0)稱為控制位,當(dāng)發(fā)生稱為控制位,當(dāng)發(fā)生異常時這些位可以被改動。假設(shè)處置器運轉(zhuǎn)特權(quán)方式,這些異常時這些位可以被改動。假設(shè)處置器運轉(zhuǎn)特權(quán)方式,這些位也可以由程序修正。位也可以由程序修正。中斷制止位中斷制止位I、FI1 制止制止IRQ中斷中斷F1 制止制止FIQ中斷中斷T標(biāo)志位:該位反映處置器的運轉(zhuǎn)形狀。標(biāo)志位:該位反映處置器的運轉(zhuǎn)形狀。對于對于ARM體系構(gòu)造體系構(gòu)造v5及以上版本的及以上版本的T系列處置器,當(dāng)該系列處置器,當(dāng)該位為位為1時,程序運轉(zhuǎn)于時,程序運轉(zhuǎn)于Thumb形狀,否那么運轉(zhuǎn)于形狀,否那么運轉(zhuǎn)于ARM形狀。形

12、狀。非非T系列處置器,當(dāng)該位為系列處置器,當(dāng)該位為1時,執(zhí)行下一條指令以引起未定時,執(zhí)行下一條指令以引起未定義的指令異常;當(dāng)該位為義的指令異常;當(dāng)該位為0時,表示運轉(zhuǎn)于時,表示運轉(zhuǎn)于ARM形狀。形狀。運轉(zhuǎn)方式位運轉(zhuǎn)方式位M4:0:M0、M1 、 M2、M3、M4是方式位。是方式位。這些位決議了處置器的運轉(zhuǎn)方式。詳細(xì)含義如下表:這些位決議了處置器的運轉(zhuǎn)方式。詳細(xì)含義如下表:留意:并不是一切的運轉(zhuǎn)方式位的組合都是有效的,其他的留意:并不是一切的運轉(zhuǎn)方式位的組合都是有效的,其他的組合結(jié)果會導(dǎo)致處置器進(jìn)入一個不可恢復(fù)的形狀!組合結(jié)果會導(dǎo)致處置器進(jìn)入一個不可恢復(fù)的形狀!PSR中的其他位為保管位,當(dāng)改動中

13、的其他位為保管位,當(dāng)改動PSR中的條件碼標(biāo)志中的條件碼標(biāo)志位或者控制位時,保管位不要改動,在程序中也不要運用保位或者控制位時,保管位不要改動,在程序中也不要運用保管位來存儲數(shù)據(jù)。保管位將用于管位來存儲數(shù)據(jù)。保管位將用于ARM版本的擴展。版本的擴展。 3 .ARM形狀下的存放器 表為ARM形狀下的存放器組織 表為Thumb形狀下的存放器組織 R1 R2 R3 R4 R5 T humb R6 R7 ( C PSR ) ( SPSR ) R1 R2 R3 R4 R5 A R M R6 R7 R8 ( C PSR ) ( SPSR ) R9 R10 R11 R12 R0 R0 狀態(tài) 狀態(tài) 堆棧指針(S

14、P) 連接寄存器(LR) 程序計數(shù)器(PC) 當(dāng)前程序狀態(tài)寄存器 被保存程序狀態(tài)寄存器 堆棧指針(R13) 連接寄存器(R14) 程序計數(shù)器(R15) 當(dāng)前程序狀態(tài)寄存器 被保存程序狀態(tài)寄存器 ThumbThumb形狀存放器在形狀存放器在ArmArm形狀存放器上的映射形狀存放器上的映射R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R0 堆棧指針 (R13) 銜接存放器 (R14) 程序計數(shù)器 (R15) 低存放器高存放器調(diào)試通訊通道協(xié)處置器DCC(the Debug Communications Channel)提供了兩個32位的數(shù)據(jù)傳送存放器和一個通訊控制存放

15、器,通訊數(shù)據(jù)控制存放器的編碼格式如下圖通訊數(shù)據(jù)控制存放器的編碼格式 W和和R位兩位可提供目的和主機調(diào)試器之間的同步握手,其功位兩位可提供目的和主機調(diào)試器之間的同步握手,其功能定義見表能定義見表 : 調(diào)試器不能利用協(xié)處置器調(diào)試器不能利用協(xié)處置器CP14 直接訪問調(diào)試通訊通道,由直接訪問調(diào)試通訊通道,由于這對調(diào)試器無意義于這對調(diào)試器無意義,但調(diào)試器可運用掃描鏈讀寫但調(diào)試器可運用掃描鏈讀寫DCC 存放器。存放器。DCC數(shù)據(jù)和控制存放器可映射到數(shù)據(jù)和控制存放器可映射到 EmbeddedICE 邏輯單元中邏輯單元中的地址。的地址。 定義了16個內(nèi)部存放器,經(jīng)過MCR和MRC協(xié)處置器指令對這些存放器進(jìn)展讀

16、寫操作,可以實現(xiàn)Cache、MMU、維護(hù)系統(tǒng)、配置時鐘方式的配置和控制。 CP15協(xié)處置器的存放器只能在特權(quán)方式下運用MCR和MRC指令訪問,MCR指令是寫操作指令,MRC是讀操作指令,其指令位格式分別為:mcr p15, opcode1, Rd, CRn, , ; / 寫CP15存放器mrc p15, opcode1, Rd, CRn, , ; / 讀CP15存放器其中,p15表示是CP15協(xié)處置器;CP15協(xié)處置器規(guī)定opcode1為0;Rd是處置器內(nèi)核存放器編號;CRn是CP15存放器編號;opcode2和CRm是指令的選項,詳細(xì)含義取決于不同的存放器。2存放器C1存放器C1主要用于Ca

17、ches、異常中斷向量選擇、存儲格式選擇、寫緩沖使能和MMU使能等功能的配置和設(shè)置,稱為控制存放器。其編碼格式如下圖,對C1存放器進(jìn)展讀寫操作時,CRm 和opcode2被忽略。 對C2存放器進(jìn)展讀寫操作時,CRm 和opcode2被忽略。 存放器C2的編碼格式如下圖 存放器C3的編碼格式 兩個位字段編碼與對應(yīng)的域訪問權(quán)限關(guān)系表對C5和C6存放器進(jìn)展讀寫操作時,CRm 和opcode2被忽略 數(shù)據(jù)、CRm 和opcode2組合與操作功能關(guān)系表數(shù)據(jù)、CRm 和opcode2組合與操作功能關(guān)系存放器C9的A編碼格式 存放器C9的B編碼格式W=LOG2(TLB入口數(shù)目); P=1時寫入TLB的地址變

18、換條目不會受使整個TLB無效操作的影響,不斷堅持有效;P=0時寫入TLB的地址變換條目將會遭到使整個TLB無效操作的影響。PID表示當(dāng)前進(jìn)程所在進(jìn)程空間塊的編號,即當(dāng)前進(jìn)程的標(biāo)識符,取值為0127。PID=0,變換后的虛擬地址MVA=虛擬地址VA,制止運用快速上下文切換FCSE技術(shù),系統(tǒng)復(fù)位后PID的默許值為0;PID的值為非0,使能快速上下文切換FCSE技術(shù)。 32位ARM體系構(gòu)造兩級查表的查找流程存儲器訪問的順序和控制過程 當(dāng)CPU要訪問存儲器時,MMU先查找TLB中的虛擬地址表,假設(shè)TLB中沒有虛擬地址的入口,那么轉(zhuǎn)換表遍歷硬件從存于主存儲器中的轉(zhuǎn)換表中獲取轉(zhuǎn)換表和訪問權(quán)限并存放在TLB

19、中,由TLB 入口地址獲得對應(yīng)的頁表,根據(jù)頁表中的C/B高速緩存/緩沖位、訪問權(quán)限和域控制等相關(guān)控制位,分別控制高速緩存和寫緩沖的訪問以及能否允許訪問所指向的存儲區(qū)域,假設(shè)所指向的存儲區(qū)不允許訪問,那么MMU將向CPU發(fā)送一個存儲器異常。 3地址變換 變換基址3131141413130 0變化表基址存放器變化表基址存放器 MVA的31:20位作為偏移地址,所以變換表中最多可以有4096個項,每項32位,包含了區(qū)或頁描畫符信息,分別用于描畫虛擬存儲器的1MB空間,可以尋址最大4GB的虛擬存儲器。 第一級取操作與頁表描畫符 第一級描畫符是一個區(qū)描畫符、粗頁表描畫符、細(xì)頁表描畫符或者是無效內(nèi)容。第一

20、級描畫符的格式如圖第一級描畫符 區(qū)描畫符:區(qū)描畫符為一個1MB的存儲塊提供基地址 區(qū)描畫符的區(qū)描畫符的格式格式 粗頁表描畫符粗頁表描畫符的格式粗頁表描畫符的格式 粗頁表描畫符的位分配粗頁表描畫符的位分配 細(xì)頁表描畫符細(xì)頁表描畫符的格式細(xì)頁表描畫符的格式 細(xì)頁表描畫符的位分配細(xì)頁表描畫符的位分配 區(qū)映射變換從MVA到區(qū)第一級描畫的生成和獲取,直至得到實踐的物理地址的整個順序。但要留意在生成物理地址之前,還必需檢查第一級描畫符中的訪問權(quán)限。區(qū)變換的整個順序 第二級取操作與頁表描畫符 第二級描畫符的格式第二級描畫符的格式 第二級描畫符的位分配 頁表項D1D0 位描畫 圖中顯示了一個64KB大頁的整個

21、變換順序變換大頁參考 圖中顯示了一個4KB小頁的整個變換順序。變換極小頁參考 圖中顯示了一個1KB極小頁的整個變換順序。七、七、S3C2440微處置器微處置器三星公司推出的三星公司推出的16/32位位RISC微處置器微處置器S3C2440A, 為手持為手持設(shè)備和普通類型運用提供了低價錢、低功耗、高性能小型微設(shè)備和普通類型運用提供了低價錢、低功耗、高性能小型微控制器的處理方案。控制器的處理方案。S3C2440A 采用了采用了16/32位位ARM920T的的RISC 處置器內(nèi)核處置器內(nèi)核ARM920T和和0.13um的的CMOS工藝,最工藝,最高任務(wù)頻率是高任務(wù)頻率是400MHZ,具有低本錢、低功耗和高性能的特,具有低本錢、低功耗和高性能的特點。點。S3C2440A是目前市場上運用非常廣泛的一款多用途嵌是目前市場上運用非常廣泛的一款多用途嵌入式微處置器芯片,內(nèi)部集成了入式微處置器芯片,內(nèi)部集成了ARM920T微處置核和常用外微處置核和常用外圍組件,具有較高的性價比,特別適宜于對本錢和功率敏感圍組件,具有較高的性價比,特別適宜于對本錢和功率敏感型的運用。型的運用。S3C2440A采用采用ARM920T內(nèi)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論