版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、微機(jī)原理與接口技術(shù)第五次作業(yè)學(xué)院: 電子信息工程學(xué)院專業(yè): 軌道交通信號與控制班級: 自動化1302姓名: 安若琳 劉佳麗 劉琛 研究課題:不同CPU中斷技術(shù)對比專題研究本文從3種CPU(X86、80C51、ARM)的中斷源、中斷申請方式、中斷優(yōu)先級管理方式、中斷的處理過程、中斷向量等方面進(jìn)行了綜合的比較。以表格的形式呈現(xiàn)出來。一、中斷源CPU中斷源X86外部中斷和內(nèi)部中斷。其中外部中斷是指來自CPU外部,由外設(shè)的請求引起,通過外部硬件產(chǎn)生,外部中斷又分為兩類,可屏蔽中斷和不可屏蔽中斷。可屏蔽中斷指的是通過INTR引腳引入CPU,只有當(dāng)中斷允許標(biāo)志位IF1時,才能被CPU響應(yīng)。通過8259A,
2、一個系統(tǒng)中可有多個可屏蔽中斷。而不可屏蔽中斷指的是通過NMI引腳引入CPU,不受中斷允許標(biāo)志IF的屏蔽,一個系統(tǒng)一般只允許有一個非屏蔽中斷。而內(nèi)部中斷則是指來自CPU內(nèi)部,由執(zhí)行指令引起的。分為軟件中斷和微處理器內(nèi)部中斷。80C51兩個外部中斷源INT0、INT1和三個內(nèi)部中斷源T0、T1定時/計數(shù)謚出中斷源和串行口發(fā)送或接收中斷源。外部中斷是由外部信號引起的,它們的中斷請求信號分別從引腳INT0和INT1上引入ARM 7TDMIARM 7TDMI具有常規(guī)中斷(IRQ)、快中斷(FIQ)和軟件中斷(SoftWare Interrupt)三種中方式。常規(guī)中斷和快中斷都是硬件中斷??熘袛嗍菫橹С?jǐn)?shù)
3、據(jù)傳輸或快速數(shù)據(jù)通道而設(shè)計的,為快速處理快中斷。軟件中斷允許運(yùn)行在用戶模式的程序進(jìn)入監(jiān)督模式,并運(yùn)行監(jiān)督態(tài)下的函數(shù)。二、中斷申請方式CPU中斷申請方式X861、對于除法出錯,單步中斷,不可屏蔽中斷NMI,斷點中斷和溢出中斷,CPU分別自動提供中斷類型號04。2、對于用戶自己確定的軟件中斷INT n,類型號由n決定。3、對外部可屏蔽中斷INTR,可以用可編程中斷控制器8259A獲得中斷類型號。8個中斷請求信號接到8259A。當(dāng)外設(shè)申請中斷時,8259A響應(yīng)優(yōu)先權(quán)高的中斷源,將中斷請求信號送到CPU的INTR端。8259A收到CPU發(fā)出的第二個中斷響應(yīng)信號時,將對應(yīng)中斷源的中斷類型號送給CPU,C
4、PU獲取中斷類型號后,自動轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。80C51中斷處理過程:中斷申請、中斷響應(yīng)、中斷處理、中斷返回80C51外部中斷請求有兩種信號觸發(fā)方式??赏ㄟ^設(shè)置有關(guān)控制位進(jìn)行定義。中斷采樣:針對外部中斷請求信號進(jìn)行的,而內(nèi)部中斷請求都發(fā)生在芯片內(nèi)部,可以直接置位TCON或SCON中的中斷請求標(biāo)志。在每個機(jī)器周期的S5P2期間,各中斷標(biāo)志采樣相應(yīng)的中斷源,并置入相應(yīng)標(biāo)志。中斷查詢:若查詢到某中斷標(biāo)志為1,則按優(yōu)先級的高低進(jìn)行處理,即響應(yīng)中斷。80C51的中斷請求都匯集在TCON和SCON中。中斷響應(yīng):硬件自動生成長調(diào)用指令為LCALL addr16,而addr16就是各中斷源的中斷矢量地址(
5、見附表一)。ARM 7TDMI進(jìn)入異常過程:1.程序在系統(tǒng)模式下運(yùn)行用戶程序,假定當(dāng)前處理器狀態(tài)為Thumb狀態(tài)、允許IRQ中斷;2.用戶程序運(yùn)行時發(fā)生IRQ中斷,硬件完成以下動作:*置位I位(禁止IRQ中斷)*清零T位(進(jìn)入ARM狀態(tài))*設(shè)置MOD位,切換處理器模式至IRQ模式*將下一條指令的地址存入IRQ模式的LR寄存器*將CPSR寄存器內(nèi)容存入IRQ模式的SPSR寄存器*將跳轉(zhuǎn)地址存入PC,實現(xiàn)跳轉(zhuǎn)附表一中斷源中斷矢量地址外部中斷0(INT0)0003H定時器/計數(shù)器0(T0)000BH外部中斷1(INT1)0013H三、中斷優(yōu)先級管理方式CPU中斷優(yōu)先級管理方式X86在8086中各類中
6、斷源的優(yōu)先級:優(yōu)先級 中斷類型1、(高)內(nèi)部中斷(除單步中斷)2、NMI3、INTR (IRQ0,.,IRQ7)4、(低)單步中斷80C51在80C51中,只有兩級中斷優(yōu)先級。通過IP來設(shè)定,IP寄存器中各位設(shè)置為0時,為低中斷優(yōu)先級,為1時,設(shè)為高中斷優(yōu)先級。系統(tǒng)復(fù)位后IP寄存器中各位均為0,全部設(shè)定為低中斷優(yōu)先級。(IP寄存器見附表二)中斷優(yōu)先級控制,還有兩個不可尋址的優(yōu)先級狀態(tài)觸發(fā)器,一個用于指示某一高優(yōu)先級中斷正在進(jìn)行服務(wù),而屏蔽其它高優(yōu)先級中斷;另一個用于指示某一低優(yōu)先級中斷正在進(jìn)行服務(wù),從而屏蔽其它低優(yōu)先級中斷,但不能屏蔽高優(yōu)先級中斷。中斷優(yōu)先級由高到低為:外部中斷0, 定時器T0
7、中斷,外部中斷1,定時器T1中斷, 串行口中斷,定時器T2中斷。ARM 7TDMIARM處理器中有7種類型的異常,按優(yōu)先級從高到低的排列如下:復(fù)位異常(Reset)、數(shù)據(jù)異常(Data Abort)、快速中斷異常(FIQ)、外部中斷異常(IRQ)、預(yù)取異常(Prefetch Abort)、軟件中斷(SWI)、未定義指令異常(Undefined instruction)。附表二、80C51 IP寄存器如下:位地址BFHBEHBDHBCHBBHBAHB9HB8H符號_PSPT1PX1PT0PX0中斷處理過程:中斷申請、中斷響應(yīng)、中斷處理、中斷返回四、中斷申請CPU中斷申請X86當(dāng)外設(shè)需要中斷服務(wù)時
8、,由硬件產(chǎn)生一個中斷請求信號INTR發(fā)送給CPU80C5180C51外部中斷請求有兩種信號觸發(fā)方式??赏ㄟ^設(shè)置有關(guān)控制位進(jìn)行定義。 當(dāng)設(shè)定為電平有效方式時,若INT0或INT1引腳上采樣到有效的低電平,則向CPU提出中斷請求;當(dāng)設(shè)定為跳變有效方式時,若INT0或INT1引腳上采樣到有效負(fù)跳變,則向CPU提出中斷請求ARM 7TDMI當(dāng)異常發(fā)生時,處理器會把PC設(shè)置為一個特定的存儲器地址。異常種類細(xì)說:1、當(dāng)處理器的復(fù)位引腳有效時,系統(tǒng)產(chǎn)生復(fù)位異常中斷,程序跳轉(zhuǎn)到復(fù)位異常中斷處理程序處執(zhí)行;2、當(dāng)ARM處理器執(zhí)行協(xié)處理器指令時,它必須等待一個外部協(xié)處理器應(yīng)答后,才能真正執(zhí)行這條指令。若協(xié)處理器沒
9、有響應(yīng),則發(fā)生未定義指令異常3、軟中斷異常發(fā)生時,處理器進(jìn)入特權(quán)模式,執(zhí)行一些特權(quán)模式下的操作系統(tǒng)功能。4、預(yù)取指令異常是由系統(tǒng)存儲器報告的。當(dāng)處理器試圖去取一條被標(biāo)記為預(yù)取無效的指令時,發(fā)生預(yù)取異常。5、數(shù)據(jù)訪問中止異常是由存儲器發(fā)出數(shù)據(jù)中止信號,它由存儲器訪問指令Load/Store產(chǎn)生。當(dāng)數(shù)據(jù)訪問指令的目標(biāo)地址不存在或者該地址不允許當(dāng)前指令訪問時,處理器產(chǎn)生數(shù)據(jù)訪問中止異常。6、當(dāng)處理器的外部中斷請求引腳有效,而且CPSR寄存器的I控制位被清除時,處理器產(chǎn)生外部中斷IRQ異常。系統(tǒng)中各外部設(shè)備通常通過該異常中斷請求處理器服務(wù)。7、當(dāng)處理器的快速中斷請求引腳有效且CPSR寄存器的F控制位被
10、清除時,處理器產(chǎn)生快速中斷請求FIQ異常。五、中斷響應(yīng)CPU中斷響應(yīng)X86如果發(fā)生了一個中斷和異常,那么控制單元執(zhí)行下列操作:1、確定與中斷或異常關(guān)聯(lián)的向量i(0 i 255)2、讀由idtr寄存器指向的IDT表中的第i項。3從gdtr寄存器獲得GDT的基地址,并在GDT中查找,以讀取IDT表項中的選擇符標(biāo)識的段描述符。這個描述符指定中斷或異常處理程序所在的段的基地址。4、確信中斷是由授權(quán)的(中斷)發(fā)生源發(fā)出的。首先將當(dāng)前特權(quán)級CPL(存放在cs寄存器的低兩位)與段描述符(存放在GDT中)的描述符特權(quán)級DPL比較。如果CPL小于DPL,就產(chǎn)生一個“通常保護(hù)”異常,因為中斷處理程序的特權(quán)級不能低
11、于引起中斷的程序的特權(quán)。對于編程異常,則做進(jìn)一步的安全檢查:比較CPL與處于IDT中的門描述符的DPL,如果DPL小于CPL,就產(chǎn)生一個“通常保護(hù)”異常,這最后一個檢查可以避免用戶應(yīng)用程序訪問特殊的陷阱門和中斷門。5、檢查是否發(fā)生了特權(quán)級的變化,也就是說,CPL是否不同于所選擇的段描述符的DPL。如果是,控制單元必須開始使用與新的特權(quán)級相關(guān)的棧,通過執(zhí)行以下步驟來保證這一點:A讀tr寄存器,以訪問運(yùn)行進(jìn)程的TSS段。B用與新特權(quán)級相關(guān)的棧段和棧指針的正確值裝載ss和esp寄存器。這些值可以在TSS中找到。C在新的棧中保存ss和esp以前的值,這些值定義了與舊特權(quán)級相關(guān)的棧的邏輯地址。6、如果故
12、障已發(fā)生,用引起異常的指令地址裝載cs和eip寄存器,從而使得這條指令能再次被執(zhí)行。7、在棧中保存eflag、cs和eip的內(nèi)容。8、如果異常產(chǎn)生了一個硬件出錯碼,則將它保存在棧中。9、裝載cs和eip寄存器,其值分別是IDT表中第i項門描述符的段選擇符和偏移量字段。這些值給出了中斷或者異常處理程序的第一條指令的邏輯地址??刂茊卧鶊?zhí)行的最后一步就是跳轉(zhuǎn)到中斷或異常處理程序。換句話說,處理完中斷信號后,控制單元所執(zhí)行的指令就是被選中處理程序第一條指令。80C51硬件自動生成長調(diào)用指令為LCALL addr16,而addr16就是各中斷源的中斷矢量地址(參見附表三)。中斷響應(yīng)是有條件的,在接受中
13、斷申請時,如遇下列情況之一時,硬件生成的長調(diào)用指令“LCALL”將被封鎖: CPU正在執(zhí)行同級或高一級的中斷服務(wù)程序中。因為當(dāng)一個中斷被響應(yīng)時,其對應(yīng)的中斷優(yōu)先級觸發(fā)器被置“1”,封鎖了同級和低級中斷; 查詢中斷請求的機(jī)器周期不是執(zhí)行當(dāng)前指令的最后一個周期; 當(dāng)前正在執(zhí)行RETI指令或執(zhí)行對IE、IP的讀寫操作指令。80C51中斷系統(tǒng)的特性規(guī)定,在執(zhí)行完這些指令之后,必須再繼續(xù)執(zhí)行一條指令,然后才能響應(yīng)中斷。ARM 7TDMI系統(tǒng)運(yùn)行時,異??赡軙S時發(fā)生。當(dāng)一個異常出現(xiàn)以后,ARM微處理器會執(zhí)行以下幾步操作:1、將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序在處理異常返回時能從正確的位置
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ù)器0(T0)000BH外部中斷1(INT1)0013H定時器/計數(shù)器1(T1)001BH串行口(RI、TI)0023H定時器/計數(shù)器2(T2)002BH中斷處理:執(zhí)行中斷服務(wù)程序中規(guī)定的操作六、中斷返回CPU中斷返回X86由中斷服務(wù)程序中的中斷返回指令I(lǐng)RET完
15、成的,執(zhí)行該指令時,將壓入堆棧的斷點和標(biāo)志位彈出,CPU轉(zhuǎn)向被中斷的現(xiàn)行程序中繼續(xù)執(zhí)行80C51RETI的功能:將壓入堆棧的斷點地址從棧頂彈回PC;將優(yōu)先級狀態(tài)觸發(fā)器清0ARM 7TDMI異常處理完畢之后,ARM微處理器會執(zhí)行以下幾步操作從異常返回:1、將連接寄存器LR的值減去相應(yīng)的偏移量后送到PC中。2、將SPSR復(fù)制回CPSR中。3、若在進(jìn)入異常處理時設(shè)置了中斷禁止位,要在此清除。七、中斷向量CPU中斷向量X86中斷矢量表占據(jù)內(nèi)存的地址范圍是:0000H: 0000H0000H: 03FFH,既是內(nèi)存單元的最低的1K地址范圍。只要有中斷類型號,就可根據(jù)中斷類型號與中斷矢量所在位置之間的對應(yīng)關(guān)系,很方便地就能判斷出中斷關(guān)系矢量表的地址。中斷矢量在中斷矢量表中的地址=中斷類型號4(中斷向量表見附圖四)80C51當(dāng)CPU響應(yīng)中斷時,由硬件直接產(chǎn)生一個固定的地址,即矢量地址,由矢量地址指出每個中斷源設(shè)備的中斷服務(wù)程序的入口。當(dāng)CPU識別出某個中斷源時,由硬件直接給出一個與該中斷源相對應(yīng)的矢量地址,從而轉(zhuǎn)入各自中斷服務(wù)程序(見附表五)。ARM 7TDMI在32位ARM系統(tǒng)中,一般都是在中斷向量表中放置一條分支指令
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年【就業(yè)】上海市第一社會福利院招聘養(yǎng)老護(hù)理員備考題庫及參考答案詳解1套
- 2026年九江市專業(yè)森林消防支隊(九江市綜合應(yīng)急救援支隊)招聘10人備考題庫完整答案詳解
- 2026年中鐵工程設(shè)計咨詢集團(tuán)有限公司社會招聘備考題庫及答案詳解一套
- 2026年中交海峰風(fēng)電發(fā)展股份有限公司招聘備考題庫帶答案詳解
- 2026年中國特種飛行器研究所招聘備考題庫及一套完整答案詳解
- 2026年平果市協(xié)力初級中學(xué)教師招聘備考題庫及參考答案詳解
- 2026年關(guān)于龍江縣第一人民醫(yī)院公開招聘編外醫(yī)生的備考題庫及參考答案詳解
- 2026年南海區(qū)大瀝鎮(zhèn)漖表小學(xué)臨聘教師招聘備考題庫及答案詳解一套
- 2026年賓陽縣祥盛人力資源管理有限公司招聘備考題庫及參考答案詳解一套
- 2026年中電建生態(tài)環(huán)境集團(tuán)有限公司招聘備考題庫含答案詳解
- 2021年云南公務(wù)員考試行測試題及答案
- 如何撰寫優(yōu)秀的歷史教學(xué)設(shè)計
- GB/Z 42217-2022醫(yī)療器械用于醫(yī)療器械質(zhì)量體系軟件的確認(rèn)
- 2021高考語文核按鈕電子版(教師用書)
- GM/T 0109-2021基于云計算的電子簽名服務(wù)技術(shù)要求
- GB/T 20308-2020產(chǎn)品幾何技術(shù)規(guī)范(GPS)矩陣模型
- 承運(yùn)商質(zhì)量體系調(diào)查表
- 高等工程流體力學(xué)課件
- 教育心理學(xué)電子書
- 發(fā)電部副職、巡檢六月第二期考試(集控)
- 施工電梯通道方案
評論
0/150
提交評論