第十章 輸入輸出(I/O)系統(tǒng)(第二講)_第1頁(yè)
第十章 輸入輸出(I/O)系統(tǒng)(第二講)_第2頁(yè)
第十章 輸入輸出(I/O)系統(tǒng)(第二講)_第3頁(yè)
第十章 輸入輸出(I/O)系統(tǒng)(第二講)_第4頁(yè)
第十章 輸入輸出(I/O)系統(tǒng)(第二講)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第十章 輸入輸出(IO)系統(tǒng) 第二講10.2.3 程序中斷設(shè)備接口的組成和工作原理(程序中斷設(shè)備接口的組成和工作原理(1) 程序中斷設(shè)備接口程序中斷設(shè)備接口: : 設(shè)備選擇器、 中斷控制和工作狀態(tài)邏輯、 中斷排隊(duì)控制邏輯、 設(shè)備碼回送邏輯、 數(shù)據(jù)緩沖寄存器等組成。接口標(biāo)準(zhǔn)化,通過總線與主機(jī)相連。 看書上的圖10.6。 10.2.3 程序中斷設(shè)備接口的組成和工作原理(程序中斷設(shè)備接口的組成和工作原理(2) (1 1)設(shè)備選擇器)設(shè)備選擇器 每一臺(tái)外圍設(shè)備接口都設(shè)置一個(gè)設(shè)備選擇器,連接在系統(tǒng)上的每一臺(tái)設(shè)備都有一個(gè)設(shè)備號(hào)。當(dāng)CPU需使用某外設(shè)時(shí),通過IO指令或其他訪問IO設(shè)備地址的指令,將設(shè)備碼通過

2、地址線送往所有外圍設(shè)備接口,但僅僅具有該設(shè)備號(hào)的設(shè)備選擇器才產(chǎn)生選中信號(hào)(SEL)。于是,該外圍設(shè)備及其接口才能響應(yīng)主機(jī)的控制并進(jìn)行數(shù)據(jù)傳送。10.2.3 程序中斷設(shè)備接口的組成和工作原理(程序中斷設(shè)備接口的組成和工作原理(3) (2 2)中斷控制和工作狀態(tài)邏輯)中斷控制和工作狀態(tài)邏輯中斷控制邏輯:中斷控制邏輯: 中斷請(qǐng)求控制:中斷請(qǐng)求觸發(fā)器(INTR),1表示有中斷請(qǐng)求,0表示沒有中斷請(qǐng)求。 中斷屏蔽控制:中斷屏蔽觸發(fā)器(MASK),1表示允許中斷,0表示不允許中斷。工作狀態(tài)邏輯:工作狀態(tài)邏輯:設(shè)備忙狀態(tài),設(shè)備忙觸發(fā)器(BUSY),1表示設(shè)備正在操作,0表示設(shè)備空閑。設(shè)備完成狀態(tài),設(shè)備完成觸

3、發(fā)器(DONE),1表示設(shè)備完成操作,0表示設(shè)備沒有完成操作。10.2.3 程序中斷設(shè)備接口的組成和工作原理(程序中斷設(shè)備接口的組成和工作原理(4) 只有當(dāng)該設(shè)備被選中,選中信號(hào)(SEL)為高電平時(shí)才能訪問這4個(gè)觸發(fā)器。當(dāng)CPU置“1”忙觸發(fā)器(BUSY),啟動(dòng)設(shè)備,同時(shí)使完成觸發(fā)器(DONE)置“0”。當(dāng)設(shè)備完成輸入輸出動(dòng)作,需請(qǐng)求中斷時(shí),由完成信號(hào)置“1”DONE觸發(fā)器。在CPU送來(lái)的指令結(jié)束信號(hào)RQENB的作用下,使中斷請(qǐng)求觸發(fā)器置位(由完成觸發(fā)器(DONE)決定置0或置1)。 中斷屏蔽觸發(fā)器是由IO指令利用MSKO的上升邊來(lái)置位或復(fù)位的。圖中的IORST是CPU送來(lái)的復(fù)位(IO總清)信

4、號(hào),使各寄存器設(shè)置為初始狀態(tài)。 10.2.3 程序中斷設(shè)備接口的組成和工作原理(程序中斷設(shè)備接口的組成和工作原理(5) (3 3)中斷排隊(duì)和設(shè)備碼回送邏輯)中斷排隊(duì)和設(shè)備碼回送邏輯CPU接到外圍設(shè)備的中斷請(qǐng)求后,如可以響應(yīng)中斷,則需了解是哪臺(tái)設(shè)備要求服務(wù)。因此,需要將請(qǐng)求中斷的設(shè)備碼送給CPU。當(dāng)多個(gè)外設(shè)有中斷請(qǐng)求時(shí),必須先為優(yōu)先級(jí)高的外設(shè)服務(wù)。這個(gè)任務(wù)是通過排隊(duì)線路和設(shè)備碼回送邏輯來(lái)完成的,其邏輯線路如圖104所示。(4 4)數(shù)據(jù)緩沖寄存器)數(shù)據(jù)緩沖寄存器每個(gè)外設(shè)的接口都設(shè)有數(shù)據(jù)緩沖寄存器,其長(zhǎng)度為一個(gè)字節(jié)或一個(gè)字長(zhǎng)。在CPU送來(lái)的信號(hào)控制下分別完成相應(yīng)緩沖寄存器的接收或發(fā)送工作。 (1)

5、可編程中斷控制器,介紹工作原理、工作方式、編程原理。 1片8259A可以管理8級(jí)中斷,不增加電路,9片8259A可以構(gòu)成64級(jí)中斷。 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ā)中斷請(qǐng)求。INTA#:來(lái)自CPU的中斷響應(yīng)信

