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

正文內(nèi)容

[高等教育]第四章編程模型與指令系統(tǒng)-文庫吧

2025-03-29 23:57 本頁面


【正文】 棧指針( SP) ? 連接寄存器( LR) ? CPSR –在 每一種異常模式 下都有一組 SP、 LR和 SPSR 2022/4/14 25 C P S R C P S R C P S R C P S R C P S R C P S RS P S R _ f i q S P S R _ s v c S P S R _ a b t S P S R _ i r q S P S R _ u n dP C P C P C P C P C P C當(dāng) 前 程 序 狀 態(tài) 寄 存 器L R _ u s r L R _ f i q L R _ s v c L R _ a b t L R _ i r q L R _ u n dS P _ u s r S P _ f i q S P _ s v c S P _ a b t S P _ i r q S P _ u n dR 7 R 7 R 7 R 7 R 7 R 7R 6 R 6 R 6 R 6 R 6 R 6R 5 R 5 R 5 R 5 R 5 R 5R 4 R 4 R 4 R 4 R 4 R 4R 3 R 3 R 3 R 3 R 3 R 3R 2 R 2 R 2 R 2 R 2 R 2R 1 R 1 R 1 R 1 R 1 R 1R 0 R 0 R 0 R 0 R 0 R 0T h u m b 狀 態(tài) 下 的 寄 存 器 組 織S y s t e m amp。 U s e r F I Q S u p e r v i s o r A b o r t I R Q U n d e f i n e d備 份 程 序 狀 態(tài) 寄 存 器程 序 計 數(shù) 器未 分 組 寄存 器工 作 模 式 :鏈 接 寄 存 器堆 棧 指 針2022/4/14 169。 國防科技大學(xué)計算機(jī)學(xué)院 601室 26 C P S R C P S RS P S RP C R 1 5當(dāng) 前 程 序 狀 態(tài) 寄 存 器L R R 1 4S P R 1 3R 1 2R 1 1R 1 0R 9R 8R 7 R 7R 6 R 6R 5 R 5R 4 R 4R 3 R 3R 2 R 2R 1 R 1R 0 R 0T h u m b A R M備 份 程 序 狀 態(tài) 寄 存 器程 序 計 數(shù) 器未 分 組寄 存 器分 組寄 存 器工 作 狀 態(tài)鏈 接 寄 存 器堆 棧 指 針S P S R兩種工作狀態(tài)下寄存器比較 2022/4/14 27 3 程序狀態(tài)寄存器 ? 程序狀態(tài)寄存器的 構(gòu)成 –一個當(dāng)前程序狀態(tài)寄存器( CPSR) –五個備份程序狀態(tài)寄存器( SPSR) ? 備份的程序狀態(tài)寄存器用來進(jìn)行異常處理 ? 程序狀態(tài)寄存器的 功能 –保存 ALU中的當(dāng)前操作信息 –控制允許和禁止中斷 –設(shè)置處理器的工作模式 2022/4/14 28 3 程序狀態(tài)寄存器(續(xù)) 2022/4/14 29 3 程序狀態(tài)寄存器(續(xù)) ? 條件碼標(biāo)志( Condition Code Flags) – N、 Z、 C、 V均為條件碼標(biāo)志位 ? 它們的內(nèi)容可被 算術(shù)或邏輯運算的結(jié)果 所改變,并且可以決定某條指令是否被執(zhí)行 –在 ARM狀態(tài)下, 絕大多數(shù)的指令 都是有條件執(zhí)行 的 –在 Thumb狀態(tài)下,僅有 分支指令 B是有條件執(zhí)行 的 2022/4/14 30 3 程序狀態(tài)寄存器(續(xù)) ? 實例 – C代碼: if (ab) a++。 else b++。 – Thumb代碼: CMP R0, R1 – BHI A_ADD – ADD R1, R1, 1 – B OVER – A_ADD ADD R0, R0, 1 – OVER …… – ARM代碼: CMP R0, R1 – ADDHI R0, R0, 1 – ADDLS R1, R1, 1 2022/4/14 31 3 程序狀態(tài)寄存器(續(xù)) ? 標(biāo)志位 N – 當(dāng)用 兩個補(bǔ)碼表示的帶符號數(shù)進(jìn)行運算 時 – N=1 表示運算結(jié)果為 負(fù)數(shù) – N=0 表示運算結(jié)果為 正數(shù)或零 ? 標(biāo)志位 Z – Z=1 表示運算結(jié)果 為零 ; Z=0 表示運算結(jié)果為 非零 ? 標(biāo)志位 V – 對于加 /減法運算指令,當(dāng)操作數(shù)和運算結(jié)果為補(bǔ)碼表示的帶符號數(shù)時, V=1表示 符號位溢出 – 對于其他的非加 /減運算指令, V的值通常不改變 2022/4/14 32 3 程序狀態(tài)寄存器(續(xù)) ? 標(biāo)志位 C –加法運算(包括比較指令 CMN): ? 當(dāng)運算結(jié)果產(chǎn)生了 進(jìn)位 時(無符號數(shù)溢出), C=1,否則 C=0 –減法運算(包括比較指令 CMP): ? 當(dāng)運算時產(chǎn)生了 借位 (無符號數(shù)溢出), C=1,否則 C=0 –對于包含 移位操作 的非加 /減運算指令, C為移出值的最后一位 –對于其他的非加 /減運算指令, C的值通常不改變 2022/4/14 33 3 程序狀態(tài)寄存器(續(xù)) ? 中斷禁止位 I和 F – I=1禁止 IRQ中斷; I=0允許 IRQ中斷 – F=1禁止 FIQ中斷; F=0允許 IRQ中斷 ? 運行狀態(tài)控制位 T – 對于 ARM v5及以上的 T系列處理器 ,當(dāng)該位為 1時,程序運行于 Thumb狀態(tài) ,否則運行于 ARM狀態(tài) – 對于 ARM v5及以上的 非 T系列處理器 ,當(dāng)該位為 1時,執(zhí)行下一條指令以引起未定義指令異常;當(dāng)該位為 0時,表示運行于 ARM狀態(tài) ? 工作模式位 M[4:0] – 這些位決定了處理器的工作模式 2022/4/14 34 M[4:0] 處理器模式 可訪問的寄存器 0b10000 用戶 PC, CPSR, R0R14 0b10001 FIQ PC, CPSR, SPSR_fiq, R14_fiq~ R8_fiq, R7~ R0 0b10010 IRQ PC, CPSR, SPSR_irq, R14_irq, R13_irq, R12~ R0 0b10011 管理 PC, CPSR, SPSR_svc, R14_svc, R13_svc, R12~ R0 0b10111 中止 PC, CPSR, SPSR_abt, R14_abt, R13_abt, R12~ R0 0b11011 未定義 PC, CPSR, SPSR_und, R14_und, R13_und, R12~ R0 0b11111 系統(tǒng) PC, CPSR( ARM v4及以上版本) , R14~R0 3 程序狀態(tài)寄存器(續(xù)) 2022/4/14 35 本講小結(jié) ? 目的與要求 ?掌握 ARM處理器的工作模式、工作狀態(tài)、 ARM狀態(tài)下的寄存器組織 ?熟悉 Thumb狀態(tài)下的寄存器組織、程序狀態(tài)寄存器 ? 重點與難點 ?工作模式 ?寄存器組織 2022/4/14 36 ARM微處理器的數(shù)據(jù)類型 ? 字、半字、字節(jié) – 字( Word):字的長度為 32位 – 半字( HalfWord):半字的長度為 16位 – 字節(jié)( Byte):字節(jié)的長度為 8位 ? ARM微處理器要求 自然對齊 – 字需要 4字節(jié)對齊 ? 地址的低兩位為 0 – 半字需要 2字節(jié)對齊 ? 地址的最低位為 0 – 字節(jié)則是 任意地址對齊 2022/4/14 37 ARM微處理器的數(shù)據(jù)類型(續(xù)) ? 邊界對齊(數(shù)據(jù)存儲) –如果一個數(shù)據(jù)是從 偶地址 開始的連續(xù)存儲,那么它就是 半字對齊 ,否則就是 非半字對齊 –如果一個數(shù)據(jù)是以能 被 4整除的地址 開始的連續(xù)存儲,那么它就是 字對齊 ,否則就是 非字對齊 方式 半字對齊 字對齊 地址 0x00000000 0x00000002 0x00000004 …… 0x00000000 0x00000004 0x00000008 …… 特征 Bit0=0 Bit1=0,Bit0=0 2022/4/14 38 ARM微處理器的數(shù)據(jù)類型(續(xù)) ? ARM體系結(jié)構(gòu)的存儲結(jié)構(gòu) –從零地址開始的 以字節(jié)為單位 的線性組合 –從零字節(jié)到三字節(jié)放置第一個存儲的 字?jǐn)?shù)據(jù) ,從第四個字節(jié)到第七個字節(jié)放置第二個存儲的字?jǐn)?shù)據(jù) ,依次排列 –作為 32位的微處理器, ARM體系結(jié)構(gòu)所支持的最大尋址空間為 4GB( 232字節(jié)) ? 受到物理地址線的限制,一般實際嵌入式處理器最大尋址空間為幾百兆 2022/4/14 39 ARM微處理器的數(shù)據(jù)類型(續(xù)) ? ARM體系結(jié)構(gòu)可以用兩種方法存儲 字?jǐn)?shù)據(jù) –大端格式( Big endian) ? 字?jǐn)?shù)據(jù)的 高字節(jié) 存儲在 低地址 中 ? 字?jǐn)?shù)據(jù)的 低字節(jié) 存放在 高地址 中 –小端格式( Little endian) ? 與大端存儲格式 相反 ? 低地址 中存放的是字?jǐn)?shù)據(jù)的 低字節(jié) ? 高地址 中存放的是字?jǐn)?shù)據(jù)的 高字節(jié) 2022/4/14 40 大端格式( Big endian) 8409511 0621 17308 71 6 1 52 4 2 33 1048字節(jié)地址… … … …位 地 址…2022/4/14 41 小端格式( Little endian) 1 1731 06295184008 71 6 1 52 4 2 33 1048字節(jié)地址… … … …位 地 址…2022/4/14 42 舉例 1 ? 程序 – LDR R0, =0x11223344 – LDR R1, =0x00000100 – STR R0, [R1] – LDRB R2, [R1] – R2=? ? 答案 –小端模式: R2 = 0x44 –大端模式: R2 = 0x11 LDR 偽指令,使用以下項之一加載寄存器: 一個 32 位常數(shù)值 一個地址 LDR偽指令的形式: LDR Rn, =expr 。 =而非 2022/4/14 43 ARM微處理器的異常狀態(tài) ? 當(dāng)正常的程序執(zhí)行流程發(fā)生 暫時的停止 時,稱之為異常( Exception) –例如處理一個外部的中斷請求 –在處理異常之前,當(dāng)前 處理器的狀態(tài)必須保留 ,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行 –處理器允許 多個異常同時發(fā)生 ,它們將會按 固定的優(yōu)先級 進(jìn)行處理 ? 中斷優(yōu)先級 ? 中斷嵌套 2022/4/14 44 異常類型 具體含義 復(fù)位 當(dāng)處理器的 復(fù)位電平有效 時,產(chǎn)生復(fù)位異常,程序跳轉(zhuǎn)到復(fù)位異常處理程序處執(zhí)行 未定義指令 當(dāng) ARM處理器或協(xié)處理器遇到 不能處理的指令 時,產(chǎn)生未定義指令異常??墒褂迷摦惓C(jī)制進(jìn)行軟件仿真 軟件中斷 該異常由執(zhí)行 SWI指令 產(chǎn)生,可用于用戶模式下的程序調(diào)用特權(quán)操作指令??墒褂迷摦惓C(jī)制實現(xiàn)系統(tǒng)功能調(diào)用 指令預(yù)取中止 若處理器 預(yù)取指令的地址不存在,或該地址不允許當(dāng)前指令訪問 ,存儲器會向處理器發(fā)出中止信號,但當(dāng)預(yù)取的指令被執(zhí)行時,才會產(chǎn)生指令預(yù)取中止異常 數(shù)據(jù)中止 若處理器 數(shù)據(jù)訪問的地址不存在,或該地址不允許當(dāng)前指令訪問 時,產(chǎn)生數(shù)據(jù)中止異常 IRQ(外部中斷請求) 當(dāng)處理器的 外部中斷請求引腳有效 ,且 CPSR中的 I位為 0時,產(chǎn)生 IRQ異常。系統(tǒng)的外設(shè)可通過該異常請求中斷服務(wù) FIQ(快速中斷請求) 當(dāng)處理器的 快速中斷請求引腳有效 ,且 CPSR中的 F位為 0時,產(chǎn)生 FIQ異常 2022/4/14 45 ARM微處理器的異常狀態(tài)(續(xù)) ? 1 對異常的響應(yīng) ? 2 從異常返回 ? 3 各類異常的具體描述 ? 4 異常向量 ? 5 異常優(yōu)先級 ? 6 應(yīng)用程序中的異常處理
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1