微型計算機原理及應用第6章課件_第1頁
微型計算機原理及應用第6章課件_第2頁
微型計算機原理及應用第6章課件_第3頁
微型計算機原理及應用第6章課件_第4頁
微型計算機原理及應用第6章課件_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章輸入/輸出及中斷

計算機的輸入輸出系統(tǒng)也稱I/O系統(tǒng),其功能是完成計算機與外部設備之間的信息交換。6.1輸入/輸出接口

1.I/O接口一般結構及工作過程●接口電路通過系統(tǒng)總線AB、CB和DB與CPU連接;通過數(shù)據(jù)線D、控制線C和狀態(tài)線S與外部設備連接?!裢獠吭O備控制器通過接口電路狀態(tài)線S,把設備當前的工作狀態(tài)信息傳送給CPU?!裢獠吭O備控制器通過接口電路控制線C接受CPU發(fā)給的控制命令?!裨诳刂泼畹淖饔孟拢獠吭O備控制器通過數(shù)據(jù)線與CPU實現(xiàn)數(shù)據(jù)信息交換。第6章輸入/輸

I/O接口電路信息傳送示意圖I/O接口電路信息傳送示意圖

實際上,接口電路與外部設備控制器連接的數(shù)據(jù)線、控制線和狀態(tài)線分別對應三個不同的端口地址,即數(shù)據(jù)端口D、控制端口C、狀態(tài)端口S。數(shù)據(jù)端口是CPU對外設進行數(shù)據(jù)處理的目標端口;控制口、狀態(tài)口的根據(jù)需要各設1根(或1根以上)線即可滿足控制信息的要求,這一根線連接在數(shù)據(jù)總線DB的某一位;

CPU是通過地址總線發(fā)出目標地址信息選中某一端口的,然后通過數(shù)據(jù)總線讀取狀態(tài)信息或發(fā)出控制命令。實際上,接口電路與外部設備控制器連接的數(shù)據(jù)線、控2.輸入/輸出編址及尋址(1)獨立編址及尋址所有外設的信息所在的位置稱為端口。將所有端口進行獨立編址,即每一端口規(guī)定一確定的地址編碼。在80x86系統(tǒng)中,獨立編址的I/O端口的地址范圍為:

0000H~0FFFFH。

訪問獨立編址的I/O端口,必須使用輸入IN指令或輸出OUT指令。2.輸入/輸出編址及尋址【例】已知某字節(jié)I/O端口地址為20H,要求將該端口數(shù)據(jù)的D1位置1,其它位不變。指令段如下:

INAL,20H ;讀取端口內容.ORAL,02H ;在AL中設置D1=1,其它位保持不變.OUT20H,AL ;將AL內容輸出給20H端口.【例】已知某字節(jié)I/O端口地址為20H,要求將該

(2)與存儲器統(tǒng)一編址

I/O端口與儲器統(tǒng)一編址是指:在存儲器的地址空間中分出一個區(qū)域,作為I/O系統(tǒng)中各端口的地址,I/O端口被CPU視為的內存存儲單元。一般訪問內存的指令都可以訪問I/O設備。

(2)與存儲器統(tǒng)一編址6.2微處理器與外設之間數(shù)據(jù)控制方式

1.無條件傳送方式指在輸入或輸出信息時,外部設備始終處于準備好的狀態(tài),不需要查詢外部設備的狀態(tài),只要給出IN或OUT指令,即可實現(xiàn)CPU與外部設備進行信息交換。僅適用于一些簡單的系統(tǒng)。

2.查詢傳送方式查詢傳送方式是指CPU與I/O設備之間交換信息必須滿足某種條件,否則CPU處于等待狀態(tài),其工作過程完全由執(zhí)行程序來完成。

6.2微處理器與外設之間數(shù)據(jù)控制方式

