版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微機(jī)原理與接口技術(shù)第五次作業(yè)學(xué)院: 電子信息工程學(xué)院專業(yè): 軌道交通信號(hào)與控制班級(jí): 自動(dòng)化1302姓名: 安若琳 劉佳麗 劉琛 研究課題:不同CPU中斷技術(shù)對(duì)比專題研究本文從3種CPU(X86、80C51、ARM)的中斷源、中斷申請(qǐng)方式、中斷優(yōu)先級(jí)管理方式、中斷的處理過程、中斷向量等方面進(jìn)行了綜合的比較。以表格的形式呈現(xiàn)出來。一、中斷源CPU中斷源X86外部中斷和內(nèi)部中斷。其中外部中斷是指來自CPU外部,由外設(shè)的請(qǐng)求引起,通過外部硬件產(chǎn)生,外部中斷又分為兩類,可屏蔽中斷和不可屏蔽中斷??善帘沃袛嘀傅氖峭ㄟ^INTR引腳引入CPU,只有當(dāng)中斷允許標(biāo)志位IF1時(shí),才能被CPU響應(yīng)。通過8259A,
2、一個(gè)系統(tǒng)中可有多個(gè)可屏蔽中斷。而不可屏蔽中斷指的是通過NMI引腳引入CPU,不受中斷允許標(biāo)志IF的屏蔽,一個(gè)系統(tǒng)一般只允許有一個(gè)非屏蔽中斷。而內(nèi)部中斷則是指來自CPU內(nèi)部,由執(zhí)行指令引起的。分為軟件中斷和微處理器內(nèi)部中斷。80C51兩個(gè)外部中斷源INT0、INT1和三個(gè)內(nèi)部中斷源T0、T1定時(shí)/計(jì)數(shù)謚出中斷源和串行口發(fā)送或接收中斷源。外部中斷是由外部信號(hào)引起的,它們的中斷請(qǐng)求信號(hào)分別從引腳INT0和INT1上引入ARM 7TDMIARM 7TDMI具有常規(guī)中斷(IRQ)、快中斷(FIQ)和軟件中斷(SoftWare Interrupt)三種中方式。常規(guī)中斷和快中斷都是硬件中斷??熘袛嗍菫橹С?jǐn)?shù)
3、據(jù)傳輸或快速數(shù)據(jù)通道而設(shè)計(jì)的,為快速處理快中斷。軟件中斷允許運(yùn)行在用戶模式的程序進(jìn)入監(jiān)督模式,并運(yùn)行監(jiān)督態(tài)下的函數(shù)。二、中斷申請(qǐng)方式CPU中斷申請(qǐng)方式X861、對(duì)于除法出錯(cuò),單步中斷,不可屏蔽中斷NMI,斷點(diǎn)中斷和溢出中斷,CPU分別自動(dòng)提供中斷類型號(hào)04。2、對(duì)于用戶自己確定的軟件中斷INT n,類型號(hào)由n決定。3、對(duì)外部可屏蔽中斷INTR,可以用可編程中斷控制器8259A獲得中斷類型號(hào)。8個(gè)中斷請(qǐng)求信號(hào)接到8259A。當(dāng)外設(shè)申請(qǐng)中斷時(shí),8259A響應(yīng)優(yōu)先權(quán)高的中斷源,將中斷請(qǐng)求信號(hào)送到CPU的INTR端。8259A收到CPU發(fā)出的第二個(gè)中斷響應(yīng)信號(hào)時(shí),將對(duì)應(yīng)中斷源的中斷類型號(hào)送給CPU,C
4、PU獲取中斷類型號(hào)后,自動(dòng)轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。80C51中斷處理過程:中斷申請(qǐng)、中斷響應(yīng)、中斷處理、中斷返回80C51外部中斷請(qǐng)求有兩種信號(hào)觸發(fā)方式??赏ㄟ^設(shè)置有關(guān)控制位進(jìn)行定義。中斷采樣:針對(duì)外部中斷請(qǐng)求信號(hào)進(jìn)行的,而內(nèi)部中斷請(qǐng)求都發(fā)生在芯片內(nèi)部,可以直接置位TCON或SCON中的中斷請(qǐng)求標(biāo)志。在每個(gè)機(jī)器周期的S5P2期間,各中斷標(biāo)志采樣相應(yīng)的中斷源,并置入相應(yīng)標(biāo)志。中斷查詢:若查詢到某中斷標(biāo)志為1,則按優(yōu)先級(jí)的高低進(jìn)行處理,即響應(yīng)中斷。80C51的中斷請(qǐng)求都匯集在TCON和SCON中。中斷響應(yīng):硬件自動(dòng)生成長(zhǎng)調(diào)用指令為L(zhǎng)CALL addr16,而addr16就是各中斷源的中斷矢量地址(
5、見附表一)。ARM 7TDMI進(jìn)入異常過程:1.程序在系統(tǒng)模式下運(yùn)行用戶程序,假定當(dāng)前處理器狀態(tài)為Thumb狀態(tài)、允許IRQ中斷;2.用戶程序運(yùn)行時(shí)發(fā)生IRQ中斷,硬件完成以下動(dòng)作:*置位I位(禁止IRQ中斷)*清零T位(進(jìn)入ARM狀態(tài))*設(shè)置MOD位,切換處理器模式至IRQ模式*將下一條指令的地址存入IRQ模式的LR寄存器*將CPSR寄存器內(nèi)容存入IRQ模式的SPSR寄存器*將跳轉(zhuǎn)地址存入PC,實(shí)現(xiàn)跳轉(zhuǎn)附表一中斷源中斷矢量地址外部中斷0(INT0)0003H定時(shí)器/計(jì)數(shù)器0(T0)000BH外部中斷1(INT1)0013H三、中斷優(yōu)先級(jí)管理方式CPU中斷優(yōu)先級(jí)管理方式X86在8086中各類中
6、斷源的優(yōu)先級(jí):優(yōu)先級(jí) 中斷類型1、(高)內(nèi)部中斷(除單步中斷)2、NMI3、INTR (IRQ0,.,IRQ7)4、(低)單步中斷80C51在80C51中,只有兩級(jí)中斷優(yōu)先級(jí)。通過IP來設(shè)定,IP寄存器中各位設(shè)置為0時(shí),為低中斷優(yōu)先級(jí),為1時(shí),設(shè)為高中斷優(yōu)先級(jí)。系統(tǒng)復(fù)位后IP寄存器中各位均為0,全部設(shè)定為低中斷優(yōu)先級(jí)。(IP寄存器見附表二)中斷優(yōu)先級(jí)控制,還有兩個(gè)不可尋址的優(yōu)先級(jí)狀態(tài)觸發(fā)器,一個(gè)用于指示某一高優(yōu)先級(jí)中斷正在進(jìn)行服務(wù),而屏蔽其它高優(yōu)先級(jí)中斷;另一個(gè)用于指示某一低優(yōu)先級(jí)中斷正在進(jìn)行服務(wù),從而屏蔽其它低優(yōu)先級(jí)中斷,但不能屏蔽高優(yōu)先級(jí)中斷。中斷優(yōu)先級(jí)由高到低為:外部中斷0, 定時(shí)器T0
7、中斷,外部中斷1,定時(shí)器T1中斷, 串行口中斷,定時(shí)器T2中斷。ARM 7TDMIARM處理器中有7種類型的異常,按優(yōu)先級(jí)從高到低的排列如下:復(fù)位異常(Reset)、數(shù)據(jù)異常(Data Abort)、快速中斷異常(FIQ)、外部中斷異常(IRQ)、預(yù)取異常(Prefetch Abort)、軟件中斷(SWI)、未定義指令異常(Undefined instruction)。附表二、80C51 IP寄存器如下:位地址BFHBEHBDHBCHBBHBAHB9HB8H符號(hào)_PSPT1PX1PT0PX0中斷處理過程:中斷申請(qǐng)、中斷響應(yīng)、中斷處理、中斷返回四、中斷申請(qǐng)CPU中斷申請(qǐng)X86當(dāng)外設(shè)需要中斷服務(wù)時(shí)
8、,由硬件產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào)INTR發(fā)送給CPU80C5180C51外部中斷請(qǐng)求有兩種信號(hào)觸發(fā)方式??赏ㄟ^設(shè)置有關(guān)控制位進(jìn)行定義。 當(dāng)設(shè)定為電平有效方式時(shí),若INT0或INT1引腳上采樣到有效的低電平,則向CPU提出中斷請(qǐng)求;當(dāng)設(shè)定為跳變有效方式時(shí),若INT0或INT1引腳上采樣到有效負(fù)跳變,則向CPU提出中斷請(qǐng)求ARM 7TDMI當(dāng)異常發(fā)生時(shí),處理器會(huì)把PC設(shè)置為一個(gè)特定的存儲(chǔ)器地址。異常種類細(xì)說:1、當(dāng)處理器的復(fù)位引腳有效時(shí),系統(tǒng)產(chǎn)生復(fù)位異常中斷,程序跳轉(zhuǎn)到復(fù)位異常中斷處理程序處執(zhí)行;2、當(dāng)ARM處理器執(zhí)行協(xié)處理器指令時(shí),它必須等待一個(gè)外部協(xié)處理器應(yīng)答后,才能真正執(zhí)行這條指令。若協(xié)處理器沒
9、有響應(yīng),則發(fā)生未定義指令異常3、軟中斷異常發(fā)生時(shí),處理器進(jìn)入特權(quán)模式,執(zhí)行一些特權(quán)模式下的操作系統(tǒng)功能。4、預(yù)取指令異常是由系統(tǒng)存儲(chǔ)器報(bào)告的。當(dāng)處理器試圖去取一條被標(biāo)記為預(yù)取無效的指令時(shí),發(fā)生預(yù)取異常。5、數(shù)據(jù)訪問中止異常是由存儲(chǔ)器發(fā)出數(shù)據(jù)中止信號(hào),它由存儲(chǔ)器訪問指令Load/Store產(chǎn)生。當(dāng)數(shù)據(jù)訪問指令的目標(biāo)地址不存在或者該地址不允許當(dāng)前指令訪問時(shí),處理器產(chǎn)生數(shù)據(jù)訪問中止異常。6、當(dāng)處理器的外部中斷請(qǐng)求引腳有效,而且CPSR寄存器的I控制位被清除時(shí),處理器產(chǎn)生外部中斷IRQ異常。系統(tǒng)中各外部設(shè)備通常通過該異常中斷請(qǐng)求處理器服務(wù)。7、當(dāng)處理器的快速中斷請(qǐng)求引腳有效且CPSR寄存器的F控制位被
10、清除時(shí),處理器產(chǎn)生快速中斷請(qǐng)求FIQ異常。五、中斷響應(yīng)CPU中斷響應(yīng)X86如果發(fā)生了一個(gè)中斷和異常,那么控制單元執(zhí)行下列操作:1、確定與中斷或異常關(guān)聯(lián)的向量i(0 i 255)2、讀由idtr寄存器指向的IDT表中的第i項(xiàng)。3從gdtr寄存器獲得GDT的基地址,并在GDT中查找,以讀取IDT表項(xiàng)中的選擇符標(biāo)識(shí)的段描述符。這個(gè)描述符指定中斷或異常處理程序所在的段的基地址。4、確信中斷是由授權(quán)的(中斷)發(fā)生源發(fā)出的。首先將當(dāng)前特權(quán)級(jí)CPL(存放在cs寄存器的低兩位)與段描述符(存放在GDT中)的描述符特權(quán)級(jí)DPL比較。如果CPL小于DPL,就產(chǎn)生一個(gè)“通常保護(hù)”異常,因?yàn)橹袛嗵幚沓绦虻奶貦?quán)級(jí)不能低
11、于引起中斷的程序的特權(quán)。對(duì)于編程異常,則做進(jìn)一步的安全檢查:比較CPL與處于IDT中的門描述符的DPL,如果DPL小于CPL,就產(chǎn)生一個(gè)“通常保護(hù)”異常,這最后一個(gè)檢查可以避免用戶應(yīng)用程序訪問特殊的陷阱門和中斷門。5、檢查是否發(fā)生了特權(quán)級(jí)的變化,也就是說,CPL是否不同于所選擇的段描述符的DPL。如果是,控制單元必須開始使用與新的特權(quán)級(jí)相關(guān)的棧,通過執(zhí)行以下步驟來保證這一點(diǎn):A讀tr寄存器,以訪問運(yùn)行進(jìn)程的TSS段。B用與新特權(quán)級(jí)相關(guān)的棧段和棧指針的正確值裝載ss和esp寄存器。這些值可以在TSS中找到。C在新的棧中保存ss和esp以前的值,這些值定義了與舊特權(quán)級(jí)相關(guān)的棧的邏輯地址。6、如果故
12、障已發(fā)生,用引起異常的指令地址裝載cs和eip寄存器,從而使得這條指令能再次被執(zhí)行。7、在棧中保存eflag、cs和eip的內(nèi)容。8、如果異常產(chǎn)生了一個(gè)硬件出錯(cuò)碼,則將它保存在棧中。9、裝載cs和eip寄存器,其值分別是IDT表中第i項(xiàng)門描述符的段選擇符和偏移量字段。這些值給出了中斷或者異常處理程序的第一條指令的邏輯地址??刂茊卧鶊?zhí)行的最后一步就是跳轉(zhuǎn)到中斷或異常處理程序。換句話說,處理完中斷信號(hào)后,控制單元所執(zhí)行的指令就是被選中處理程序第一條指令。80C51硬件自動(dòng)生成長(zhǎng)調(diào)用指令為L(zhǎng)CALL addr16,而addr16就是各中斷源的中斷矢量地址(參見附表三)。中斷響應(yīng)是有條件的,在接受中
13、斷申請(qǐng)時(shí),如遇下列情況之一時(shí),硬件生成的長(zhǎng)調(diào)用指令“LCALL”將被封鎖: CPU正在執(zhí)行同級(jí)或高一級(jí)的中斷服務(wù)程序中。因?yàn)楫?dāng)一個(gè)中斷被響應(yīng)時(shí),其對(duì)應(yīng)的中斷優(yōu)先級(jí)觸發(fā)器被置“1”,封鎖了同級(jí)和低級(jí)中斷; 查詢中斷請(qǐng)求的機(jī)器周期不是執(zhí)行當(dāng)前指令的最后一個(gè)周期; 當(dāng)前正在執(zhí)行RETI指令或執(zhí)行對(duì)IE、IP的讀寫操作指令。80C51中斷系統(tǒng)的特性規(guī)定,在執(zhí)行完這些指令之后,必須再繼續(xù)執(zhí)行一條指令,然后才能響應(yīng)中斷。ARM 7TDMI系統(tǒng)運(yùn)行時(shí),異??赡軙?huì)隨時(shí)發(fā)生。當(dāng)一個(gè)異常出現(xiàn)以后,ARM微處理器會(huì)執(zhí)行以下幾步操作:1、將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序在處理異常返回時(shí)能從正確的位置
14、重新開始執(zhí)行。2、將CPSR復(fù)制到相應(yīng)的SPSR中。3、根據(jù)異常類型,強(qiáng)制設(shè)置CPSR的運(yùn)行模式位。4、強(qiáng)制PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。這些工作是由ARM 內(nèi)核完成的,不需要用戶程序參與。附表三、80C51各中斷源的中斷矢量地址:中斷源中斷矢量地址外部中斷0(INT0)0003H定時(shí)器/計(jì)數(shù)器0(T0)000BH外部中斷1(INT1)0013H定時(shí)器/計(jì)數(shù)器1(T1)001BH串行口(RI、TI)0023H定時(shí)器/計(jì)數(shù)器2(T2)002BH中斷處理:執(zhí)行中斷服務(wù)程序中規(guī)定的操作六、中斷返回CPU中斷返回X86由中斷服務(wù)程序中的中斷返回指令I(lǐng)RET完
15、成的,執(zhí)行該指令時(shí),將壓入堆棧的斷點(diǎn)和標(biāo)志位彈出,CPU轉(zhuǎn)向被中斷的現(xiàn)行程序中繼續(xù)執(zhí)行80C51RETI的功能:將壓入堆棧的斷點(diǎn)地址從棧頂彈回PC;將優(yōu)先級(jí)狀態(tài)觸發(fā)器清0ARM 7TDMI異常處理完畢之后,ARM微處理器會(huì)執(zhí)行以下幾步操作從異常返回:1、將連接寄存器LR的值減去相應(yīng)的偏移量后送到PC中。2、將SPSR復(fù)制回CPSR中。3、若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。七、中斷向量CPU中斷向量X86中斷矢量表占據(jù)內(nèi)存的地址范圍是:0000H: 0000H0000H: 03FFH,既是內(nèi)存單元的最低的1K地址范圍。只要有中斷類型號(hào),就可根據(jù)中斷類型號(hào)與中斷矢量所在位置之間的對(duì)應(yīng)關(guān)系,很方便地就能判斷出中斷關(guān)系矢量表的地址。中斷矢量在中斷矢量表中的地址=中斷類型號(hào)4(中斷向量表見附圖四)80C51當(dāng)CPU響應(yīng)中斷時(shí),由硬件直接產(chǎn)生一個(gè)固定的地址,即矢量地址,由矢量地址指出每個(gè)中斷源設(shè)備的中斷服務(wù)程序的入口。當(dāng)CPU識(shí)別出某個(gè)中斷源時(shí),由硬件直接給出一個(gè)與該中斷源相對(duì)應(yīng)的矢量地址,從而轉(zhuǎn)入各自中斷服務(wù)程序(見附表五)。ARM 7TDMI在32位ARM系統(tǒng)中,一般都是在中斷向量表中放置一條分支指令
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版小程序SDK接入授權(quán)合同模板3篇
- 2025年度美容院加盟店品牌形象保護(hù)合同范本4篇
- 2025版國(guó)際合同授權(quán)委托書定制模板3篇
- 城市配送與物流配送環(huán)節(jié)的信息互聯(lián)互通考核試卷
- 常州鋰電池生產(chǎn)廠2025年度消防設(shè)備采購(gòu)合同2篇
- 二零二五年度古法工藝木屋建造技藝傳承合同4篇
- 物業(yè)設(shè)施設(shè)備維護(hù)2025年度合同3篇
- 設(shè)備租賃公司二零二五年度施工塔吊租賃合同
- 2025年代理銷售分銷鏈銷售協(xié)議
- 2025年因施工責(zé)任賠償協(xié)議
- 開展課外讀物負(fù)面清單管理的具體實(shí)施舉措方案
- 2025年云南中煙工業(yè)限責(zé)任公司招聘420人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025-2030年中國(guó)洗衣液市場(chǎng)未來發(fā)展趨勢(shì)及前景調(diào)研分析報(bào)告
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(解析版)
- 北京市房屋租賃合同自行成交版北京市房屋租賃合同自行成交版
- 《AM聚丙烯酰胺》課件
- 技術(shù)支持資料投標(biāo)書
- 老年人意外事件與與預(yù)防
- 預(yù)防艾滋病、梅毒和乙肝母嬰傳播轉(zhuǎn)介服務(wù)制度
- 《高速鐵路客運(yùn)安全與應(yīng)急處理》課程標(biāo)準(zhǔn)
- 23J916-1:住宅排氣道(一)
評(píng)論
0/150
提交評(píng)論