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

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng)及其應用李 登 峰主要內(nèi)容:一、ARM處理器概述二、ARM內(nèi)核結(jié)構(gòu) 三、ARM中斷與異常四、ARM寄存器組織五、ARM的協(xié)處理器接口六、ARM的存儲系統(tǒng)七、S3C2440微處理器一、ARM處理器概述 ARM(Advanced RISC Machines)是一家專門從事基于RISC技術(shù)的芯片設計開 發(fā)的公司,但公司并不直接從事芯片生產(chǎn),而是靠轉(zhuǎn)讓設計許可獲得收益。 ARM微處理器內(nèi)核產(chǎn)品是一個龐大產(chǎn)品系列,采用ARM微處理器內(nèi)核的微處理器芯片遍及工業(yè)控制消費類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡系統(tǒng)、無線傳輸?shù)雀黝惍a(chǎn)品市場,約占據(jù)了32位RISC微處理器75%以上的市場份額。1.ARM處理器體系結(jié)

2、構(gòu)版本 從指令集體系結(jié)構(gòu)版本來看,為了清楚地表達每個ARM內(nèi)核應用實例所使用的指令集,ARM公司定義了7種主要的ARM指令集體系結(jié)構(gòu)版本,以版本號V1V7表示,其中V1、V2、 V3版本已經(jīng)不再使用或未實現(xiàn)商業(yè)化。(1)V3版架構(gòu)( 目前已廢棄 )對原來的ARM體系結(jié)構(gòu)作了較大的改動: 尋址空間增至32位(4GB);當前程序狀態(tài)信息從原來的R15寄存器移到當前程序狀態(tài)寄存器CPSR中(Current Program Status Register)增加了程序狀態(tài)保存寄存器SPSR(Saved Program Status Register);增加了兩種異常模式,使操作系統(tǒng)代碼可方便地使用數(shù)據(jù)訪

3、問中止異常、指令預取中止異常和未定義指令異常;增加了MRS/MSR指令,以訪問新增的CPSR/SPSR寄存器;增加了從異常處理返回的指令功能。(2)V4版架構(gòu)是目前應用最廣的ARM體系結(jié)構(gòu),不再強制要求與26位地址址空間兼容,而且還明確了哪些指令會引起未定義指令異常指令集中增加了以下功能: 符號化和非符號化半字及符號化字節(jié)的存/取指令;增加了T變種,處理器可工作在Thumb狀態(tài),增加了16位Thumb指令集;完善了軟件中斷SWI指令的功能;處理器系統(tǒng)模式引進特權(quán)方式時使用用戶寄存器操作;把一些未使用的指令空間捕獲為未定義指令。(3)V5版架構(gòu)是在V4版的基礎上增加了一些新的指令: 帶有鏈接和交

4、換的轉(zhuǎn)移BLX指令;計數(shù)前導零CLZ指令;BRK中斷指令;增加了數(shù)字信號處理指令(V5TE版); 為協(xié)處理器增加更多可選擇的指令;改進了ARM/Thumb狀態(tài)之間的切換效率;增加了兩個E和J兩個變種,其中E表示增強型DSP指令集,包括全部算法操作和16位乘法操作,J表示支持新的JAVA,提供字節(jié)代碼執(zhí)行的硬件和優(yōu)化軟件加速功能。(4)V6版架構(gòu)在V5版的基礎上強化了圖形處理性能,增加了一些新的功能: 單指令多數(shù)據(jù)功能 (Single Instruction, Multiple Data,SIMD ),將語音及圖像的處理功能提高到了原型機的4倍;Thumb增強功能,使得35%代碼壓縮;高性能定點

5、DSP功能;JazelleTM功能,Java性能優(yōu)化,速度可提高8倍。(5)v7構(gòu)架是在V6版的基礎上發(fā)展的,是目前ARM處理器體系結(jié)構(gòu)的最高版本,并保持了對現(xiàn)存ARM解決方案的完整的代碼兼容性。 采用了新型13級流水線,指令的吞吐率更高;增加了硬件處理中斷嵌套功能,具有更好的實時性;采用了Thumb-2技術(shù),比純32位代碼少使用31%的內(nèi)存;采用了NEON(可執(zhí)行打包的 SIMD處理)技術(shù),將DSP和媒體處理能力提高了進4倍,可加速多媒體和信號處理算法(如視頻編碼/解碼、2D/3D 圖形、游戲、音頻和語音處理、圖像處理技術(shù)、電話和聲音合成),其性能至少為ARMv6 SIMD性能的2倍;增加了

6、支持改良的浮點運算,滿足下一代3D圖形、游戲以、信號分析及傳統(tǒng)嵌入式控制需求。 2.ARM處理器家族ARM7 FamilyUnified Cache內(nèi)存管理流水線級別ThumbDSPJazelleARM7TDMI無無3有無無ARM7TDMI-S無無3有無無ARM710T/720T8kMMU3有無無ARM740T8k或4kProtection Unit3有無無ARM7EJ-S無無3有有有ARM9 FamilyCache內(nèi)存管理流水線級別ThumbDSPJazelleARM9無無5有無無ARM920T16K/16kMMU5有無無ARM922T8k/8kMMU5有無無ARM940T4k/4kProt