查詢傳送方式工作過程如下:(1)由CPU執(zhí)行輸出指令,向控制端口發(fā)出控制命令C,將所指定的外設啟動;(2)外設處于準備工作狀態(tài),CPU不斷執(zhí)行查詢程序,從狀態(tài)端口讀取狀態(tài)字S,檢測外設是否已準備就緒。如果沒有準備好,就返回上一步,繼續(xù)讀取狀態(tài)字;(3)外設準備好后,CPU則執(zhí)行數(shù)據(jù)傳送操作,通過數(shù)據(jù)端口完成整個輸入/輸出過程。查詢傳送方式工作過程如下:【例】某外設數(shù)據(jù)端口地址為2000H,狀態(tài)端口地址為2002H,控制端口地址為2004H;8位數(shù)據(jù)線接CPU的D0~D7,一位控制線(為“0”表示啟動外設工作)接CPU的D0,一位狀態(tài)線(為“1”表示數(shù)據(jù)端口準備好)接CPU的D7。查詢方式下讀取數(shù)據(jù)端口數(shù)據(jù)的程序段。程序段如下:

MOVAL, 00H ;設啟動外部設備工作代碼 D0=0. MOVDX, 2004H ;控制端口地址送入DX. OUT DX, AL ;啟動外設工作. MOVDX, 2002H ;狀態(tài)端口地址送入DX. LOP: IN AL, DX ;讀取狀態(tài)信號. TEST AL, 80H ;測試狀態(tài)位D7. JZ LOP ;未準備好轉LOP繼續(xù)讀取,準 備好順序執(zhí)行. MOV DX, 2000H ;數(shù)據(jù)端口地址送入DX. IN AL, DX ;讀取數(shù)據(jù)端口數(shù)據(jù).【例】某外設數(shù)據(jù)端口地址為2000H,狀態(tài)端口地

3.中斷傳送方式查詢傳送方式工作過程中,CPU處理工作與I/O傳送是串行的。該方式主要解決了快速的CPU與速度較慢的外部設備之間進行信息交換的配合問題。但在查詢等待期間,CPU不能進行其它操作,使CPU資源不能充分利用,不適合實時系統(tǒng)的要求。為了解決快速的CPU與慢速的外設之間的矛盾、以充分利用CPU資源,產生了中斷傳送方式。中斷傳送方式是指:外設可以主動申請CPU為其服務,當輸入設備已將數(shù)據(jù)準備好或輸出設備可以接收數(shù)據(jù)時,即可向CPU發(fā)中斷請求。CPU響應中斷請求后,暫時停止執(zhí)行當前程序,轉去執(zhí)行為外設進行I/O操作的服務程序,即中斷處理子程序。在執(zhí)行完中斷處理程序后,再返回被中斷的程序繼續(xù)執(zhí)行原來的程序。3.中斷傳送方式

4.DMA控制方式在高速成批數(shù)據(jù)輸入/輸出時,中斷請求方式就顯得太慢了。為進一步提高數(shù)據(jù)傳輸效率,產生了DMA方式,即直接存儲器存取。

DMA方式是完全由硬件執(zhí)行,在存儲器與外設之間直接建立數(shù)據(jù)傳送通道的I/O傳送方式。

DMA方式主要特點是:在傳送數(shù)據(jù)時不經(jīng)過CPU,不使用CPU內部的寄存器,CPU只是暫停控制一個或兩個總線工作周期,在這期間把控制權交給由硬件實現(xiàn)的DMA控制器,由DMA控制器來控制總線,在存儲器和I/O設備之間直接進行數(shù)據(jù)傳送。4.DMA控制方式6.3.可編程DMA控制器

芯片8237是一種高性能的可編程DMA控制器。所謂可編程芯片,是指可以通過CPU寫入芯片內部規(guī)定好的控制字或命令字或方式字等,設置芯片實現(xiàn)不同的操作、工作方式及命令形式等功能。

1.8237功能●8237具有4個用于連接I/O設備進行數(shù)據(jù)傳輸?shù)耐ǖ溃匆黄?237可以連接4臺外部設備?!衩總€通道DMA請求可以設置為允許或禁止、不同的優(yōu)先權。●4種傳送方式:單字節(jié)、數(shù)據(jù)塊、請求和級聯(lián)傳送方式?!衩總€通道一次傳送數(shù)據(jù)最大長度為64KB?!?237與外設和CPU之間聯(lián)絡信號友好。6.3.可編程DMA控制器

