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

正文內(nèi)容

arm體系結(jié)構(gòu)及編程模型-資料下載頁

2025-05-14 08:16本頁面
  

【正文】 數(shù)據(jù)中止 處理器數(shù)據(jù)訪問指令的地址不存在,或該地址不允許當(dāng)前指令訪問時(shí),產(chǎn)生數(shù)據(jù)中止異常。 IRQ 外部中斷請(qǐng)求有效,且 CPSR中的 I位為 0時(shí),產(chǎn)生 IRQ異常。 FIQ 快速中斷請(qǐng)求引腳有效,且 CPSR中的 F位為 0時(shí),產(chǎn)生 FIQ異常。 ARM異常處理 63 對(duì)異常的響應(yīng) ARM異常處理 ? 當(dāng)一個(gè)異常出現(xiàn)以后, ARM微處理器會(huì)執(zhí)行以下幾步操作 ? 將下一條指令的地址存入相應(yīng)連接寄存器 LR,以便程序在處理異常返回時(shí)能從正確的位置重新開始執(zhí)行。 ? 將 CPSR復(fù)制到相應(yīng)的 SPSR中。 ? 根據(jù)異常類型,強(qiáng)制設(shè)置 CPSR的運(yùn)行模式位。 ? 強(qiáng)制 PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。 64 R14_Exception_Mode = Return Link SPSR_Exception_Mode = CPSR CPSR[4:0] = Exception Mode Number CPSR[5] = 0 If Exception_Mode == Reset or FIQ then CPSR[6] = 1 CPSR[7] = 1 PC = Exception Vector Address 異常響應(yīng)偽代碼 ARM異常處理 ? 處理器處于 Thumb狀態(tài),則當(dāng)異常向量地址加載入 PC時(shí),處理器自動(dòng)切換到 ARM狀態(tài)。 ARM微處理器對(duì)異常的響應(yīng)過程用偽碼可以描述為: 在 ARM狀態(tài)下執(zhí)行 禁止快速中斷 禁止正常中斷 轉(zhuǎn)入異常入口地址 65 從 異常 返回 ARM異常處理 ? 異常處理完畢之后, ARM微處理器會(huì)執(zhí)行以下幾步操作從異常返回: ? 將連接寄存器 LR的值減去相應(yīng)的偏移量后送到 PC中。 ? 將 SPSR復(fù)制回 CPSR中。 ? 若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。 ? 可以認(rèn)為應(yīng)用程序總是從復(fù)位異常處理程序開始執(zhí)行的,因此復(fù)位異常處理程序不需要返回。 66 FIQ( Fast Interrupt Request) ? FIQ異常是為了支持?jǐn)?shù)據(jù)傳輸或者通道處理而設(shè)計(jì)的。 ARM異常處理 ? 若將 CPSR的 F位置為 1,則會(huì)禁止 FIQ中斷,若將 CPSR的 F位清零,處理器會(huì)在指令執(zhí)行時(shí)檢查 FIQ的輸入。注意只有在特權(quán)模式下才能改變 F位的狀態(tài)。 ? 可由外部通過對(duì)處理器上的 nFIQ引腳輸入低電平產(chǎn)生 FIQ。不管是在 ARM狀態(tài)還是在 Thumb狀態(tài)下進(jìn)入 FIQ模式, FIQ處理程序均可以執(zhí)行以下指令從 FIQ模式返回: SUBS PC,R14_fiq ,4 67 IRQ( Interrupt Request) ? IRQ異常屬于正常的中斷請(qǐng)求,可通過對(duì)處理器的 nIRQ引腳輸入低電平產(chǎn)生, IRQ的優(yōu)先級(jí)低于 FIQ,當(dāng)程序執(zhí)行進(jìn)入 FIQ異常時(shí), IRQ可能被屏蔽。 ARM異常處理 ? 若將 CPSR的 I位置為 1,則會(huì)禁止 IRQ中斷,若將 CPSR的 I位清零,處理器會(huì)在指令執(zhí)行完之前檢查 IRQ的輸入。注意只有在特權(quán)模式下才能改變 I位的狀態(tài)。 ? 不管是在 ARM狀態(tài)還是在 Thumb狀態(tài)下進(jìn)入 IRQ模式, IRQ處理程序均可以執(zhí)行以下指令從 IRQ模式返回: SUBS PC , R14_irq , 4 68 ABORT(中止) ? 產(chǎn)生中止異常意味著對(duì)存儲(chǔ)器的訪問失敗。 ARM微處理器在存儲(chǔ)器訪問周期內(nèi)檢查是否發(fā)生中止異常。 ARM異常處理 ? 中止異常包括兩種類型: ? 指令預(yù)取中止:發(fā)生在指令預(yù)取時(shí)。 ? 數(shù)據(jù)中止:發(fā)生在數(shù)據(jù)訪問時(shí)。 ? 當(dāng)指令預(yù)取訪問存儲(chǔ)器失敗時(shí),存儲(chǔ)器系統(tǒng)向 ARM處理器發(fā)出存儲(chǔ)器中止( Abort)信號(hào),預(yù)取的指令被記為無效,但只有當(dāng)處理器試圖執(zhí)行無效指令時(shí),指令預(yù)取中止異常才會(huì)發(fā)生,如果指令未被執(zhí)行,例如在指令流水線中發(fā)生了跳轉(zhuǎn),則預(yù)取指令中止不會(huì)發(fā)生。 ? 若數(shù)據(jù)中止發(fā)生,系統(tǒng)的響應(yīng)與指令的類型有關(guān)。 ? 當(dāng)確定了中止的原因后, Abort處理程序均可以執(zhí)行以下指令從中止模式返回,無論是在 ARM狀態(tài)還是 Thumb狀態(tài): SUBS PC, R14_abt, 4 ;指令預(yù)取中止 SUBS PC, R14_abt, 8 ;數(shù)據(jù)中止 69 Software Interruupt(軟件中斷 ) ?軟件中斷指令( SWI)用于進(jìn)入管理模式,常用于請(qǐng)求執(zhí)行特定的管理功能。軟件中斷處理程序執(zhí)行以下指令可以從SWI模式返回,無論是在 ARM狀態(tài)還是 Thumb狀態(tài): MOVS PC , R14_svc 以上指令恢復(fù) PC(從 R14_svc)和 CPSR(從 SPSR_svc) 的值,并返回到 SWI的下一條指令。 ARM異常處理 70 Undefined Instruction(未定義指令 ) ARM異常處理 ?當(dāng) ARM處理器遇到不能處理的指令時(shí),會(huì)產(chǎn)生未定義指令異常。采用這種機(jī)制,可以通過軟件仿真擴(kuò)展 ARM或 Thumb指令集。 ?處理器執(zhí)行以下程序返回,無論是在 ARM狀態(tài)還是 Thumb狀態(tài): MOVS PC, R14_und ?以上指令恢復(fù) PC(從 R14_und)和 CPSR(從 SPSR_und)的值,并返回到未定義指令后的下一條指令。 71 異常向量表( Exception Vectors) 地 址 異 常 進(jìn)入模式 0x0000,0000 復(fù)位 管理模式 0x0000,0004 未定義指令 未定義模式 0x0000,0008 軟件中斷 管理模式 0x0000,000C 中止(預(yù)取指令) 中止模式 0x0000,0010 中止(數(shù)據(jù)) 中止模式 0x0000,0014 保留 保留 0x0000,0018 IRQ IRQ 0x0000,001C FIQ FIQ ARM異常處理 72 異常優(yōu)先級(jí)( Exception Priorities) 優(yōu)先級(jí) 異 常 1(最高) 復(fù)位 2 數(shù)據(jù)中止 3 FIQ 4 IRQ 5 預(yù)取指令中止 6(最低) 未定義指令、 SWI ARM異常處理 73 應(yīng)用程序中的異常處理 ?當(dāng)系統(tǒng)運(yùn)行時(shí),異??赡軙?huì)隨時(shí)發(fā)生,為保證在 ARM處理器發(fā)生異常時(shí)不至于處于未知狀態(tài),在應(yīng)用程序的設(shè)計(jì)中,首先要進(jìn)行異常處理,采用的方式是在異常向量表中的特定位置放置一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到異常處理程序,當(dāng) ARM處理器發(fā)生異常時(shí),程序計(jì)數(shù)器 PC會(huì)被強(qiáng)制設(shè)置為對(duì)應(yīng)的異常向量,從而跳轉(zhuǎn)到異常處理程序,當(dāng)異常處理完成以后,返回到主程序繼續(xù)執(zhí)行。 ?我們需要處理所有的異常,盡管我們可以簡(jiǎn)單的在某些異常處理程序處放置死循環(huán)。 ARM異常處理
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1