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

正文內(nèi)容

[高等教育]第四章編程模型與指令系統(tǒng)-在線瀏覽

2025-05-31 23:57本頁(yè)面
  

【正文】 –在處理異常之前,當(dāng)前 處理器的狀態(tài)必須保留 ,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行 –處理器允許 多個(gè)異常同時(shí)發(fā)生 ,它們將會(huì)按 固定的優(yōu)先級(jí) 進(jìn)行處理 ? 中斷優(yōu)先級(jí) ? 中斷嵌套 2022/4/14 44 異常類型 具體含義 復(fù)位 當(dāng)處理器的 復(fù)位電平有效 時(shí),產(chǎn)生復(fù)位異常,程序跳轉(zhuǎn)到復(fù)位異常處理程序處執(zhí)行 未定義指令 當(dāng) ARM處理器或協(xié)處理器遇到 不能處理的指令 時(shí),產(chǎn)生未定義指令異常??墒褂迷摦惓C(jī)制實(shí)現(xiàn)系統(tǒng)功能調(diào)用 指令預(yù)取中止 若處理器 預(yù)取指令的地址不存在,或該地址不允許當(dāng)前指令訪問(wèn) ,存儲(chǔ)器會(huì)向處理器發(fā)出中止信號(hào),但當(dāng)預(yù)取的指令被執(zhí)行時(shí),才會(huì)產(chǎn)生指令預(yù)取中止異常 數(shù)據(jù)中止 若處理器 數(shù)據(jù)訪問(wèn)的地址不存在,或該地址不允許當(dāng)前指令訪問(wèn) 時(shí),產(chǎn)生數(shù)據(jù)中止異常 IRQ(外部中斷請(qǐng)求) 當(dāng)處理器的 外部中斷請(qǐng)求引腳有效 ,且 CPSR中的 I位為 0時(shí),產(chǎn)生 IRQ異常。 切換到 ARM工作狀態(tài) – If Exception_Mode == Reset or FIQ then – CPSR[6] = 1 。 禁止新的 IRQ異常 – R14_Exception_Mode = Return Link – PC = Exception Vector Address CPU自動(dòng)完成 2022/4/14 48 程序 A IRQ服務(wù)程序 系統(tǒng)模式 IRQ模式 程序 寄存器組 程序在系統(tǒng)模式下運(yùn)行用戶程序,假定當(dāng)前處理器狀態(tài)為Thumb狀態(tài)、允許 IRQ中斷 用戶程序運(yùn)行時(shí)發(fā)生 IRQ中斷,硬件完成以下動(dòng)作: LR_sys SPSR_irq LR_irq LR PC CPSR SPSR SYS 1 ? 0 . . . ? ? ? ? MOD T F I . . . N Z C V ?置位 I位(禁止 IRQ中斷) ?清零 T位(進(jìn)入 ARM狀態(tài)) ?設(shè)置 MOD位, 切換 處理器模式至 IRQ模式 ?將下一條指令的地址 存入IRQ模式的 LR寄存器 ?將 CPSR寄存器內(nèi)容 存入IRQ模式的 SPSR寄存器 ?將跳轉(zhuǎn)地址存入 PC,實(shí)現(xiàn) 跳轉(zhuǎn) IRQ01BackAddr JumpAddr SYS 1 ? 0 . . . ? ? ? ? “?”表示對(duì)該位不關(guān)心 2022/4/14 49 2 從異常返回 ? 異常處理完畢之后, ARM微處理器會(huì)執(zhí)行以下幾步操作從異常返回 – 將 SPSR復(fù)制回 CPSR中 – 將鏈接寄存器 LR的值 減去相應(yīng)偏移量 后送到 PC中 ? 注意 –復(fù)位異常處理程序不需要返回 編程(指令)完成 2022/4/14 50 在異常處理結(jié)束后,異常處理程序完成以下動(dòng)作: 程序 A IRQ服務(wù)程序 系統(tǒng)模式 IRQ模式 程序 寄存器組 LR_sys SPSR_irq LR_irq LR PC CPSR SPSR SYS 1 ? 0 . . . ? ? ? ? MOD T F I . . . N Z C V ?將 SPSR寄存器的值 復(fù)制回 CPSR寄存器; ?將 LR寄存的值減去一個(gè)常量后復(fù)制到 PC寄存器,跳轉(zhuǎn) 到被中斷的用戶程序。 切換到 ARM工作狀態(tài) – CPSR[6] = 1 。 禁止新的 IRQ異常 – R14_svc = Return Link(不可預(yù)知) – PC = 0x00000000 2022/4/14 52 3 各類異常的具體描述(續(xù)) ? Undefined Instruction(未定義指令 ) –當(dāng) ARM處理器遇到 不能處理的指令 時(shí),會(huì)產(chǎn)生未定義指令異常 ? 采用這種機(jī)制,可以通過(guò)軟件仿真擴(kuò)展 ARM或Thumb指令集 –在未定義指令處理程序中執(zhí)行以下指令返回 ? MOVS PC, R14_und ? 恢復(fù) PC(從 R14_und)和 CPSR(從 SPSR_und)的值,并返回到未定義指令后的 下一條指令 –指令加后綴“ S‖且目的寄存器為 PC則自動(dòng)復(fù)制 2022/4/14 53 3 各類異常的具體描述(續(xù)) ? 未定義指令異常的響應(yīng)過(guò)程 – SPSR_und = CPSR – CPSR[4:0] = 0b11011 – CPSR[5] = 0 。 禁止新的 IRQ異常 – R14_und = Return Link – PC = 0x00000004 2022/4/14 54 3 各類異常的具體描述(續(xù)) ? Software Interrupt(軟件中斷 ) –軟件中斷指令( SWI)用于進(jìn)入管理模式 ,常用于請(qǐng)求執(zhí)行特定的管理功能 ? 在 ARM 上寫的操作系統(tǒng)典型的使用 SWI 來(lái)為編程者提供各種例程 –在軟件中斷處理程序中執(zhí)行以下指令返回 ? MOVS PC, R14_svc ? 恢復(fù) PC(從 R14_svc)和 CPSR(從 SPSR_svc)的值,并返回到 SWI的 下一條指令 –指令加后綴“ S‖且目的寄存器為 PC則自動(dòng)復(fù)制 2022/4/14 55 3 各類異常的具體描述(續(xù)) ? SWI的響應(yīng)過(guò)程 – SPSR_svc = CPSR – CPSR[4:0] = 0b10011 – CPSR[5] = 0 。 禁止新的 IRQ異常 – R14_svc = Return Link – PC = 0x00000008 2022/4/14 56 3 各類異常的具體描述(續(xù)) ? ABORT(中止) –產(chǎn)生中止異常意味著對(duì) 存儲(chǔ)器的訪問(wèn)失敗 –中止異常包括兩種類型: ? 指令 預(yù)取中止:發(fā)生在指令預(yù)取時(shí) ? 數(shù)據(jù) 中止:發(fā)生在數(shù)據(jù)訪問(wèn)時(shí) –當(dāng)確定中止原因后, Abort處理程序執(zhí)行以下指令返回 ? SUBS PC, R14_abt, 4 。 數(shù)據(jù)中止 ? 恢復(fù) PC(從 R14_abt)和 CPSR(從 SPSR_abt)的值, 并 重新 執(zhí)行產(chǎn)生中止的指令(返回當(dāng)前指令) 2022/4/14 57 3 各類異常的具體描述(續(xù)) ? 中止異常的響應(yīng)過(guò)程 – SPSR_abt = CPSR – CPSR[4:0] = 0b10111 – CPSR[5] = 0 。 禁止新的 IRQ異常 – R14_abt = Return Link – PC = 0x0000000c/ 0x00000010 2022/4/14 58 3 各類異常的具體描述(續(xù)) ? IRQ( Interrupt Request) – IRQ異常屬于正常的中斷請(qǐng)求, IRQ優(yōu)先級(jí)低于 FIQ ? 若 CPSR的 I位置 1,則禁止 IRQ中斷,若 CPSR的 I位清零,處理器會(huì)在指令執(zhí)行完之前檢查 IRQ的輸入 ? 注意只有 在特權(quán)模式下才能改變 I位的狀態(tài) – IRQ處理程序執(zhí)行以下指令返回 ? SUBS PC , R14_irq , 4 ? 該指令將寄存器 R14_irq的值 減去 4后,復(fù)制到程序計(jì)數(shù)器 PC中,同時(shí)將 SPSR_irq寄存器的內(nèi)容復(fù)制到 CPSR中,并返回到引起中斷的 下一條指令 2022/4/14 59 3 各類異常的具體描述(續(xù)) ? IRQ的響應(yīng)過(guò)程 – SPSR_irq = CPSR – CPSR[4:0] = 0b10010 – CPSR[5] = 0 。 禁止新的 IRQ異常 – R14_irq = Return Link – PC = 0x00000018 2022/4/14 60 3 各類異常的具體描述 ? FIQ( Fast Interrupt Request) – FIQ異常是為了支持?jǐn)?shù)據(jù)傳輸或者通道處理而設(shè)計(jì)的 ? 若將 CPSR的 F位置 1,則禁止 FIQ中斷,若將 CPSR的 F位清零,處理器會(huì)在指令執(zhí)行時(shí)檢查 FIQ的輸入 ? 注意只有 在特權(quán)模式下才能改變 F位的狀態(tài) – FIQ處理程序執(zhí)行以下指令返回 ? SUBS PC, R14_fiq , 4 ? 該指令將寄存器 R14_fiq的值 減去 4后,復(fù)制到程序計(jì)數(shù)器 PC中,同時(shí)將 SPSR_fiq寄存器的內(nèi)容復(fù)制到 CPSR中,并返回到引起中斷的 下一條指令 2022/4/14 61 3 各類異常的具體描述(續(xù)) ? FIQ的響應(yīng)過(guò)程 – SPSR_fiq = CPSR – CPSR[4:0] = 0b10001 – CPSR[5] = 0 。 禁止新的 FIQ異常 – CPSR[7] = 1 。 Exception Vectors 。 Absolute addressing mode must be used. Vectors LDR PC, Reset_Address LDR PC, Undef_Address LDR PC, SWI_Address LDR PC, PAbt_Address LDR PC, DAbt_Address NOP 。 設(shè)成死循環(huán)是為調(diào)試用,一旦發(fā)生此類異常, 程序便跳入異常模式服務(wù)子程序,終止程序運(yùn)行。 while(1)。 while(1)。 while(1)。 while(1)。 while(1)。 異常向量表 。 Mapped to Address 0. 。 Reserved Vector LDR PC, HandleIRQ LDR PC, HaltFIQ 2022/4/14 70 本講小結(jié) ? 目的與要求 ?掌握數(shù)據(jù)類型、異常向量表和異常程序設(shè)計(jì) ?熟悉邊界對(duì)齊、大小端格式 ?了解 ARM處理器的異常處理機(jī)制 ? 重點(diǎn)與難點(diǎn) ?數(shù)據(jù)類型、異常向量表和異常程序設(shè)計(jì) ?邊界對(duì)齊、異常程序設(shè)計(jì) 2022/4/14 71 ARM微處理器的指令系統(tǒng) ? 一、 ARM微處理器的尋址方式 ? 二、 ARM微處理器的指令集概述 ? 三、 ARM指令集 ? 四、 Thumb指令集 2022/4/14 72 一、 ARM微處理器的尋址方式 ? 尋址方式 – 就是處理器根據(jù) 指令中給出的地址信息來(lái)尋找物理地址 的方式 ? ARM指令系統(tǒng)的尋址方式 – 1 立即尋址 – 2 寄存器尋址 – 3 寄存器間接尋址 – 4 基址尋址 – 5 相對(duì)尋址 – 6 多寄存器尋址 – 7 堆棧尋址 2022/4/14 73 1 立即尋址 ? 立即尋址也叫立即數(shù)尋址 – 這是一種特殊的尋址方式, 操作數(shù)本身就在指令中 給出,只要取出指令也就取到了操作數(shù)。 R0←R0 + 1 ? ADD R0, R0, # 0x3f 。‖ – 立即數(shù)一般為 8位(超過(guò) 8位使用偽指令 LDR) 2022/4/14 74 2 寄存器尋址 ? 寄存器尋址就是 利用寄存器中的數(shù)值作為操作數(shù) –這種尋址方式是各類微處理器經(jīng)常采用的一種方式,也是一種 執(zhí)行效率較高 的尋址方式 –例如 ? ADD R0, R1, R2 。 R0←R1 + [R2] ? LDR R0, [R1] 。 [R1]←R0 –在第一條指令中,以寄存器 R2的值作為操作數(shù)的地址,在存儲(chǔ)器中取得一個(gè)操作數(shù)后與 R1相加,結(jié)果存入寄存器 R0中 LDR/STR:左寄存器,右存儲(chǔ)器 2022/4/14 76 4 基址尋址 ? 基址尋址就是將 寄存器(該寄存器一般稱作基址寄存器)的內(nèi)容與指令中給出的地址偏移量相加 ,從而得到一個(gè)操作數(shù)的有效地址 –基址尋址方式常用于 訪問(wèn)某基地址附近的單元 –采用基址尋址方式的指令常見有以下幾種形式 ? LDR R0, [R1,
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1