中斷系統(tǒng)概述
幾個(gè)中斷請(qǐng)求可能同時(shí)出現(xiàn),但中斷系統(tǒng)只能按一定的次序來(lái)響應(yīng)和處理??勺钕缺豁憫?yīng)的中斷具有最高優(yōu)先權(quán),按優(yōu)先級(jí)別順序進(jìn)行處理。優(yōu)先權(quán)高低是由中斷部件的中斷排隊(duì)線(xiàn)路確定的。
中斷級(jí)當(dāng)機(jī)器設(shè)置很多中斷源時(shí),為了簡(jiǎn)化設(shè)計(jì),對(duì)中斷源分組管理。具有相同中斷優(yōu)先權(quán)的中斷源構(gòu)成一個(gè)中斷級(jí)。同一級(jí)中斷使用同一個(gè)中斷控制程序起點(diǎn)。
中斷屏蔽對(duì)應(yīng)于各中斷級(jí)設(shè)置相應(yīng)的屏蔽位。只有屏蔽位為1時(shí),該中斷級(jí)才能參加中斷優(yōu)先權(quán)排隊(duì)。中斷屏蔽位可由專(zhuān)用指令建立,因而可以靈活地調(diào)整中斷優(yōu)先權(quán)。有些機(jī)器針對(duì)某些中斷源也設(shè)置屏蔽位,只有屏蔽位為1時(shí),相應(yīng)的中斷源才起作用。
大多數(shù)中斷系統(tǒng)都具有如下幾方面的操作,這些操作是按照中斷的執(zhí)行先后次序排列的。①接收中斷請(qǐng)求。②查看本級(jí)中斷屏蔽位,若該位為1則本級(jí)中斷源參加優(yōu)先權(quán)排隊(duì)。③中斷優(yōu)先權(quán)選擇。④處理機(jī)執(zhí)行完一條指令后或者這條指令已無(wú)法執(zhí)行完,則立即中止現(xiàn)行程序。接著,中斷部件根據(jù)中斷級(jí)去指定相應(yīng)的主存單元,并把被中斷的指令地址和處理機(jī)當(dāng)前的主要狀態(tài)信息存放在此單元中。⑤中斷部件根據(jù)中斷級(jí)又指定另外的主存單元,從這些單元中取出處理機(jī)新的狀態(tài)信息和該級(jí)中斷控制程序的起始地址。⑥執(zhí)行中斷控制程序和相應(yīng)的中斷服務(wù)程序。⑦執(zhí)行完中斷服務(wù)程序后,利用專(zhuān)用指令使處理機(jī)返回被中斷的程序或轉(zhuǎn)向其他程序。
程序狀態(tài)字與向量中段這是兩個(gè)與中斷響應(yīng)和處理有密切關(guān)系的概念。程序狀態(tài)字:每個(gè)程序均有自己的程序狀態(tài)字?,F(xiàn)行程序的程序狀態(tài)字放在處理機(jī)的程序狀態(tài)字寄存器中。程序狀態(tài)字中最主要的內(nèi)容有指令地址、條件碼、地址保護(hù)鍵,中斷屏蔽和中斷響應(yīng)時(shí)的中斷源記錄等。中斷響應(yīng)和處理操作的第④步和第⑤步就是交換程序狀態(tài)字操作。
向量中斷:對(duì)應(yīng)每一級(jí)中斷都有一個(gè)向量,這些向量順序存放在主存的指定單元中。向量的內(nèi)容是:相應(yīng)的中斷服務(wù)程序起始地址和處理機(jī)狀態(tài)字(主要是指令地址)。在中斷響應(yīng)時(shí),由中斷部件提供中斷向量的地址,就可取出該向量。中斷響應(yīng)和處理操作的第⑤步就是取中斷向量操作。在采用向量中斷的機(jī)器中一般不再使用程序狀態(tài)字。
它經(jīng)常包含一個(gè)指向下一條需要被執(zhí)行指令的指針。程序狀態(tài)字還通常包含一個(gè)錯(cuò)誤狀態(tài)區(qū)域和關(guān)于中斷允許或禁止,超級(jí)或普通用戶(hù)模式位的條件代碼。在計(jì)算機(jī)系統(tǒng)中,表明系統(tǒng)運(yùn)行狀態(tài)的部件是程序狀態(tài)字程序狀態(tài)字PSW(Program Status Word)包括的狀態(tài)位有進(jìn)位標(biāo)志位(CF)、結(jié)果為零標(biāo)志位(ZF)、符號(hào)標(biāo)志位(SF)、溢出標(biāo)志位(OF)、陷阱標(biāo)志位(TF)、中斷使能(中斷屏蔽)標(biāo)志位(IF)、虛擬中斷標(biāo)志位(VIF)、虛擬中斷待決標(biāo)志位(VIP)、I0特權(quán)級(jí)別(IOPL)。通常的狀態(tài)代碼:CPU的工作狀態(tài)碼——指明管態(tài)還是目態(tài),用來(lái)說(shuō)明當(dāng)前在CPU上執(zhí)行的是操作系統(tǒng)還是一般用戶(hù),從而決定其是否可以使用特權(quán)指令或擁有其它的特殊權(quán)力。條件碼——反映指令執(zhí)行后的結(jié)果特征。中斷屏蔽碼——指出是否允許中斷。各個(gè)狀態(tài)之間的轉(zhuǎn)換:目態(tài)--管態(tài)其轉(zhuǎn)換的唯一途徑是通過(guò)中斷。管態(tài)--目態(tài)可用設(shè)置PSW(修改程序狀態(tài)字)可實(shí)現(xiàn)