7、ection Unit5有無無ARM10 FamilyCache內(nèi)存管理流水線級別ThumbDSPJazelleARM10E無無6有有無ARM1020E32k/32kMMU6有有無ARM1022E16k/16kMMU6有有無ARM10EJ-S無無6有有有ARM1026EJ-S0,4-128k/0,4-128kMMU6有有有ARM10TDMI無無6有無無ARM1020T32k/32kMMU6有無無ARM11 FamilyCache內(nèi)存管理流水線級別ThumbDSPJazelle浮點運算ARM1136J-S4-64kMMU8有有有無ARM1136JF-S4-64kMMU8有有有有ARM1156T2

8、-S可配置9Thumb-2有無無ARM1156T2F-S可配置9Thumb-2有無有3. ARM產(chǎn)品命名規(guī)則可綜合版本S支持向量浮點運算F支持Jazelle加速J基于TDMI增強型,支持DSP指令E支持Embedded ICE,支持嵌入式跟蹤調(diào)試I支持快速乘法器M支持片上調(diào)試D支持Thumb指令集TcacheZ存儲管理/保護單元Y處理器系列,如ARM7/ARM9/ARM11等X含義后綴變量此外還必須注意:ARM7TDMI之后的所有ARM內(nèi)核,即使“ARM”標志后沒有包含那些字符,但也包含了TDMI的特性;處理器系列是共享相同硬件特性的一組處理器的具體實現(xiàn)。例如,ARM7TDMI:ARM740T

9、和ARM720T都共享相同的系列特性,都屬于ARM7系列;JTAG是由 IEEE1149。1標準測試訪問端口(standard test access port)和邊界掃描來描述的。它是ARM 用來發(fā)送和接受處理器內(nèi)核與測試一起之間調(diào)試信息的一系列協(xié)議;嵌入式ICE宏單元(Embedded ICE macrocell)是建立在處理器內(nèi)部、用來設置斷點和觀察點的調(diào)試硬件。可綜合版本,意味著處理器內(nèi)核是以源代碼形式提供的。這種源代碼形式又可以被編譯成一種易于EDA工具使用的形式。家族架構(gòu)內(nèi)核主要特點ARM7ARMv4TARM7TDMI(-S)基本內(nèi)核/無cache/無MMU,3級流水ARM710T

10、ARM7TDMI +8KB/8KB+ MMUARM720TARM710T的超集ARM740TARM7TDMI +8KB/8KB+MPUARMv5TEJARM7EJ-SARM7TDMI+DSP+Jazelle+可綜合ARM9ARMv4TARM9TDMI基本內(nèi)核/無cache/無MMU,5級流水ARM920TARM9TDMI+16KB/16KB+MMUARM922TARM9TDMI+8KB/8KB+ MMUARM940TARM9TDMI+4KB/4KB+ MPUARM9EARMv5TEARM946E-SARM9E+可變+ MPU +可綜合ARM966E-SARM9E +無cache+TCMs +可

11、綜合ARM968E-SARM9E +無cache+TCMs +可綜合ARMv5TEJARM926EJ-SARM9E +無cache +MMU +Jazelle+可綜合ARMv5TEARM996HSARM966E(無振蕩器) ARM主要產(chǎn)品家族、架構(gòu)、內(nèi)核及主要特點關(guān)系ARM10EARMv5TEARM1020EARM10E+32KB/32KB+ MMU+ (VFP)ARM1022EARM10E+16KB/16KB+ MMU+ (VFP)ARMv5TEJARM1026EJ-SARM10E+可變+ MMU+ (VFP)+ Jazelle+可綜合ARM11ARMv6ARM1136J(F)-SARM11

12、+可變+MMU+JazelleDBX+ (VFP) ARMv6T2ARM1156T2(F)-SARM11+可變+MMU+JazelleDBX+ (VFP)ARMv6KZARM1176JZ(F)-SARM11+可變+MMU+JazelleDBX+ (VFP) +TrustZoneARMv6KARM11 MPCoreARM11+可變+MMU+JazelleDBX+ (VFP) +對稱多核處理器CortexARMv7-ACortex-A8可變動+MMU +VFP+ NEON+Jazelle RCT+Thumb-2 +TrustZoneARMv7-RCortex-R4(F)可變動+(MMU)+(FPU

13、)+Embedded profileARMv7-MCortex-M3基本核心+無cache+MPUARMv7-MECortex-M4Optional 8 region MPU with sub regions and background region二、ARM內(nèi)核結(jié)構(gòu)T功能模塊(16 Thumb ): 可以在兼顧性能的同時減少代碼尺寸。M功能模塊: (增強型乘法器)可生成全64位的結(jié)果。D功能模塊(Debug ):該內(nèi)核中放置了用于調(diào)試的結(jié)構(gòu)。I功能模塊(EmbeddedICE Logic):用于實現(xiàn)斷點觀測及變量觀測的邏輯電路部分 ARM內(nèi)核TMDIARM9內(nèi)核模塊示意圖ARM內(nèi)核采用了R

