ARM存儲器組織和異常中斷習(xí)題頁_第1頁
ARM存儲器組織和異常中斷習(xí)題頁_第2頁
ARM存儲器組織和異常中斷習(xí)題頁_第3頁
ARM存儲器組織和異常中斷習(xí)題頁_第4頁
ARM存儲器組織和異常中斷習(xí)題頁_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2008年6月21日南京大學(xué)計(jì)算機(jī)系1嵌入式系統(tǒng)原理與開發(fā)嵌入式系統(tǒng)原理與開發(fā)第第7講講南京大學(xué)計(jì)算機(jī)系 俞建新主講2008年春季2008年6月21日南京大學(xué)計(jì)算機(jī)系2第第4章章ARM體系結(jié)構(gòu)體系結(jié)構(gòu)l本章主要介紹以下內(nèi)容:lARM體系結(jié)構(gòu)版本lARM處理器系列l(wèi)ARM流水線lARM工作模式和工作狀態(tài)lARM寄存器組織lARM存儲器組織lARM的異常中斷l(xiāng)AMBA和ARM7TDMI2008年6月21日南京大學(xué)計(jì)算機(jī)系34.6 ARM存儲器組織存儲器組織l介紹以下內(nèi)容:l數(shù)據(jù)類型和存儲格式lARM的存儲體系l片上存儲器的用法l協(xié)處理器CP15l存儲器管理單元MMUl保護(hù)單元l快速上下文切換擴(kuò)展l

2、寫緩存器(Write Buffer)lARM的異常中斷向量表和異常中斷處理與返回2008年6月21日南京大學(xué)計(jì)算機(jī)系44.6.1 數(shù)據(jù)類型和存儲格式數(shù)據(jù)類型和存儲格式lARM存儲器中的數(shù)據(jù)類型有6種l有符號數(shù)l8位(字節(jié))、16位(半字)、32位(字)l無符號數(shù)l8位(字節(jié))、16位(半字)、32位(字)l缺省端序設(shè)置為小端序2008年6月21日南京大學(xué)計(jì)算機(jī)系54.6.2 ARM的存儲體系的存儲體系l參看下圖,抽象成一個(gè)呈金字塔型的存儲結(jié)構(gòu)l注重研究第2層2008年6月21日南京大學(xué)計(jì)算機(jī)系64.6.3 片上存儲器的用法片上存儲器的用法l多數(shù)ARM處理器芯片內(nèi)部集成了存儲器l它們統(tǒng)稱為片上存

3、儲器l用途有:片上Cache、片上SRAM、緊耦合存儲器(TCM) 、寫緩存l片上存儲器的存儲空間可以通過指令進(jìn)行配置,定義成片上Cache,或者片上SRAM,或者一部分片上Cache加一部分片上SRAM。l緊耦合存儲器和寫緩存均需要編程使能或者硬件接線使能l按照具體應(yīng)用情況決定片上存儲器配置方法2008年6月21日南京大學(xué)計(jì)算機(jī)系7片上存儲器用作緊耦合存儲器片上存儲器用作緊耦合存儲器l緊耦合存儲器的英文原文如下:lTightly Coupled Memory,TCMl彌補(bǔ)Cache訪問的不確定性而增加的片上存儲器。l除了片上緊耦合存儲器外,還有緊耦合存儲器接口,它能夠提供低延時(shí)的外存儲器訪問

4、。l有的處理器含有分立的指令TCM和數(shù)據(jù)TCM。TCM包含在存儲器地址映射空間中,可以作為快速存儲器來訪問。除了不得包含讀敏感地址之外,對TCM接口上連接的存儲器類型沒有其他限制。TCM使用物理地址,對TCM的寫訪問受到MMU內(nèi)部保護(hù)信息的控制。2008年6月21日南京大學(xué)計(jì)算機(jī)系8TCM在在ARMv6處理器核的位置處理器核的位置lARMv6處理器包括:ARM1136J-S、ARM1156T22008年6月21日南京大學(xué)計(jì)算機(jī)系9片內(nèi)片內(nèi)TCM存儲器舉例存儲器舉例lARM926EJ-S核心內(nèi)置32KB指令緩存、16KB數(shù)字緩存和8KB數(shù)據(jù)-TCM和8KB指令-TCM;2008年6月21日南京大