6、號(hào),用于CPU從8259A上讀取中斷類型碼。RD#:讀出信號(hào),讀取8259A的內(nèi)部寄存器。WR#:寫入信號(hào),將數(shù)據(jù)寫入 8259A的內(nèi)部寄存器。CS#:芯片選擇信號(hào)。A0:用來(lái)指出8259A的哪個(gè)寄存器被訪問。 (4) IR7-IR0:8根中斷線請(qǐng)求線,來(lái)自外部設(shè)備。級(jí)聯(lián)條件下主8259A的INT連接從8259A的IRi端。CAS2-CAS0:用于指出級(jí)聯(lián)條件下從片。SP#/EN#:雙向,有2個(gè)用處。 作為輸入,來(lái)確定是主片或從片; 作為輸出,在數(shù)據(jù)向8259A傳送時(shí),啟動(dòng)數(shù)據(jù)總線驅(qū)動(dòng)。緩沖工作方式,作輸入使用;非緩沖工作方式,作輸出使用。 (5) 8086系統(tǒng)中,數(shù)據(jù)線是16位,8259A數(shù)

7、據(jù)線是8位。為了使所有的數(shù)據(jù)傳輸都利用總線的低8位,必須把地址總線的A1和8259A的A0連接。 CPU作16位數(shù)據(jù)傳送,總是送到以偶地址開頭的2個(gè)相鄰的單元或者相鄰的端口。低字節(jié)放在地址較低的單元,高字節(jié)放在地址較高的單元。 低8位傳送到偶數(shù)地址,而高8位傳送到奇數(shù)地址。 (6) 由八個(gè)部分組成:中斷請(qǐng)求寄存器、中斷狀態(tài)寄存器、優(yōu)先級(jí)判斷器、中斷屏蔽寄存器、中斷控制邏輯、數(shù)據(jù)緩沖器、級(jí)聯(lián)緩沖器比較器和讀寫邏輯。 見書圖10.7。 (7) 中斷請(qǐng)求寄存器IRR接受外設(shè)來(lái)的中斷請(qǐng)求(IR0IR7),每一位表示一個(gè)外部設(shè)備的中斷請(qǐng)求,當(dāng)有請(qǐng)求,就鎖存該中斷請(qǐng)求信號(hào)。 邏輯電路根據(jù)中斷屏蔽寄存器IM