2.8237工作方式(1)單字節(jié)傳輸方式單字節(jié)傳輸方式在每次DMA操作傳送一個字節(jié)數(shù)據(jù)后,當前字節(jié)計數(shù)器減1、地址計數(shù)器加1或減1,然后8237自動把總線控制權交給CPU,讓CPU占用至少一個總線周期,而后立即對DMA請求信號DREQ測試,若又有請求信號,8237重新向CPU發(fā)出總線請求,獲得總線控制后,再傳送下一個字節(jié)數(shù)據(jù),如此反復循環(huán),直至字節(jié)計數(shù)器為0,DMA操作結束。2.8237工作方式

(2)數(shù)據(jù)塊傳送方式數(shù)據(jù)塊傳送方式是指進入DMA操作后,連續(xù)傳送數(shù)據(jù)直到整塊數(shù)據(jù)全部傳輸完畢。(3)請求傳輸方式請求傳輸方式與數(shù)據(jù)塊傳輸方式類似,只是在每傳輸一個字節(jié)后,8237都對DMA請求信號DREQ進行測試,如檢測到DREQ端變?yōu)闊o效電平,則馬上暫停傳輸,但測試過程仍然進行,當DREQ又變?yōu)橛行щ娖綍r,就在原來的基礎上繼續(xù)進行傳輸,直到傳輸結束。(2)數(shù)據(jù)塊傳送方式

3.8237芯片引腳功能(見教材6.3.3)

4.內部計數(shù)器及寄存器組(部分)(1)命令寄存器(8位、片內地址1000B)命令寄存器用于存放命令控制字,它可以設置8237的工作狀態(tài)。8237的4個DMA通道共用一個命令寄存器。(2)狀態(tài)寄存器(8位)狀態(tài)寄存器高4位D7~D4的狀態(tài),分別表示當前通道3~通道0是否有DMA請求。低4位D3~D0指出通道3~通道0的DMA操作是否結束(3)方式寄存器(6+2位、片內地址1011B)方式寄存器用于存放工作方式控制字,可通過編程寫入,指定8237各通道自身的工作方式。(4)基地址和當前地址寄存器(16位、片內地址見表6-1)(5)基字節(jié)和當前字節(jié)計數(shù)器(16位、片內地址見表6-1)