5、學(xué)計(jì)算機(jī)系10Cortex-R4F方框圖方框圖含含TCM接口接口l注意圖的右側(cè)含有一個(gè)TCM仲裁和接口模塊2008年6月21日南京大學(xué)計(jì)算機(jī)系11ARM1136的的TCM支持支持DMA傳輸傳輸l參看參看ARM1136的方框圖的方框圖2008年6月21日南京大學(xué)計(jì)算機(jī)系12ARM966E-S核的核的TCM地址映射地址映射2008年6月21日南京大學(xué)計(jì)算機(jī)系13ARM966E-S的的TCM別名地址空間別名地址空間l物理存儲塊可以通過TCM接口映射在片內(nèi)的TCM存儲區(qū)2008年6月21日南京大學(xué)計(jì)算機(jī)系14ARM966E-S的的TCM特點(diǎn)特點(diǎn)lThe ARM966E-S processor supp

6、orts both instruction and data TCMs. You can use the DTCM and ITCM to store real-time and performance-critical code. The TCMs are instantiated externally to the ARM966E-S macrocell providing for flexibility in the design of the memory subsystem. The system designer can select memory type and optimiz

7、e the memory subsystem for power or speed.2008年6月21日南京大學(xué)計(jì)算機(jī)系15ARM966E-S的的TCM接口特點(diǎn)(續(xù)接口特點(diǎn)(續(xù)1)The features of the TCM interface include: independent ITCM and DTCM sizes of 0KB or 1KB-64MB in power-of-two increments software visibility and programmability of TCM size and enable boot control for ITCM data

8、 access to the ITCM for literal pool accesses in code simple SRAM-style interface supporting both reads and writes variable TCM wait state control for ITCM and DTCM ability to indicate sequential and nonsequential accesses.2008年6月21日南京大學(xué)計(jì)算機(jī)系16ARM966E-S的的TCM特點(diǎn)接口(續(xù)特點(diǎn)接口(續(xù)2)The ARM966E-S processor conta

9、ins a TCM controller that: schedules requests to the TCM interface handshakes with the ARM966E-S memory system controller to acknowledgewhen requests have been serviced returns TCM read data back to the ARM9E-S core.The TCMs are located in the TCM address space. 2008年6月21日南京大學(xué)計(jì)算機(jī)系17AT91SAM9261處理器的處理

10、器的TCMlAT91SAM9261的獨(dú)立指令和數(shù)據(jù)緩存能支持WinCE 和 Linux操作系統(tǒng)。l而其基于TCM 構(gòu)架的SRAM區(qū)塊則是“確定過程式”實(shí)時(shí)操作系統(tǒng)的理想安排。l另一方面,160K字節(jié)的片上SRAM可劃分成多個(gè)16K字節(jié)的區(qū)塊,作為“指令TCM”、“數(shù)據(jù)TCM”或片上外設(shè)的緩沖,從而讓編程人員靈活地優(yōu)化系統(tǒng)的性能和功耗。2008年6月21日南京大學(xué)計(jì)算機(jī)系18TCM的使能操作的使能操作l通過二種方式進(jìn)行TCM的使能操作l使用處理器芯片的INITRAM引腳l使用 CP15的c1控制寄存器2008年6月21日南京大學(xué)計(jì)算機(jī)系19S3C44B0X和和S3C4510B的三種片的三種片上存

11、儲器的配置用法上存儲器的配置用法lS3C44B0X和S3C4510B都有8KB的片上存儲器l它們有三種配置用法l8KB的SRAMl8KB的Cachel4KB的SRAM加上4KB的Cachel較多采用片內(nèi)RAM配置而非片內(nèi)Cache配置。2008年6月21日南京大學(xué)計(jì)算機(jī)系20ARM920T的片內(nèi)存儲器的片內(nèi)存儲器l注意:ARM920T核的內(nèi)部沒有TCM2008年6月21日南京大學(xué)計(jì)算機(jī)系21ARM720T的片內(nèi)存儲器的片內(nèi)存儲器l8 KByte unified cache lMemory Management Unit (MMU) lwrite buffer lUnified 32-bit A

12、HB bus interface carries both instructions and data lEmbedded Trace Macrocell (ETM) interface 2008年6月21日南京大學(xué)計(jì)算機(jī)系224.6.4 協(xié)處理器協(xié)處理器CP15lCP15即所謂的系統(tǒng)控制協(xié)處理器系統(tǒng)控制協(xié)處理器lSystem Control Coprocessorl在基于ARM的嵌入式系統(tǒng)中,諸如MMU、Cache配置、緊耦合處理器、寫緩存配置之類的存儲系統(tǒng)管理工作由協(xié)處理器CP15完成。lCP15可以包含16個(gè)32位寄存器l編號為CP0CP15。l實(shí)際運(yùn)用中寫為C0C15。2008年6月2

13、1日南京大學(xué)計(jì)算機(jī)系23CP15寄存器的訪問寄存器的訪問l用戶只能夠在特權(quán)模式下使用MRC和MCR指令來訪問CP15寄存器。2008年6月21日南京大學(xué)計(jì)算機(jī)系244.6.5 存儲器管理單元存儲器管理單元MMUlARM的MMU部件的用途:完成虛擬存儲空間到物理存儲空間的映射。管理方式:頁式虛擬存儲器。頁的大小有兩種:粗粒度和細(xì)粒度。存儲器訪問權(quán)限的控制。設(shè)置虛擬存儲空間的緩沖特性。2008年6月21日南京大學(xué)計(jì)算機(jī)系254.6.6 保護(hù)單元保護(hù)單元l保護(hù)單元lPU,Protection Unitl也稱為:MPU,Memory Protection Unitl為了消除術(shù)語的二義性,我們統(tǒng)一使用術(shù)

14、語PUl保護(hù)單元提供了一個(gè)相當(dāng)簡單的替代MMU的方法來管理存儲器。l對于不需要PU的嵌入式系統(tǒng)而言,PU簡化了硬件和軟件,主要表現(xiàn)在不使用轉(zhuǎn)換表,這樣免去了硬件遍歷轉(zhuǎn)換表和軟件建立與維護(hù)轉(zhuǎn)換表。2008年6月21日南京大學(xué)計(jì)算機(jī)系26保護(hù)單元的工作原理和作用保護(hù)單元的工作原理和作用lARM核的PU使用區(qū)域(region)來管理系統(tǒng)保護(hù)。區(qū)域是一個(gè)存儲空間相關(guān)聯(lián)的一組屬性,處理器核將這些屬性保存在協(xié)處理器CP15的一些寄存器里,并用0-7的號碼標(biāo)識每一個(gè)區(qū)域(它也是一個(gè)具有特定屬性的邏輯存儲空間)。l區(qū)域的存儲邊界通過兩個(gè)屬性進(jìn)行配置:起始地址和大小。l區(qū)域的大小可以是4KB4MB的任何2的乘冪

15、。2008年6月21日南京大學(xué)計(jì)算機(jī)系27受保護(hù)區(qū)域的屬性受保護(hù)區(qū)域的屬性l操作系統(tǒng)可以為受保護(hù)區(qū)域分配更多的屬性,包括:l訪問權(quán)限、Cache和寫緩存器策略l訪問權(quán)限可以是:讀/寫、只讀和不可訪問l基于處理器模式的權(quán)限l管理模式、用戶模式等lCache寫策略l寫直達(dá)Cache操作、無Cache操作、無寫緩存器操作。2008年6月21日南京大學(xué)計(jì)算機(jī)系28含含PU的的ARM處理器主存訪問過程處理器主存訪問過程l當(dāng)處理器訪問主存的一個(gè)區(qū)域時(shí),PU比較該區(qū)域的訪問權(quán)限屬性和當(dāng)時(shí)的處理器模式。l如果請求符合區(qū)域訪問標(biāo)準(zhǔn),則PU允許內(nèi)核讀/寫主存;如果存儲器請求導(dǎo)致存儲器訪問違例,則PU產(chǎn)生一個(gè)異常信

16、號。l異常信號被傳到處理器核,處理器核判斷是出異常是預(yù)取指令中止還是數(shù)據(jù)中止,然后跳轉(zhuǎn)到對應(yīng)的異常處理例程。2008年6月21日南京大學(xué)計(jì)算機(jī)系29區(qū)域?qū)傩詤^(qū)域?qū)傩詌有關(guān)區(qū)域的屬性如下:l區(qū)域可以相互重疊l每一個(gè)區(qū)域有一個(gè)優(yōu)先級,該優(yōu)先級與分配給區(qū)域的權(quán)限無關(guān)l當(dāng)區(qū)域重疊時(shí),具有最高優(yōu)先權(quán)的區(qū)域的屬性可以覆蓋其他區(qū)域的屬性,優(yōu)先權(quán)僅作用于重疊部分的地址。l區(qū)域的起始地址必須是其大小的倍數(shù)。l區(qū)域的大小是2的乘冪,2的12次方到32次方。2008年6月21日南京大學(xué)計(jì)算機(jī)系30訪問受保護(hù)區(qū)域時(shí)產(chǎn)生的異常訪問受保護(hù)區(qū)域時(shí)產(chǎn)生的異常l訪問所定義區(qū)域外的存儲器將產(chǎn)生異常。l如果是內(nèi)核預(yù)取指令,則PU產(chǎn)

