版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第十章 輸入輸出(IO)系統(tǒng) 第二講10.2.3 程序中斷設備接口的組成和工作原理(程序中斷設備接口的組成和工作原理(1) 程序中斷設備接口程序中斷設備接口: : 設備選擇器、 中斷控制和工作狀態(tài)邏輯、 中斷排隊控制邏輯、 設備碼回送邏輯、 數(shù)據(jù)緩沖寄存器等組成。接口標準化,通過總線與主機相連。 看書上的圖10.6。 10.2.3 程序中斷設備接口的組成和工作原理(程序中斷設備接口的組成和工作原理(2) (1 1)設備選擇器)設備選擇器 每一臺外圍設備接口都設置一個設備選擇器,連接在系統(tǒng)上的每一臺設備都有一個設備號。當CPU需使用某外設時,通過IO指令或其他訪問IO設備地址的指令,將設備碼通過
2、地址線送往所有外圍設備接口,但僅僅具有該設備號的設備選擇器才產生選中信號(SEL)。于是,該外圍設備及其接口才能響應主機的控制并進行數(shù)據(jù)傳送。10.2.3 程序中斷設備接口的組成和工作原理(程序中斷設備接口的組成和工作原理(3) (2 2)中斷控制和工作狀態(tài)邏輯)中斷控制和工作狀態(tài)邏輯中斷控制邏輯:中斷控制邏輯: 中斷請求控制:中斷請求觸發(fā)器(INTR),1表示有中斷請求,0表示沒有中斷請求。 中斷屏蔽控制:中斷屏蔽觸發(fā)器(MASK),1表示允許中斷,0表示不允許中斷。工作狀態(tài)邏輯:工作狀態(tài)邏輯:設備忙狀態(tài),設備忙觸發(fā)器(BUSY),1表示設備正在操作,0表示設備空閑。設備完成狀態(tài),設備完成觸
3、發(fā)器(DONE),1表示設備完成操作,0表示設備沒有完成操作。10.2.3 程序中斷設備接口的組成和工作原理(程序中斷設備接口的組成和工作原理(4) 只有當該設備被選中,選中信號(SEL)為高電平時才能訪問這4個觸發(fā)器。當CPU置“1”忙觸發(fā)器(BUSY),啟動設備,同時使完成觸發(fā)器(DONE)置“0”。當設備完成輸入輸出動作,需請求中斷時,由完成信號置“1”DONE觸發(fā)器。在CPU送來的指令結束信號RQENB的作用下,使中斷請求觸發(fā)器置位(由完成觸發(fā)器(DONE)決定置0或置1)。 中斷屏蔽觸發(fā)器是由IO指令利用MSKO的上升邊來置位或復位的。圖中的IORST是CPU送來的復位(IO總清)信
4、號,使各寄存器設置為初始狀態(tài)。 10.2.3 程序中斷設備接口的組成和工作原理(程序中斷設備接口的組成和工作原理(5) (3 3)中斷排隊和設備碼回送邏輯)中斷排隊和設備碼回送邏輯CPU接到外圍設備的中斷請求后,如可以響應中斷,則需了解是哪臺設備要求服務。因此,需要將請求中斷的設備碼送給CPU。當多個外設有中斷請求時,必須先為優(yōu)先級高的外設服務。這個任務是通過排隊線路和設備碼回送邏輯來完成的,其邏輯線路如圖104所示。(4 4)數(shù)據(jù)緩沖寄存器)數(shù)據(jù)緩沖寄存器每個外設的接口都設有數(shù)據(jù)緩沖寄存器,其長度為一個字節(jié)或一個字長。在CPU送來的信號控制下分別完成相應緩沖寄存器的接收或發(fā)送工作。 (1)
5、可編程中斷控制器,介紹工作原理、工作方式、編程原理。 1片8259A可以管理8級中斷,不增加電路,9片8259A可以構成64級中斷。 8259A是可編程的,可以通過編程改變8259A的工作方式。 (2) 123456789101112131428 27 26 25 24 23 22 21 20 19 18 17 16 15CS#WR#RD#D7D6D5D4D3D2D1D0CAS0CAS1GNDVccA0INTA#IR7IR6IR5IR4IR3IR2IR1IR0INTSP#/EN#CAS2 (3) D7-D0:8根數(shù)據(jù)線。INT:連接CPU,向CPU發(fā)中斷請求。INTA#:來自CPU的中斷響應信
6、號,用于CPU從8259A上讀取中斷類型碼。RD#:讀出信號,讀取8259A的內部寄存器。WR#:寫入信號,將數(shù)據(jù)寫入 8259A的內部寄存器。CS#:芯片選擇信號。A0:用來指出8259A的哪個寄存器被訪問。 (4) IR7-IR0:8根中斷線請求線,來自外部設備。級聯(lián)條件下主8259A的INT連接從8259A的IRi端。CAS2-CAS0:用于指出級聯(lián)條件下從片。SP#/EN#:雙向,有2個用處。 作為輸入,來確定是主片或從片; 作為輸出,在數(shù)據(jù)向8259A傳送時,啟動數(shù)據(jù)總線驅動。緩沖工作方式,作輸入使用;非緩沖工作方式,作輸出使用。 (5) 8086系統(tǒng)中,數(shù)據(jù)線是16位,8259A數(shù)
7、據(jù)線是8位。為了使所有的數(shù)據(jù)傳輸都利用總線的低8位,必須把地址總線的A1和8259A的A0連接。 CPU作16位數(shù)據(jù)傳送,總是送到以偶地址開頭的2個相鄰的單元或者相鄰的端口。低字節(jié)放在地址較低的單元,高字節(jié)放在地址較高的單元。 低8位傳送到偶數(shù)地址,而高8位傳送到奇數(shù)地址。 (6) 由八個部分組成:中斷請求寄存器、中斷狀態(tài)寄存器、優(yōu)先級判斷器、中斷屏蔽寄存器、中斷控制邏輯、數(shù)據(jù)緩沖器、級聯(lián)緩沖器比較器和讀寫邏輯。 見書圖10.7。 (7) 中斷請求寄存器IRR接受外設來的中斷請求(IR0IR7),每一位表示一個外部設備的中斷請求,當有請求,就鎖存該中斷請求信號。 邏輯電路根據(jù)中斷屏蔽寄存器IM
8、R的中對應的位決定是否允許該中斷通過。 (8) 中斷優(yōu)先級判別電路把新進入的中斷請求和當前正在處理的中斷比較,從而決定哪一個中斷優(yōu)先級別更高。 中斷請求寄存器的各位送入優(yōu)先級判斷器,根據(jù)中斷屏蔽寄存器和中斷狀態(tài)寄存器ISR的狀態(tài)決定最高優(yōu)先級的中斷請求,并將判優(yōu)結果送入中斷狀態(tài)寄存器,如果中斷請求被接受,則由控制邏輯向CPU發(fā)中斷請求INT。 (9) 在8259A中,為每一個外設的中斷請求(IR0IR7)設置一個中斷類型碼(8位),當其中一個外設的中斷請求被CPU響應后,8259A送出與該中斷所對應的中斷類型碼,作為尋找中斷服務程序入口的依據(jù)。 中斷類型碼(8位)由兩部分組成,其高5位是由計算
9、機初始化程序設置的,保存在8259A中以后不再改變;低3位由被響應的中斷請求序號提供。 例如,IR0的中斷請求被響應,中斷類型碼的低3位即為011。在同一個8259A中,高5位為8個中斷請求共用。假設與IR0對應的中斷類型碼為40H,那么與IR1IR7對應的中斷類型碼為41H47H。 (10) 每個8259A最多能控制8個外部中斷信號,但可將多個8259A級聯(lián)以處理多達64個中斷請求。它允許有一個主單元和多個(不超過8個)從單元,稱為主從系統(tǒng)。主從單元的級聯(lián)是通過以下方式實現(xiàn)的: 聯(lián)接主從單元的級聯(lián)總線CAS0,CAS1和CAS2:將所有單元的CAS0、CAS1和CAS2各自聯(lián)接在一起。主單元
10、的CAS為輸出,從單元的CAS為輸入。 將從單元的中斷請求INT連到主單元的一個IR端,并在從單元中記錄下這個IR端的序號。 (11) 這樣,當有從單元的中斷請求得到響應時,主單元將被選中的IR序號通過CAS0CAS2送到從單元的CAS0CAS2,在從單元中進行比較,只有一個從單元保存有相同的序號,說明該從單元的中斷請求被CPU響應,以后由其將中斷類型碼送到數(shù)據(jù)總線,從而可確定請求中斷的外設及其中斷服務程序的入口。同時也說明了當對主從系統(tǒng)中的多個8259A進行初始化時,要為每臺外設分配不同的中斷類型碼,使其保持惟一性,以免引起混亂。 SP#為輸入輸出雙向線。當作為輸入線時,主單元的SP#接“1
11、”,從單元的SP#接地(0)。但是如果系統(tǒng)中從單元較多,而需要接數(shù)據(jù)總線驅動器時,則主單元的SP#用作輸出線,其輸出信號用來啟動數(shù)據(jù)總線驅動器,從單元的SP#仍接地。SP#/EN# CAS0 CAS1 CAS2主片8259A IR0 IR1 :INT IR7 SP#/EN# CAS0 CAS1 CAS2主片8259A IR0 IR1 :INT IR7 SP#/EN# CAS0 CAS1 CAS2主片8259A IR0 IR1 :INT IR7 64個中斷源D7-D0總線驅動到CPU (12)完全嵌套方式: IR0的外圍設備優(yōu)先權最高,而連至IR7的優(yōu)先權最低。 輪換優(yōu)先級A: 每個級別的中斷保
12、證有機會被處理。它把給定的中斷級別處理完后,立即把它放到最低級別的位置上去。 輪換優(yōu)先級B: CPU可在任何時間規(guī)定最低優(yōu)先級,然后順序地規(guī)定其他IR線上的優(yōu)先級。 (13) 8259A單元提供了兩種屏蔽方式,簡單屏蔽方式和特殊屏蔽方式。 簡單屏蔽方式: 提供了8位的屏蔽字,每位對應著各自的IR線,被置位的任何一位禁止了相應IR線上的中斷。 特殊屏蔽方式:允許CPU讓來自低優(yōu)先級外設的中斷去中斷高優(yōu)先級的服務程序。當8位屏蔽位的某一位被置“0”時,則對應此位的IR線上的外設中斷可中斷比它高優(yōu)先級別的服務程序。例如,若屏蔽字為11101111,說明IR4線上的中斷可中斷任何高級別的中斷服 務程序
13、。 (14) D0D7: 為雙向數(shù)據(jù)線,數(shù)據(jù)緩沖器暫時保存在內部總線和系 統(tǒng)數(shù)據(jù)總線間進行傳送的數(shù)據(jù)。 讀寫邏輯:將決定數(shù)據(jù)的傳送方向。RD為讀命令,而WR為寫命 令。CS為8259A芯片的選擇信號,A0與8259A中被選 的寄存器地址有關。 8259A單元的不同工作方式是通過編程來進行選擇的。CPU送出一系列的始化控制字和操作控制字來執(zhí)行選定的操作。CPU將8259A當作兩個IO端口或兩個存儲單元來尋址,由A0端確定這些控制字存入讀寫邏輯中哪個控制字寄存器。 10.3 DMA輸入輸出方式輸入輸出方式 DMA是IO設備與主存儲器之間由硬件組成的直接數(shù)據(jù)通路,用于高速IO設備與主存之間的成組數(shù)據(jù)
14、傳送。 數(shù)據(jù)傳送是在DMA控制器控制下進行的,由DMA控制器給出當前正在傳送的數(shù)據(jù)字的主存地址,并統(tǒng)計傳送數(shù)據(jù)的個數(shù)以確定一組數(shù)據(jù)的傳送是否已結束。在主存中要開辟連續(xù)地址的專用緩沖器,用來提供或接收傳送的數(shù)據(jù)。在數(shù)據(jù)傳送前和結束后要通過程序或中斷方式對緩沖器和DMA控制器進行預處理和后處理。 10.3 DMA輸入輸出方式輸入輸出方式 nDMA優(yōu)點:n數(shù)據(jù)一次性讀寫,不需要IO-Reg, Reg-RAM這樣兩次操作;nDMA控制器連續(xù)控制讀寫,不需要CPU取值、譯碼、執(zhí)行等這樣執(zhí)行,在數(shù)據(jù)傳送過程中,沒有保存現(xiàn)場、恢復現(xiàn)場之類的工作。內存地址修改、傳送字 個數(shù)的計數(shù)等等,也不是由軟件實現(xiàn),而是用
15、硬件線路直接實現(xiàn)的;n數(shù)據(jù)傳送和CPU計算可能可能同時進行。 10.3.1 DMA三種工作方式三種工作方式 主機響應DMA請求后,讓出存儲總線,直到一組數(shù)據(jù)傳送完畢后,DMA控制器才把總線控制權交還給CPU。DMA控制、訪問主存CPU控制、訪問主存主存工作時間DMA不工作DMA工作DMA不工作CPU停止訪問主存 10.3.1 DMA三種工作方式三種工作方式 DMA控制器與主存儲器之間傳送一個數(shù)據(jù),占用(竊?。┮粋€或幾個CPU周期,即CPU暫停工作一個或幾個周期,然后繼續(xù)執(zhí)行程序。DMA控制、訪問主存CPU控制、訪問主存主存工作時間 10.3.1 DMA三種工作方式三種工作方式 n與停止CPU訪
16、內的DMA方法比較,周期挪用的方法既實現(xiàn)了I/O傳送,又較好地發(fā)揮了內存和CPU的效率,是一種廣泛采用的方法。n但是I/O設備每一次周期挪用都有申請總線控制權、建立總線控制權和歸還總線控制權的過程,所以傳送一個字對內存來說要占用一個周期,但對DMA控制器來說一般要25個 內存周期(視邏輯線路的延遲而定)。n因此,周期挪用的方法適用于周期挪用的方法適用于I/O設備讀寫周期大于設備讀寫周期大于內存存儲周期的情況。內存存儲周期的情況。 10.3.1 DMA三種工作方式三種工作方式 當CPU的工作周期比主存訪問時間長時,使用這種方式。這種方式不需要總線使用權的申請、建立和歸還過程。將CPU周期分成C1
17、和C2兩個周期,其中C1專門用于給DMA訪問主存,C2提供給CPU訪問主存。總線使用權通過C1和C2分別控制。CPU和DMA各自有自己的訪問地址寄存器、數(shù)據(jù)寄存器和讀寫信號。DMA控制、訪問主存CPU控制、訪問主存主存工作時間 10.3.1 DMA三種工作方式三種工作方式 nDMA與CPU交替訪問內存n這種方式效率高,又稱為“透明的透明的DMA”方式,其來由是這種DMA傳送對CPU來說,如同透明的玻璃一般。n但相應的硬件邏輯也就更加復雜。10.3.2 DMA控制器組成控制器組成 寄存器初始值為主存緩沖區(qū)的首地址。 該寄存器存放IO設備的設備碼,具體內容取決于IO設備的數(shù)據(jù)格式和地址字編址方式。
18、 該計數(shù)器對傳送數(shù)據(jù)的總字數(shù)進行統(tǒng)計 。 該寄存器用來存放控制字和狀態(tài)字。 該寄存器用來暫存IO設備與主存?zhèn)魉偷臄?shù)據(jù)。 10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(1) DMA的數(shù)據(jù)傳送過程可分為三個階段: 1)DMA傳送前預處理; 2)數(shù)據(jù)傳送; 3)傳送后處理。內存起始地址DMA主存地址寄存器(MAR)設備地址外圍設備地址寄存器(ADR )傳送數(shù)據(jù)個數(shù)字數(shù)計數(shù)器(WC) 啟動設備繼續(xù)執(zhí)行主程序DMA控制器控制數(shù)據(jù)傳送直到WC為零執(zhí)行中斷服務程序處理DMA結束操作如需要,停止外設,否則進行下一次DMA預處理數(shù)據(jù)傳送后處理10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(2) 1 D
19、MA預處理 在進行DMA數(shù)據(jù)傳送之前要用程序做一些必要的準備工作。先由CPU執(zhí)行幾條輸入輸出指令,測試設備狀態(tài),向DMA控制器的設備地址寄存器中送入設備地址并啟動設備,在主存地址寄存器中送入交換數(shù)據(jù)的主存起始地址,在數(shù)據(jù)字數(shù)寄存器中送入交換的數(shù)據(jù)個數(shù)。 在這些工作完成之后,CPU繼續(xù)執(zhí)行原來的程序。10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(3) 第二個階段數(shù)據(jù)傳送過程:允許傳送?主存地址送總線數(shù)據(jù)送I/O設備(或主存)主存地址加1WC內容(傳送個數(shù))減1數(shù)據(jù)塊傳送結束?向CPU申請中斷DMA請求NYYN10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(4) 2 DMA控制I/O設備
20、與主存之間的數(shù)據(jù)交換 I/O設備啟動后,若為輸入數(shù)據(jù),則要進行以下操作:(1)從輸入介質讀入一個字到數(shù)據(jù)緩沖寄存器DBR中。(2)向CPU發(fā)DMA請求,在取得總線控制權后,將DBR中的數(shù)據(jù)送人主存的數(shù)據(jù)寄存器。(3)將DMA中的MAR內容送主存的地址寄存器,啟動寫操作,將數(shù)據(jù)寫入主存。(4)將WC內容減1,將MAR的內容加1,給出下一個字的地址。(5)判斷WC是否為“0”,若不是,說明還有數(shù)據(jù)需要傳送,檢查無錯后準備下一字的輸入。若WC為0,表明一組數(shù)據(jù)已傳送完畢,此時應置結束標志,向CPU發(fā)中斷請求。 10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(5) I/O設備啟動后,若為輸出數(shù)據(jù),
21、應進行以下操作:(1)將MAR的內容送主存的地址寄存器。(2)啟動主存讀操作,將對應單元的內容讀入主存的數(shù)據(jù)寄存器。(3)將主存數(shù)據(jù)寄存器的內容送到DMA的DBR中。(4)將DBR的內容送到輸出設備,若為字符設備,則需將DBR內容拆成字符輸出。(5)將WC內容減1,MAR內容加1,為下一個字的輸出做好準備。(6)判斷WC的內容是否為0。如不為0,說明還需繼續(xù)傳送,輸出設備處理完數(shù)據(jù)后,發(fā)DMA請求。如WC為0或檢驗有錯,則停止傳送,向CPU發(fā)結束中斷請求或出錯中斷請求。 10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(6) 3 CPU中斷原程序進行后處理 若需繼續(xù)交換數(shù)據(jù),則又要對DMA控
22、制器進行初始化;若不需交換數(shù)據(jù),則停止外設;若為出錯,則轉錯誤診斷及處理程序。10.3.4 軟盤接口邏輯電路舉例(軟盤接口邏輯電路舉例(1) 為了實現(xiàn)CPU和軟盤驅動器之間的快速數(shù)據(jù)傳送,在CPU和軟盤驅動器之間需設置軟盤控制器。 DMA控制器電路Intel 8257就是DMA控制器電路。 軟盤控制器接口邏輯電路中采用了8257 DMA控制器。在CPU和軟盤控制器之間的接口電路中包括總線控制線路和DMA控制線路。 8257 DMA控制器提供四個獨立的DMA通道(CH0,CH1,CH2,CH3)。軟盤接口使用了其中一個通道。每個通道包含兩個十六位的寄存器:一個DMA地址寄存器和一個字節(jié)計數(shù)寄存器。DMA地址寄存器存放被尋址的第一個主存單元的地址。字節(jié)計數(shù)寄存器存放本次DMA傳送的字節(jié)數(shù)。此外,還包含工作方式(讀、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年汽車修理廠綜合維修工職業(yè)協(xié)議樣本版B版
- 2024年黃金產品銷售代表合同版B版
- 2025年度智能工廠產權轉讓及定金支付協(xié)議范本3篇
- 2024年度大蒜種植補貼項目采購合同2篇
- 2024年環(huán)保設施運營管理服務合同
- 危重心律失常的急診處理
- 2025年度科幻小說改編劇本創(chuàng)作合同3篇
- 2024版自建房房屋買賣合同
- 2024年規(guī)范保健品購銷合同模板版B版
- 2024年物業(yè)管理分包協(xié)議6篇
- 幕墻工程售后服務流程及保修維修措施方案
- 夫妻間經濟合同模板
- 2023-2024學年上海市靜安區(qū)繼續(xù)教育學校附屬學校八年級(上)期末物理試卷
- 人教版五年級上冊四則混合運算300道及答案
- 服裝企業(yè)員工手冊模板范文
- 《低空航空器起降點基礎設施配置技術要求》(征求意見稿)
- 2024中輕度游戲全球市場趨勢洞察
- 中國兒童注意缺陷多動障礙ADHD防治指南專家講座
- 部編人教版數(shù)學二年級下冊課前預習單
- 解除勞動合同經濟補償協(xié)議書
- 2024年4月自考02799獸醫(yī)臨床醫(yī)學試題
評論
0/150
提交評論