3.8237芯片引腳功能(見教材6

5.DMA應用編程在使用8237進行DMA之前,必須首先通過CPU對其進行初始化編程。其步驟如下:①發(fā)出復位命令(片內地址1101B,執(zhí)行寫入命令即可實現(xiàn)復位,使屏蔽寄存器各位置1、命令、狀態(tài)、請求等寄存器清0)。②寫工作方式控制字到方式寄存器。③寫命令字到命令寄存器。④根據(jù)所選通道,寫基地址和基字節(jié)數(shù)寄存器。⑤設置屏蔽DMA通道并寫入屏蔽寄存器。⑥由軟件請求DMA操作,則寫入請求寄存器,否則由DREQ控制信號啟動。5.DMA應用編程6.4總線技術簡介6.4.1標準總線及分類

總線是連接計算機各部件的一組公共信號線,是能夠在計算機或各部件之間進行有效、高速地傳輸各種信息的通道。

總線可以分為內總線、系統(tǒng)總線和外部總線。

總線標準:為了使用的方便,對總線必須有詳細和明確的規(guī)范要求,稱為標準總線。6.4總線技術簡介6.4.4串行通信總線標準1.通用串行總線(USB)用串行總線(UniversalSerialBus,USB)USB是一種萬能插口,可以取代PC機上所有的串、并行連接器插口,用戶可以將幾乎所有的外設裝置——包括顯示器、鍵盤、鼠標、調制解調器、可編程控制器、單片機開發(fā)裝置及數(shù)碼相機等的插頭插入標準的USB插口。6.4.4串行通信總線標準2.RS-232C總線標準RS-232C適用于短距離或帶調制解調器的通信場合。若設備之間的通信距離不大于15m時,可以用RS-232C電纜直接連接。對于距離大于15m以上的長距離通信,需要采用調制解調器才能實現(xiàn)。RS-232C傳輸速率最大為20Kbit/s。RS-232C采用負邏輯,即邏輯1用-5V~-15V表示,邏輯0用+5V~+15V表示。因此,RS-232C不能和TTL電平直接相連。對于采用正邏輯的串行接口電路,使用RS-232C接口必須進行電平轉換。目前,RS-232C與TTL之間電平轉換的集成電路很多,最常用的是MAX232。2.RS-232C總線標準3.RS-422/485總線標準RS-232C雖然應用廣泛,但由于推出較早,數(shù)據(jù)傳輸速率慢,通信距離短。為了滿足現(xiàn)代通信傳輸數(shù)據(jù)速率越來越快和距離越來越遠的要求,EIA隨后推出了RS-422和RS-485總線標準。RS-422/485最大的傳輸距離為1200m,最大傳輸速率為10Mbit/s。在實際應用中,為減少誤碼率,當通信距離增加時,應適當降低通信速率。例如,當通信距離為120m時,最大通信速率為1Mbit/s;若通信距離為1200m,則最大通信速率為100Kbit/s。3.RS-422/485總線標準

第6章輸入/輸出及中斷

計算機的輸入輸出系統(tǒng)也稱I/O系統(tǒng),其功能是完成計算機與外部設備之間的信息交換。6.1輸入/輸出接口

1.I/O接口一般結構及工作過程●接口電路通過系統(tǒng)總線AB、CB和DB與CPU連接;通過數(shù)據(jù)線D、控制線C和狀態(tài)線S與外部設備連接?!裢獠吭O備控制器通過接口電路狀態(tài)線S,把設備當前的工作狀態(tài)信息傳送給CPU?!裢獠吭O備控制器通過接口電路控制線C接受CPU發(fā)給的控制命令。●在控制命令的作用下,外部設備控制器通過數(shù)據(jù)線與CPU實現(xiàn)數(shù)據(jù)信息交換。第6章輸入/輸

I/O接口電路信息傳送示意圖I/O接口電路信息傳送示意圖

實際上,接口電路與外部設備控制器連接的數(shù)據(jù)線、控制線和狀態(tài)線分別對應三個不同的端口地址,即數(shù)據(jù)端口D、控制端口C、狀態(tài)端口S。數(shù)據(jù)端口是CPU對外設進行數(shù)據(jù)處理的目標端口;控制口、狀態(tài)口的根據(jù)需要各設1根(或1根以上)線即可滿足控制信息的要求,這一根線連接在數(shù)據(jù)總線DB的某一位;

CPU是通過地址總線發(fā)出目標地址信息選中某一端口的,然后通過數(shù)據(jù)總線讀取狀態(tài)信息或發(fā)出控制命令。實際上,接口電路與外部設備控制器連接的數(shù)據(jù)線、控2.輸入/輸出編址及尋址(1)獨立編址及尋址所有外設的信息所在的位置稱為端口。將所有端口進行獨立編址,即每一端口規(guī)定一確定的地址編碼。在80x86系統(tǒng)中,獨立編址的I/O端口的地址范圍為:

0000H~0FFFFH。

訪問獨立編址的I/O端口,必須使用輸入IN指令或輸出OUT指令。2.輸入/輸出編址及尋址【例】已知某字節(jié)I/O端口地址為20H,要求將該端口數(shù)據(jù)的D1位置1,其它位不變。指令段如下:

INAL,20H ;讀取端口內容.ORAL,02H ;在AL中設置D1=1,其它位保持不變.OUT20H,AL ;將AL內容輸出給20H端口.【例】已知某字節(jié)I/O端口地址為20H,要求將該

(2)與存儲器統(tǒng)一編址

I/O端口與儲器統(tǒng)一編址是指:在存儲器的地址空間中分出一個區(qū)域,作為I/O系統(tǒng)中各端口的地址,I/O端口被CPU視為的內存存儲單元。一般訪問內存的指令都可以訪問I/O設備。

(2)與存儲器統(tǒng)一編址6.2微處理器與外設之間數(shù)據(jù)控制方式

1.無條件傳送方式指在輸入或輸出信息時,外部設備始終處于準備好的狀態(tài),不需要查詢外部設備的狀態(tài),只要給出IN或OUT指令,即可實現(xiàn)CPU與外部設備進行信息交換。僅適用于一些簡單的系統(tǒng)。

2.查詢傳送方式查詢傳送方式是指CPU與I/O設備之間交換信息必須滿足某種條件,否則CPU處于等待狀態(tài),其工作過程完全由執(zhí)行程序來完成。

6.2微處理器與外設之間數(shù)據(jù)控制方式

查詢傳送方式工作過程如下:(1)由CPU執(zhí)行輸出指令,向控制端口發(fā)出控制命令C,將所指定的外設啟動;(2)外設處于準備工作狀態(tài),CPU不斷執(zhí)行查詢程序,從狀態(tài)端口讀取狀態(tài)字S,檢測外設是否已準備就緒。如果沒有準備好,就返回上一步,繼續(xù)讀取狀態(tài)字;(3)外設準備好后,CPU則執(zhí)行數(shù)據(jù)傳送操作,通過數(shù)據(jù)端口完成整個輸入/輸出過程。查詢傳送方式工作過程如下:【例】某外設數(shù)據(jù)端口地址為2000H,狀態(tài)端口地址為2002H,控制端口地址為2004H;8位數(shù)據(jù)線接CPU的D0~D7,一位控制線(為“0”表示啟動外設工作)接CPU的D0,一位狀態(tài)線(為“1”表示數(shù)據(jù)端口準備好)接CPU的D7。查詢方式下讀取數(shù)據(jù)端口數(shù)據(jù)的程序段。程序段如下:

MOVAL, 00H ;設啟動外部設備工作代碼 D0=0. MOVDX, 2004H ;控制端口地址送入DX. OUT DX, AL ;啟動外設工作. MOVDX, 2002H ;狀態(tài)端口地址送入DX. LOP: IN AL, DX ;讀取狀態(tài)信號. TEST AL, 80H ;測試狀態(tài)位D7. JZ LOP ;未準備好轉LOP繼續(xù)讀取,準 備好順序執(zhí)行. MOV DX, 2000H ;數(shù)據(jù)端口地址送入DX. IN AL, DX ;讀取數(shù)據(jù)端口數(shù)據(jù).【例】某外設數(shù)據(jù)端口地址為2000H,狀態(tài)端口地

3.中斷傳送方式查詢傳送方式工作過程中,CPU處理工作與I/O傳送是串行的。該方式主要解決了快速的CPU與速度較慢的外部設備之間進行信息交換的配合問題。但在查詢等待期間,CPU不能進行其它操作,使CPU資源不能充分利用,不適合實時系統(tǒng)的要求。為了解決快速的CPU與慢速的外設之間的矛盾、以充分利用CPU資源,產生了中斷傳送方式。中斷傳送方式是指:外設可以主動申請CPU為其服務,當輸入設備已將數(shù)據(jù)準備好或輸出設備可以接收數(shù)據(jù)時,即可向CPU發(fā)中斷請求。CPU響應中斷請求后,暫時停止執(zhí)行當前程序,轉去執(zhí)行為外設進行I/O操作的服務程序,即中斷處理子程序。在執(zhí)行完中斷處理程序后,再返回被中斷的程序繼續(xù)執(zhí)行原來的程序。3.中斷傳送方式

4.DMA控制方式在高速成批數(shù)據(jù)輸入/輸出時,中斷請求方式就顯得太慢了。為進一步提高數(shù)據(jù)傳輸效率,產生了DMA方式,即直接存儲器存取。

DMA方式是完全由硬件執(zhí)行,在存儲器與外設之間直接建立數(shù)據(jù)傳送通道的I/O傳送方式。

DMA方式主要特點是:在傳送數(shù)據(jù)時不經(jīng)過CPU,不使用CPU內部的寄存器,CPU只是暫??刂埔粋€或兩個總線工作周期,在這期間把控制權交給由硬件實現(xiàn)的DMA控制器,由DMA控制器來控制總線,在存儲器和I/O設備之間直接進行數(shù)據(jù)傳送。4.DMA控制方式6.3.可編程DMA控制器

芯片8237是一種高性能的可編程DMA控制器。所謂可編程芯片,是指可以通過CPU寫入芯片內部規(guī)定好的控制字或命令字或方式字等,設置芯片實現(xiàn)不同的操作、工作方式及命令形式等功能。

1.8237功能●8237具有4個用于連接I/O設備進行數(shù)據(jù)傳輸?shù)耐ǖ?,即一?237可以連接4臺外部設備?!衩總€通道DMA請求可以設置為允許或禁止、不同的優(yōu)先權?!?種傳送方式:單字節(jié)、數(shù)據(jù)塊、請求和級聯(lián)傳送方式。●每個通道一次傳送數(shù)據(jù)最大長度為64KB?!?237與外設和CPU之間聯(lián)絡信號友好。6.3.可編程DMA控制器

