《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題_第1頁
《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題_第2頁
《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題_第3頁
《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題_第4頁
《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題2023/12/28《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題第4章ARM體系結(jié)構(gòu)本章主要介紹以下內(nèi)容:ARM體系結(jié)構(gòu)版本ARM處理器系列ARM流水線ARM工作模式和工作狀態(tài)ARM寄存器組織ARM存儲器組織ARM的異常中斷AMBA和ARM7TDMI2008年6月21日2《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.6ARM存儲器組織介紹以下內(nèi)容:數(shù)據(jù)類型和存儲格式ARM的存儲體系片上存儲器的用法 協(xié)處理器CP15存儲器管理單元MMU保護單元快速上下文切換擴展寫緩存器(WriteBuffer)ARM的異常中斷向量表和異常中斷處理與返回2008年6月21日3《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.6.1數(shù)據(jù)類型和存儲格式ARM存儲器中的數(shù)據(jù)類型有6種有符號數(shù)8位(字節(jié))、16位(半字)、32位(字)無符號數(shù)8位(字節(jié))、16位(半字)、32位(字)缺省端序設(shè)置為小端序2008年6月21日4《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.6.2ARM的存儲體系參看下圖,抽象成一個呈金字塔型的存儲結(jié)構(gòu)注重研究第2層2008年6月21日5《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.6.3片上存儲器的用法多數(shù)ARM處理器芯片內(nèi)部集成了存儲器它們統(tǒng)稱為片上存儲器用途有:片上Cache、片上SRAM、緊耦合存儲器(TCM)、寫緩存片上存儲器的存儲空間可以通過指令進行配置,定義成片上Cache,或者片上SRAM,或者一部分片上Cache加一部分片上SRAM。緊耦合存儲器和寫緩存均需要編程使能或者硬件接線使能按照具體應(yīng)用情況決定片上存儲器配置方法2008年6月21日6《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題片上存儲器用作緊耦合存儲器緊耦合存儲器的英文原文如下:TightlyCoupledMemory,TCM彌補Cache訪問的不確定性而增加的片上存儲器。除了片上緊耦合存儲器外,還有緊耦合存儲器接口,它能夠提供低延時的外存儲器訪問。有的處理器含有分立的指令TCM和數(shù)據(jù)TCM。TCM包含在存儲器地址映射空間中,可以作為快速存儲器來訪問。除了不得包含讀敏感地址之外,對TCM接口上連接的存儲器類型沒有其他限制。TCM使用物理地址,對TCM的寫訪問受到MMU內(nèi)部保護信息的控制。2008年6月21日7《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題TCM在ARMv6處理器核的位置ARMv6處理器包括:ARM1136J-S、ARM1156T22008年6月21日8《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題片內(nèi)的TCM存儲器ARM926EJ-S核心內(nèi)置32KB指令緩存、16KB數(shù)字緩存和8KB數(shù)據(jù)-TCM(緊密耦合內(nèi)存)和8KB指令-TCM(緊密耦合內(nèi)存);2008年6月21日9《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題Cortex-R4F方框圖—含TCM接口注意圖的右側(cè)含有一個TCM仲裁和接口模塊2008年6月21日10《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM1136的TCM支持DMA傳輸參看ARM1136的方框圖2008年6月21日11《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM966E-S核的TCM地址映射2008年6月21日12《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM966E-S的TCM別名地址空間物理存儲塊可以通過TCM接口映射在片內(nèi)的TCM存儲區(qū)2008年6月21日13《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM966E-S的TCM特點TheARM966E-SprocessorsupportsbothinstructionanddataTCMs.YoucanusetheDTCMandITCMtostorereal-timeandperformance-criticalcode.TheTCMsareinstantiatedexternallytotheARM966E-Smacrocellprovidingforflexibilityinthedesignofthememorysubsystem.Thesystemdesignercanselectmemorytypeandoptimizethememorysubsystemforpowerorspeed.2008年6月21日14《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM966E-S的TCM接口特點(續(xù)1)ThefeaturesoftheTCMinterfaceinclude:

independentITCMandDTCMsizesof0KBor1KB-64MBinpower-of-twoincrements

softwarevisibilityandprogrammabilityofTCMsizeandenable

bootcontrolforITCM

dataaccesstotheITCMforliteralpoolaccessesincode

simpleSRAM-styleinterfacesupportingbothreadsandwrites

variableTCMwaitstatecontrolforITCMandDTCM

abilitytoindicatesequentialandnonsequentialaccesses.2008年6月21日15《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM966E-S的TCM特點接口(續(xù)2)TheARM966E-SprocessorcontainsaTCMcontrollerthat:

schedulesrequeststotheTCMinterface

handshakeswiththeARM966E-Smemorysystemcontrollertoacknowledgewhenrequestshavebeenserviced

returnsTCMreaddatabacktotheARM9E-Score.TheTCMsarelocatedintheTCMaddressspace.

2008年6月21日16《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題AT91SAM9261處理器的TCMAT91SAM9261的獨立指令和數(shù)據(jù)緩存能支持WinCE和Linux操作系統(tǒng)。而其基于TCM構(gòu)架的SRAM區(qū)塊則是“確定過程式”實時操作系統(tǒng)的理想安排。另一方面,160K字節(jié)的片上SRAM可劃分成多個16K字節(jié)的區(qū)塊,作為“指令TCM”、“數(shù)據(jù)TCM”或片上外設(shè)的緩沖,從而讓編程人員靈活地優(yōu)化系統(tǒng)的性能和功耗。2008年6月21日17《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題TCM的使能操作通過二種方式進行TCM的使能操作使用處理器芯片的INITRAM引腳使用CP15的c1控制寄存器2008年6月21日18《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題S3C44B0X和S3C4510B的三種片上存儲器的配置用法S3C44B0X和S3C4510B都有8KB的片上存儲器它們有三種配置用法8KB的SRAM8KB的Cache4KB的SRAM加上4KB的Cache較多采用片內(nèi)RAM配置而非片內(nèi)Cache配置。2008年6月21日19《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.6.4協(xié)處理器CP15CP15即所謂的系統(tǒng)控制協(xié)處理器SystemControlCoprocessor在基于ARM的嵌入式系統(tǒng)中,諸如MMU、Cache配置、緊耦合處理器、寫緩存配置之類的存儲系統(tǒng)管理工作由協(xié)處理器CP15完成。CP15可以包含16個32位寄存器編號為CP0~CP15。實際運用中寫為C0~C15。2008年6月21日20《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題CP15寄存器的訪問用戶只能夠在特權(quán)模式下使用MRC和MCR指令來訪問CP15寄存器。2008年6月21日21《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.6.5存儲器管理單元MMUARM的MMU部件的用途:

完成虛擬存儲空間到物理存儲空間的映射。

管理方式:頁式虛擬存儲器。

頁的大小有兩種:粗粒度和細粒度。

存儲器訪問權(quán)限的控制。

