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

正文內(nèi)容

嵌入式總復(fù)習(xí)ppt課件(編輯修改稿)

2025-02-13 17:20 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 寄存器都是 32位 寄存器。 ? ( 2) 6個(gè)狀態(tài)寄存器 :狀態(tài)寄存器也是 32位的寄存器,但是目前只使用了其中的 14位 。 65 TM 65 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc) cpsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r13 (sp) r14 (lr) spsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr FIQ IRQ SVC Undef Abort User Mode Current Visible Registers Banked out Registers spsr User r8 r9 r10 r11 r12 r13 (sp) r14 (lr) FIQ Mode IRQ Undef Mode SVC Mode Abort 當(dāng)前可見寄存器 備用寄存器 ARM 寄存器 66 TM 66 寄存器組織概要 User mode r0r7, r15, and cpsr r8 r9 r10 r11 r12 r13 (sp) r14 (lr) spsr FIQ r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r15 (pc) cpsr r0 r1 r2 r3 r4 r5 r6 r7 User r13 (sp) r14 (lr) spsr IRQ User mode r0r12, r15, and cpsr r13 (sp) r14 (lr) spsr Undef User mode r0r12, r15, and cpsr r13 (sp) r14 (lr) spsr SVC User mode r0r12, r15, and cpsr r13 (sp) r14 (lr) spsr Abort User mode r0r12, r15, and cpsr Thumb state Low registers Thumb state High registers Note: System模式使用 user模式寄存器集 67 TM 67 ARM 寄存器 ? ARM 有 37個(gè) 32Bits長(zhǎng)的寄存器 . ? 1 個(gè)用作 PC( program counter) ? 1個(gè)用作 CPSR(current program status register) ? 5個(gè)用作 SPSR(saved program status registers) ? 30 個(gè)通用寄存器 68 TM 68 ? 當(dāng)前處理器的模式?jīng)Q定著哪組寄存器可操作 . 任何模式都可以存取: ? 相應(yīng)的 r0r12子集 ? 相應(yīng)的 r13 (the stack pointer, sp) and r14 (the link register, lr) ? 相應(yīng)的 r15 ( the program counter, pc) ? 相應(yīng)的 CPSR(current program status register, cpsr) ? 特權(quán)模式 (除 system模式 ) 還可以存??; ? 相應(yīng)的 spsr (saved program status register) 69 TM 69 程序狀態(tài)寄存器 ? 條件位: ? N = 1結(jié)果為負(fù) ,0結(jié)果為正或 0 ? Z = 1結(jié)果為 0,0結(jié)果不為 0 ? C =1進(jìn)位, 0借位 ? V =1結(jié)果溢出, 0結(jié)果沒溢出 ? Q 位: ? 僅 ARM 5TE/J架構(gòu)支持 ? 指示增強(qiáng)型 DSP指令是否溢出 ? J 位 ? 僅 ARM 5TE/J架構(gòu)支持 ? J = 1: 處理器處于 Jazelle狀態(tài) ? 中斷禁止位: ? I = 1: 禁止 IRQ. ? F = 1: 禁止 FIQ. ? T Bit ? 僅 ARM xT架構(gòu)支持 ? T = 0: 處理器處于 ARM 狀態(tài) ? T = 1: 處理器處于 Thumb 狀態(tài) ? Mode位 (處理器模式位 ): ? 0b10000 User ? 0b10001 FIQ ? 0b10010 IRQ ? 0b10011 Supervisor ? 0b10111 Abort ? 0b11011 Undefined ? 0b11111 System 27 31 N Z C V Q 28 6 7 I F T mode 16 23 8 15 5 4 0 24 U n d e f i n e d J 70 TM 70 ? 當(dāng)處理器執(zhí)行在 ARM狀態(tài) : ? 所有指令 32 bits 寬 ? 所有指令必須 word 對(duì)齊 ? 所以 pc值 由 bits [31:2]決定 , bits [1:0] 未定義 (所以指令不能 halfword / byte對(duì)齊 ). 程序指針 PC (r15) 71 TM 71 ? 當(dāng)處理器執(zhí)行在 Thumb狀態(tài) : ? 所有指令 16 bits 寬 ? 所有指令必須 halfword 對(duì)齊 ? 所以 pc值 由 bits [31:1]決定 , bits [0] 未定義 (所以指令不能 byte對(duì)齊 ). 72 TM 72 ARM異常處理 異常通常定義為:處理器需要中止指令正常執(zhí)行的任何情形并轉(zhuǎn)向相應(yīng)的處理,包括ARM內(nèi)核產(chǎn)生復(fù)位,取指或存儲(chǔ)器訪問失敗,遇到未定義指令,執(zhí)行軟件中斷指令,或者出現(xiàn)外部中斷等。 大多數(shù)異常都對(duì)應(yīng)一個(gè)軟件的異常處理程序,也就是在異常發(fā)生時(shí)執(zhí)行的軟件程序。 73 TM 73 2. 5. 1 異常入口 ? ARM處理器的異常分為數(shù)據(jù)中止、快速中斷請(qǐng)求、普通中斷請(qǐng)求、預(yù)取指中止、軟件中斷、復(fù)位及未定義指令共 7種 。 74 TM 74 異常類型 處理器模式 優(yōu)先級(jí) 向量表偏移 復(fù) 位 SVC 1 0x00000000 未定義指令 UND 6 0x00000004 軟件中斷 SWI SVC 6 0x00000008 預(yù)取指中止 ABT 5 0x0000000c 數(shù)據(jù)中止 ABT 2 0x00000010 保留 / / 0x00000014 IRQ中斷 IRQ 4 0x00000018 FIQ中斷 FIQ 3 0x0000001c 75 TM 75 ? 1. 復(fù)位 具有最高的優(yōu)先級(jí),是系統(tǒng)啟動(dòng)(或芯片復(fù)位)時(shí)調(diào)用的程序。復(fù)位程序?qū)Ξ惓L幚沓绦蚝拖到y(tǒng)進(jìn)行初始化(包括配置儲(chǔ)存器和 Cache)。同時(shí)要保證在 IRQ和 FIQ中斷允許之前初始化外部中斷源,避免在沒有設(shè)置好相應(yīng)的處理程序前產(chǎn)生中斷。還要設(shè)置好各種處理器模式的堆棧指針。 76 TM 76 ? 2.引起 未定義指令異常 : ? ARM 試圖執(zhí)行一條真正的未定義指令; ? ARM 遇到一條協(xié)處理器指令,可是系統(tǒng)中的協(xié)處理器硬件并不存在; ? ARM 遇到一條協(xié)處理器指令,系統(tǒng)中協(xié)處理器硬件也存在,可是 ARM 不是在超級(jí)用戶模式。 ? 解決方法: ? 在處理程序中執(zhí)行軟協(xié)處理器仿真; ? 禁止在非超級(jí)用戶模式下操作; ? 報(bào)告錯(cuò)誤并退出。 77 TM 77 ? 3. 數(shù)據(jù)中止異常 ? 指示訪問了無效的存儲(chǔ)器地址,或者當(dāng)前代碼沒有正確的數(shù)據(jù)訪問權(quán)限。 78 TM 78 ? 4. 預(yù)取指中止 ? 由于處理器預(yù)取的指令地址不存在,或者地址無法訪問,當(dāng)被預(yù)取的指令執(zhí)行時(shí),發(fā)生預(yù)取指中止異常。 79 TM 79 ? 5. FIQ中斷 的優(yōu)先級(jí)比 IRQ中斷 的優(yōu)先級(jí)要高,且內(nèi)核進(jìn)入 FIQ處理程序時(shí),把 FIQ和 IRQ都禁止 ? 6. 軟中斷( SWI) 和未定義指令異常的優(yōu)先級(jí)最低,共享同一優(yōu)先級(jí),兩者不可能同時(shí)出現(xiàn)。 80 TM 80 2. 6 存儲(chǔ)方式與存儲(chǔ)器映射機(jī)制 ? ARM處理器地址空間大小為 4G字節(jié),這些字節(jié)的單元地址是一個(gè)無符號(hào)的 32位數(shù)值,其取值范圍為 0~2321。各存儲(chǔ)單元地址作為 32位無符號(hào)數(shù),可以進(jìn)行常規(guī)的整數(shù)運(yùn)算。 ? 當(dāng)程序正常執(zhí)行時(shí),每執(zhí)行一條 ARM指令,當(dāng)前指令計(jì)數(shù)器加 4個(gè)字節(jié);每執(zhí)行一條Thumb指令,當(dāng)前指令計(jì)數(shù)器加 2個(gè)字節(jié)。 81 TM 81 2. 6. 1 數(shù)據(jù)存儲(chǔ)格式 ? 小端存儲(chǔ)格式( LittleEndian) 82 TM 82 ? 大端存儲(chǔ)格式( BigEndian) 83 TM 83 ARM流水線技術(shù)分析 ? ARM7流水線技術(shù) 與三級(jí)流水線運(yùn)行情況分析 ? ARM9流水線技術(shù)與五級(jí)流水線互鎖分析 ? ARM10E 系列概述 84 TM 84 ? 流水線分析部分詳細(xì)信息參考 教材 《 ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程 》 第二章 85 TM 第 3章 ARM指令集尋址方式 ARM指令尋址方式可分為四大類: 數(shù)據(jù)處理指令尋址 Load/Store指令的尋址 批量 Load/Store指令的尋址 協(xié)處理指令尋址。 86 TM 86 內(nèi)容提要 3. 1 ARM指令的編碼格式 3. 2 數(shù)據(jù)處理指令尋址方式 3. 3 Load/Store指令尋址 3. 4 批量 Load/Store指令尋址方式 3. 5 協(xié)處理器指令尋址方式 87 TM 87 3. 1 ARM指令的編碼格式 ? 一般編碼格式 ? 指令條件碼 88 TM 88 一般編碼格式 ? 每條 ARM指令占有 4個(gè)字節(jié),其指令長(zhǎng)度為 32位 cond( bit[31:28]) 指令執(zhí)行的條件碼; type( bit[27:26]) 指令類型碼 ( ) 指令執(zhí)行的條件碼;( ) 指令類型碼( ) 指令執(zhí)行的條件碼;( ) 指令類型碼( ) 指令執(zhí)行的條件碼;( ) 指令類型碼( ) 指令執(zhí)行的條件碼;( ) 指令類型碼( ) 指令執(zhí)行的條件碼;( ) 指令類型碼cond( bit[31:28]) 4 指令執(zhí)行的條件碼 type( bit[27:26]) 2 指令類型碼 opcode( bit[24:21]) 4 指令操作碼; S ( bit[20]) 1 決定指令的操作結(jié)果是否影響 CPSR ; Rn ( bit[19:16]) 4 包含第一個(gè)操作數(shù)的寄存器編碼; Rd ( bit[15:12]) 4 目標(biāo)寄存器編碼; Operand2( bit[11:0]) 12 指令第二個(gè)操作數(shù)。 89 TM 89 ? ARM匯編指令語法格式: ? opcode{cond}{S}Rd,Rn,operand2 90 TM 90 指令條件碼 ? 0000 EQ 相等 Z=1 ? 0001 NE 不相等 Z=0 ? 0010 CS/HS 無符號(hào)大于等于 C=1 ? 0011 CC/LO 無等號(hào)小于 C=0 ? 0100 MI 負(fù)數(shù) N=1 ? 0101 PL 非負(fù)數(shù) N=0 ? 0110 VS 上溢出 V=1 ? 0111 VC 沒有上溢出 V=0 ? 1000 HI 無符號(hào)數(shù)大于 C=1且 Z=0 ? 1001 LS 無符號(hào)小于等于 C=0或 Z=1 ? 1010 GE 有符號(hào)數(shù)大于等于 N=1且 V=1 或 N=0且 V=0 ? 1011 LT 有符號(hào)數(shù)小于 N=1且 V=0 或 N=0且 V=1 ? 1100 GT 有符號(hào)數(shù)大于 Z=0且 N=V ? 1101 LE 有符號(hào)數(shù)小于 /等于 Z=1或 N!=
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1