1. 程式人生 > >輸入輸出系統(四)

輸入輸出系統(四)

介面可以是硬體與硬體之間, 可以是軟體與軟體之間; 也可以是硬體與軟體之間。 這篇文章主要講主機與I/O裝置的介面。

一、 為什麼要用介面?

1, 前面已經說過計算機內部採用的是匯流排結構, 每個外部裝置都有其自己的地址, 主機通過地址來確認這次資訊傳輸是傳給哪個地址, 介面首先就要實現裝置的選擇, 確認哪個裝置參與此次運輸。--  實現裝置的選擇

2, 有些裝置速度很快(比如:記憶體), 有些裝置速度很慢(比如:鍵盤), 要通過介面進行資料緩衝達到資料匹配的目的。 --- 實現速度緩衝使達到速度匹配

3, 介面與主機採用並行傳輸,  外設與介面可能採用的是序列傳輸; 要在接口裡面完成資料格式的轉換。 -- 實現資料格式的轉換

4, 主機與I/O裝置工作電平可能不一致, 通過介面來轉換電平, 是主機與I/O裝置協調執行。-- 實現電平的轉換

5, 主機將控制命令傳輸到介面當中, 介面將這個命令傳輸到外設當中。-- 控制命令的傳輸

6, 反映裝置的狀態(“忙”、“就緒”、“中斷請求”)等。-- 反映裝置的工作狀態

二、介面的功能與組成

如上六條所示, 

1, 匯流排連線方式的I/O介面電路

裝置選擇線:就是地址線; 它是單向的,

資料線:資料傳輸線路, 雙向。 條數與介面型別有關係

命令線:由主機發出, 經過譯碼之後可以讓裝置做某事。

狀態線:單向。

一般介面至少都包含四個基本功能,如下圖:

裝置的狀態標記是使用一系列的觸發器來實現的, 裝置一共有三種狀態:忙、就緒、中斷請求。 “忙”狀態是使用工作觸發器

來標記的。 “就緒”狀態是使用完成觸發器來標記的 。“中斷請求”狀態是使用中斷請求觸發器INTR來標記的, 中斷請求是外部

裝置向CPU發出的, 如果CPU此時處理的事情優先順序小於中斷請求的, 那麼執行響應中斷, 執行中斷裡面的。 但是如果此時

CPU處理的事情的優先順序比中斷請求高的話, 那麼就暫時不響應中斷; 所以就有一個遮蔽觸發器MASK; 遮蔽此時的中斷請求。

由上面的功能和組成可以知道I/O介面的基本電路:

三、介面分類

1, 按資料傳輸方式

序列傳輸

並行傳輸

2, 按功能選擇的靈活性

可程式設計

不可程式設計

3, 按通用性

通用介面

專用介面

4, 按資料傳輸的控制方式

程式查詢方式

程式中斷方式

DMA方式