設(shè)置虛擬存儲空間的緩沖特性。2008年6月21日22《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.6.6保護單元保護單元PU,ProtectionUnit也稱為:MPU,MemoryProtectionUnit為了消除術(shù)語的二義性,我們統(tǒng)一使用術(shù)語PU保護單元提供了一個相當簡單的替代MMU的方法來管理存儲器。對于不需要PU的嵌入式系統(tǒng)而言,PU簡化了硬件和軟件,主要表現(xiàn)在不使用轉(zhuǎn)換表,這樣免去了硬件遍歷轉(zhuǎn)換表和軟件建立與維護轉(zhuǎn)換表。2008年6月21日23《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題保護單元的工作原理和作用ARM核的PU使用區(qū)域(region)來管理系統(tǒng)保護。區(qū)域是一個存儲空間相關(guān)聯(lián)的一組屬性,處理器核將這些屬性保存在協(xié)處理器CP15的一些寄存器里,并用0-7的號碼標識每一個區(qū)域(它也是一個具有特定屬性的邏輯存儲空間)。區(qū)域的存儲邊界通過兩個屬性進行配置:起始地址和大小。區(qū)域的大小可以是4KB~4MB的任何2的乘冪。2008年6月21日24《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題受保護區(qū)域的屬性操作系統(tǒng)可以為受保護區(qū)域分配更多的屬性,包括:訪問權(quán)限、Cache和寫緩存器策略訪問權(quán)限可以是:讀/寫、只讀和不可訪問基于處理器模式的權(quán)限管理模式、用戶模式等Cache寫策略寫直達Cache操作、無Cache操作、無寫緩存器操作。2008年6月21日25《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題含PU的ARM處理器主存訪問過程當處理器訪問主存的一個區(qū)域時,PU比較該區(qū)域的訪問權(quán)限屬性和當時的處理器模式。如果請求符合區(qū)域訪問標準,則PU允許內(nèi)核讀/寫主存;如果存儲器請求導致存儲器訪問違例,則PU產(chǎn)生一個異常信號。異常信號被傳到處理器核,處理器核判斷是出異常是預(yù)取指令中止還是數(shù)據(jù)中止,然后跳轉(zhuǎn)到對應(yīng)的異常處理例程。2008年6月21日26《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題區(qū)域?qū)傩杂嘘P(guān)區(qū)域的屬性如下:區(qū)域可以相互重疊每一個區(qū)域有一個優(yōu)先級,該優(yōu)先級與分配給區(qū)域的權(quán)限無關(guān)當區(qū)域重疊時,具有最高優(yōu)先權(quán)的區(qū)域的屬性可以覆蓋其他區(qū)域的屬性,優(yōu)先權(quán)僅作用于重疊部分的地址。區(qū)域的起始地址必須是其大小的倍數(shù)。區(qū)域的大小是2的乘冪,2的12次方到32次方。2008年6月21日27《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題訪問受保護區(qū)域時產(chǎn)生的異常訪問所定義區(qū)域外的存儲器將產(chǎn)生異常。如果是內(nèi)核預(yù)取指令,則PU產(chǎn)生一個預(yù)取指令中止異常。如果是存儲器數(shù)據(jù)請求,則PU產(chǎn)生數(shù)據(jù)中止異常。2008年6月21日28《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題帶PU的ARM核概要以下給出了四種帶PU的ARM核概要屬性ARM核區(qū)域數(shù)目指令區(qū)域和數(shù)據(jù)區(qū)域是否分離指令和數(shù)據(jù)區(qū)域配置是否分離ARM740T8否否ARM940T16是是ARM946E-S8否是ARM1026EJ-S8否是2008年6月21日29《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題在帶PU的ARM系統(tǒng)中創(chuàng)建區(qū)域要實現(xiàn)一個受PU控制主存的嵌入式系統(tǒng),需要對主存中的不同塊定義若干區(qū)域。一個區(qū)域可以被創(chuàng)建一次,然后一直用到嵌入式系統(tǒng)運行結(jié)束;也可以臨時創(chuàng)建一個區(qū)域來滿足一個特殊操作的需要,用完之后就加以刪除。2008年6月21日30《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題含有PU的ARM核含有8個受保護區(qū)域的ARM核ARM740TARM946E-SARM1026EJ-S含有16個受保護區(qū)域的ARM核ARM940T2008年6月21日31《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題初始化PU、Cache和寫緩沖器為了初始化PU、Cache和寫緩沖器,控制系統(tǒng)必須定義在操作目標平臺時所需要的保護區(qū)域。功能主存儲器次存儲器系統(tǒng)控制C1C0區(qū)域的cache屬性C2C0區(qū)域的寫緩沖器屬性C3C0區(qū)域的訪問權(quán)限屬性C5C0區(qū)域的大小和位置C6C0~C72008年6月21日32《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題帶保護單元和MMU的系統(tǒng)框圖2008年6月21日33《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.6.7ARM處理器的CacheARM處理器均帶有Cache或者可以將片上存儲器配置成Cache。當然,在不需要時也可以通過配置操作關(guān)閉Cache。ARM處理器的Cache地址映射均采用組相聯(lián)映射。2008年6月21日34《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.6.8快速上下文切換擴展快速上下文切換擴展FCSE,F(xiàn)astContextSwitchExtensionFCSE是ARM存儲系統(tǒng)的修正機構(gòu)。它修改系統(tǒng)中不同進程的虛擬地址,避免在進行進程間切換時造成的虛擬地址到物理地址的重映射,從而提高系統(tǒng)的性能。為了理解ARM處理器的FCSE功能,我們首先考察當虛擬存儲器中任務(wù)切換時,主存中頁表和物理存儲器的隨動切換。2008年6月21日35《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM虛擬存儲器

