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

正文內(nèi)容

第三講arm編程模型,異常處理2課時(完整版)

2024-11-02 15:52上一頁面

下一頁面
  

【正文】 gisters as user mode運行具有特權(quán)的操作系統(tǒng)任務(wù) No. 15 2022 ARM 編程模式 ? ARM的七種工作模式的說明 ?兩大類 :訪問的資源不同 ?用戶模式 ?特權(quán)模式(其他六種模式)。常用于處理中斷或異常,以及需要訪問受保護的系統(tǒng)資源等情況。 ?當執(zhí)行 BL子程序調(diào)用指令時, R14中得到 R15(程序計數(shù)器 PC)的備份。它們的內(nèi)容可被算術(shù)或邏輯運算的結(jié)果所改變,并且可以決定某條指令是否被執(zhí)行。 ?對于 ARM體系結(jié)構(gòu) v5及以上的版本的 T系列處理器,當該位為 1時,程序運行于Thumb狀態(tài),否則運行于 ARM狀態(tài)。 例如處理一個外部的中斷請求。 No. 29 2022 ARM的 7種異常 No. 30 2022 ARM 7種異常對應(yīng)的模式 地 址 異 常 進入模式 5個異常模式 優(yōu)先級 6最低 0x0000,0000 復位 管理模式 1 0x0000,0004 未定義指令 未定義模式 6 0x0000,0008 軟件中斷 管理模式 6 0x0000,000C 中止(預取指令) 中止模式 5 0x0000,0010 中止(數(shù)據(jù)) 中止模式 2 0x0000,0014 保留 保留 未使用 0x0000,0018 IRQ IRQ 4 0x0000,001C FIQ FIQ 3 No. 31 2022 ARM異常處理的分類 ?指令執(zhí)行引起的直接異常: ?軟件中斷指令 SWI ?未定義指令 ?預取指令中止 ?指令執(zhí)行引起的簡介異常 ?數(shù)據(jù)中止( Load 和 Store 數(shù)據(jù)訪問時候的存儲器故障) ?外部產(chǎn)生的與指令流沒有關(guān)系的 異常 ?復位 ?IRQ ?FIQ No. 32 2022 異常響應(yīng)偽代碼描述 ? ARM處理器發(fā)生異常的時候: 盡量完成當前指令(除了復位異常中止當前指令),然后脫離當前的指令序列處理器異常 ?間接和外部事件異常將占據(jù)當前序列中的指令 ?直接異常按照順序執(zhí)行 ? ARM微處理器對異常的響應(yīng)過程用偽碼可以描述為: R14_Exception_Mode = Return Link :保存返回地址 SPSR_Exception_Mode = CPSR :保存當前狀態(tài) CPSR[4:0] = Exception Mode Number :設(shè)置進入異常模式 CPSR[5] = 0 ;當運行于 ARM工作狀態(tài)時 If Exception_Mode == Reset or FIQ then 當響應(yīng) FIQ異常時,禁止新的 FIQ異常 ? CPSR[6] = 1 ? CPSR[7] = 1 PC = Exception Vector Address 執(zhí)行異常處理程序,還需要保存其他 用戶寄存器到 R13指定的堆棧中 No. 33 2022 異常處理中寄存器的使用 ? 在異常發(fā)生時處理器模式的改變意味著異常處理程序至少需要訪問下列寄存器: ?堆棧指針寄存器( SP_mode) ?連接寄存器( LR_mode) ?程序狀態(tài)保存寄存器( SPSR_mode) ?在 FIQ異常處理中, 5個其他的通用寄存器( r8_FIQ到 r12_FIQ) ?其他的寄存器可以和發(fā)生異常之前的模式共用 ? 異常處理程序必須確保其他的寄存器在退出異常處理程序時恢復到進入異常之前的值。 ?響應(yīng)過程 R14_IRQ= 產(chǎn)生數(shù)據(jù)異常的指令后面的第二條指令 SPSR_IRQ = CPSR CPSR[4:0] = 0b10010 :進入未定義指令模式 CPSR[5] = 0 : 切換到 ARM工作狀態(tài)時 CPSR[7] = 1 : 禁止 IRQ 中斷 PC = 0000018或者 0xFFFF0018 No. 41 2022 Vector Table Vector table may be placed at 0xFFFF0000 on ARM720T and ARM9/10 family devices FIQ IRQ (Reserved) Data Abort Prefetch Abort Software Interrupt Undefined Instruction Reset 0x1C 0x18 0x14 0x10 0x0C 0x08 0x04 0x00 異常處理 ? When an exception occurs, the ARM: ? Copies CPSR into SPSR_mode ? Sets appropriate CPSR bits ? If core currently in Thumb state then ?ARM state is entered. ? Mode field bits ? Interrupt disable bits (if appropriate) ? Stores the return address in LR_mode ? Sets PC to vector address ? To return, exception handler needs to: ? Restore CPSR from SPSR_mode ? Restore PC from LR_mode ? This can only be done in ARM state. No. 42 2022 從異常的返回 ?異常處理完畢之后, ARM微處理器會執(zhí)行以下幾步操作從異常返回: 將連接寄存器 LR的值減去相應(yīng)的偏移量后送到 PC中。 產(chǎn)生異常 返回地址 PC地址 LR地址 No. 45 2022 指令預取中止異常處理程序的返回 ? 當發(fā)生指令預取中止異常時, 程序要返回到該有問題的指令處 ,重新讀取并執(zhí)行該指令。 產(chǎn)生異常 返回地址 PC地址 LR地址 No. 47 2022 ARM 編程模式和異常處理的總結(jié) ?編程模式的概念:對程序員而言 ?ARM有 7種模式 ?對應(yīng)的寄存器組 ?R13,R14,R15(PC), CPSR等關(guān)鍵寄存器 ?異常的概念 ?ARM的 7種異常及其優(yōu)先級 ?進入異常的流程 ?從異常返回的流程 下一節(jié)課: ARM指令集和匯編編程 參考書: 《 ARM體系結(jié)構(gòu)與編程 》 清華大學出版社 杜春雷編著 。 ? pc- 8 預取指令異常發(fā)生于此 ? Xxx pc- 4 lr=下一條指令 ? Yyy pc ? 返回
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1