版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1計算機(jī)組成原理計算機(jī)組成原理第八章第八章 輸入輸出系統(tǒng)輸入輸出系統(tǒng)28.1 I/O接口接口3I/O接口的概念接口的概念“接口接口”可以看成是兩個系統(tǒng)或兩個部件之間的可以看成是兩個系統(tǒng)或兩個部件之間的交接部分,它既可以是兩種硬件之間的連接電路,交接部分,它既可以是兩種硬件之間的連接電路,也可以是兩個軟件之間的共同邏輯邊界。也可以是兩個軟件之間的共同邏輯邊界。I/O接口通常是指主機(jī)與外部設(shè)備之間設(shè)置的一接口通常是指主機(jī)與外部設(shè)備之間設(shè)置的一個硬件電路及其相應(yīng)的軟件控制。個硬件電路及其相應(yīng)的軟件控制。設(shè)置接口的理由:設(shè)置接口的理由:1. 設(shè)備選擇設(shè)備選擇2. 數(shù)據(jù)緩沖數(shù)據(jù)緩沖3. 電平轉(zhuǎn)換電平轉(zhuǎn)換
2、4. 在在CPU和外設(shè)之間傳送命令和外設(shè)之間傳送命令5. 監(jiān)視設(shè)備狀態(tài)監(jiān)視設(shè)備狀態(tài)4總線連接方式的總線連接方式的I/O接口電路接口電路I/OI/O接口接口I/OI/O接口接口設(shè)備設(shè)備設(shè)備設(shè)備數(shù)據(jù)線數(shù)據(jù)線狀態(tài)線狀態(tài)線命令線命令線設(shè)備選擇線(地址線)設(shè)備選擇線(地址線)I/OI/O總線總線5I/O接口的功能接口的功能1. 選址功能(設(shè)備選擇)選址功能(設(shè)備選擇)2. 傳送命令的功能傳送命令的功能命令寄存器命令寄存器命令譯碼器命令譯碼器3. 傳送數(shù)據(jù)的功能傳送數(shù)據(jù)的功能數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器4. 反映反映I/O設(shè)備工作狀態(tài)的功能設(shè)備工作狀態(tài)的功能暫停、準(zhǔn)備就緒、正在準(zhǔn)備等狀態(tài)暫停、準(zhǔn)備就緒、正
3、在準(zhǔn)備等狀態(tài)6I/O接口的基本組成接口的基本組成CPUCPU數(shù)據(jù)緩沖數(shù)據(jù)緩沖寄存器寄存器DBRDBR設(shè)備狀態(tài)設(shè)備狀態(tài)標(biāo)記標(biāo)記 控制邏輯電路設(shè)備選擇設(shè)備選擇電路電路命令寄存器命令寄存器和命令譯碼器和命令譯碼器 外外 部部 設(shè)設(shè) 備備數(shù)據(jù)線數(shù)據(jù)線地址線地址線狀態(tài)線狀態(tài)線命令線命令線數(shù)據(jù)線數(shù)據(jù)線狀態(tài)狀態(tài)命令命令7接口(接口(interface)和端口()和端口(port) 端口寄存器組(數(shù)據(jù)、控制、狀態(tài)端口寄存器組(數(shù)據(jù)、控制、狀態(tài)) 接口接口N個端口控制邏輯個端口控制邏輯8接口的類型接口的類型 按數(shù)據(jù)傳送方式分,有并行接口和串行接口。按數(shù)據(jù)傳送方式分,有并行接口和串行接口。 并行接口:一個字節(jié)或一
4、個字的所有位同時傳送,如并行接口:一個字節(jié)或一個字的所有位同時傳送,如Intel 8255Intel 8255。 串行接口:一位一位傳送,如串行接口:一位一位傳送,如Intel 8251Intel 8251。 按功能選擇的靈活性分,有可編程接口和不可編程接口。按功能選擇的靈活性分,有可編程接口和不可編程接口。 可編程接口:可可編程接口:可用程序來改變或選擇接口的功能和操作方式用程序來改變或選擇接口的功能和操作方式(如如Intel 8255、Intel 8251)。 不可編程接口:不能用程序來改變其功能,但可通過硬連線路邏輯來不可編程接口:不能用程序來改變其功能,但可通過硬連線路邏輯來實現(xiàn)不同的
5、功能實現(xiàn)不同的功能( (如并行接口芯片如并行接口芯片Intel 8212)Intel 8212) 按通用性分類,有通用接口和專用接口。按通用性分類,有通用接口和專用接口。 通用接口:可供多種外設(shè)使用,如通用接口:可供多種外設(shè)使用,如Intel 8255Intel 8255、82128212。 專用接口:為某類外設(shè)或某種用途專門設(shè)計的,如專用接口:為某類外設(shè)或某種用途專門設(shè)計的,如Intel 8279Intel 8279可編程可編程鍵盤鍵盤/ /顯示器接口;顯示器接口;Intel 8275Intel 8275可編程可編程CRTCRT控制器接口等。控制器接口等。 按數(shù)據(jù)傳送的控制方式分類,有程序型
6、接口和按數(shù)據(jù)傳送的控制方式分類,有程序型接口和DMADMA式接口式接口 程序型式接口:用于連接速度較慢的設(shè)備,如鍵盤、打印機(jī)等,如程序型式接口:用于連接速度較慢的設(shè)備,如鍵盤、打印機(jī)等,如Intel 8259Intel 8259。 DMADMA式接口:用于連接高速式接口:用于連接高速I/OI/O設(shè)備,如磁盤、磁帶等常用設(shè)備,如磁盤、磁帶等常用Intel 8237Intel 8237。98.2 程序查詢方式程序查詢方式10程序查詢方式程序查詢方式 由由CPU控制數(shù)據(jù)控制數(shù)據(jù)傳輸?shù)倪^傳輸?shù)倪^程程 處理器處理器等等待待,效率,效率低低檢查狀態(tài)標(biāo)記Ready?傳輸數(shù)據(jù)NYReady?N傳輸一個數(shù)據(jù)修改
7、計數(shù)、內(nèi)存首址傳送完?NEND設(shè)置計數(shù)、內(nèi)存首址啟動外設(shè)11多個設(shè)備的查詢多個設(shè)備的查詢流程示意流程示意12程序查詢方式的接口電路程序查詢方式的接口電路DBR:數(shù)據(jù)緩沖器,用于存放欲傳送的數(shù)據(jù)。:數(shù)據(jù)緩沖器,用于存放欲傳送的數(shù)據(jù)。D為完成觸發(fā)器,為完成觸發(fā)器,B為工作觸發(fā)器。為工作觸發(fā)器。138.3 程序中斷方式程序中斷方式14中斷概念中斷概念 中斷的概念中斷的概念 暫停當(dāng)前程序的執(zhí)行,轉(zhuǎn)而執(zhí)行其他程序,在它們執(zhí)行完成后再暫停當(dāng)前程序的執(zhí)行,轉(zhuǎn)而執(zhí)行其他程序,在它們執(zhí)行完成后再恢復(fù)被中斷程序的執(zhí)行?;謴?fù)被中斷程序的執(zhí)行。 允許一個處理器允許一個處理器“同時同時”執(zhí)行多個任務(wù)執(zhí)行多個任務(wù) 中斷服
8、務(wù)程序中斷服務(wù)程序 I/O中斷只是眾多中斷中的一種。中斷只是眾多中斷中的一種。 中斷的產(chǎn)生中斷的產(chǎn)生 為了提高計算機(jī)的整機(jī)效率為了提高計算機(jī)的整機(jī)效率 為了應(yīng)付突發(fā)事件為了應(yīng)付突發(fā)事件 為了實時控制的需要為了實時控制的需要 為了實現(xiàn)中斷,計算機(jī)系統(tǒng)中必須有相應(yīng)的中斷系統(tǒng)或中為了實現(xiàn)中斷,計算機(jī)系統(tǒng)中必須有相應(yīng)的中斷系統(tǒng)或中斷機(jī)構(gòu)。斷機(jī)構(gòu)。當(dāng)前程序當(dāng)前程序中斷服中斷服務(wù)程序務(wù)程序15中斷源中斷源 軟中斷:是在程序中人為設(shè)置的。軟中斷:是在程序中人為設(shè)置的。 程序性事故:如定點(diǎn)溢出、浮點(diǎn)溢出等。程序性事故:如定點(diǎn)溢出、浮點(diǎn)溢出等。 硬件故障:插件接觸不良、磁表面損壞、電源硬件故障:插件接觸不良、磁
9、表面損壞、電源掉電等。掉電等。 I/O設(shè)備:設(shè)備:I/O設(shè)備通過中斷與主機(jī)通信。設(shè)備通過中斷與主機(jī)通信。 外部事件:如用戶通過鍵盤來中斷現(xiàn)行程序。外部事件:如用戶通過鍵盤來中斷現(xiàn)行程序。16中斷的作用中斷的作用 CPU與與I/O設(shè)備并行工作設(shè)備并行工作 鍵盤輸入響應(yīng),打印機(jī)輸出鍵盤輸入響應(yīng),打印機(jī)輸出 硬件故障處理:故障硬件故障處理:故障-中斷中斷-自動恢復(fù)自動恢復(fù) 掉電后自動保存當(dāng)前狀態(tài)掉電后自動保存當(dāng)前狀態(tài) 人機(jī)通信人機(jī)通信 隨機(jī)干預(yù)機(jī)器工作,如死循環(huán)處理(隨機(jī)干預(yù)機(jī)器工作,如死循環(huán)處理(CtrlBreak) 多任務(wù)切換多任務(wù)切換 時鐘中斷時鐘中斷 實時處理實時處理 對隨機(jī)事件的快速響應(yīng)對
10、隨機(jī)事件的快速響應(yīng) 目態(tài)(用戶態(tài))程序與管態(tài)(系統(tǒng)態(tài))程序通信目態(tài)(用戶態(tài))程序與管態(tài)(系統(tǒng)態(tài))程序通信 多處理機(jī)通信多處理機(jī)通信 CPU與與FPU17中斷系統(tǒng)需研究的問題中斷系統(tǒng)需研究的問題1. 如何確定中斷源如何確定中斷源2. 出現(xiàn)多個中斷時,中斷響應(yīng)的順序出現(xiàn)多個中斷時,中斷響應(yīng)的順序3. 中斷響應(yīng)的條件、時機(jī)中斷響應(yīng)的條件、時機(jī)條件:處理器允許中斷、該中斷未被屏蔽條件:處理器允許中斷、該中斷未被屏蔽時機(jī):指令周期結(jié)束檢查是否有中斷請求時機(jī):指令周期結(jié)束檢查是否有中斷請求4. 現(xiàn)場保護(hù)與恢復(fù)現(xiàn)場保護(hù)與恢復(fù)5. 中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址6. 中斷處理過程中出現(xiàn)中斷如何處
11、理?中斷處理過程中出現(xiàn)中斷如何處理?18中斷請求標(biāo)記(中斷請求標(biāo)記(中斷源識別中斷源識別) 中斷請求觸發(fā)器(中斷請求觸發(fā)器(INTR):用于保存各中):用于保存各中斷源的請求斷源的請求 每個中斷源一位每個中斷源一位 可以在可以在CPU內(nèi)部,也可以在外部(內(nèi)部,也可以在外部(8259)12345n掉掉電電過過熱熱內(nèi)存內(nèi)存讀寫讀寫校驗校驗錯錯階階上上溢溢非非法法除除法法光光電電輸輸入入機(jī)機(jī)打打印印輸輸出出機(jī)機(jī)中斷請求標(biāo)記寄存器中斷請求標(biāo)記寄存器19中斷判優(yōu)邏輯中斷判優(yōu)邏輯 各個中斷源的優(yōu)先順序是根據(jù)該中斷若得各個中斷源的優(yōu)先順序是根據(jù)該中斷若得不到及時響應(yīng),致使機(jī)器工作出錯的嚴(yán)重不到及時響應(yīng),致使
12、機(jī)器工作出錯的嚴(yán)重程度而定的。程度而定的。 中斷判優(yōu)可用硬件實現(xiàn),也可用軟件實現(xiàn)。中斷判優(yōu)可用硬件實現(xiàn),也可用軟件實現(xiàn)。 硬件排隊硬件排隊 軟件排隊軟件排隊20中斷判優(yōu)邏輯中斷判優(yōu)邏輯硬件排隊硬件排隊 硬件排隊分兩種情況硬件排隊分兩種情況 第一種叫第一種叫鏈?zhǔn)脚抨犉麈準(zhǔn)脚抨犉?,對?yīng)中斷請求觸發(fā)器分,對應(yīng)中斷請求觸發(fā)器分散在各個接口電路中的情況。散在各個接口電路中的情況。 第二種是將排隊器設(shè)在第二種是將排隊器設(shè)在CPU內(nèi)。內(nèi)。21中斷判優(yōu)邏輯中斷判優(yōu)邏輯硬件排隊硬件排隊第一種叫第一種叫鏈?zhǔn)脚抨犉麈準(zhǔn)脚抨犉?,對?yīng)中斷請求觸發(fā)器分散在各個,對應(yīng)中斷請求觸發(fā)器分散在各個接口電路中的情況。接口電路中的情
13、況。優(yōu)先級別:優(yōu)先級別:1234123422中斷判優(yōu)邏輯中斷判優(yōu)邏輯硬件排隊硬件排隊 第二種是將排隊器設(shè)在第二種是將排隊器設(shè)在CPU內(nèi)。內(nèi)。優(yōu)先級別:優(yōu)先級別:1234123411INTR11&INTR21&INTR31&INTR4INTP1INTP2INTP3INTP423中斷判優(yōu)邏輯中斷判優(yōu)邏輯軟件排隊軟件排隊 軟件排隊通過編寫查詢程序?qū)崿F(xiàn)。軟件排隊通過編寫查詢程序?qū)崿F(xiàn)。是否是否A A請求?請求?是轉(zhuǎn)轉(zhuǎn)A A的服務(wù)的服務(wù)程序入口地址程序入口地址是否是否B B請求?請求?是轉(zhuǎn)轉(zhuǎn)B B的服務(wù)的服務(wù)程序入口地址程序入口地址是否是否C C請求?請求?是轉(zhuǎn)轉(zhuǎn)C C的服務(wù)的服務(wù)
14、程序入口地址程序入口地址否否否優(yōu)先級別:優(yōu)先級別:ABCABC24中斷服務(wù)程序入口地址中斷服務(wù)程序入口地址 硬件向量法(中斷向量法)硬件向量法(中斷向量法) 中斷向量:設(shè)備接口向中斷向量:設(shè)備接口向CPU提供的自身標(biāo)識提供的自身標(biāo)識 CPU根據(jù)中斷向量檢索中斷根據(jù)中斷向量檢索中斷向量表得到中斷服務(wù)程序的向量表得到中斷服務(wù)程序的入口地址入口地址 不同的中斷(類型)有各自的服務(wù)程序。不同的中斷(類型)有各自的服務(wù)程序。 軟件查詢法:軟件查詢法:用軟件尋找中斷服務(wù)程序入口地用軟件尋找中斷服務(wù)程序入口地址的方法。址的方法。 由程序員(或系統(tǒng))事先確定中斷源對應(yīng)的入口地由程序員(或系統(tǒng))事先確定中斷源對
15、應(yīng)的入口地址,不涉及硬件設(shè)備,但查詢時間比較長。址,不涉及硬件設(shè)備,但查詢時間比較長。FFH0Jmp 400Jmp 300300H400H中斷向量表程序代碼區(qū)25中斷響應(yīng)的條件和時間中斷響應(yīng)的條件和時間 條件:條件:處理器允許中斷、該中斷未被屏蔽。處理器允許中斷、該中斷未被屏蔽。 程序狀態(tài)寄存器程序狀態(tài)寄存器PSW、中斷屏蔽寄存器、中斷屏蔽寄存器IMR 時機(jī):時機(jī):指令周期結(jié)束檢查是否有中斷請求。指令周期結(jié)束檢查是否有中斷請求。 查詢斷點(diǎn):某些計算機(jī)中的有些執(zhí)行時間很長,若查詢斷點(diǎn):某些計算機(jī)中的有些執(zhí)行時間很長,若CPU的查詢信號一律安排在指令周期結(jié)束時刻,又可的查詢信號一律安排在指令周期結(jié)
16、束時刻,又可能因能因CPU發(fā)現(xiàn)中斷請求過遲而出錯。為此,在指令執(zhí)發(fā)現(xiàn)中斷請求過遲而出錯。為此,在指令執(zhí)行過程中設(shè)置若干個查詢段點(diǎn),行過程中設(shè)置若干個查詢段點(diǎn),CPU在每個在每個“查詢斷查詢斷點(diǎn)點(diǎn)”時刻發(fā)出中斷查詢信號,以便及時發(fā)現(xiàn)和響應(yīng)中時刻發(fā)出中斷查詢信號,以便及時發(fā)現(xiàn)和響應(yīng)中斷請求。斷請求。26中斷隱指令中斷隱指令 中斷隱指令:中斷隱指令:在機(jī)器指令系統(tǒng)中沒有的指令,它在機(jī)器指令系統(tǒng)中沒有的指令,它是是CPU在中斷周期內(nèi)由硬件自動完成的一條指令。在中斷周期內(nèi)由硬件自動完成的一條指令。 中斷隱指令的主要功能:中斷隱指令的主要功能: 保護(hù)程序斷點(diǎn):將當(dāng)前程序計數(shù)器保護(hù)程序斷點(diǎn):將當(dāng)前程序計數(shù)器
17、PC的內(nèi)容(程序段的內(nèi)容(程序段點(diǎn))保存到存儲器中,或者存在存儲器的特定單元點(diǎn))保存到存儲器中,或者存在存儲器的特定單元(如(如0號地址),或者入棧。號地址),或者入棧。 尋找中斷服務(wù)程序的入口地址尋找中斷服務(wù)程序的入口地址 關(guān)中斷:確保關(guān)中斷:確保CPU響應(yīng)中斷后的所需作的一序列操作響應(yīng)中斷后的所需作的一序列操作不至于有受到新的中斷請求的干擾。不至于有受到新的中斷請求的干擾。27保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場 保護(hù)現(xiàn)場:保護(hù)現(xiàn)場:包括保護(hù)程序斷點(diǎn)和保護(hù)包括保護(hù)程序斷點(diǎn)和保護(hù)CPU內(nèi)部各寄存器內(nèi)容的現(xiàn)場兩個方面。內(nèi)部各寄存器內(nèi)容的現(xiàn)場兩個方面。 程序斷點(diǎn)程序斷點(diǎn)中斷隱指令完成中斷隱指令完
18、成 CPU內(nèi)部寄存器內(nèi)容內(nèi)部寄存器內(nèi)容用戶(或系統(tǒng))用機(jī)器用戶(或系統(tǒng))用機(jī)器指令編程實現(xiàn)指令編程實現(xiàn) 恢復(fù)現(xiàn)場:恢復(fù)現(xiàn)場:在中斷返回前,必須將寄存器在中斷返回前,必須將寄存器的內(nèi)容恢復(fù)到中斷處理前的狀態(tài)。的內(nèi)容恢復(fù)到中斷處理前的狀態(tài)。 由中斷服務(wù)程序完成。由中斷服務(wù)程序完成。28多重中斷多重中斷 在中斷服務(wù)過程中出現(xiàn)在中斷服務(wù)過程中出現(xiàn)高級別中斷高級別中斷 中斷嵌套中斷嵌套 同級、低級不嵌套同級、低級不嵌套 多重中斷斷點(diǎn)保護(hù)多重中斷斷點(diǎn)保護(hù) 利用棧先進(jìn)后出的特點(diǎn)利用棧先進(jìn)后出的特點(diǎn) 若將斷點(diǎn)保存在特定存儲單元內(nèi)(例如約定為若將斷點(diǎn)保存在特定存儲單元內(nèi)(例如約定為0號單號單元),為保證多重中斷
19、的斷點(diǎn)不會被覆蓋,需在執(zhí)行元),為保證多重中斷的斷點(diǎn)不會被覆蓋,需在執(zhí)行“開中斷開中斷”指令之前先將指令之前先將0號地址單元的內(nèi)容轉(zhuǎn)存至別號地址單元的內(nèi)容轉(zhuǎn)存至別的地址單元。的地址單元。29實現(xiàn)多重中斷的條件實現(xiàn)多重中斷的條件1. 提前設(shè)置提前設(shè)置“開中斷開中斷”指令指令2. 優(yōu)先級別高的中斷源有權(quán)中斷優(yōu)先級別低優(yōu)先級別高的中斷源有權(quán)中斷優(yōu)先級別低的中斷源。的中斷源。30實現(xiàn)多重中斷的條件實現(xiàn)多重中斷的條件1.提前設(shè)置提前設(shè)置“開中斷開中斷”指令指令開中斷的位置不一樣。開中斷的位置不一樣。單重中斷單重中斷多重中斷多重中斷31實現(xiàn)多重中斷的條件實現(xiàn)多重中斷的條件2. 優(yōu)先級優(yōu)先級別高的別高的中斷
20、源中斷源有權(quán)中有權(quán)中斷優(yōu)先斷優(yōu)先級別低級別低的中斷的中斷源。源。32中斷屏蔽技術(shù)中斷屏蔽技術(shù) 禁止響應(yīng)某些中斷禁止響應(yīng)某些中斷 可屏蔽中斷可屏蔽中斷 vs. 不可屏蔽中斷(不可屏蔽中斷(NMI) 可以屏蔽外部中斷,不能屏蔽軟中斷 中斷允許觸發(fā)器中斷允許觸發(fā)器 CPU內(nèi)部內(nèi)部PSW中的一位,可以禁止中的一位,可以禁止CPU響應(yīng)所有可屏蔽響應(yīng)所有可屏蔽中斷中斷 中斷屏蔽寄存器中斷屏蔽寄存器(IMR) 位于中斷接口中,每個中斷源一位(每位稱作位于中斷接口中,每個中斷源一位(每位稱作中斷屏蔽觸中斷屏蔽觸發(fā)器發(fā)器) 屏蔽字:屏蔽字:中斷屏蔽寄存器的內(nèi)容中斷屏蔽寄存器的內(nèi)容 中斷響應(yīng)條件:處理器允許中斷、
21、該中斷未被屏蔽中斷響應(yīng)條件:處理器允許中斷、該中斷未被屏蔽33中斷屏蔽技術(shù)中斷屏蔽技術(shù) 中斷屏蔽觸發(fā)器和屏蔽字中斷屏蔽觸發(fā)器和屏蔽字 中斷接口電路中中斷接口電路中完成觸發(fā)器完成觸發(fā)器D、中斷請求觸發(fā)中斷請求觸發(fā)器器INTR和和屏蔽觸發(fā)器屏蔽觸發(fā)器MASK三者之間的關(guān)系。三者之間的關(guān)系。34中斷屏蔽技術(shù)中斷屏蔽技術(shù) 中斷屏蔽觸發(fā)器和屏蔽字中斷屏蔽觸發(fā)器和屏蔽字 具有屏蔽功能的排隊器具有屏蔽功能的排隊器11INTR11&INTR21&INTR31&INTR4INTP1INTP2INTP3INTP4MASK1MASK2MASK3MASK435中斷屏蔽技術(shù)中斷屏蔽技術(shù) 中斷屏蔽
22、字可改變優(yōu)先等級中斷屏蔽字可改變優(yōu)先等級 例如:例如:5級中斷高于級中斷高于6級中斷,但若在中斷服務(wù)程級中斷,但若在中斷服務(wù)程序中預(yù)先設(shè)置屏蔽字為序中預(yù)先設(shè)置屏蔽字為000010111111: 這樣,當(dāng)這樣,當(dāng)5、6級中斷同時發(fā)生時,級中斷同時發(fā)生時,5級中斷被屏蔽,級中斷被屏蔽,6級中斷未被屏蔽,因此,可以優(yōu)先響應(yīng)級中斷未被屏蔽,因此,可以優(yōu)先響應(yīng)6級中斷。級中斷。 當(dāng)處理完當(dāng)處理完6級中斷后,再設(shè)屏蔽字為級中斷后,再設(shè)屏蔽字為000001111111,CPU才能響應(yīng)才能響應(yīng)5級中斷源的請求。級中斷源的請求。36程序中斷方式接口電路的基本組成程序中斷方式接口電路的基本組成37中斷小結(jié)中斷小結(jié)
23、中斷響應(yīng)過程中斷響應(yīng)過程 響應(yīng)過程響應(yīng)過程 關(guān)中斷關(guān)中斷 保存斷點(diǎn)和現(xiàn)場保存斷點(diǎn)和現(xiàn)場 PC,狀態(tài)(標(biāo)志寄存器),內(nèi)部寄存器. 保存的位置:主存,堆棧 識別中斷源,得到中斷向量識別中斷源,得到中斷向量 【開中斷【開中斷】 執(zhí)行中斷服務(wù)執(zhí)行中斷服務(wù) 【關(guān)中斷【關(guān)中斷】 恢復(fù)現(xiàn)場、斷點(diǎn)恢復(fù)現(xiàn)場、斷點(diǎn) 開中斷開中斷 中斷返回中斷返回 軟硬件協(xié)同完成軟硬件協(xié)同完成 中斷隱指令、中斷隱指令、IRET中斷隱指令I(lǐng)RET允許多重中斷允許多重中斷38中斷小結(jié)中斷小結(jié)基本概念基本概念 基本概念基本概念 中斷、中斷優(yōu)先級、中斷中斷、中斷優(yōu)先級、中斷屏蔽、中斷嵌套、中斷服屏蔽、中斷嵌套、中斷服務(wù)、中斷向量務(wù)、中斷向
24、量. 中斷的響應(yīng)條件、時機(jī)中斷的響應(yīng)條件、時機(jī) 中斷處理過程中斷處理過程 中斷向量、保存現(xiàn)場、中斷服務(wù)、恢復(fù)現(xiàn)場、中斷返回 如果中斷頻繁,則效率低如果中斷頻繁,則效率低 高速、批量數(shù)據(jù)傳輸不適高速、批量數(shù)據(jù)傳輸不適用用 某些任務(wù)必須使用某些任務(wù)必須使用(如調(diào)(如調(diào)度)度) 80 x86 memoryI/O接口1DeviceI/O接口nDevice 8259 IRQ1IRQnINTRINTA39外設(shè)工作外設(shè)工作外設(shè)工作外設(shè)工作CPU查詢查詢CPU查詢查詢CPU工作工作CPU工作工作CPU工作工作外設(shè)工作外設(shè)工作CPU工作工作中斷請求中斷請求中斷服中斷服務(wù)務(wù)外設(shè)工作外設(shè)工作CPU工作工作中斷請求中
25、斷請求中斷服中斷服務(wù)務(wù) 與程序查詢方式比較與程序查詢方式比較40中斷服務(wù)程序的一般結(jié)構(gòu)中斷服務(wù)程序的一般結(jié)構(gòu)例如:INTHANDLE PROC FARINTHAND:PUSH AXPUSH BXPUSH CXPOP CXPOP BXPOP AXIRET保護(hù)現(xiàn)場(將需要保護(hù)的寄存器壓入堆棧)STI(可選);恢復(fù)現(xiàn)場IRET中斷處理41示例示例非屏蔽中斷源非屏蔽中斷源中斷邏輯中斷邏輯INTi指令指令單步單步中斷中斷除法除法錯誤錯誤INTn指令指令CPUINTRNMI可屏蔽中斷源可屏蔽中斷源8259A中斷中斷控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外設(shè)設(shè)中中斷斷源源 INTA4
26、28087中斷請求中斷請求RAM奇偶錯奇偶錯I/O通道檢查錯通道檢查錯 NMI屏蔽寄存器屏蔽位屏蔽寄存器屏蔽位8253定時器定時器鍵盤鍵盤未用未用異步通信卡(輔)異步通信卡(輔)異步通信卡(主)異步通信卡(主)硬盤硬盤軟盤軟盤并行打印機(jī)并行打印機(jī)NMIINTR01234567優(yōu)優(yōu)先先級級I/O通通道道43程序程序中斷中斷方式方式流程流程448.4 DMA方式方式45DMA方式方式 進(jìn)一步提高效率,避免進(jìn)一步提高效率,避免在在I/O時占用時占用CPU 需要解決訪存時總線沖需要解決訪存時總線沖突問題突問題 CPU在總線周期結(jié)束時在總線周期結(jié)束時讓出總線讓出總線 時鐘周期 總線周期 指令周期 批量數(shù)
27、據(jù)傳輸批量數(shù)據(jù)傳輸processormemoryI/O Interface(DMA Controller)I/O device總線周期指令周期時鐘周期46DMA概念概念 用途:高速外設(shè)直接與用途:高速外設(shè)直接與主存進(jìn)行數(shù)據(jù)傳輸主存進(jìn)行數(shù)據(jù)傳輸 CPU不用暫?,F(xiàn)行程序不用暫停現(xiàn)行程序而為而為I/O服務(wù)服務(wù) 關(guān)鍵問題:關(guān)鍵問題:DMA接口接口與與CPU之間共享主存,之間共享主存,存在總線爭用、訪存沖存在總線爭用、訪存沖突問題突問題 CPU暫停方式暫停方式 周期竊取方式周期竊取方式 交替訪問方式交替訪問方式processormemoryI/O Interface(DMA Controller)I/O
28、 device47CPU暫停方式暫停方式 CPU暫停方式過程暫停方式過程 DMA向向CPU申請總線申請總線 CPU暫停暫停 DMA傳輸傳輸 DMA釋放總線釋放總線 CPU繼續(xù)繼續(xù) 并未真正實現(xiàn)并發(fā)并未真正實現(xiàn)并發(fā) 回顧:回顧:總線主設(shè)備(總線主設(shè)備(Master)、從設(shè)備()、從設(shè)備(Slaver) 總線仲裁總線仲裁48周期竊取周期竊取/周期挪用(周期挪用(cycle stealing) 當(dāng)當(dāng)I/O設(shè)備發(fā)出設(shè)備發(fā)出DMA請求時,請求時,I/O設(shè)備便挪用或竊取總線占設(shè)備便挪用或竊取總線占用權(quán)一個或幾個主存周期。用權(quán)一個或幾個主存周期。 有三種情況有三種情況 CPU不訪存(復(fù)雜指令不訪存(復(fù)雜指令
29、mul):):DMA使用使用 CPU正在訪存:正在訪存:DMA等待等待CPU完成(總線周期結(jié)束)完成(總線周期結(jié)束) ,然后獲,然后獲得總線使用權(quán)得總線使用權(quán) CPU與與DMA同時發(fā)生:同時發(fā)生:DMA優(yōu)先,竊取一到二個存取周期(否優(yōu)先,竊取一到二個存取周期(否則數(shù)據(jù)丟失)則數(shù)據(jù)丟失) 應(yīng)該指出,應(yīng)該指出,I/O設(shè)備每挪用一個主存周期都要申請總線控設(shè)備每挪用一個主存周期都要申請總線控制權(quán)、建立總線控制權(quán)和歸還總線控制權(quán)。因此,盡管傳制權(quán)、建立總線控制權(quán)和歸還總線控制權(quán)。因此,盡管傳送一個字對主存而言之占用一個主存周期,但是對送一個字對主存而言之占用一個主存周期,但是對DMA接口而言,實質(zhì)上要占
30、接口而言,實質(zhì)上要占25個主存周期。個主存周期。49CPU暫停方式和周期挪用示意暫停方式和周期挪用示意50交替訪問交替訪問周期擴(kuò)展周期擴(kuò)展 將將CPU工作周期延長(或者工作周期延長(或者CPU的工作周期本身比主存的工作周期本身比主存周期長得多),分成兩段。下圖為交替訪問方式示意圖。周期長得多),分成兩段。下圖為交替訪問方式示意圖。這種方式不需要總這種方式不需要總線使用權(quán)的建立和歸線使用權(quán)的建立和歸還過程,總線使用權(quán)還過程,總線使用權(quán)是通過是通過C C1 1和和C C2 2分別控分別控制的。實際上總線便制的。實際上總線便成了成了C C1 1和和C C2 2控制下的控制下的多路轉(zhuǎn)換器。多路轉(zhuǎn)換器。
31、51DMA接口的功能接口的功能 向向CPU申請申請DMA傳送;傳送; 在在CPU允許允許DMA工作時,處理總線控制權(quán)的轉(zhuǎn)工作時,處理總線控制權(quán)的轉(zhuǎn)交,避免因進(jìn)入交,避免因進(jìn)入DMA工作而影響工作而影響CPU正?;顒诱;顒踊蛞鹂偩€競爭;或引起總線競爭; 在在DMA期間管理系統(tǒng)總線,控制數(shù)據(jù)傳送;期間管理系統(tǒng)總線,控制數(shù)據(jù)傳送; 確定數(shù)據(jù)傳送的起始地址和數(shù)據(jù)長度,修正數(shù)據(jù)確定數(shù)據(jù)傳送的起始地址和數(shù)據(jù)長度,修正數(shù)據(jù)傳送過程中的數(shù)據(jù)地址和數(shù)據(jù)長度;傳送過程中的數(shù)據(jù)地址和數(shù)據(jù)長度; 在數(shù)據(jù)塊傳送結(jié)束時,給出在數(shù)據(jù)塊傳送結(jié)束時,給出DMA操作完成的信操作完成的信號。號。52簡單的簡單的DMA接口的基本
32、組成接口的基本組成 主存地址寄存器(主存地址寄存器(Address Register) 每傳輸一個數(shù)據(jù)(字節(jié)、字),地址加每傳輸一個數(shù)據(jù)(字節(jié)、字),地址加1 字計數(shù)器(字計數(shù)器(word counter) 數(shù)據(jù)緩存寄存器(數(shù)據(jù)緩存寄存器(Buffer Reg) 完成數(shù)據(jù)格式轉(zhuǎn)換等完成數(shù)據(jù)格式轉(zhuǎn)換等 數(shù)據(jù)傳輸不一定經(jīng)過數(shù)據(jù)傳輸不一定經(jīng)過DMAC DMA控制邏輯控制邏輯 DREQ-DACK、HRQ-HLDA 優(yōu)先級控制優(yōu)先級控制 設(shè)備地址寄存器(設(shè)備地址寄存器(DAR) 外設(shè)中數(shù)據(jù)塊地址或當(dāng)前設(shè)備的設(shè)備號外設(shè)中數(shù)據(jù)塊地址或當(dāng)前設(shè)備的設(shè)備號 中斷邏輯中斷邏輯不一定在不一定在DMAC中中 請求請求C
33、PU進(jìn)行進(jìn)行DMA“后處理后處理” DMA出錯處理出錯處理DMA接口也稱作接口也稱作DMA控制器控制器(DMAC)53簡單的簡單的DMA接口的基本組成接口的基本組成54DMA工作過程工作過程 預(yù)處理預(yù)處理 初始化(數(shù)據(jù)傳輸方向、初始化(數(shù)據(jù)傳輸方向、AR、WC、DAR) 啟動設(shè)備開始傳輸啟動設(shè)備開始傳輸 數(shù)據(jù)傳輸數(shù)據(jù)傳輸 外設(shè)準(zhǔn)備好數(shù)據(jù)外設(shè)準(zhǔn)備好數(shù)據(jù) 外設(shè)通過外設(shè)通過DMAC申請總線使用權(quán)申請總線使用權(quán) DREQ HRQ HLDA DACK DMAC接管總線,控制完成數(shù)據(jù)傳輸接管總線,控制完成數(shù)據(jù)傳輸 釋放總線釋放總線 /HLDA 后處理后處理 請求中斷服務(wù),對讀入的數(shù)據(jù)進(jìn)行處理請求中斷服務(wù),
34、對讀入的數(shù)據(jù)進(jìn)行處理55DMA控制器(控制器(DMAC) 功能功能 申請總線申請總線 控制總線控制總線 控制數(shù)據(jù)傳輸過控制數(shù)據(jù)傳輸過程(地址、計數(shù)、程(地址、計數(shù)、讀寫命令)讀寫命令) 釋放總線釋放總線processormemoryI/O接口I/O deviceDMA Controller DREQDACKHRQHLDA568237A內(nèi)部邏輯框圖12345方式字中通道號57DMA系統(tǒng)連接方式系統(tǒng)連接方式 系統(tǒng)中存在多個系統(tǒng)中存在多個DMA通道和多個通道和多個I/O設(shè)備,如何連接?設(shè)備,如何連接? 優(yōu)先級問題優(yōu)先級問題 DMA CPU:多個:多個DMAC 公共請求方式:鏈?zhǔn)焦舱埱蠓绞剑烘準(zhǔn)?級
35、聯(lián)級聯(lián) 獨(dú)立請求方式:星型連接獨(dú)立請求方式:星型連接 DMA 設(shè)備:設(shè)備: 一個一個DMAC多個設(shè)備多個設(shè)備多個設(shè)備多個設(shè)備 選擇型:選擇型: DMAC“軟”選擇響應(yīng)設(shè)備 多路型:多路型:“硬硬”選擇響應(yīng)設(shè)備選擇響應(yīng)設(shè)備 鏈?zhǔn)蕉嗦沸?獨(dú)立請求多路型 主機(jī) 外設(shè) 外設(shè) 外設(shè) 主機(jī) 外設(shè) 外設(shè) 外設(shè) 58DMA CPU 公共請求方式公共請求方式59DMA CPU 獨(dú)立請求方式獨(dú)立請求方式60DMA接口的類型(與設(shè)備接口)接口的類型(與設(shè)備接口) 選擇型選擇型 多路型多路型61DMA接口的類型接口的類型 選擇型選擇型DMA接口的邏輯框圖接口的邏輯框圖62DMA接口的類型接口的類型 多路型多路型DMA
36、接口的邏輯框圖接口的邏輯框圖63DMA接口的類型接口的類型 多路型多路型DMA接口的工作原理接口的工作原理64DMA是程序中斷傳送技術(shù)的發(fā)展是程序中斷傳送技術(shù)的發(fā)展,在硬件邏輯機(jī)構(gòu)的支持下在硬件邏輯機(jī)構(gòu)的支持下,它它以更快的速度以更快的速度,更簡便的形式傳送數(shù)據(jù)更簡便的形式傳送數(shù)據(jù).二者的區(qū)別為二者的區(qū)別為: (1)中斷方式通過程序?qū)崿F(xiàn)數(shù)據(jù)傳送中斷方式通過程序?qū)崿F(xiàn)數(shù)據(jù)傳送,而而DMA方式直接靠硬件來方式直接靠硬件來實現(xiàn)實現(xiàn). (2)中斷方式具有數(shù)據(jù)傳送和處理異常事件的能力中斷方式具有數(shù)據(jù)傳送和處理異常事件的能力,而而DMA只能只能進(jìn)行數(shù)據(jù)傳送進(jìn)行數(shù)據(jù)傳送. (3)中斷方式必須切換程序中斷方式必
37、須切換程序,要進(jìn)行要進(jìn)行CPU現(xiàn)場的保護(hù)和恢復(fù)現(xiàn)場的保護(hù)和恢復(fù).DMA僅挪用了一個存儲周期僅挪用了一個存儲周期,不改變不改變CPU現(xiàn)場現(xiàn)場. (4)DMA請求的優(yōu)先權(quán)比中斷請求高請求的優(yōu)先權(quán)比中斷請求高,CPU優(yōu)先響應(yīng)優(yōu)先響應(yīng)DMA請求請求,是為了避免是為了避免DMA所連接的高速外設(shè)丟失數(shù)據(jù)所連接的高速外設(shè)丟失數(shù)據(jù). (5)CPU對中斷的響應(yīng)是在執(zhí)行完一條指令之后對中斷的響應(yīng)是在執(zhí)行完一條指令之后,而對而對DMA的響的響應(yīng)則可以在指令執(zhí)行過程中的任何兩個存儲周期之間應(yīng)則可以在指令執(zhí)行過程中的任何兩個存儲周期之間.中斷控制方式與中斷控制方式與DMA方式有何異同方式有何異同?65DMA小結(jié)小結(jié) 用途用途 數(shù)據(jù)傳輸,數(shù)據(jù)傳輸,DRAM刷新控制刷新控制 關(guān)鍵問題:總線爭用、訪存沖突關(guān)鍵問題:總線爭用、訪存沖突 CPU暫停方式:暫停方式:x86系統(tǒng)采用系統(tǒng)采用 周期竊取方式:本書稱周期竊取方式:本書稱“廣泛采用廣泛采用”? 交替訪問方式交替訪問方式 工作過程:預(yù)處理、數(shù)據(jù)傳輸、后處理工作過程:預(yù)處理、數(shù)據(jù)傳輸、后處理 DMAC的功能的功能 數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸?shù)腄MA方式與方式與INT方式的比較方式的比較66應(yīng)用:應(yīng)用:IDE接口與接口與DMA模式模式 IDE的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校防疫工作的智能化解決方案
- 2025年度食堂承包經(jīng)營與節(jié)能降耗管理合同3篇
- 全國上海科教版初中信息技術(shù)七年級第二學(xué)期第二單元活動一《構(gòu)思作品并準(zhǔn)備視頻素材》說課稿
- 2025年度鮮蛋電商平臺與消費(fèi)者權(quán)益保護(hù)法合作合同3篇
- 2025年房產(chǎn)營銷戰(zhàn)略合作伙伴協(xié)議3篇
- 《計算機(jī)應(yīng)用基礎(chǔ)》課程思政說課稿二
- 第三單元第12課《信息化學(xué)習(xí)》說課稿 2023-2024學(xué)年青島版(2019)初中信息技術(shù)第一冊
- 2025年度貨物買賣合同標(biāo)的物描述及交付細(xì)節(jié)3篇
- Unit 1 Animal Friends Section A 2a - 2f 說課稿 2024-2025學(xué)年人教版(2024)七年級英語下冊
- 兩位數(shù)除以一位數(shù)(商是兩位數(shù))(說課稿)-2023-2024學(xué)年三年級下冊數(shù)學(xué)人教版
- 玻璃體腔注藥術(shù)
- 中國超大直徑鉆埋鋼管空心樁講義
- 藝術(shù)課程標(biāo)準(zhǔn)(2022年版)
- 一年級語文雨點(diǎn)兒-教學(xué)課件【希沃白板初階培訓(xùn)結(jié)營大作業(yè)】
- 替格瑞洛藥物作用機(jī)制、不良反應(yīng)機(jī)制、與氯吡格雷區(qū)別和合理使用
- GB/T 20920-2007電子水平儀
- 如何提高教師的課程領(lǐng)導(dǎo)力
- 企業(yè)人員組織結(jié)構(gòu)圖
- 日本疾病診斷分組(DPC)定額支付方式課件
- 實習(xí)證明模板免費(fèi)下載【8篇】
- 復(fù)旦大學(xué)用經(jīng)濟(jì)學(xué)智慧解讀中國課件03用大歷史觀看中國社會轉(zhuǎn)型
評論
0/150
提交評論