17、生一個(gè)預(yù)取指令中止異常。l如果是存儲器數(shù)據(jù)請求,則PU產(chǎn)生數(shù)據(jù)中止異常。2008年6月21日南京大學(xué)計(jì)算機(jī)系31帶帶PU的的ARM核概要核概要l以下給出了四種帶PU的ARM核概要屬性ARM核區(qū)域數(shù)目指令區(qū)域和數(shù)據(jù)區(qū)域是否分離指令和數(shù)據(jù)區(qū)域配置是否分離ARM740T8否否ARM940T16是是ARM946E-S8否是ARM1026EJ-S8否是2008年6月21日南京大學(xué)計(jì)算機(jī)系32在帶在帶PU的的ARM系統(tǒng)中創(chuàng)建區(qū)域系統(tǒng)中創(chuàng)建區(qū)域l要實(shí)現(xiàn)一個(gè)受PU控制主存的嵌入式系統(tǒng),需要對主存中的不同塊定義若干區(qū)域。l一個(gè)區(qū)域可以被創(chuàng)建一次,然后一直用到嵌入式系統(tǒng)運(yùn)行結(jié)束;l也可以臨時(shí)創(chuàng)建一個(gè)區(qū)域來滿足一個(gè)

18、特殊操作的需要,用完之后就加以刪除。2008年6月21日南京大學(xué)計(jì)算機(jī)系33含有含有PU的的ARM核核l含有8個(gè)受保護(hù)區(qū)域的ARM核lARM740TlARM946E-SlARM1026EJ-Sl含有16個(gè)受保護(hù)區(qū)域的ARM核lARM940T2008年6月21日南京大學(xué)計(jì)算機(jī)系34初始化初始化PU、Cache和寫緩沖器和寫緩沖器l為了初始化PU、Cache和寫緩沖器,控制系統(tǒng)必須定義在操作目標(biāo)平臺時(shí)所需要的保護(hù)區(qū)域。功能主存儲器次存儲器系統(tǒng)控制C1C0區(qū)域的cache屬性C2C0區(qū)域的寫緩沖器屬性C3C0區(qū)域的訪問權(quán)限屬性C5C0區(qū)域的大小和位置C6C0C72008年6月21日南京大學(xué)計(jì)算機(jī)系3

