三、輸入輸出控制:輸入輸出尋址,輪詢I/O方式,中斷傳送方式,DMA傳送方式1.I/O尋址
在80X86系列CPU中,采用專門的I/O指令來對I/O端口進行輸入或輸出操作。在CPU中負責與I/O端口交換信息的寄存器只能是AL(8位數(shù)據或16位數(shù)據)。在輸入、輸出指令中,直接尋址范圍是0~255;通過DX寄存器存放外設的端口地址而間接尋址的范圍是0~65535。兩個連續(xù)的8位端口可以當作一個16位端口來使用。
在PC機中,實際上只有10條地址線(A0~A9)參加I/O端口地址譯碼,因此實際能訪問的I/O端口數(shù)為1024。相應的地址空間為000H~3FFH,其中000H~1FFH分配給系統(tǒng)板上的I/O端口,200H~3FFH分配給I/O插卡。所以當?shù)刂肪A9為高電平時,表示PC機的系統(tǒng)總線與I/O插卡交換數(shù)據;A9為低電平時,系統(tǒng)總線為主板上的I/O端口交換數(shù)據。
區(qū)分訪問內存與外設的控制信號是M/IO,當其為低電平時,表示CPU訪問I/O設備。為區(qū)分讀操作或寫操作應利用CPU相應控制信號,如IOR表示讀I/O端口,IOW表示寫I/O端口。在I/O端口的地址譯碼電路中,還必須使用AEN信號參與譯碼,AEN是DMA允許地址輸出信號,高電平時表示DAM控制器接管地址總線,只有當ANE為低電平時,才表示是CPU接管地址總線,在地址總線上送來的CPU是訪問I/O端口的地址,才允許I/O端口進行譯碼輸出。
2.計算機與外設交換信息的方式
計算機與外設交換信息的方式有4種:直接程序傳送方式、程序查詢方式、程序中斷方式和DMA(直接訪問存儲器)方式。
直接程序傳送方式適合于開關和數(shù)碼顯示器等比較簡單,可以直接向其輸入或輸出的器件。程序查詢方式適用于那些數(shù)據有一個準備與就緒過程的外設,只有外設準備好了,CPU才能進行數(shù)據的讀寫。
程序中斷方式使CPU與外設能同時并行地工作,以提高CPU的利用率。DMA方式是計算機與外設高速交換信息的方式,這種方式在DMA控制器的控制下,讓外設與內存之間不通過CPU而直接交換數(shù)據。由于DMA是用硬件實現(xiàn)這種數(shù)據交換的,所以速度很高,并且可以批量傳輸,適用于高速外設。在DMA開始之前要用程序對DMA控制器芯片進行初始化;在DMA傳輸結束后,也要用程序進行有關數(shù)據的處理工作。
3.計算機與外設之間交換信息的內容
計算機與外設之間交換信息的類型有3種:外設的狀態(tài)、計算機給外設的命令、雙方交換的信息。
4.查詢I/O方式
查詢方式的程序設計包括如下步驟:①輸入I/O設備的狀態(tài)信息;
、谂袛郔/O設備就緒否?若未就緒,則重新取設備狀態(tài)繼續(xù)判斷;③若I/O設備已就緒,則執(zhí)行I/O數(shù)據傳輸。
查詢方式所需硬件、軟件都很簡單,但浪費了大量的CPU時間。為了提高查詢方式中CPU的工作效率,可以讓CPU依次對多個外設查詢,即輪詢。
相關推薦:2010年9月計算機等級考試成績查詢時間匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |