第17講輸入輸出控制、串行接口、并行接口_第1頁
第17講輸入輸出控制、串行接口、并行接口_第2頁
第17講輸入輸出控制、串行接口、并行接口_第3頁
第17講輸入輸出控制、串行接口、并行接口_第4頁
第17講輸入輸出控制、串行接口、并行接口_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

輸入輸出控制串行接口、

并行接口-學習目標(1)掌握PC機的I/O尋址方式并了解PC機I/O端口地址分配

。(2)掌握PC機的三種輸入/輸出控制方式:程序控制方式,中斷控制方式及DMA控制方式的工作原理。

(3)掌握與8259A可編程中斷控制器并了解PC及PC/AT兼容的ISA總線上的常規(guī)中斷、新的PCI中斷、串行中斷技術以及高級可編程中斷控制子系統APIC概況。(4)掌握與8237可編程DMA控制器相關的具體內容并了解PC中的DMA通道。3.5輸入/輸出及控制3.5.1輸入/輸出及控制計算機通過I/O設備與外部交換信息,

I/O操作的任務是將輸入設備輸入的信息送入內存的指定區(qū)域或者將內存指定區(qū)域的內容送出到輸出設備。I/O操作特點①多數

I/O設備在操作過程中包含機械動作,速度比

CPU慢得多,因此為提高系統效率,I/O操作與

CPU的數據處理操作往往并行進行。②多個

I/O設備本身也要能同時工作,例如鍵盤、顯示屏打印輸出同時工作。③除鍵盤、顯示器和鼠標外,不同

PC所配置的

I/O設備的數量、品種和性能差別很大,且經常會增減或升級。④不同種類的多種

I/O設備可以以不同的方式與主機連接。為實現

I/O操作,不同

I/O設備都有自己專用的

I/O控制器,接收

CPU啟動

I/O操作的命令,獨立地控制

I/O設備工作,表明

I/O操作是否完成。I/O控制器是一組電路

,不同的設備其控制器的結構和功能也不相同

。鍵盤、鼠標、打印機等的

I/O控制器比較簡單

,集成在主板芯片組中

。主機上連接

I/O設備的各種插頭

/插座及相應的通信規(guī)范及電器特性等稱為

I/O設備接口或(

I/O設備)3.5.2輸入/輸出及控制方式1.程序控制方式是指在程序的控制下進行數據傳送,分為無條件傳送方式和條件傳送方式兩種。在傳送數據之前不查詢外設的狀態(tài)而直接執(zhí)行輸入指令或輸出指令的方式就是無條件傳送。無條件傳送是輸入/輸出控制方式最簡單的一種

,該傳送方式的條件是,傳送不是太頻繁,并需保證每次傳送時,外設處于就緒狀態(tài)。條件傳送也稱為查詢式傳送,CPU通過執(zhí)行程序不斷讀取外設的狀態(tài)。輸入設備處于準備好狀態(tài)或輸出設備處于空閑狀態(tài),則

CPU執(zhí)行輸入指令或輸出指令與外設交換信息。要求接口電路中除了有數據端口外,還應有狀態(tài)端口。2.中斷控制方式當輸入設備已將數據準備好或輸出設備可以接收數據時

,便可向CPU發(fā)中斷請求。

CPU響應中斷請求后,暫時停止執(zhí)行當前程序而去執(zhí)行一個為外設輸入/輸出數據的服務程序。此服務程序即為中斷處理子程序或中斷服務子程序。中斷服務程序執(zhí)行完,CPU又轉回到被中斷處而繼續(xù)執(zhí)行原來的程序。在中斷控制方式下,CPU和外設在大部分時間里是并行工作的。

CPU不必在兩個輸入/輸出過程之間對接口的狀態(tài)進行測試和等待,而是完成與輸入/輸出無關的正常的工作信號。當外設準備就緒時,外設會主動向CPU發(fā)中斷請求而進入一個傳送過程。此過處理完成后,CPU又可以繼續(xù)執(zhí)行被中斷的任務,而不是轉入等待狀態(tài)。因此,采用中斷方式可以大大提高

CPU的效率并具有較高的實時性。3.DMA控制方式與程序控制方式相比

,采用中斷控制方式進行輸入

/輸出能提高

CPU的利用率。但其數據傳輸仍是通過執(zhí)行程序來完成的,并且每次傳輸都需要保護斷點處的現場信息,這又需要

CPU一定的執(zhí)行時間。采用中斷控制方式傳輸數據的速度不可能很快,不能滿足高速

I/O設備以及磁盤設備成組交換數據的需求。DMA方式采用專門的硬件控制器

(DMAC)來執(zhí)行數據傳送。