8、R的中對(duì)應(yīng)的位決定是否允許該中斷通過。 (8) 中斷優(yōu)先級(jí)判別電路把新進(jìn)入的中斷請(qǐng)求和當(dāng)前正在處理的中斷比較,從而決定哪一個(gè)中斷優(yōu)先級(jí)別更高。 中斷請(qǐng)求寄存器的各位送入優(yōu)先級(jí)判斷器,根據(jù)中斷屏蔽寄存器和中斷狀態(tài)寄存器ISR的狀態(tài)決定最高優(yōu)先級(jí)的中斷請(qǐng)求,并將判優(yōu)結(jié)果送入中斷狀態(tài)寄存器,如果中斷請(qǐng)求被接受,則由控制邏輯向CPU發(fā)中斷請(qǐng)求INT。 (9) 在8259A中,為每一個(gè)外設(shè)的中斷請(qǐng)求(IR0IR7)設(shè)置一個(gè)中斷類型碼(8位),當(dāng)其中一個(gè)外設(shè)的中斷請(qǐng)求被CPU響應(yīng)后,8259A送出與該中斷所對(duì)應(yīng)的中斷類型碼,作為尋找中斷服務(wù)程序入口的依據(jù)。 中斷類型碼(8位)由兩部分組成,其高5位是由計(jì)算

9、機(jī)初始化程序設(shè)置的,保存在8259A中以后不再改變;低3位由被響應(yīng)的中斷請(qǐng)求序號(hào)提供。 例如,IR0的中斷請(qǐng)求被響應(yīng),中斷類型碼的低3位即為011。在同一個(gè)8259A中,高5位為8個(gè)中斷請(qǐng)求共用。假設(shè)與IR0對(duì)應(yīng)的中斷類型碼為40H,那么與IR1IR7對(duì)應(yīng)的中斷類型碼為41H47H。 (10) 每個(gè)8259A最多能控制8個(gè)外部中斷信號(hào),但可將多個(gè)8259A級(jí)聯(lián)以處理多達(dá)64個(gè)中斷請(qǐng)求。它允許有一個(gè)主單元和多個(gè)(不超過8個(gè))從單元,稱為主從系統(tǒng)。主從單元的級(jí)聯(lián)是通過以下方式實(shí)現(xiàn)的: 聯(lián)接主從單元的級(jí)聯(lián)總線CAS0,CAS1和CAS2:將所有單元的CAS0、CAS1和CAS2各自聯(lián)接在一起。主單元

10、的CAS為輸出,從單元的CAS為輸入。 將從單元的中斷請(qǐng)求INT連到主單元的一個(gè)IR端,并在從單元中記錄下這個(gè)IR端的序號(hào)。 (11) 這樣,當(dāng)有從單元的中斷請(qǐng)求得到響應(yīng)時(shí),主單元將被選中的IR序號(hào)通過CAS0CAS2送到從單元的CAS0CAS2,在從單元中進(jìn)行比較,只有一個(gè)從單元保存有相同的序號(hào),說(shuō)明該從單元的中斷請(qǐng)求被CPU響應(yīng),以后由其將中斷類型碼送到數(shù)據(jù)總線,從而可確定請(qǐng)求中斷的外設(shè)及其中斷服務(wù)程序的入口。同時(shí)也說(shuō)明了當(dāng)對(duì)主從系統(tǒng)中的多個(gè)8259A進(jìn)行初始化時(shí),要為每臺(tái)外設(shè)分配不同的中斷類型碼,使其保持惟一性,以免引起混亂。 SP#為輸入輸出雙向線。當(dāng)作為輸入線時(shí),主單元的SP#接“1

11、”,從單元的SP#接地(0)。但是如果系統(tǒng)中從單元較多,而需要接數(shù)據(jù)總線驅(qū)動(dòng)器時(shí),則主單元的SP#用作輸出線,其輸出信號(hào)用來(lái)啟動(dòng)數(shù)據(jù)總線驅(qū)動(dòng)器,從單元的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個(gè)中斷源D7-D0總線驅(qū)動(dòng)到CPU (12)完全嵌套方式: IR0的外圍設(shè)備優(yōu)先權(quán)最高,而連至IR7的優(yōu)先權(quán)最低。 輪換優(yōu)先級(jí)A: 每個(gè)級(jí)別的中斷保