2.8237工作方式(1)單字節(jié)傳輸方式單字節(jié)傳輸方式在每次DMA操作傳送一個字節(jié)數(shù)據(jù)后,當前字節(jié)計數(shù)器減1、地址計數(shù)器加1或減1,然后8237自動把總線控制權交給CPU,讓CPU占用至少一個總線周期,而后立即對DMA請求信號DREQ測試,若又有請求信號,8237重新向CPU發(fā)出總線請求,獲得總線控制后,再傳送下一個字節(jié)數(shù)據(jù),如此反復循環(huán),直至字節(jié)計數(shù)器為0,DMA操作結束。2.8237工作方式

(2)數(shù)據(jù)塊傳送方式數(shù)據(jù)塊傳送方式是指進入DMA操作后,連續(xù)傳送數(shù)據(jù)直到整塊數(shù)據(jù)全部傳輸完畢。(3)請求傳輸方式請求傳輸方式與數(shù)據(jù)塊傳輸方式類似,只是在每傳輸一個字節(jié)后,8237都對DMA請求信號DREQ進行測試,如檢測到DREQ端變?yōu)闊o效電平,則馬上暫停傳輸,但測試過程仍然進行,當DREQ又變?yōu)橛行щ娖綍r,就在原來的基礎上繼續(xù)進行傳輸,直到傳輸結束。(2)數(shù)據(jù)塊傳送方式