DMAC可從

CPU那里接管系統總線的控制權,并且由

DMAC本身發(fā)出的存儲器地址信號以及訪問存儲器和I/O設備的讀寫脈沖等控制信號,使得數據通過總線直接在存儲器和I/O設備之間(或I/O設備與存儲器之間,存儲器與存儲器之間)進行傳送。在DMA接管總線執(zhí)行數據傳送過程中,CPU暫停工作,不參與數據傳送。使用

DMA控制方式進行輸入/輸出操作時,CPU必須先對指定外設的

DMA通道設定工作方式,給出

I/O操作命令,指出要傳送的數據在存儲器中的起始地址及需要傳送的字節(jié)數目等,然后才能啟動DMAC工作。非屏蔽中斷請求中斷邏輯INTn指令INT0指令除法錯誤單步TF=1IR08259A

IR1

可編程

IR2

中斷

IR3

控制器

IR4(PIC)IR5

IR6

IR7INTRNMICPUn410系統定時器鍵盤彩色/圖形接口保留(通信)串行通信接口保留(ALT打印機)軟盤保留(打印機)08090A0B0C0D0E0F3.5.38259A可編程中斷控制器8259A邏輯結構1.8259A中斷控制器結構

8259A是為控制優(yōu)先級中斷而設計的可編程芯片,它具有將中斷源按優(yōu)先級排隊、辨認中斷源、向CPU提供中斷向量等功能,可協助CPU方便地管理八級中斷

中斷請求線IRQO-IRQ7上的中斷請求信號接至8位的中斷請求寄存器IRR,IRR寄存所有中斷請求(對應位置1表示有中斷請求)

I/O設備發(fā)出的中斷請求信號為高電平的時間必須保持到8259A接收到CPU發(fā)出的第一個中斷響應信號INTA負脈沖結束時為止。8259A接收到第二個中斷響應信號INTA后,將把中斷類型碼的值輸出到數據總線上。8259A內部的數據總線緩沖器用于連接系統的數據總線和8259A的內部總線,以便CPU對8259A寫入狀態(tài)字和控制字,或者讀出8259A的信息讀/寫控制電路接受I/O命令,對8259A初始化命令字寄存器和操作命令字寄存器進行編程,以規(guī)定8259A的工作方式和控制方式,級聯緩沖、

比較2.8259A編程及示例使用8259A進行中斷控制時,CPU首先應對8259A內部的各寄存器寫入相應的初始化命令字ICW和控制命令字OCW,即要對8259A進行初始化編程。①初始化命令字共有四個:ICW1(PC的主片口地址為20H,從片口地址為A0H,

ICW2,ICW3

和ICW4(主片口地址都是21H,從片口地址都是A1H)。編程時CPU必須按ICW1-ICW4的順序寫入。初始化命令字ICW例如:ICW1

用于設置8259A基本工作方式D7 D6 D5 D4 D3

D2

D1

D0 A7 A6 A5 1

LTIM

ADI SNGL

IC4IC4用于規(guī)定是否需要寫入初始化命令字ICW:IC4=1,需要寫入ICW4;IC4=0,不需寫入ICW4。

SNGL用于指出使用單片8259A還是多片8259A:SNGL=1,單片方式。SNGL=0,級連方式ICW2ICW3ICW4功能?②操作命令字

CPU向8259A寫完初始化命令字后,為進一步提高它的中斷處理功能,例如:為了屏蔽某些中斷,為了能夠發(fā)出中斷結束命令等,還需繼續(xù)設置8259A寫入操作命令字。操作命令字共有三個:OCW1(主片口地址為21H,從片口地址為A1H)OCW2(主片口地址為20H,從片口地址為AOH)

OCW3(主片口地址為20H,從片口地址為AOH)OCW1用來設置中斷屏蔽寄存器中各位的值D7D6D5D4D3D2D1D0

M7M6M5M4M3M2M1MO當Mi=1時,對應的第i個中斷請求被屏蔽U=0,1,2,…,7)。OCW2用來設置中斷結束、優(yōu)先權循環(huán)等操作方式

D7

D6

D5

D4

D3

D2

D1

DO R

SL

EOI 0 0 L2

L1

LOR:優(yōu)先權循環(huán)位.R=O時,8個中斷的優(yōu)先級固定不變(IRQ7最低,IRQ0

最高).R=1時,優(yōu)先級循環(huán)。此時優(yōu)先級采用循環(huán)輪轉方式,一個中斷請求,例如IRQ4,服務完畢后,就輪為最低級別的優(yōu)先級,而和它相鄰的中斷請求,此時為IRQ5,變?yōu)樽罡邇?yōu)先級,IRQ6變?yōu)榇胃邇?yōu)先級,其他依次類推

;8259A初始化程序段(單片、嵌套中斷工作方式)MOVAL,13H;ICWl送入

AL,單片

8259A,邊沿觸發(fā)

OUT20H,AL;ICWl送入

ICWl口地址MOVAL,8;ICW2送入

AL,送中斷向量類型碼

高5位OUT2lH,AL;ICW2送入

ICW2口地址MOVAL,9;ICW4送入

AL,表示

80x86模式,緩沖方式,一般嵌套方式OUT2lH,AL;ICW4送入

ICW4口地址MOVAL,OFFH;OCWl送入

AL,屏蔽所有中斷OUT2lH,AL;OCWl送入

OCWl口地址;查詢

8259A中斷屏蔽寄存器程序段MOV AL,0;OCWl送入

AL,表示

IMR為全0OUT 2lH,AL;OCWl送入OCWl口地址IN AL,2lH ;讀

IMR狀態(tài)OR AL,AL ;IMR=0?JNZ D6 ;若不為

0,則轉出錯程序

D6MOVAL,OFFH;OCWl送入

AL,表示

IMR為全

lOUT2lH,ALIN AL,2lH ;讀

IMR狀態(tài)ADD AL,1 ;IMR=l?JNZ D6 ;若不為

1,則轉出錯程序

D63.PC的

ISA總線中斷PC/XT使用一片

8259A管理

8級可屏蔽硬件中斷,PCIAT及以上的系統使用兩片

8259A管理

15級可屏蔽硬件中斷。

IRQ標準功能總線插槽總線類型使用參考0系統定時器未引出1鍵盤控制器未引出2供第二個8259A級聯用未引出8實時時鐘未引出9可用(類似IRQ2)引出XT/ISA網卡10可用引出ISAUSB11可用引出ISASCSI主適配器12可用的主板鼠標口引出ISA主板鼠標端口13數學協處理器未引出14主IDE引出ISA第一個IDE(硬盤)15次IDEI可用引出ISA第二個IDE(CD-ROM/磁帶)3串行口2(COM2)引出XT/ISACOM2/內置MODEM4串行口1(COMl)引出XT/ISACOMI5聲音/并行口2(LPTI)引出XT/ISA聲卡6軟盤控制器引出XT/ISA軟盤控制器7并行口1(LPTl)引出XT/ISALPTl4.中斷控制方式下

I/O的執(zhí)行過程(1)鍵盤設備通過中斷請求線

IRQl將

8259A內部中斷請求觸發(fā)器

IRR相應位

(IRQl)置位。(2)8259A收到

IRQl信號,將與同時申請中斷的其他信號或正掛起的中斷信號,通過內部中斷優(yōu)先級分析器進行分析比較,如果該中斷請求是唯一的,或優(yōu)先級為最高,則由

8259A的

INT引腳向

CPU發(fā)出中斷請求信號

INTR(3)CPU響應中斷,連續(xù)發(fā)出兩個INTA信號,第一個

INTA信號將現行的中斷服務寄存器

ISR相應位置位,表示正在為它服務,同時中斷請求觸發(fā)器

IRR相應位復位,為再次中斷請求做好準備

(如果中斷請求是由從片8259A發(fā)出的,則主片

8259A將從

CAS0-CAS2引腳向從片送出識別碼)。第二個

INTA信號則要求

8259A將中斷信號的類型碼送到數據總線上。(4)CPU收到

8位中斷類型碼

(鍵盤中斷類型碼為

09H)后,將其乘以4后作為中斷向量的地址(5)CPU屏蔽中斷,將中斷現場信息

(標志寄存器和

IP及CS值)壓入系統堆錢,標志寄存器

I位(中斷允許位)和T位

(陷阱標志位)清零,并按中斷向量地址取得到新的

IP及

CS的值(6)CPU以

CS的值為段址

,IP為偏移值

,轉去執(zhí)行鍵盤中斷服務程序

(7)CPU執(zhí)行鍵盤中斷服務程序從鍵盤輸入緩沖器中取得輸入的數據。(8)中斷服務程序結束時返回到原先被中斷的程序繼續(xù)執(zhí)行。用中斷控制方式的

I/O處理過程的效率要比程序控制方式高

,但

CPU理過程也更復雜,如果處理的是高速外部設備,由于頻繁地中斷,

CPU效率會降低,此時應采用

DMA控制方式3.5.48237可編程

DMA控制器1.DMA控制方式的原理CS:片選,低電平有效。RESET:復位,高電平有效。

屏蔽寄存器置

1,其他寄存器均清0。復位后

