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

正文內(nèi)容

arm體系結(jié)構(gòu)與指令集(已修改)

2025-03-17 12:38 本頁面
 

【正文】 嵌入式系統(tǒng)技術(shù)與設(shè)計 第 2章 ARM體系結(jié)構(gòu)與指令集 ARM體系結(jié)構(gòu)的特點 ARM處理器工作模式 寄存器組織 流 水 線 ARM存儲系統(tǒng) 異 常 ARM處理器的尋址方式 ARM處理器的指令集 本章將要介紹 ARM體系結(jié)構(gòu)、 ARM處理器的工作模式及常用指令集等。通過本章的學習,希望讀者能夠了解 ARM處理器內(nèi)部的主要工作單元、基本工作原理,掌握常用指令集,并為以后的程序設(shè)計打下基礎(chǔ)。 本章主要內(nèi)容: ● ARM體系結(jié)構(gòu)的特點 ● ARM處理器的工作模式 ● 寄存器組織 ● 流水線 ● ARM存儲 ● 異常 ● ARM處理器的尋址方式 ● ARM處理器的指令集 ARM體系結(jié)構(gòu)的特點 ARM內(nèi)核采用 RISC體系結(jié)構(gòu)。 RISC技術(shù)的主要特點參見 。 ARM體系結(jié)構(gòu)的主要特征如下(在本書的后續(xù)章節(jié)中將對這些特征做詳細講解): ( 1)大量的寄存器,它們都可以用于多種用途; ( 2) Load/Store體系結(jié)構(gòu); ( 3)每條指令都條件執(zhí)行; ( 4)多寄存器的 Load/Store指令; ( 5)能夠在單時鐘周期執(zhí)行的單條指令內(nèi)完成一項普通的移位操作和一項普通的 ALU操作; ( 6)通過協(xié)處理器指令集來擴展 ARM指令集,包括在編程模式中增加了新的寄存器和數(shù)據(jù)類型。 ( 7)如果把 Thumb指令集也當作 ARM體系結(jié)構(gòu)的一部分,那么還可以加上:在 Thumb體系結(jié)構(gòu)中以高密度 16位壓縮形式表示指令集。 ARM處理器工作模式 表 21 ARM處理器的工作模式 處理器工作模式 簡 寫 描 述 用戶模式( User) usr 正常程序執(zhí)行模式,大部分任務(wù)執(zhí)行在這種模式下 快速中斷模式( FIQ) fiq 當一個高優(yōu)先級( fast)中斷產(chǎn)生時將會進入這種模式,一般用于高速數(shù)據(jù)傳輸和通道處理 外部中斷模式( IRQ) irq 當一個低優(yōu)先級( normal)中斷產(chǎn)生時將會進入這種模式,一般用于通常的中斷處理 特權(quán)模式( Supervisor) svc 當復(fù)位或軟中斷指令執(zhí)行時進入這種模式,是一種供操作系統(tǒng)使用的保護模式 數(shù)據(jù)訪問中止模式( Abort) abt 當存取異常時將會進入這種模式,用于虛擬存儲或存儲保護 未定義指令中止模式( Undef) und 當執(zhí)行未定義指令時進入這種模式,有時用于通過軟件仿真協(xié)處理器硬件的工作方式 系統(tǒng)模式( System) sys 使用和 User模式相同寄存器集的模式,用于運行特權(quán)級操作系統(tǒng)任務(wù) 除用戶模式外的其他 6種處理器模式稱為特權(quán)模式( Privileged Modes)。在特權(quán)模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進行處理器模式切換。其中以下 5種又稱為異常模式: ( 1)快速中斷模式( FIQ); ( 2)外部中斷模式( IRQ); ( 3)特權(quán)模式( Supervior); ( 4)數(shù)據(jù)訪問中止模式( Abort); ( 5)未定義指令中止模式( Undef)。 寄存器組織 ARM處理器有如下 37個 32位長的寄存器: ( 1) 30個通用寄存器; ( 2) 6個狀態(tài)寄存器: 1個 CPSR( Current Program Status Register,當前程序狀態(tài)寄存器), 5個 SPSR( Saved Program Status Register,備份程序狀態(tài)寄存器); ( 3) 1個 PC( Program Counter,程序計數(shù)器)。 ARM處理器共有 7種不同的處理器模式,在每一種處理器模式中有一組相應(yīng)的寄存器組。表 22列出了 ARM處理器的寄存器組織概要。 表 22 ARM處理器的寄存器組織概要 User FIQ IRQ SVC Undef Abort R0 User mode R0~ R7,R15和 CPSR User mode R0~ R12,R15 和 CPSR User mode R0~ R12,R15 和 CPSR User mode R0~ R12,R15 和 CPSR User mode R0~ R12,R15 和 CPSR R1 R2 R3 R4 R5 R6 R7 R8 R8 R9 R9 R10 R10 R11 R11 R12 R12 R13(SP) R13(SP) R13 R13 R13 R13 R14(LR) R14(LR) R14 R14 R14 R14 R15(PC) CPSR SPSR SPSR SPSR SPSR SPSR 通用寄存器 通用寄存器根據(jù)其分組與否可分為以下 2類。 ( 1)未分組寄存器( the Unbanked Register),包括 R0~ R7。 ( 2)分組寄存器( the Banked Register),包括 R8~ R14。 未分組寄存器包括 R0~ R7。 未分組寄存器沒有被系統(tǒng)用于特殊的用途,任何可采用通用寄存器的應(yīng)用場合都可以使用未分組寄存器。 1.未分組寄存器 對于分組寄存器 R13和 R14來說,每個寄存器對應(yīng) 6個不同的物理寄存器。其中的一個是用戶模式和系統(tǒng)模式公用的,而另外 5個分別用于 5種異常模式。訪問時需要指定它們的模式。名字形式如下: ( 1) R13_mode ( 2) R14_mode 其中, mode可以是以下幾種模式之一:usr、 svc、 abt、 und、 irp及 fiq。 2.分組寄存器 寄存器 R14又被稱為連接寄存器( Link Register, LR),在 ARM體系結(jié)構(gòu)中具有下面兩種特殊的作用。 ( 1)每一種處理器模式用自己的 R14存放當前子程序的返回地址。 ( 2)當異常中斷發(fā)生時,該異常模式特定的物理寄存器 R14被設(shè)置成該異常模式的返回地址,對于有些模式 R14的值可能與返回地址有一個常數(shù)的偏移量(如數(shù)據(jù)異常使用 SUB PC, LR, 8返回)。 R14也可以被用做通用寄存器使用。 狀態(tài)寄存器 當前程序狀態(tài)寄存器( Current Program Status Register, CPSR)可以在任何處理器模式下被訪問,它包含下列內(nèi)容: ( 1) ALU( Arithmetic Logic Unit,算術(shù)邏輯單元)狀態(tài)標志的備份; ( 2)當前的處理器模式; ( 3)中斷使能標志; ( 4)設(shè)置處理器的狀態(tài)(只在 4T架構(gòu))。 圖 21 程序狀態(tài)寄存器格式 N( Negative)、 Z( Zero)、 C( Carry)和 V( oVerflow)通稱為條件標志位。 ( 1) N ( 2) Z ( 3) C ( 4) V 1.標志位 在帶 DSP指令擴展的 ARM v5及更高版本中,bit[27]被指定用于指示增強的 DAP指令是否發(fā)生了溢出,因此也就被稱為 Q標志位。同樣,在 SPSR中 bit[27]也被稱為 Q標志位,用于在異常中斷發(fā)生時保存和恢復(fù) CPSR中的 Q標志位。 2. Q標志位 CPSR的低 8位( I、 F、 T及 M[4∶0] )統(tǒng)稱為控制位。當異常發(fā)生時,這些位的值將發(fā)生相應(yīng)的變化。另外,如果在特權(quán)模式下,也可以通過軟件編程來修改這些位的值。 ( 1)中斷禁止位 ( 2)狀態(tài)控制位 ( 3)模式控制位 3.控制位 表 23 狀態(tài)控制位 M[4∶ 0]含義 M[4∶ 0] 處理器 模式 可以訪問的寄存器 0b10000 User PC, R14~ R0, CPSR 0b10001 FIQ PC, R14_fiq~ R8_fiq, R7~ R0, CPSR, SPSR_fiq 0b10010 IRQ PC, R14_irq~ R13_irq, R12~ R0, CPSR, SPSR_irq 0b10011 Supervisor PC, R14_svc~ R13_svc, R12~ R0, CPSR, SPSR_svc 0b10111 Abort PC, R14_abt~ R13_abt, R12~ R0, CPSR, SPSR_abt 0b11011 Undefined PC, R14_und~ R13_und, R12~ R0, CPSR, SPSR_und 0b11111 System PC, R14~ R0, CPSR( ARM v4及更高版本) 程序計數(shù)器 程序計數(shù)器 R15又被記為 PC。 程序計數(shù)器在下面兩種情況下用于特殊的目的。 ( 1)讀程序計數(shù)器。 ( 2)寫程序計數(shù)器。 流 水 線 流水線的概念與原理 處理器按照一系列步驟來執(zhí)行每一條指令,典型的步驟如下: ( 1)從存儲器讀取指令( fetch); ( 2)譯碼以鑒別它是屬于哪一條指令( decode); ( 3)從指令中提取指令的操作數(shù)(這些操作數(shù)往往存在于寄存器中)( reg); ( 4)將操作數(shù)進行組合以得到結(jié)果或存儲器地址( ALU); ( 5)如果需要,則訪問存儲器以存儲數(shù)據(jù)( mem); ( 6)將結(jié)果寫回到寄存器堆( res)。 流水線的分類 到 ARM7為止的 ARM處理器使用簡單的 3級流水線,它包括下列流水線級。 ( 1)取指令( fetch):從寄存器裝載一條指令。 ( 2)譯碼( decode):識別被執(zhí)行的指令,并為下一個周期準備數(shù)據(jù)通路的控制信號。在這一級,指令占有譯碼邏輯,不占用數(shù)據(jù)通路。 ( 3)執(zhí)行( excute):處理指令并將結(jié)果寫回寄存器。 1. 3級流水線 ARM組織 在 ARM9TDMI中使用了典型的 5級流水線,5級流水線包括下面的流水線級。 ( 1)取指令( fetch):從存儲器中取出指令,并將其放入指令流水線。 ( 2)譯碼( decode):指令被譯碼,從寄存器堆中讀取寄存器操作數(shù)。在寄存器堆中有 3個操作數(shù)讀端口,因此,大多數(shù) ARM指令能在 1個周期內(nèi)讀取其操作數(shù)。 2. 5級流水線 ARM組織 ( 3)執(zhí)行( execute):將其中 1個操作數(shù)移位,并在 ALU中產(chǎn)生結(jié)果。如果指
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1