12、證有機(jī)會(huì)被處理。它把給定的中斷級(jí)別處理完后,立即把它放到最低級(jí)別的位置上去。 輪換優(yōu)先級(jí)B: CPU可在任何時(shí)間規(guī)定最低優(yōu)先級(jí),然后順序地規(guī)定其他IR線上的優(yōu)先級(jí)。 (13) 8259A單元提供了兩種屏蔽方式,簡(jiǎn)單屏蔽方式和特殊屏蔽方式。 簡(jiǎn)單屏蔽方式: 提供了8位的屏蔽字,每位對(duì)應(yīng)著各自的IR線,被置位的任何一位禁止了相應(yīng)IR線上的中斷。 特殊屏蔽方式:允許CPU讓來(lái)自低優(yōu)先級(jí)外設(shè)的中斷去中斷高優(yōu)先級(jí)的服務(wù)程序。當(dāng)8位屏蔽位的某一位被置“0”時(shí),則對(duì)應(yīng)此位的IR線上的外設(shè)中斷可中斷比它高優(yōu)先級(jí)別的服務(wù)程序。例如,若屏蔽字為11101111,說(shuō)明IR4線上的中斷可中斷任何高級(jí)別的中斷服 務(wù)程序

13、。 (14) D0D7: 為雙向數(shù)據(jù)線,數(shù)據(jù)緩沖器暫時(shí)保存在內(nèi)部總線和系 統(tǒng)數(shù)據(jù)總線間進(jìn)行傳送的數(shù)據(jù)。 讀寫邏輯:將決定數(shù)據(jù)的傳送方向。RD為讀命令,而WR為寫命 令。CS為8259A芯片的選擇信號(hào),A0與8259A中被選 的寄存器地址有關(guān)。 8259A單元的不同工作方式是通過編程來(lái)進(jìn)行選擇的。CPU送出一系列的始化控制字和操作控制字來(lái)執(zhí)行選定的操作。CPU將8259A當(dāng)作兩個(gè)IO端口或兩個(gè)存儲(chǔ)單元來(lái)尋址,由A0端確定這些控制字存入讀寫邏輯中哪個(gè)控制字寄存器。 10.3 DMA輸入輸出方式輸入輸出方式 DMA是IO設(shè)備與主存儲(chǔ)器之間由硬件組成的直接數(shù)據(jù)通路,用于高速IO設(shè)備與主存之間的成組數(shù)據(jù)

14、傳送。 數(shù)據(jù)傳送是在DMA控制器控制下進(jìn)行的,由DMA控制器給出當(dāng)前正在傳送的數(shù)據(jù)字的主存地址,并統(tǒng)計(jì)傳送數(shù)據(jù)的個(gè)數(shù)以確定一組數(shù)據(jù)的傳送是否已結(jié)束。在主存中要開辟連續(xù)地址的專用緩沖器,用來(lái)提供或接收傳送的數(shù)據(jù)。在數(shù)據(jù)傳送前和結(jié)束后要通過程序或中斷方式對(duì)緩沖器和DMA控制器進(jìn)行預(yù)處理和后處理。 10.3 DMA輸入輸出方式輸入輸出方式 nDMA優(yōu)點(diǎn):n數(shù)據(jù)一次性讀寫,不需要IO-Reg, Reg-RAM這樣兩次操作;nDMA控制器連續(xù)控制讀寫,不需要CPU取值、譯碼、執(zhí)行等這樣執(zhí)行,在數(shù)據(jù)傳送過程中,沒有保存現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)之類的工作。內(nèi)存地址修改、傳送字 個(gè)數(shù)的計(jì)數(shù)等等,也不是由軟件實(shí)現(xiàn),而是用

15、硬件線路直接實(shí)現(xiàn)的;n數(shù)據(jù)傳送和CPU計(jì)算可能可能同時(shí)進(jìn)行。 10.3.1 DMA三種工作方式三種工作方式 主機(jī)響應(yīng)DMA請(qǐng)求后,讓出存儲(chǔ)總線,直到一組數(shù)據(jù)傳送完畢后,DMA控制器才把總線控制權(quán)交還給CPU。DMA控制、訪問主存CPU控制、訪問主存主存工作時(shí)間DMA不工作DMA工作DMA不工作CPU停止訪問主存 10.3.1 DMA三種工作方式三種工作方式 DMA控制器與主存儲(chǔ)器之間傳送一個(gè)數(shù)據(jù),占用(竊取)一個(gè)或幾個(gè)CPU周期,即CPU暫停工作一個(gè)或幾個(gè)周期,然后繼續(xù)執(zhí)行程序。DMA控制、訪問主存CPU控制、訪問主存主存工作時(shí)間 10.3.1 DMA三種工作方式三種工作方式 n與停止CPU訪