14、ISC型處理器結(jié)構(gòu),具有低功耗、成本低、功能強等突出優(yōu)勢,在嵌入式系統(tǒng)及應用領(lǐng)域具有重要的影響,其主要特點包括:采用了RISC型處理器結(jié)構(gòu);低功耗、成本低、功能強;采用ARM/Thumb(32位/16位)雙指令集;具有多處理器狀態(tài)模式;具有在線仿真調(diào)試功能;具有協(xié)處理器接口;具有優(yōu)化設計的片上總線AMBA(AHB/ASB/APB);具有靈活方便的接口。1. ARM7TDMI主處理器邏輯結(jié)構(gòu)三級指令流水線是ARM7TDMI的主要特征之一,三級指令流水線指令的執(zhí)行分為取指、譯碼和執(zhí)行三個階段,各階段所完成的操作詳細分解表如下:ARM7TDMI單周期指令最佳流水線MOV、ADD、SUB指令為單周期指

15、令。從T1開始,用3個時鐘周期執(zhí)行了3條指令,指令平均周期數(shù)等于1個時鐘周期。2.ARM9TDMI主處理器通用內(nèi)核結(jié)構(gòu)3.ARM920T內(nèi)核結(jié)構(gòu) 4. ARM啟動方式ARM內(nèi)核真正支持的啟動方式只有一個:通過操作CP15來實現(xiàn)對reset vector的重定向 memory remap:這一機制并非ARM內(nèi)核本身所支持的,而是在SoC的時候人為修改memory的訪問邏輯而實現(xiàn)的 5.ARM處理器運行模式處理器模式說明備注 用戶 (usr)正常程序執(zhí)行模式不能直接切換到其它模式 系統(tǒng) (sys)運行操作系統(tǒng)的特權(quán)任務與用戶模式類似,但具有可以直接切換到其它模式等特權(quán) 快中斷 (fiq)支持高速數(shù)

16、據(jù)傳輸及通道處理FIQ異常響應時進入此模式 中斷 (irq)用于通用中斷處理IRQ異常響應時進入此模式 管理 (svc)操作系統(tǒng)保護模式系統(tǒng)復位和軟件中斷響應時進入此模式 中止 (abt)用于支持虛擬內(nèi)存和/或存儲器保護在ARM7TDMI沒有大用處 未定義 (und)支持硬件協(xié)處理器的軟件仿真未定義指令異常響應時進入此模式、ARM微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。、大多數(shù)的應用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統(tǒng)資源是不能被訪問的。、除用戶模式以外,其余的所有6種模式稱為非用戶模式或特權(quán)模式(Privileged Modes);

17、、其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式(Exception Modes),常用于處理中斷或異常,以及需要訪問受保護的系統(tǒng)資源等情況。ARM微處理器運行模式要注意的問題ARM體系中有以下3種方式控制程序的執(zhí)行流程。1.順序執(zhí)行:每執(zhí)行一條ARM指令,程序計數(shù)器寄存器的值加4個字節(jié);每執(zhí)行一條Thumb指令,程序計數(shù)器寄存器的值加兩個字節(jié)。2.跳轉(zhuǎn):通過跳轉(zhuǎn)指令,程序可以跳轉(zhuǎn)到特定的地址標號處執(zhí)行,或者跳轉(zhuǎn)到特定的子程序處執(zhí)行。3.異常:當異常或中斷發(fā)生時,系統(tǒng)執(zhí)行完當前指令后,將跳轉(zhuǎn)到相應的異常處理程序處執(zhí)行。異常是指處理器正常的程序執(zhí)行流程發(fā)生暫時的停止。三、ARM中斷與異常1

18、.ARM中斷與異常類型 異常類型復位(reset)當處理器的復位引腳有效時,系統(tǒng)產(chǎn)生復位異常,程序跳轉(zhuǎn)到復位異常處理程序執(zhí)行。復位異常中斷通常用在下面幾種情況下:系統(tǒng)上電、系統(tǒng)復位、軟復位。未定義指令(undefined instruction)當ARM處理器或協(xié)處理器遇到不能處理的指令時,產(chǎn)生未定義指令異常,可使用異常機制進行軟件仿真軟件中斷(software interrupt)該異常由執(zhí)行SWI指令產(chǎn)生,可用于用戶模式下的程序調(diào)用特權(quán)操作指令,可使用該異常機制實現(xiàn)系統(tǒng)功能調(diào)用。指令預取中止(prefech abort)若處理器預取指令的地址不存在,或該地址不允許當前指令訪問,存儲器會向處

19、理器發(fā)出終止信號,但當預取的指令被執(zhí)行時,才會產(chǎn)生指令預取中止異常。數(shù)據(jù)中止(data abort)若處理器數(shù)據(jù)訪問指令的地址不存在,或該地址不允許當前指令訪問時,產(chǎn)生數(shù)據(jù)中止異常。外部中斷請求(irq)當處理器的外部中斷請求引腳有效,且CPSR中的1位為0時,產(chǎn)生IRQ異常,系統(tǒng)的外設可通過該異常請求中斷服務??焖僦袛嗾埱螅╢iq)當處理器的快速中斷請求引腳有效,且CPSR中的F位為0時,產(chǎn)生FIQ異常。 當一個異常出現(xiàn)以后,ARM微處理器會執(zhí)行以下幾步操作:(1)保存處理器當前狀態(tài)、中斷屏蔽位以及各條件標志位。將下一條指令的地址存入相應連接寄存器,以便程序在處理異常返回時能從正確的位置重新

