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

正文內(nèi)容

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

2025-03-17 12:38 本頁(yè)面
 

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