19、5帶保護(hù)單元和帶保護(hù)單元和MMU的系統(tǒng)框圖的系統(tǒng)框圖2008年6月21日南京大學(xué)計(jì)算機(jī)系364.6.7 ARM處理器的處理器的CachelARM處理器均帶有Cache或者可以將片上存儲器配置成Cache。當(dāng)然,在不需要時(shí)也可以通過配置操作關(guān)閉Cache。lARM處理器的Cache地址映射均采用組相聯(lián)映射。2008年6月21日南京大學(xué)計(jì)算機(jī)系374.6.8 快速上下文切換擴(kuò)展快速上下文切換擴(kuò)展l快速上下文切換擴(kuò)展lFCSE , Fast Context Switch ExtensionlFCSE是 ARM存儲系統(tǒng)的修正機(jī)構(gòu)。它修改系統(tǒng)中不同進(jìn)程的虛擬地址,避免在進(jìn)行進(jìn)程間切換時(shí)造成的虛擬地址到物

20、理地址的重映射,從而提高系統(tǒng)的性能。l為了理解ARM處理器的FCSE功能,我們首先考察當(dāng)虛擬存儲器中任務(wù)切換時(shí),主存中頁表和物理存儲器的隨動(dòng)切換。2008年6月21日南京大學(xué)計(jì)算機(jī)系38ARM虛擬存儲器虛擬存儲器用戶任務(wù)上下文切換示例用戶任務(wù)上下文切換示例-1l任務(wù)任務(wù)1 1正在執(zhí)行正在執(zhí)行2008年6月21日南京大學(xué)計(jì)算機(jī)系39ARM虛擬存儲器虛擬存儲器用戶任務(wù)上下文切換示例用戶任務(wù)上下文切換示例-2l任務(wù)2正在執(zhí)行2008年6月21日南京大學(xué)計(jì)算機(jī)系40ARM虛擬存儲器虛擬存儲器用戶任務(wù)上下文切換示例用戶任務(wù)上下文切換示例-3l任務(wù)3正在執(zhí)行2008年6月21日南京大學(xué)計(jì)算機(jī)系413個(gè)任務(wù)