20、開始執(zhí)行。(2)根據(jù)異常類型,設置CPSR中相應的位 包括設置CPSR中的位,使處理器進入相應的執(zhí)行模式;設置CPSR中的位,禁止IRQ中斷,當進入FIQ模式時,禁止FIQ中斷。(3)將程序計數(shù)器設置為該異常中斷的中斷向量地址,之后跳轉(zhuǎn)到相應的異常中斷處理程序處執(zhí)行。(4)還可以設置中斷禁止位,以禁止中斷發(fā)生。如果異常發(fā)生時,處理器處于Thumb狀態(tài),則當異常向量地址加載PC時,處理器自動切換到ARM狀態(tài)。2.異常的響應及返回類型地址異常類型進入時的模式進入時I的狀態(tài)進入時F的狀態(tài)0 x0000 0000復位管理 禁止禁止0 x0000 0004未定義指令未定義IF0 x0000 0008軟件

21、中斷(SWI)管理禁止F0 x0000 000C預取中止(指令)中止IF0 x0000 0010數(shù)據(jù)中止中止IF0 x0000 0014保留保留0 x0000 0018IRQ中斷禁止F0 x0000 001CFIQ快中斷禁止禁止3. 中斷與異常入口向量四、ARM的寄存器組織 ARM處理器有37個寄存器:31個通用寄存器,6個狀態(tài)寄存器。 1.通用寄存器 通用寄存器包括R0R15,可以分為三類:未分組寄存器 R0-R7分組寄存器 R8R14 寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2

