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

正文內(nèi)容

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

  

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