用戶任務(wù)上下文切換示例-1任務(wù)1正在執(zhí)行2008年6月21日36《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM虛擬存儲器

用戶任務(wù)上下文切換示例-2任務(wù)2正在執(zhí)行2008年6月21日37《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM虛擬存儲器

用戶任務(wù)上下文切換示例-3任務(wù)3正在執(zhí)行2008年6月21日38《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題3個任務(wù)的多任務(wù)環(huán)境中

快速上下文切換擴展的舉例:切換前任務(wù)1正在運行2008年6月21日39《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題3個任務(wù)的多任務(wù)環(huán)境中

快速上下文切換擴展的舉例:(續(xù))切換后任務(wù)2正在運行2008年6月21日40《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.6.9寫緩存器(WriteBuffer)寫緩存器是一個容量很小的片內(nèi)的先進先出(FIFO)存儲器,位于處理器核與主存之間。寫緩存器的主要用途是:當CPU輸出數(shù)據(jù)時,總線恰好被占用而無法輸出,此時,CPU可以把輸出數(shù)據(jù)寫入到寫緩存器。當總線上沒有比寫緩存區(qū)優(yōu)先級更高的掌控者時,寫緩存區(qū)可以通過總線將數(shù)據(jù)寫入內(nèi)存。CPU由于不需要等待寫操作的完成而增強了性能。寫緩存區(qū)中的FIFO存儲器在存儲層次中與L1Cache處于相同的層次。2008年6月21日41《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題S3C44B0X處理器的寫緩存區(qū)由4個寫緩存寄存器構(gòu)成。每一個寫緩存寄存器包括一個32位數(shù)據(jù)字段,一個28位地址字段和一個2位狀態(tài)字段??梢酝ㄟ^指令對控制寄存器SYSCFG的WE位置1或者置0來使能或者禁能寫緩存器。參看下圖。2008年6月21日42《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題4.7ARM的異常中斷ARM異常與中斷不做嚴格意義上的區(qū)別ARM的中斷向量表內(nèi)存放的是響應(yīng)異常和中斷的轉(zhuǎn)移指令而不是中斷向量地址。在ARM處理器中,當異常發(fā)生時,完成當前指令后跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序入口執(zhí)行異常中斷處理。異常處理完畢后返回原來的程序斷點繼續(xù)執(zhí)行原來的程序。2008年6月21日43《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題異常中斷分類ARM異常按照起因的不同分為3類: ①指令執(zhí)行引起的直接異常軟件中斷、未定義指令和預(yù)取指令中止屬于這一類 ②指令執(zhí)行引起的間接異常數(shù)據(jù)中止(在讀取和存儲數(shù)據(jù)時的存儲器故障)屬于這一類。 ③外部產(chǎn)生的與指令流無關(guān)的異常復(fù)位、IRQ和FIQ屬于這一類。2008年6月21日44《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM中斷向量表中斷向量表中存放了各個異常中斷以及處理程序的對應(yīng)關(guān)系。在ARM體系結(jié)構(gòu)中,異常中斷向量表的大小只有32個字節(jié)。其中,每個異常中斷向量占4個字節(jié)。系統(tǒng)初始化時,中斷向量表從0號存儲單元開始存放。2008年6月21日45《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM中斷向量表(續(xù))中斷向量地址異常中斷類型異常中斷模式優(yōu)先級(6級最低)0x0復(fù)位管理模式,SVC10x4未定義指令未定義指令中止,UND60x8軟件中斷管理模式,SVC60xC指令預(yù)取中止中止模式,ABT50x10數(shù)據(jù)訪問中止中止模式,ABT20x14保留未使用未使用0x18外部中斷請求,IRQ外部中斷模式,IRQ40x1C快速中斷請求,F(xiàn)IQ快速中斷模式,F(xiàn)IQ32008年6月21日46《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM異常中斷響應(yīng)當發(fā)生異常時,ARM處理器對異常中斷的響應(yīng)過程如下:①將CPSR的內(nèi)容保存到將要執(zhí)行的異常中斷模式的SPSR中。例如:如果異常類型是FIQ,則SPSR_FIQ=CPSR②設(shè)置當前程序狀態(tài)寄存器CPSR中的模式字段位。③將異常發(fā)生時程序的下一條指令地址保存到新的異常模式的R14寄存器。注意:異常發(fā)生時異常模式R14的定義是PC-4。2008年6月21日47《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題ARM異常中斷響應(yīng)④強制對程序計數(shù)器賦值。使程序從異常所對應(yīng)的向量地址開始執(zhí)行中斷服務(wù)子程序。 ARM處理器對異常的響應(yīng)過程可用偽代碼描述如下: R14_<exception_mode>=returnlink SPSR_<exception_mode>=CPSR CPSR[4:0]=exceptionmodenumber CPSR[5]=0/*當運行于ARM狀態(tài)時*/ if<exception_mode>==ResetorFIQthen CPSR[6]=1/*禁止新的FIQ中斷*/ CPSR[7]=1/*禁止新的IRQ中斷*/ PC=exceptionvectoraddress2008年6月21日48《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題響應(yīng)異常處理時的斷點地址計算中斷向量號異常類型異常類型PC是否已被更新LR寄存器值返回地址返回時LR值傳送返回到PC前調(diào)整①復(fù)位SVC清零清零不返回②未定義指令UND未更新X+4X+4不需要③軟件中斷SWISVC未更新X+4X+4不需要④指令預(yù)取中止ABT未更新X+4XLR-4⑤數(shù)據(jù)訪問中止ABT已經(jīng)更新X+8XLR-8保留⑦外部中斷請求,IRQ已經(jīng)更新X+8X+4LR-4⑧快速中斷請求,F(xiàn)IQ已經(jīng)更新X+8X+4LR-42008年6月21日49《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題IRQ、FIQ和ABT異常中斷處理程序的返回發(fā)生IRQ或者FIQ異常中斷時,指令已經(jīng)執(zhí)行完畢,PC指向當前指令后面的第3條指令。因此IRQ或者FIQ的異常中斷發(fā)生時,處理器將程序計數(shù)器的計算值(PC-4)保存到LR_IRQ或者LR_FIQ寄存器中。這時LR_IRQ或者LR_FIQ寄存器的值指向當前指令后的第2條指令。參看下面幻燈片的圖解。2008年6月21日50《嵌入式系統(tǒng)基礎(chǔ)教程》第07講第4章ARM存儲器組織和異常中斷習題IRQ、FIQ和ABT異常中斷處理程序的返回(續(xù)1)在指令預(yù)取時如果目標地址是非法的,該指令將被標記成有問題的指令,處理器產(chǎn)生指令預(yù)取ABT異常。此刻PC的值還沒有更新,它指向當前指令后的第2條指令。指令預(yù)取ABT異常中斷發(fā)生時,處理器將程序計數(shù)器的計算值(PC-4)保存到異常模式LR_ABT。這時LR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論