CPU與外部設(shè)備、存儲器的連接和數(shù)據(jù)交換都需要通過接口設(shè)備來實現(xiàn),前者被稱為I/O接口,而后者則被稱為存儲器接口。存儲器通常在CPU的同步控制下工作,接口電路比較簡單;而I/O設(shè)備品種繁多,其相應(yīng)的接口電路也各不相同,因此,習(xí)慣上說到接口只是指I/O接口。一、I/0接口的概念1.接口的分類I/O接口的功能是負責(zé)實現(xiàn)CPU通過系統(tǒng)總線把I/O電路和外圍設(shè)備聯(lián)系在一起,按照電路和設(shè)備的復(fù)雜程度,I/O接口的硬件主要分為兩大類:1)I/O
CPU與外部設(shè)備、存儲器的連接和數(shù)據(jù)交換都需要通過接口設(shè)備來實現(xiàn),前者被稱為I/O接口,而后者則被稱為存儲器接口。存儲器通常在CPU的同步控制下工作,接口電路比較簡單;而I/O設(shè)備品種繁多,其相應(yīng)的接口電路也各不相同,因此,習(xí)慣上說到接口只是指I/O接口。
一、I/0接口的概念
1.接口的分類
I/O接口的功能是負責(zé)實現(xiàn)CPU通過系統(tǒng)總線把I/O電路和 外圍設(shè)備聯(lián)系在一起,按照電路和設(shè)備的復(fù)雜程度,I/O接口的硬件主要分為兩大類:
1)I/O接口芯片
這些芯片大都是集成電路,通過CPU輸入不同的命令和參數(shù),并控制相關(guān)的I/O電路和簡單的外設(shè)作相應(yīng)的操作,常見的接口芯片如定時/
計數(shù)器、中斷控制器、DMA控制器、并行接口等。
2)I/O接口控制卡
3)有若干個集成電路按一定的邏輯組成為一個部件,或者直接與CPU同在主板上,或是一個插件插在系統(tǒng)總線插槽上。
按照接口的連接對象來分,又可以將他們分為串行接口、并行接口、鍵盤接口和磁盤接口等。
2.接口的功能
由于計算機的外圍設(shè)備品種繁多,幾乎都采用了機電傳動設(shè)備,因此,CPU在與I/O設(shè)備進行數(shù)據(jù)交換時存在以下問題:
速度不匹配:I/O設(shè)備的工作速度要比CPU慢許多,而且由于種類的不 同,他們之間的速度差異也很大,例如硬盤的傳輸速度就要比打印機快出很多。
時序不匹配:各個I/O設(shè)備都有自己的定時控制電路,以自己的速度傳 輸數(shù)據(jù),無法與CPU的時序取得統(tǒng)一。
信息格式不匹配:不同的I/O設(shè)備存儲和處理信息的格式不同,例如可以分為串行和并行兩種;也可以分為二進制格式、ACSII編碼和BCD編碼等。
信息類型不匹配:不同I/O設(shè)備采用的信號類型不同,有些是數(shù)字信號,而 有些是模擬信號,因此所采用的處理方式也不同。
基于以上原因,CPU與外設(shè)之間的數(shù)據(jù)交換必須通過接口來完成,通常接口有以下一些功能:
1)設(shè)置數(shù)據(jù)的寄存、緩沖邏輯,以適應(yīng)CPU與外設(shè)之間的速度差異,接口通常由一些寄存器或RAM芯片組成,如果芯片足夠大還可以實現(xiàn)批量數(shù)據(jù)的傳輸;
2)能夠進行信息格式的轉(zhuǎn)換,例如串行和并行的轉(zhuǎn)換;
3)能夠協(xié)調(diào)CPU和外設(shè)兩者在信息的類型和電平的差異,如電平轉(zhuǎn)換驅(qū)動器、數(shù)/;蚰#瘮(shù)轉(zhuǎn)換器等;
4)協(xié)調(diào)時序差異;
5)地址譯碼和設(shè)備選擇功能;
6)設(shè)置中斷和DMA控制邏輯,以保證在中斷和DMA允許的情況下產(chǎn)生中斷和DMA請求信號,并在接受到中斷和DMA應(yīng)答之后完成中斷處理和DMA傳輸。
3.接口的控制方式
CPU通過接口對外設(shè)進行控制的方式有以下幾種:
1)程序查詢方式
這種方式下,CPU通過I/O指令詢問指定外設(shè)當(dāng)前的狀態(tài),如果外設(shè)準備就緒,則進行數(shù)據(jù)的輸入或輸出,否則CPU等待,循環(huán)查詢。
這種方式的優(yōu)點是結(jié)構(gòu)簡單,只需要少量的硬件電路即可,缺點是由于CPU的速度遠遠高于外設(shè),因此通常處于等待狀態(tài),工作效率很低。
2)中斷處理方式
在這種方式下,CPU不再被動等待,而是可以執(zhí)行其他程序,一旦外設(shè)為數(shù)據(jù)交換準備就緒,可以向CPU提出服務(wù)請求,CPU如果響應(yīng)該請求,便暫時停止當(dāng)前程序的執(zhí)行,轉(zhuǎn)去執(zhí)行與該請求對應(yīng)的服務(wù)程序,完成后,再繼續(xù)執(zhí)行原來被中斷的程序。
中斷處理方式的優(yōu)點是顯而易見的,它不但為CPU省去了查詢外設(shè)狀態(tài)和等待外設(shè)就緒所花費的時間,提高了CPU的工作效率,還滿足了外設(shè)的實時要求。但需要為每個I/O設(shè)備分配一個中斷請求號和相應(yīng)的中斷服務(wù)程序,此外還需要一個中斷控制器(I/O接口芯片)管理I/O設(shè)備提出的中斷請求,例如設(shè)置中斷屏蔽、中斷請求優(yōu)先級等。
此外,中斷處理方式的缺點是每傳送一個字符都要進行中斷,啟動中斷控制器,還要保留和恢復(fù)現(xiàn)場以便能繼續(xù)原程序的執(zhí)行,花費的工作量很大,這樣如果需要大量數(shù)據(jù)交換,系統(tǒng)的性能會很低。
3)DMA(直接存儲器存。﹤魉头绞
DMA最明顯的一個特點是它不是用軟件而是采用一個專門的控制器來控制
內(nèi)存與外設(shè)之間的數(shù)據(jù)交流,無須CPU介入,大大提高CPU的工作效率。