16、內(nèi)的DMA方法比較,周期挪用的方法既實(shí)現(xiàn)了I/O傳送,又較好地發(fā)揮了內(nèi)存和CPU的效率,是一種廣泛采用的方法。n但是I/O設(shè)備每一次周期挪用都有申請(qǐng)總線控制權(quán)、建立總線控制權(quán)和歸還總線控制權(quán)的過程,所以傳送一個(gè)字對(duì)內(nèi)存來(lái)說(shuō)要占用一個(gè)周期,但對(duì)DMA控制器來(lái)說(shuō)一般要25個(gè) 內(nèi)存周期(視邏輯線路的延遲而定)。n因此,周期挪用的方法適用于周期挪用的方法適用于I/O設(shè)備讀寫周期大于設(shè)備讀寫周期大于內(nèi)存存儲(chǔ)周期的情況。內(nèi)存存儲(chǔ)周期的情況。 10.3.1 DMA三種工作方式三種工作方式 當(dāng)CPU的工作周期比主存訪問時(shí)間長(zhǎng)時(shí),使用這種方式。這種方式不需要總線使用權(quán)的申請(qǐng)、建立和歸還過程。將CPU周期分成C1

17、和C2兩個(gè)周期,其中C1專門用于給DMA訪問主存,C2提供給CPU訪問主存??偩€使用權(quán)通過C1和C2分別控制。CPU和DMA各自有自己的訪問地址寄存器、數(shù)據(jù)寄存器和讀寫信號(hào)。DMA控制、訪問主存CPU控制、訪問主存主存工作時(shí)間 10.3.1 DMA三種工作方式三種工作方式 nDMA與CPU交替訪問內(nèi)存n這種方式效率高,又稱為“透明的透明的DMA”方式,其來(lái)由是這種DMA傳送對(duì)CPU來(lái)說(shuō),如同透明的玻璃一般。n但相應(yīng)的硬件邏輯也就更加復(fù)雜。10.3.2 DMA控制器組成控制器組成 寄存器初始值為主存緩沖區(qū)的首地址。 該寄存器存放IO設(shè)備的設(shè)備碼,具體內(nèi)容取決于IO設(shè)備的數(shù)據(jù)格式和地址字編址方式。

18、 該計(jì)數(shù)器對(duì)傳送數(shù)據(jù)的總字?jǐn)?shù)進(jìn)行統(tǒng)計(jì) 。 該寄存器用來(lái)存放控制字和狀態(tài)字。 該寄存器用來(lái)暫存IO設(shè)備與主存?zhèn)魉偷臄?shù)據(jù)。 10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(1) DMA的數(shù)據(jù)傳送過程可分為三個(gè)階段: 1)DMA傳送前預(yù)處理; 2)數(shù)據(jù)傳送; 3)傳送后處理。內(nèi)存起始地址DMA主存地址寄存器(MAR)設(shè)備地址外圍設(shè)備地址寄存器(ADR )傳送數(shù)據(jù)個(gè)數(shù)字?jǐn)?shù)計(jì)數(shù)器(WC) 啟動(dòng)設(shè)備繼續(xù)執(zhí)行主程序DMA控制器控制數(shù)據(jù)傳送直到WC為零執(zhí)行中斷服務(wù)程序處理DMA結(jié)束操作如需要,停止外設(shè),否則進(jìn)行下一次DMA預(yù)處理數(shù)據(jù)傳送后處理10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(2) 1 D

19、MA預(yù)處理 在進(jìn)行DMA數(shù)據(jù)傳送之前要用程序做一些必要的準(zhǔn)備工作。先由CPU執(zhí)行幾條輸入輸出指令,測(cè)試設(shè)備狀態(tài),向DMA控制器的設(shè)備地址寄存器中送入設(shè)備地址并啟動(dòng)設(shè)備,在主存地址寄存器中送入交換數(shù)據(jù)的主存起始地址,在數(shù)據(jù)字?jǐn)?shù)寄存器中送入交換的數(shù)據(jù)個(gè)數(shù)。 在這些工作完成之后,CPU繼續(xù)執(zhí)行原來(lái)的程序。10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(3) 第二個(gè)階段數(shù)據(jù)傳送過程:允許傳送?主存地址送總線數(shù)據(jù)送I/O設(shè)備(或主存)主存地址加1WC內(nèi)容(傳送個(gè)數(shù))減1數(shù)據(jù)塊傳送結(jié)束?向CPU申請(qǐng)中斷DMA請(qǐng)求NYYN10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(4) 2 DMA控制I/O設(shè)備