21、的多任務(wù)環(huán)境中個(gè)任務(wù)的多任務(wù)環(huán)境中快速上下文切換擴(kuò)展的舉例:快速上下文切換擴(kuò)展的舉例:l切換前任務(wù)切換前任務(wù)1正在運(yùn)行正在運(yùn)行2008年6月21日南京大學(xué)計(jì)算機(jī)系423個(gè)任務(wù)的多任務(wù)環(huán)境中個(gè)任務(wù)的多任務(wù)環(huán)境中快速上下文切換擴(kuò)展的舉例:(續(xù))快速上下文切換擴(kuò)展的舉例:(續(xù))l切換后任務(wù)切換后任務(wù)2正在運(yùn)行正在運(yùn)行2008年6月21日南京大學(xué)計(jì)算機(jī)系434.6.9 寫緩存器寫緩存器(Write Buffer)l寫緩存器是一個(gè)容量很小的片內(nèi)的先進(jìn)先出(FIFO)存儲器,位于處理器核與主存之間。l寫緩存器的主要用途是:當(dāng)CPU輸出數(shù)據(jù)時(shí),總總線線恰好被占用而無法輸出,此時(shí),CPU可以把輸出數(shù)據(jù)寫入到寫

22、緩存器。當(dāng)總線上沒有比寫緩存區(qū)優(yōu)先級更高的掌控者時(shí),寫緩存區(qū)可以通過總線將數(shù)據(jù)寫入內(nèi)存。l CPU由于不需要等待寫操作的完成而增強(qiáng)了性能。l寫緩存區(qū)中的FIFO存儲器在存儲層次中與L1 Cache處于相同的層次。2008年6月21日南京大學(xué)計(jì)算機(jī)系44S3C44B0X處理器的寫緩存區(qū)處理器的寫緩存區(qū)l由4個(gè)寫緩存寄存器構(gòu)成。每一個(gè)寫緩存寄存器包括一個(gè)32位數(shù)據(jù)字段,一個(gè)28位地址字段和一個(gè)2位狀態(tài)字段。l可以通過指令對控制寄存器SYSCFG的WE位置1或者置0來使能或者禁能寫緩存器。參看下圖。2008年6月21日南京大學(xué)計(jì)算機(jī)系454.7 ARM的異常中斷的異常中斷l(xiāng)ARM異常與中斷不做嚴(yán)格意

23、義上的區(qū)別lARM的中斷向量表內(nèi)存放的是響應(yīng)異常和中斷的轉(zhuǎn)移指令而不是中斷向量地址。l在ARM處理器中,當(dāng)異常發(fā)生時(shí),完成當(dāng)前指令后跳轉(zhuǎn)到相應(yīng)的異常中斷處理程序入口執(zhí)行異常中斷處理。異常處理完畢后返回原來的程序斷點(diǎn)繼續(xù)執(zhí)行原來的程序。2008年6月21日南京大學(xué)計(jì)算機(jī)系46異常中斷分類異常中斷分類lARM異常按照起因的不同分為3類:指令執(zhí)行引起的直接異常l軟件中斷、未定義指令和預(yù)取指令中止屬于這一類指令執(zhí)行引起的間接異常l數(shù)據(jù)中止(在讀取和存儲數(shù)據(jù)時(shí)的存儲器故障)屬于這一類。外部產(chǎn)生的與指令流無關(guān)的異常l復(fù)位、IRQ和FIQ屬于這一類。2008年6月21日南京大學(xué)計(jì)算機(jī)系47ARM中斷向量表中

