freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第3章arm體系結(jié)構(gòu)-文庫(kù)吧在線文庫(kù)

  

【正文】 址向高地址生成時(shí),稱(chēng)為遞增堆棧,當(dāng)堆棧由高地址向低地址生成時(shí),稱(chēng)為遞減堆棧。什么意思呢??? R0=R1XR2+R3,同時(shí)設(shè)置 CPSR相關(guān)條件標(biāo)志位 48 加載 /存儲(chǔ)指令 –寄存器存儲(chǔ)器之間傳送數(shù)據(jù) 單寄存器加載存儲(chǔ)指令: ? LDR 字?jǐn)?shù)據(jù)加載指令 ? LDRB 字節(jié)數(shù)據(jù)加載指令 ? LDRH 半字?jǐn)?shù)據(jù)加載指令 ? STR 字?jǐn)?shù)據(jù)存儲(chǔ)指令 ? STRB 字節(jié)數(shù)據(jù)存儲(chǔ)指令 ? STRH 半字?jǐn)?shù)據(jù)存儲(chǔ)指令 ? LDRSB有符號(hào)的字節(jié)加載 ? LDRSH有符號(hào)的半字加載 多寄存器加載存儲(chǔ)指令: ? LDM 多字節(jié)加載指令 ? STM 多字節(jié)存儲(chǔ)指令 ? IA :每次傳送后地址 +4 ? IB :每次傳送前地址 +4 ? DA :每次傳送后地址 4 ? DB :每次傳送前地址 4 ? FD :滿(mǎn)遞減堆棧 ? ED :空遞減堆棧 ? FA :滿(mǎn)遞增堆棧 ? EA :空遞增堆棧 加載指令:用于存儲(chǔ)器中的數(shù)據(jù)傳送到寄存器 存儲(chǔ)指令:用于寄存器中的數(shù)據(jù)傳送到存儲(chǔ)器 交換指令:存儲(chǔ)器與寄存器之間交換數(shù)據(jù),如: SWP、 SWPB 塊復(fù)制相關(guān) 堆棧操作相關(guān) 思考: STR R0,[R1],8 STR R0,[R1,8] STMFD R13!, {R0,R4R12,LR} LDMFD R13!, {R0,R4R12,PC} 49 程序狀態(tài)寄存器指令 ARM 微處理器支持程序狀態(tài)寄存器訪問(wèn)指令, 用于在程序狀態(tài)寄存器和通用寄存器之間傳送數(shù)據(jù) ,程序狀態(tài)寄存器訪問(wèn)指令包括以下兩條: ? MRS 程序狀態(tài)寄存器 到 通用寄存器 的數(shù)據(jù)傳送指令 ? MSR 通用寄存器 到 程序狀態(tài)寄存器 的數(shù)據(jù)傳送指令 ? 思考: MSR CPSR_c, R0 。讀取下一字節(jié) CMP r0,0 ;檢查文本終點(diǎn) SWINE SWI_WriteC ;若非終點(diǎn),則打印 BNE LOOP ;并返回 LOOP SWI SWI_Exit ;執(zhí)行結(jié)束 TEXT = “ Hello World” ,0a,0d,0 END ;程序結(jié)束 Example:Hello ARM World! 53 Thumb指令集 為兼容數(shù)據(jù)總線寬度為 16 位的應(yīng)用系統(tǒng) , ARM 體系結(jié)構(gòu)除了支持執(zhí)行效率很高的 32 位 ARM指令集以外 , 同時(shí)支持 16 位的 Thumb 指令集 。 ? 數(shù)據(jù)處理操作比 ARM狀態(tài)的更少。 ? Thumb指令集沒(méi)有協(xié)處理器指令、信號(hào)量指令及訪問(wèn) CPSR或 SPSR的指令,沒(méi)有乘加指令及 64位乘法指令等,且第二操作的數(shù)受到限制; 57 ARM 內(nèi)存管理單元 ? ARM MMU概述 ? ARM MMU的功能 ? ARM MMU的操作 ? ARM MMU的地址轉(zhuǎn)換 58 ARM MMU概述 MMU是內(nèi)存管理單元( Memory Management Unit)的縮寫(xiě)。 Bits[3:0]:指出試圖訪問(wèn)的類(lèi)型 ARM MMU的操作 68 R6 故障地址寄存器: (類(lèi)型: ARMv3:只讀, ARMv4:讀寫(xiě)) 上一次數(shù)據(jù)存取中止的地址 ARM MMU的操作 69 功能如下所示: ? 無(wú)效指令 TLB ? 無(wú)效指令單一入口 ? 無(wú)效整個(gè)數(shù)據(jù) TLB ? 無(wú)效數(shù)據(jù)單一入口 功能 opcode2 CRm Data 指令 無(wú)效所有 TLB 0 111 0 MCR p15, 0, Rd, c8, c7, 0 無(wú)效單一入口 1 111 虛擬地址 MCR p15, 0, Rd, c8, c7, 1 無(wú)效整個(gè)指令 TLB 0 101 0 MCR p15, 0, Rd, c8, c5, 0 無(wú)效指令單一入口 1 101 虛擬地址 MCR p15, 0, Rd, c8, c5, 1 無(wú)效整個(gè)數(shù)據(jù) TLB 0 110 0 MCR p15, 0, Rd, c8, c6, 0 無(wú)效數(shù)據(jù)單一入口 1 110 虛擬地址 MCR p15, 0, Rd, c8, c6, 1 R8 TLB功能寄存器 (類(lèi)型:只寫(xiě)): 用來(lái)執(zhí)行 TLB的操作 ARM MMU的操作 70 R10 TLB鎖住寄存器 :(類(lèi)型:讀寫(xiě)) D 9 P0U N P / S B Z Pb a s e3 2 W3 13 1 W3 2 2 W3 1 2 W TLB鎖定是一些 ARM存儲(chǔ)器系統(tǒng)的特性,它允許把特定的轉(zhuǎn)換表搜索結(jié)果裝載到 TLB中。在 MMU開(kāi)啟之后,處理器內(nèi)核所處理的都是邏輯地址,當(dāng)處理器內(nèi)核要訪問(wèn)一個(gè)邏輯地址的時(shí)候, MMU負(fù)責(zé)將這個(gè)邏輯地址轉(zhuǎn)換成相應(yīng)的物理地址,完成實(shí)際地址的訪問(wèn)。數(shù)據(jù)寄存器 mcr p15,0,r0,c10,c0,1 。所有數(shù)據(jù)請(qǐng)求都送往 MMU,由 MMU決定數(shù)據(jù)是在 RAM內(nèi)還是在大容量存儲(chǔ)器設(shè)備內(nèi)。 56 Thumb指令集 單寄存器加載和存儲(chǔ)指令 ? 在 Thumb狀態(tài)下,單寄存器加載和存儲(chǔ)指令只能訪問(wèn)寄存器 R0R7。 Thumb指令集的 數(shù)據(jù)處理指令操作數(shù)是 32位 , 指令地址也是 32位 , 但是 大多數(shù) Thumb指令是無(wú)條件執(zhí)行的 , 并且 大多數(shù) Thumb數(shù)據(jù)處理指令的目的寄存器與其中一個(gè)源寄存器相同 。 指令示例: SWI 0x02;該指令調(diào)用操作系統(tǒng)編號(hào)為 02 的系統(tǒng)例程 。 ③ ARM多寄存器的尋址模式 可以加快某些程序的執(zhí)行效率。 例如: BL NEXT 。 變址尋址方式 常用于訪問(wèn)某基地址附近的地址單元 。這個(gè)操作數(shù)被稱(chēng)為立即數(shù),對(duì)應(yīng)的尋址方式也就叫做立即尋址。 ? 條件編碼共 24 = 16 種,其中, 15種用于指令的條件碼。 ARM V7體系定義了三種獨(dú)立的內(nèi)核型-- A(應(yīng)用領(lǐng)域),R(實(shí)時(shí)領(lǐng)域), M(控制領(lǐng)域)。 ARM體系結(jié)構(gòu)可以用兩種方法存儲(chǔ)字?jǐn)?shù)據(jù),稱(chēng)之為 大端格式 和 小端格式 。 指令預(yù)取終止 (Prefetch Abort) 若處理器預(yù)取指令的地址不存在,或該地址不允許當(dāng)前指令訪問(wèn),存儲(chǔ)器會(huì)向處理器發(fā)出終止信號(hào),但當(dāng)預(yù)取的指令被執(zhí)行時(shí),才會(huì)產(chǎn)生指令預(yù)取終止異常。 4 ARM的工作狀態(tài) ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換: ? ARM狀態(tài),此時(shí)處理器執(zhí)行 32位的字對(duì)齊的 ARM指令 ? Thumb狀態(tài),此時(shí)處理器執(zhí)行 16位的、半字對(duì)齊的Thumb指令 5 ARM的寄存器組織 ARM微處理器共有 37個(gè) 32位寄存器,其中 31個(gè)為通用寄存器, 6個(gè)為狀態(tài)寄存器。但是這些寄存器不能被同時(shí)訪問(wèn)。 數(shù)據(jù)終止 (Data Abort) 若處理器數(shù)據(jù)訪問(wèn)指令的地址不存在,或該地址不允許當(dāng)前指令訪問(wèn)時(shí),產(chǎn)生數(shù)據(jù)終止異常。 15 ARM的存儲(chǔ)器格式 大端格式 3 12 3 8 7 01 個(gè) 字 ( w o r d )2 4 1 51 6 低 地 址1 1 字 節(jié)1 0 字 節(jié)9 字 節(jié)8 字 節(jié)7 字 節(jié)6 字 節(jié)5 字 節(jié)4 字 節(jié)3 字 節(jié)2 字 節(jié)1 字 節(jié)0 字 節(jié)內(nèi) 存 高 地 址低 位高 位16 ARM的存儲(chǔ)器格式 小端格式 。 30 ARM微處理器的指令系統(tǒng) ? ARM指令系統(tǒng)的概述 ? ARM的尋址模式 ? ARM的指令集 ? Thumb的指令集 31 ARM指令系統(tǒng)的概述 ? ARM微處理器指令是加載 /存儲(chǔ)型的,即指令集僅能處理寄存器中的數(shù)據(jù),處理結(jié)果都要放回寄存器中,對(duì)系統(tǒng)存儲(chǔ)器的訪問(wèn)則需要專(zhuān)門(mén)的加載 /存儲(chǔ)指令來(lái)完成 ? ARM指令集分為六類(lèi): 1. 跳轉(zhuǎn)指令 2. 數(shù)據(jù)處理指令 3. 程序狀態(tài)寄存器( PSR)處理指令 4. 加載 /存儲(chǔ)指令 5. 協(xié)處理器指令 6. 異常產(chǎn)生指令 32 ARM指令系統(tǒng)的概述 助記符 指令功能描述 ADC 帶進(jìn)位加法指令 ADD 加法指令 AND 邏輯與指令 B 跳轉(zhuǎn)指令 BIC 位清零指令 BL 帶返回的跳轉(zhuǎn)指令 BLX 帶返回和狀態(tài)切換的跳轉(zhuǎn)指令 BX 帶狀態(tài)切換的跳轉(zhuǎn)指令 CDP 協(xié)處理器數(shù)據(jù)操作指令 CMN 比較反值指令 CMP 比較指令 EOR 異或指令 LDC 存儲(chǔ)器到協(xié)處理器的數(shù)據(jù)傳輸指令 LDM 加載多個(gè)寄存器指令 LDR 存儲(chǔ)器到寄存器的數(shù)據(jù)傳輸指令 MCR 從 ARM MLA 乘加運(yùn)算指令 MOV 數(shù)據(jù)傳送指令 助記符 指令功能描述 MRC 從協(xié)處理器寄存器到 ARM MRS 傳送 CPSR MSR 傳送通用寄存器到 CPSR MUL 32 MLA 32 MVN 數(shù)據(jù)取反傳送指令 ORR 邏輯或指令 RSB 逆向減法指令 RSC 帶借位的逆向減法指令 SBC 帶借位減法指令 STC 協(xié)處理器寄存器寫(xiě)入存儲(chǔ)器指令 STM 批量?jī)?nèi)存字寫(xiě)入指令 STR 寄存器到存儲(chǔ)器的數(shù)據(jù)傳輸指令 SUB 減法指令
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1