3.8237芯片引腳功能(見教材6.3.3)

4.內部計數(shù)器及寄存器組(部分)(1)命令寄存器(8位、片內地址1000B)命令寄存器用于存放命令控制字,它可以設置8237的工作狀態(tài)。8237的4個DMA通道共用一個命令寄存器。(2)狀態(tài)寄存器(8位)狀態(tài)寄存器高4位D7~D4的狀態(tài),分別表示當前通道3~通道0是否有DMA請求。低4位D3~D0指出通道3~通道0的DMA操作是否結束(3)方式寄存器(6+2位、片內地址1011B)方式寄存器用于存放工作方式控制字,可通過編程寫入,指定8237各通道自身的工作方式。(4)基地址和當前地址寄存器(16位、片內地址見表6-1)(5)基字節(jié)和當前字節(jié)計數(shù)器(16位、片內地址見表6-1)

3.8237芯片引腳功能(見教材6

5.DMA應用編程在使用8237進行DMA之前,必須首先通過CPU對其進行初始化編程。其步驟如下:①發(fā)出復位命令(片內地址1101B,執(zhí)行寫入命令即可實現(xiàn)復位,使屏蔽寄存器各位置1、命令、狀態(tài)、請求等寄存器清0)。②寫工作方式控制字到方式寄存器。③

溫馨提示

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

評論

0/150

提交評論