20、與主存之間的數(shù)據(jù)交換 I/O設(shè)備啟動(dòng)后,若為輸入數(shù)據(jù),則要進(jìn)行以下操作:(1)從輸入介質(zhì)讀入一個(gè)字到數(shù)據(jù)緩沖寄存器DBR中。(2)向CPU發(fā)DMA請(qǐng)求,在取得總線控制權(quán)后,將DBR中的數(shù)據(jù)送人主存的數(shù)據(jù)寄存器。(3)將DMA中的MAR內(nèi)容送主存的地址寄存器,啟動(dòng)寫操作,將數(shù)據(jù)寫入主存。(4)將WC內(nèi)容減1,將MAR的內(nèi)容加1,給出下一個(gè)字的地址。(5)判斷WC是否為“0”,若不是,說(shuō)明還有數(shù)據(jù)需要傳送,檢查無(wú)錯(cuò)后準(zhǔn)備下一字的輸入。若WC為0,表明一組數(shù)據(jù)已傳送完畢,此時(shí)應(yīng)置結(jié)束標(biāo)志,向CPU發(fā)中斷請(qǐng)求。 10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(5) I/O設(shè)備啟動(dòng)后,若為輸出數(shù)據(jù),

21、應(yīng)進(jìn)行以下操作:(1)將MAR的內(nèi)容送主存的地址寄存器。(2)啟動(dòng)主存讀操作,將對(duì)應(yīng)單元的內(nèi)容讀入主存的數(shù)據(jù)寄存器。(3)將主存數(shù)據(jù)寄存器的內(nèi)容送到DMA的DBR中。(4)將DBR的內(nèi)容送到輸出設(shè)備,若為字符設(shè)備,則需將DBR內(nèi)容拆成字符輸出。(5)將WC內(nèi)容減1,MAR內(nèi)容加1,為下一個(gè)字的輸出做好準(zhǔn)備。(6)判斷WC的內(nèi)容是否為0。如不為0,說(shuō)明還需繼續(xù)傳送,輸出設(shè)備處理完數(shù)據(jù)后,發(fā)DMA請(qǐng)求。如WC為0或檢驗(yàn)有錯(cuò),則停止傳送,向CPU發(fā)結(jié)束中斷請(qǐng)求或出錯(cuò)中斷請(qǐng)求。 10.3.3 DMA的數(shù)據(jù)傳送過程(的數(shù)據(jù)傳送過程(6) 3 CPU中斷原程序進(jìn)行后處理 若需繼續(xù)交換數(shù)據(jù),則又要對(duì)DMA控

22、制器進(jìn)行初始化;若不需交換數(shù)據(jù),則停止外設(shè);若為出錯(cuò),則轉(zhuǎn)錯(cuò)誤診斷及處理程序。10.3.4 軟盤接口邏輯電路舉例(軟盤接口邏輯電路舉例(1) 為了實(shí)現(xiàn)CPU和軟盤驅(qū)動(dòng)器之間的快速數(shù)據(jù)傳送,在CPU和軟盤驅(qū)動(dòng)器之間需設(shè)置軟盤控制器。 DMA控制器電路Intel 8257就是DMA控制器電路。 軟盤控制器接口邏輯電路中采用了8257 DMA控制器。在CPU和軟盤控制器之間的接口電路中包括總線控制線路和DMA控制線路。 8257 DMA控制器提供四個(gè)獨(dú)立的DMA通道(CH0,CH1,CH2,CH3)。軟盤接口使用了其中一個(gè)通道。每個(gè)通道包含兩個(gè)十六位的寄存器:一個(gè)DMA地址寄存器和一個(gè)字節(jié)計(jì)數(shù)寄存器。DMA地址寄存器存放被尋址的第一個(gè)主存單元的地址。字節(jié)計(jì)數(shù)寄存器存放本次DMA傳送的字節(jié)數(shù)。此外,還包含工作方式(讀、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論