22、R3(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_abtSPSR_undSPSR_irqSPSR_fiqSPSR_fiqSPSR_i

23、rqSPSR_undSPSR_abtSPSR_abtCPSRR15R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0所有的37個寄存器,分成兩大類:31個通用32位寄存器;6個狀態(tài)寄存器。寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R

24、4R5(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_abtSPSR_undSPSR_irqSPSR_fiqR13_fiqR13_irqR13_undR13_abtR

25、13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0 在匯編語言中寄存器R0R13為保存數(shù)據(jù)或地址值的通用寄存器。它們是完全通用的寄存器,不會被體系結(jié)構(gòu)作為特殊用途,并且可用于任何使用通用寄存器的指令。寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(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(S

26、L,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 其中R0R7為未分組的寄存器,也就是說對于任何處理器模式,這些寄存器都對應于相同的32位物理寄存器。寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中

27、斷快中斷通用寄存器和程序計數(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_ab

28、tSPSR_undSPSR_irqSPSR_fiqR14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8 寄存器R8R14為分組寄存器。它們所對應的物理寄存器取決于當前的處理器模式,幾乎所有允許使用通用寄存器的指令都允許使用分組寄存器寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4

29、(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_abtSPSR_undSPSR_irqSPSR_fiqR12_fiqR12R11_fiqR11R10_

30、fiqR10R9_fiqR9R8_fiqR8 寄存器R8R12有兩個分組的物理寄存器。一個用于除FIQ模式之外的所有寄存器模式,另一個用于FIQ模式。這樣在發(fā)生FIQ中斷后,可以加速FIQ的處理速度。寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(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)R12R

31、12_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 寄存器R13、R14分別有6個分組的物理寄存器。一個用于用戶和系統(tǒng)模式,其余5個分別用于5種異常模式。R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13寄存器類別寄存器

32、在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(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)

33、寄存器CPSRCPSRSPSR無SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq 寄存器R13常作為堆棧指針(SP)。在ARM指令集當中,沒有以特殊方式使用R13的指令或其它功能,只是習慣上都這樣使用。但是在Thumb指令集中存在使用R13的指令。寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(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)R

34、10R10_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為鏈接寄存器(LR),在結(jié)構(gòu)上有兩個特殊功能:在每種模式下,模式自身的R14版本用于保存子程序返回地址;當發(fā)生異常時,將R14對應的異常模式版本設置為異常返回地址(有些異常有一個小的固

35、定偏移量)。Lable程序A程序BR14R14(LR)寄存器與子程序調(diào)用BL Lable地址A?MOV PC,LRR14(地址A)Lable?1.程序A執(zhí)行過程中調(diào)用程序B;調(diào)用流程2.程序跳轉(zhuǎn)至標號Lable,執(zhí)行程序B。同時硬件將“BL Lable”指令的下一條指令所在地址存入R14(LR);3.程序B執(zhí)行最后,將R14寄存器的內(nèi)容放入PC,返回程序A;R14R14_irq用戶模式下的程序IRQ模式下的程序AaB.XA地址A地址A1.執(zhí)行用戶模式下的程序;2.發(fā)生IRQ中斷,硬件將某個地址存入IRQ模式下的R14_irq寄存器,用戶模式下的R14沒有被破壞;3. IRQ服務程序A執(zhí)行完畢,

36、將R14_irq寄存器的內(nèi)容減去某個常量后存入PC,返回之前被中斷的程序;未被破壞IRQ模式下的程序BareturnB.XA地址B地址B4. 如果在IRQ處理程序中打開IRQ中斷,并且再次發(fā)生IRQ中斷;5. 硬件將返回地址保存在R14_irq寄存器中,原來保存的返回地址將被覆蓋,造成錯誤;R14_irq 被破壞6. 在程序B返回到程序A,然后在返回到用戶模式下被中斷的程序時,發(fā)生錯誤,將不能正確返回;returnreturnR14寄存器注意要點寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2(a3

37、)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_abtSPSR_undSPSR_irqSPSR_fiq 寄存器R15為程序計

38、數(shù)器(PC),它指向正在取指的地址??梢哉J為它是一個通用寄存器,但是對于它的使用有許多與指令相關(guān)的限制或特殊情況。如果R15使用的方式超出了這些限制,那么結(jié)果將是不可預測的。讀R15的限制 正常操作時,從R15讀取的值是處理器正在取指的地址,即當前正在執(zhí)行指令的地址加上8個字節(jié)(兩條ARM指令的長度)。由于ARM指令總是以字為單位,所以R15寄存器的最低兩位總是為0。LDR R0,PC?PCPC-4PC-8正在執(zhí)行正在譯碼正在取指流水線狀態(tài)地址程序代碼寄存器類別寄存器在匯編中的名稱各模式下實際訪問的寄存器用戶系統(tǒng)管理中止未定義中斷快中斷通用寄存器和程序計數(shù)器R0(a1)R0R1(a2)R1R2

39、(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_abtSPSR_undSPSR_irqSPSR_fiq 寄存器CPSR

40、為程序狀態(tài)寄存器,在異常模式中,另外一個寄存器“程序狀態(tài)保存寄存器(SPSR)”可以被訪問。每種異常都有自己的SPSR,在進入異常時它保存CPSR的當前值,異常退出時可通過它恢復CPSR。NZCVIM0M1M2M3M4TF. . .31 30 29 28 27 26 8 7 6 5 4 3 2 1 0條件代碼標志保留控制位溢出標志oVerflow進位或借位擴展 Carry零 Zero負或小于 NegativeIRQ禁止 InterruptFIQ禁止 Fast狀態(tài)位 Thumb模式位 ModeNZCVIM0M1M2M3M4TF2 .程序狀態(tài)寄存器 條件碼標志(Condition Code Fla

41、gs)N、Z、C、V均為條件碼標志位。它們的內(nèi)容可被算術(shù)或邏輯運算的結(jié)果所改變,并且可以決定某條指令是否被執(zhí)行。標志位含義N當用兩個補碼表示的帶符號數(shù)進行運算時,N=1表示運算的結(jié)果為負數(shù);N=0表示運算的結(jié)果為正數(shù)或零ZZ=1表示運算的結(jié)果為零;Z=0表示運算的結(jié)果為非零C可以有4種方法設置C的值;加法運算(包括比較指令CMP);當運算結(jié)果產(chǎn)生了進位時(無符號數(shù)溢出),C=1,否則C=0;減法運算(包括比較指令CMP);當運算時產(chǎn)生了借位(無符號數(shù)溢出),C=0,否則C=1;對于包含移位操作的非加/減運算指令,C為移出值的最后一位;對于其它的非加/減運算指令,C的值通常不改變條件碼的具體含義

42、 控制位PSR的低8位(包括I、F、T和M4:0)稱為控制位,當發(fā)生異常時這些位可以被改變。如果處理器運行特權(quán)模式,這些位也可以由程序修改。中斷禁止位I、FI1 禁止IRQ中斷F1 禁止FIQ中斷T標志位:該位反映處理器的運行狀態(tài)。對于ARM體系結(jié)構(gòu)v5及以上版本的T系列處理器,當該位為1時,程序運行于Thumb狀態(tài),否則運行于ARM狀態(tài)。非T系列處理器,當該位為1時,執(zhí)行下一條指令以引起未定義的指令異常;當該位為0時,表示運行于ARM狀態(tài)。運行模式位M4:0:M0、M1 、 M2、M3、M4是模式位。這些位決定了處理器的運行模式。具體含義如下表:M4:0處理器模式可訪問的寄存器0b10000

43、用戶模式PC,CPSR,R0R140b10001FIQ模式PC,CPSR,SPSR_fiq,R14_fiqR8_fiq,R7R00b10010IRQ模式PC,CPSR,SPSR_irq,R14_isqR13_isq,R12R00b10011管理模式PC,CPSR,SPSR_svc,R14_svcR13_svc,R12R00b10111中止模式PC,CPSR,SPSR_adt,R14_adtR13_adt,R12R00b11011未定義模式PC,CPSR,SPSR_und,R14_undR13_und,R12R00b11111系統(tǒng)模式PC,CPSR,(ARM v4及以上版本),R1R0注意:并不

44、是所有的運行模式位的組合都是有效的,其他的組合結(jié)果會導致處理器進入一個不可恢復的狀態(tài)!PSR中的其余位為保留位,當改變PSR中的條件碼標志位或者控制位時,保留位不要改變,在程序中也不要使用保留位來存儲數(shù)據(jù)。保留位將用于ARM版本的擴展。 保留位3 .ARM狀態(tài)下的寄存器 表為ARM狀態(tài)下的寄存器組織 表為Thumb狀態(tài)下的寄存器組織Thumb狀態(tài)寄存器在Arm狀態(tài)寄存器上的映射R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R0 堆棧指針(R13) 連接寄存器(R14) 程序計數(shù)器(R15) 低寄存器高寄存器五、 ARM的協(xié)處理器接口ARM920T處理器通過一個外

45、部協(xié)處理器接口來支持連接片上協(xié)處理器,允許附加專門設計的協(xié)處理器到ARM920T。ARM920T處理器包括CP14和CP15兩個內(nèi)部協(xié)處理器,其中CP14用于調(diào)試控制,而CP15用于內(nèi)存系統(tǒng)控制和測試控制。外部協(xié)處理器通過使用一個流水線跟蹤器來執(zhí)行指令(以保證和ARM處理器內(nèi)核中的流水線同步)。1 .CP14協(xié)處理器 調(diào)試通信通道協(xié)處理器DCC(the Debug Communications Channel)提供了兩個32位的數(shù)據(jù)傳送寄存器和一個通信控制寄存器,通信數(shù)據(jù)控制寄存器的編碼格式如圖所示通信數(shù)據(jù)控制寄存器的編碼格式 W和R位兩位可提供目標和主機調(diào)試器之間的同步握手,其功能定義見表

46、: 調(diào)試器不能利用協(xié)處理器CP14直接訪問調(diào)試通信通道,因為這對調(diào)試器無意義,但調(diào)試器可使用掃描鏈讀寫DCC寄存器。DCC數(shù)據(jù)和控制寄存器可映射到EmbeddedICE邏輯單元中的地址。(1)目標到調(diào)試器的通信 目標到調(diào)試器的通信是運行于ARM內(nèi)核上的應用程序與運行于主機上的調(diào)試器之間的通信事件,其處理順序:(1)目標應用程序檢查DCC寫入寄存器是否空閑可用。為此,目標應用程序使用MRC指令讀取調(diào)試通信通道控制寄存器,以檢查W位是否已清除。(2)如果W位已清除,則通信數(shù)據(jù)寫入寄存器已清空,應用程序?qū)f(xié)處理器CP14使用MCR指令將字寫入通信數(shù)據(jù)寫入寄存器。寫入寄存器操作會自動設置W位。如果W位

47、已設置,則表明調(diào)試器尚未清空通信數(shù)據(jù)寫入寄存器。此時,如果應用程序需要發(fā)送另一個字,它必須輪詢W位,直到它已清除。 (3) 調(diào)試器通過掃描鏈2輪詢通信數(shù)據(jù)控制寄存器。如果調(diào)試器發(fā)現(xiàn)W位已設置,則它可以讀DCC數(shù)據(jù)寄存器,以讀取應用程序發(fā)送的信息。讀取數(shù)據(jù)的進程會自動清除通信數(shù)據(jù)控制寄存器中的W位。 (2)調(diào)試器到目標的通信 調(diào)試器到目標的通信運行于主機上的調(diào)試器向運行于內(nèi)核上的應用程序傳輸消息的事件,其處理順序:調(diào)試器輪詢通信數(shù)據(jù)控制寄存器的R位,如果R位已清除,則通信數(shù)據(jù)讀取寄存器已清空,可將數(shù)據(jù)寫入此寄存器,以供目標應用程序讀取。調(diào)試器通過掃描鏈2,將數(shù)據(jù)掃描到通信數(shù)據(jù)讀取寄存器中,此操作

48、會自動設置通信數(shù)據(jù)控制寄存器中的R位。目標應用程序輪詢通信數(shù)據(jù)控制寄存器中的R位。如果該位已經(jīng)設置,則通信數(shù)據(jù)讀取寄存器中已經(jīng)有數(shù)據(jù),應用程序可使用MRC指令從協(xié)處理器CP14讀取該數(shù)據(jù)。同時,讀取指令還會清除R位。2 .CP15協(xié)處理器 定義了16個內(nèi)部寄存器,通過MCR和MRC協(xié)處理器指令對這些寄存器進行讀寫操作,可以實現(xiàn)Cache、MMU、保護系統(tǒng)、配置時鐘模式的配置和控制。 CP15協(xié)處理器的寄存器只能在特權(quán)模式下使用MCR和MRC指令訪問,MCR指令是寫操作指令,MRC是讀操作指令,其指令位格式分別為:mcr p15, opcode1, Rd, CRn, , ; / 寫CP15寄存器

49、mrc p15, opcode1, Rd, CRn, , ; / 讀CP15寄存器其中,p15表示是CP15協(xié)處理器;CP15協(xié)處理器規(guī)定opcode1為0;Rd是處理器內(nèi)核寄存器編號;CRn是CP15寄存器編號;opcode2和CRm是指令的選項,具體含義取決于不同的寄存器。(1)寄存器C0 寄存器C0用于獲取設備ID編碼和Cache類型寄存器,用MRC命令讀C0寄存器時,當opcode2=0時讀到的是設備ID編碼;當opcode2=1時,讀到的是Cache類型。 (2)寄存器C1寄存器C1主要用于Caches、異常中斷向量選擇、存儲格式選擇、寫緩沖使能和MMU使能等功能的配置和設置,稱為控

50、制寄存器。其編碼格式如圖所示,對C1寄存器進行讀寫操作時,CRm 和opcode2被忽略。 表寄存器C1的各位功能定義 內(nèi)存訪問權(quán)限與S/R及AP的關(guān)系表 (3)寄存器C2寄存器C2用于存放第一級頁表基地址,稱為頁表基地址寄存器。即一級映射描述符表的基地址,定位界限為16KB。寫寄存器C2 時,在D31D14更新當前活動的第一級轉(zhuǎn)換表的物理地址,D13D0應該寫0 或先前讀回的值。讀寄存器C2 時,D31D14返回當前活動的第一級轉(zhuǎn)換表的物理地址,D13D0的值則不確定。 對C2寄存器進行讀寫操作時,CRm 和opcode2被忽略。 寄存器C2的編碼格式如圖所示 (4)寄存器C3 寄存器C3是

51、域存取控制,域存取控制決定了是否對某一內(nèi)存塊進行權(quán)限檢查。寄存器C3的編碼格式 兩個位字段編碼與對應的域訪問權(quán)限關(guān)系表(5)寄存器C5和C6 CP15中的寄存器C5是錯誤狀態(tài)寄(FSR),C6是出錯地址寄存器(FAR)。寄存器C5的編碼格式見如圖所示。 對C5和C6寄存器進行讀寫操作時,CRm 和opcode2被忽略 狀態(tài)標識編碼及其含義(6)寄存器C7 寄存器C7是只寫寄存器,用于控制Cache和寫緩沖,稱為Cache功能控制寄存器。 執(zhí)行寫操作時Rd中存放寫入寄存器C7數(shù)據(jù),Rd中的數(shù)據(jù)、CRm 和opcode2的不同組合決定執(zhí)行不同的操作,若Rd中的數(shù)據(jù)、CRm 和opcode2的組合不

52、是表中給出的組合,將導致不可預料的結(jié)果。數(shù)據(jù)、CRm 和opcode2組合與操作功能關(guān)系表(7)寄存器C8寄存器C8是只寫寄存器,用于控制清除TLB的內(nèi)容,稱為TLB操作寄存器。執(zhí)行寫操作時Rd中存放寫入寄存器C8數(shù)據(jù),Rd中的數(shù)據(jù)、CRm 和opcode2的不同組合決定執(zhí)行不同的操作,若Rd中的數(shù)據(jù)、CRm 和opcode2的組合不是表中給出的組合,將導致不可預料的結(jié)果,讀操作也將產(chǎn)生不可預知的后果。數(shù)據(jù)、CRm 和opcode2組合與操作功能關(guān)系(8)寄存器C9 寄存器C19是可讀寫的寄存器,用于控制Cache內(nèi)容鎖定,稱為Cache鎖定控制寄存器。用協(xié)處理器指令執(zhí)行C9的讀寫操作時,op

53、code2=0對應于數(shù)據(jù)cache,opcode2=1對應指令cache。寄存器C9有A、B兩種編碼格式。寄存器C9的A編碼格式 寄存器C9的B編碼格式(9)寄存器C10 寄存器C10是可讀寫的寄存器,用于控制TLB內(nèi)容鎖定,稱為TLB鎖定控制寄存器。它允許把指定的轉(zhuǎn)換表遍歷結(jié)果裝載到TLB中,由寄存器C10設定的TLB內(nèi)容不會被其它轉(zhuǎn)換表遍歷的結(jié)果覆蓋,寄存器C10的編碼格式如圖所示W(wǎng)=LOG2(TLB入口數(shù)目); P=1時寫入TLB的地址變換條目不會受使整個TLB無效操作的影響,一直保持有效;P=0時寫入TLB的地址變換條目將會受到使整個TLB無效操作的影響。(10)寄存器C13 寄存器C

54、13是可讀寫的寄存器,用于快速上下文切換(FCSE)進程的標識,稱為進程標識寄存器,寄存器C13的編碼格式如圖所示。PID表示當前進程所在進程空間塊的編號,即當前進程的標識符,取值為0127。PID=0,變換后的虛擬地址(MVA)=虛擬地址(VA),禁止使用快速上下文切換(FCSE)技術(shù),系統(tǒng)復位后PID的默認值為0;PID的值為非0,使能快速上下文切換(FCSE)技術(shù)。 ARM體系中的存儲空間使用單一的地址空間,將存儲器看做是從零地址開始的字節(jié)存儲單元的線性組合。字單元占用4個字節(jié)單元,字單元的首地址可以被4整除半字單元占用2個字節(jié)單元,半字單元的首地址可以被2整除字數(shù)據(jù)存儲格式分為大端格式

55、和小端格式,若32位的字數(shù)據(jù)從高位到低位用D31D0表示,最高位字節(jié)為D31D24,次高位字節(jié)為D23D16,次低位字節(jié)為D15D8,最低位字節(jié)為D7D0,A表示字節(jié)單元首地址,A1和A2分別表示兩個半字單元首地址 六、ARM存儲系統(tǒng)1.ARM存儲格式字單元的首地址A存放32位字數(shù)據(jù)的高位字節(jié),末地址存放低位字節(jié)的存儲模式稱為大端格式;字單元的首地址A存放32位字數(shù)最低位字節(jié),末地址存放最高位字節(jié)的存儲模式稱為小端格式。大端格式和小端格式存儲模式的區(qū)別 2. 存儲空間管理單元(MMU)(1)MMU簡介ARM920T處理器實現(xiàn)了增強ARM體系結(jié)構(gòu)v4 MMU,為ARM9TDMI內(nèi)核的指令和數(shù)據(jù)地

56、址端口提供了變換和訪問權(quán)限檢查。MMU由存儲在主存儲器中的一組二級頁表控制,該組頁表由CP15寄存器1中的M位使能,提供了一種地址變換和保護方案。用戶可以單獨地鎖定和刷新MMU中的指令和數(shù)據(jù)TLBs。 MMU的特性包括:標準的ARMv4 MMU映像大小、域和訪問保護方案;映像的大小事1MB(區(qū))、64KB(大頁)、4KB(小頁)和1KB(極小頁);針對區(qū)的訪問權(quán)限;大頁和小頁的訪問權(quán)限可以通過單獨地為每個1/4頁進行分別指定來實現(xiàn)(這些1/4頁被稱為子頁);硬件實現(xiàn)了16個域;64項指令TLB和64項數(shù)據(jù)TLB;硬件頁表搜索;Round-Robin替換算法(也叫輪換算法);使用CP15寄存器8

57、使整個TLB無效,由MVA選擇的TLB入口無效;使用CP15寄存器10單獨地鎖定指令TLB和數(shù)據(jù)TLB; (2)存儲器訪問的順序 MMU把虛擬地址(VA)映射成物理地址的過程 ,通常要有一個多級的查表過程,對于32位的ARM體系結(jié)構(gòu)是兩級查表,對于一些64位體系結(jié)構(gòu)則需要更多級查找表。在32位的ARM體系結(jié)構(gòu)中VA被分成三段,前兩段VAD31D20和VAD29D12作為兩級查表的索引,第三段VAD11D0作為頁內(nèi)的偏移。 32位ARM體系結(jié)構(gòu)兩級查表的查找流程存儲器訪問的順序和控制過程 當CPU要訪問存儲器時,MMU先查找TLB中的虛擬地址表,如果TLB中沒有虛擬地址的入口,則轉(zhuǎn)換表遍歷硬件從

58、存于主存儲器中的轉(zhuǎn)換表中獲取轉(zhuǎn)換表和訪問權(quán)限并存放在TLB中,由TLB 入口地址獲得對應的頁表,根據(jù)頁表中的C/B(高速緩存/緩沖)位、訪問權(quán)限和域控制等相關(guān)控制位,分別控制高速緩存和寫緩沖的訪問以及是否允許訪問所指向的存儲區(qū)域,如果所指向的存儲區(qū)不允許訪問,則MMU將向CPU發(fā)送一個存儲器異常。 MMU將CPU核產(chǎn)生的VA地址通過CP15寄存器13變換成一個物理地址以訪問外部存儲器,并使用TLB執(zhí)行訪問權(quán)限檢測。 在32位ARM體系中,4GB的虛擬空間被分成了128個大小為32MB的空間塊,CPU能看到的虛擬地址空間范圍為0 x00 x01FFFFFF 。如果CPU給出的虛擬地址超出這個范圍

59、,則由硬件按照一定的規(guī)則進行修改,得到修改后的虛擬地址(MVA)。 (3)地址變換變換基址變換表基址(TTB)寄存器指向物理存儲器中一個表的基地址,TTB寄存器的低14位13:0在讀訪問時被設置為0,并且這個表必須在一個16KB邊界上。 變化表基址3114130變化表基址寄存器 MVA的31:20位作為偏移地址,所以變換表中最多可以有4096個項,每項32位,包含了區(qū)或頁描述符信息,分別用于描述虛擬存儲器的1MB空間,可以尋址最大4GB的虛擬存儲器。 區(qū)或頁描述符的后兩位為描述符性質(zhì)標記,00表示該描述符無效,01表示該描述符是粗頁描述符,10表示該描述符是區(qū)描述符,11表示該描述符是細頁描述

60、符。 第一級取操作與頁表描述符 TTB寄存器的位31:14拼接MVA的位31:20產(chǎn)生一個30位地址,這個地址用來選擇一個4字節(jié)變換表項。這是一個區(qū)表或頁表的第一級描述符。 第一級描述符是一個區(qū)描述符、粗頁表描述符、細頁表描述符或者是無效內(nèi)容。第一級描述符的格式如圖第一級描述符 區(qū)描述符:區(qū)描述符為一個1MB的存儲塊提供基地址 位 描述 31:20 為一個區(qū)生成相應的物理地址位 19:12 總被寫入0 11:10 (AP)指示這個區(qū)的訪問權(quán)限 9 總被寫入0 8:5 指定包含主要訪問控制的16個可能存在的域中的一個 4 應該寫入1,用于向后兼容 3:2 這些位(C和B)指示被這個區(qū)映射的存儲區(qū)

溫馨提示

  • 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

提交評論