12 计算机组成原理第七章 输入/输出系统 中断系统
文章目錄
- 1 中斷的基本概念
- 2 中斷請(qǐng)求的分類
- 3 中斷請(qǐng)求標(biāo)記
- 4 中斷判優(yōu)-實(shí)現(xiàn)
- 5 中斷處理過(guò)程
- 5.1 中斷處理過(guò)程-中斷隱指令
- 5.2 中斷處理過(guò)程-硬件向量法
- 5.3 中斷處理過(guò)程-中斷服務(wù)程序
- 6 單重中斷與多重中斷
- 6.1 單重中斷與多重中斷比較
- 7 中斷屏蔽技術(shù)
- 中斷屏蔽字例題
- 8 中斷系統(tǒng)小結(jié)
1 中斷的基本概念
程序中斷是指在計(jì)算機(jī)執(zhí)行現(xiàn)行程序的過(guò)程中,出現(xiàn)某些急需處理的異常情況或特殊請(qǐng)求,CPU暫時(shí)中止現(xiàn)行程序,而轉(zhuǎn)去對(duì)這些異常情況或特殊請(qǐng)求進(jìn)行處理,在處理完畢后CPU又自動(dòng)返回到現(xiàn)行程序的斷點(diǎn)處,繼續(xù)執(zhí)行原程序。
中斷工作流程:
中斷源向CPU發(fā)送中斷請(qǐng)求信號(hào)。
響應(yīng)中斷的條件。
中斷判優(yōu):多個(gè)中斷源同時(shí)提出請(qǐng)求時(shí)通過(guò)中斷判優(yōu)邏輯響應(yīng)一個(gè)中斷源。
中斷隱指令。
中斷服務(wù)程序。
2 中斷請(qǐng)求的分類
回憶操作系統(tǒng):
CPU如何識(shí)別是哪一類中斷呢?通過(guò)中斷請(qǐng)求標(biāo)記
3 中斷請(qǐng)求標(biāo)記
- 每個(gè)中斷源向CPU發(fā)出中斷請(qǐng)求的時(shí)間是隨機(jī)的。
- 為了記錄中斷事件并區(qū)分不同的中斷源,中斷系統(tǒng)需對(duì)每個(gè)中斷源設(shè)置中斷請(qǐng)求標(biāo)記觸發(fā)器INTR,當(dāng)其狀態(tài)為“1”時(shí),表示中斷源有請(qǐng)求。
- 這些觸發(fā)器可組成中斷請(qǐng)求標(biāo)記寄存器,該寄存器可集中在CPU中,也可分散在各個(gè)中斷源中。
對(duì)于外中斷,CPU是在統(tǒng)一的時(shí)刻即每條指令執(zhí)行階段結(jié)束前向接口發(fā)出中斷查詢信號(hào),(特殊情況:對(duì)于執(zhí)行時(shí)間很長(zhǎng)的指令,可在執(zhí)行過(guò)程中設(shè)置若干個(gè)“查詢斷點(diǎn)”)以獲取l/O的中斷請(qǐng)求,也就是說(shuō),CPU響應(yīng)中斷的時(shí)間是在每條指令執(zhí)行階段的結(jié)束時(shí)刻。
CPU響應(yīng)中斷必須滿足以下3個(gè)條件:
①中斷源有中斷請(qǐng)求。
②CPU允許中斷即開中斷。
③一條指令執(zhí)行完畢,且沒有更緊迫的任務(wù)。
當(dāng)有兩個(gè)中斷源發(fā)出中斷請(qǐng)求時(shí),CPU要響應(yīng)哪一個(gè)中斷請(qǐng)求? 中斷判優(yōu)
4 中斷判優(yōu)-實(shí)現(xiàn)
- 中斷判優(yōu)既可以用硬件實(shí)現(xiàn),也可用較件實(shí)現(xiàn):
- 硬件實(shí)現(xiàn)是通過(guò)硬件排隊(duì)器實(shí)現(xiàn)的,它既可以設(shè)置在CPU中,也可以分散在各個(gè)中斷源中;
- 軟件實(shí)現(xiàn)是通過(guò)查詢程序?qū)崿F(xiàn)的。
- 中斷優(yōu)先級(jí)設(shè)置:
5 中斷處理過(guò)程
5.1 中斷處理過(guò)程-中斷隱指令
中斷隱指令的主要任務(wù):
在中斷服務(wù)程序中,為了保護(hù)中斷現(xiàn)場(chǎng)(即CPU主要寄存器中的內(nèi)容)期間不被新的中斷所打斷,必須關(guān)中斷,從而保證被中斷的程序在中斷服務(wù)程序執(zhí)行完畢之后能接著正確地執(zhí)行下去。
為了保證在中斷服務(wù)程序執(zhí)行完畢后能正確地返回到原來(lái)的程序,必須將原來(lái)程序的斷點(diǎn)(即程序計(jì)數(shù)器(PC)的內(nèi)容)保存起來(lái)。
可以存入堆棧,也可以存入指定單元。
引出中斷服務(wù)程序的實(shí)質(zhì)就是取出中斷服務(wù)程序的入口地址并傳送給程序計(jì)數(shù)器(PC)。
引出方式:軟件查詢法,硬件向量法
5.2 中斷處理過(guò)程-硬件向量法
5.3 中斷處理過(guò)程-中斷服務(wù)程序
中斷服務(wù)程序的主要任務(wù):
一是保存程序斷點(diǎn)(PC),已由中斷隱指令完成;二是保存通用寄存器和狀態(tài)寄存器的內(nèi)容,由中斷服務(wù)程序完成。
可以使用堆棧,也可以使用特定存儲(chǔ)單元。
主體部分,如通過(guò)程序控制需打印的字符代碼送入打印機(jī)的緩沖存儲(chǔ)器中。
通過(guò)出棧指令或取數(shù)指令把之前保存的信息送回寄存器中。
通過(guò)中斷返回指令回到原程序斷點(diǎn)處。
6 單重中斷與多重中斷
單重中斷:執(zhí)行中斷服務(wù)程序時(shí)不響應(yīng)新的中斷請(qǐng)求。
多重中斷:又稱中斷嵌套,執(zhí)行中斷服務(wù)程序時(shí)可響應(yīng)新的中斷請(qǐng)求。
6.1 單重中斷與多重中斷比較
7 中斷屏蔽技術(shù)
中斷屏蔽技術(shù)主要用于多重中斷,CPU要具備多重中斷的功能,須滿足下列條件:
每個(gè)中斷源都有一個(gè)屏蔽觸發(fā)器,1表示屏蔽該中斷源的請(qǐng)求,0表示可以正常申請(qǐng),所有屏蔽觸發(fā)器組合在一起,便構(gòu)成一個(gè)屏蔽字寄存器,屏蔽字寄存器的內(nèi)容稱為屏蔽字。
屏蔽字設(shè)置的規(guī)律:
中斷屏蔽字例題
設(shè)某機(jī)有4個(gè)中斷源A、B、C、D,其硬件排隊(duì)優(yōu)先次序?yàn)锳>B>C>D,現(xiàn)要求將中斷處理次序改為D>A>C>B。
1)寫出每個(gè)中斷源對(duì)應(yīng)的屏蔽字。
2)按下圖所示的時(shí)間軸給出的4個(gè)中斷源的請(qǐng)求時(shí)刻,畫出CPU執(zhí)行程序的軌跡。設(shè)每個(gè)中斷源的中斷服務(wù)程序時(shí)間均為20us。
(1)
1表示屏蔽,在哪一位置填1,則此列對(duì)應(yīng)的中斷源可屏蔽
某個(gè)中斷源至少要屏蔽自己
(2)
8 中斷系統(tǒng)小結(jié)
總結(jié)
以上是生活随笔為你收集整理的12 计算机组成原理第七章 输入/输出系统 中断系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Django - AJAX
- 下一篇: 4 操作系统第二章 进程管理 进程控制