24、斷向量表l中斷向量表中存放了各個(gè)異常中斷以及處理程序的對應(yīng)關(guān)系。l在ARM體系結(jié)構(gòu)中,異常中斷向量表的大小只有32個(gè)字節(jié)。其中,每個(gè)異常中斷向量占4個(gè)字節(jié)。系統(tǒng)初始化時(shí),中斷向量表從0號存儲單元開始存放。 2008年6月21日南京大學(xué)計(jì)算機(jī)系48ARM中斷向量表(續(xù))中斷向量表(續(xù))中斷向量地址異常中斷類型異常中斷模式優(yōu)先級(6級最低)0 x0復(fù)位管理模式,SVC10 x4未定義指令未定義指令中止,UND60 x8軟件中斷管理模式,SVC60 xC指令預(yù)取中止中止模式,ABT50 x10數(shù)據(jù)訪問中止中止模式,ABT20 x14保留未使用未使用0 x18外部中斷請求,IRQ外部中斷模式,IRQ4

25、0 x1C快速中斷請求,F(xiàn)IQ快速中斷模式,F(xiàn)IQ32008年6月21日南京大學(xué)計(jì)算機(jī)系49ARM異常中斷響應(yīng)異常中斷響應(yīng)l當(dāng)發(fā)生異常時(shí),ARM處理器對異常中斷的響應(yīng)過程如下:將CPSR的內(nèi)容保存到將要執(zhí)行的異常中斷模式的SPSR中。例如:如果異常類型是FIQ,則SPSR_FIQ=CPSR設(shè)置當(dāng)前程序狀態(tài)寄存器CPSR中的模式字段位。將異常發(fā)生時(shí)程序的下一條指令地址保存到新的異常模式的R14寄存器。注意:異常發(fā)生時(shí)異常模式R14的定義是PC-4。2008年6月21日南京大學(xué)計(jì)算機(jī)系50ARM異常中斷響應(yīng)異常中斷響應(yīng)強(qiáng)制對程序計(jì)數(shù)器賦值。使程序從異常所對應(yīng)的向量地址開始執(zhí)行中斷服務(wù)子程序。ARM

26、處理器對異常的響應(yīng)過程可用偽代碼描述如下:R14_=return linkSPSR_=CPSRCPSR4:0=exception mode numberCPSR5=0 /* 當(dāng)運(yùn)行于ARM狀態(tài)時(shí) */if = Reset or FIQ thenCPSR6=1 /* 禁止新的FIQ中斷 */CPSR7=1 /* 禁止新的IRQ中斷 */PC = exception vector address2008年6月21日南京大學(xué)計(jì)算機(jī)系51響應(yīng)異常處理時(shí)的斷點(diǎn)地址計(jì)算響應(yīng)異常處理時(shí)的斷點(diǎn)地址計(jì)算 中斷向量號異常類型異常類型PC是否已被更新LR寄存器值返回地址返回時(shí)LR值傳送返回到PC前調(diào)整復(fù)位SVC清零

27、清零不返回未定義指令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日南京大學(xué)計(jì)算機(jī)系52IRQ、FIQ和ABT異常中斷處理程序的返回l發(fā)生IRQ或者FIQ異常中斷時(shí),指令已經(jīng)執(zhí)行完畢,PC指向當(dāng)前指令后面的第3條指令。因此IRQ或者FIQ的異常中斷發(fā)生時(shí),處理器將程序計(jì)數(shù)器的計(jì)算值(PC-4)保存到LR_IRQ或者LR_FIQ寄存器中。這時(shí)LR_IRQ或者LR_FIQ寄存器的值指向當(dāng)前指令后的第2條指令。參看下面幻燈片的圖解。2008年6月21日南京大學(xué)計(jì)算機(jī)系53IRQ、FIQ和ABT異常中斷處理程序的返回(續(xù)1)l在指令預(yù)取時(shí)如果目標(biāo)地址是非法的,該指令將被標(biāo)記成有問題的指令,處理器產(chǎn)生指令預(yù)取ABT異常。此刻PC的值還沒有更新,它指向當(dāng)前指令后的第2條指令。指令預(yù)取ABT異常中斷

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論