,8237處于空閑周期,它的所有控制線都處于高阻狀態(tài),復位之后必須重新初始化,否則

8237不能進入DMA操作。READY:準備就緒,高電平有效。當所選擇的存儲器或

I/O端口的速度較慢,需要延長傳輸時間時,使

READY端處于低電平,8237自動在存儲器讀和存儲器寫周期中插入等待周期,當傳輸完成時

,READY端為高電平,表示存儲器或外設準備就緒。ADSTB:地址選通,高電平有效。當前地址寄存器的高8位經數據總線

DB7–DB0送到外部鎖存器中。AEN:地址允許輸出,高電平有效。把外部鎖存器中的高

8位地址放到系統地址總線上,與芯片輸出低

8位地址構成內存單元地址的偏移量。DMA傳送時屏蔽別的系統總線驅動器。MEMR:存儲器讀,低電平有效,輸出,只用于

DMA傳送。在

DMA讀周期期間

,用于從尋址的存儲器單元中讀出數據MEMW:存儲器寫,低電平有效,輸出,只用于

DMA傳送。在

DMA寫周期期間,用于將數據寫入所尋址的存儲單元中。lOR:I/O讀信號,低電平有效

,雙向。CPU控制總線時,它是輸入信號,CPU利用此信號讀取

8237內部寄存器的狀態(tài);當

8237控制總線時,它是輸出信號,與MEMW相配合,控制數據由外設傳送至存儲器。lOW:I/O寫信號,低電平有效,雙向。

CPU控制總線時,它是輸入信號,CPU利用它把信息寫入

8237內部寄存器(初始化);當

8237控制總線時,它是輸出信號,與

MEMR互相配合,把數據從存儲器傳送至外設。EOP:DMA傳送過程結束信號,低電平有效,雙向。當由外部向DMA控制器送一個EOP信號時,DMA傳送過程被外部強迫結束。當

DMA控制的任一通道計數結束時,會從EOP引腳輸出一個低電平,表示

DMA傳輸結束。無論是從外部終止

DMA過程

,還是內部計數結束引起

DMA過程終止,都會使

DMA控制器的內部寄存器復位。DREQ0-DREQ3:DMA請求輸入信號,有效電平可由編程設定。是外設為取得DMA服務而送到各個通道的請求信號。在固定優(yōu)先級情況下

,DREQ0優(yōu)先級最高,DREQ3優(yōu)先級最低;在優(yōu)先級循環(huán)方式下

,某通道的

DMA請求被響應后

,隨即降為最低級。8237用

DACK信號對

DREQ的響應,在信號有效之前,DREQ信號必須維持有效。DACK0-DACK3:DMAC對各個通道請求的響應信號,輸出,有效電平可由編程設定。

8237接收到通道請求后,向

CPU發(fā)出

DMA請求信號

HRQ,當

8237獲得

CPU送來的總線允許信號

HLDA后

,產生

DACK信號送到相應的外設端口,從而進入

DMA服務過程HRQ:8237給

CPU的總線請求,高電平有效。當

I/O端口要求

DMA傳送時,向

DMA發(fā)送

DREQ信號,如果相應通道屏蔽位為0,

DMA請求未被屏蔽,則

DMA控制器的

HRQ端輸出為有效電平,向

CPU發(fā)總線請求。HLDA:總線響應信號,高電平有效,是

CPU對

HRQ信號的應答信號。

CPU接收到

HRQ信號后,在當前總線周期結束之后讓出總線

,并使

HLDA信號有效。程序命令控制邏輯對

CPU送來的程序命令進行譯碼,在

DMA請求服務之前

(即芯片處于空閑周期),通過

I/O地址緩沖器送來的地址

A3-AO分別對內部寄存器進行預置;在

DMA服務期間

(即芯片處于操作周期),對方式控制字的最低兩位Dl、DO進行譯碼,以確定DMA的操作通道。A3-A0:地址總線低

4位,雙向。當

CPU控制總線時,是地址輸入線,CPU用這

4條地址線對

DMA控制器的內部寄存器進行尋址,完成對

DMA控制器的編程。當8237控制總線時,由這

4條線輸出要訪問的存儲單元的最低

4位地址。A7-A4:地址線

,輸出

,用于

DMA傳送時輸出要訪問的存儲單元低

8位地址中的高

4位。DB7_DBO:8位雙向數據線

,與系統數據總線相連。在

CPU控制總線時,CPU可以通過I/O命令從

DMA控制器中讀取內部寄存器的內容送到

DB7_DBO,以了解

8237的工作情況

,可以通過

I/O寫命令對

DM

溫馨提示

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

評論

0/150

提交評論