????????
目錄
一、I/O 系統的發展
1. 早期階段
2. 接口模塊和 DMA 階段
3. 通道結構階段
4. 處理機階段
二、I/O 系統的組成
1. I/O 軟件
2. I/O 硬件
三、I/O 設備
1. I/O 設備分類
2. I/O 設備的組成
????????在計算機中,除 CPU 和主存兩大模塊之外,第三個重要部分就是 輸入輸出模塊,也叫做 輸入輸出系統,簡寫為 I/O 系統。
????????I/O 系統的主要功能,就是對不同類型數據信息的輸入輸出,進行高效的控制管理。
一、I/O 系統的發展
????????I/O 系統的結構,從簡單到復雜,發展主要經歷了四個階段。
1. 早期階段
????????早期的輸入輸出設備比較少,計算機的結構是以 CPU 為中心的分散連接方式;所有 I/O 設備都直接連接到 CPU ,與主存交換數據必須通過 CPU。
????????這樣,每個 I/O 設備都必須配備一套獨立的邏輯電路與 CPU 連接,線路復雜、難以維護和擴展;而且輸入輸出數據會打斷 CPU 運行,效率比較低。
2. 接口模塊和 DMA 階段
????????之后計算機的連接方式發展出了總線結構,I/O 設備通過接口模塊與總線相連,通過總線進行數據傳輸。
????????通常,在接口模塊中都會設有 數據通路 和 控制通路。數據可以通過接口起到緩沖作用,也可以完成串并轉換;控制通路則可以傳送 CPU 發來的控制命令,或者向 CPU 發送來自 I/O 設備的反饋信號。許多接口還可以滿足中斷請求處理的要求,使 I/O 設備和 CPU 可以并行工作。
????????為了進一步提高 CPU 的效率,又出現了 直接存儲器存取(Direct Memory Access,DMA)技術。在 I/O 設備和主存之間增加一條專門的數據通路,讓它們可以直接交換信息,而無需經過 CPU。
????????在現代的小型或微型計算機中,一般都會采用接口模塊和 DMA 的接口來實現 I/O 設備和主存的數據交換。
3. 通道結構階段
????????對于大中型計算機,I/O 設備數量龐大、數據傳輸非常頻繁,采用 DMA 方式需要為每個設備都配置專用的 DMA 接口,CPU 也需要對眾多的 DMA 接口進行管理;控制非常復雜、工作效率也會受到很大影響。
????????因此在大中型計算機中,采用 I/O 通道 的方式來進行數據交換。
????????通道 可以看作一種從屬于 CPU 的專用處理器,專門負責管理 I/O 設備,實現主存和 I/O 設備之間的數據交換。采用通道結構的計算機,I/O 設備的數據傳輸就全部交給通道來處理,提高了 CPU 的資源利用率。
4. 處理機階段
????????I/O 系統進一步發展,出現了 I/O 處理機。I/O 處理機基本獨立于主機工作,又稱為 外圍處理機。 具有 I/O 處理機的 I/O 系統與 CPU 的并行性更高,進一步解放了 CPU ,提升了 CPU 的工作效率。
二、I/O 系統的組成
????????I/O 系統主要由兩部分組成: I/O 軟件 和 I/O 硬件。
1. I/O 軟件
????????I/O 系統軟件的主要功能包括:
-
將用戶編寫的程序輸入主機;
-
將運算結果傳送給用戶;
-
協調 I/O 系統和主機的工作。
????????不同結構的 I/O 系統采用的軟件技術不同。
????????生活中常見的計算機一般采用接口模塊方式,指令系統中需要設置專門的 I/O 指令;調用 I/O 指令并配合系統軟件中的管理程序,就可以實現 I/O 設備與主機的協調工作。
????????如果采用通道管理方式,除 I/O 指令外,還需要有 通道指令 和相應的操作系統。
(1)I/O 指令
????????I/O 指令也是一種機器指令,它的指令格式與普通的機器指令類似。
????????上面的 I/O 指令格式中,分為三個字段:
-
操作碼:指明當前是一條 I/O 指令;
-
命令碼:指明 I/O 設備的具體操作;
-
設備碼:用來對多臺 I/O 設備進行區分和選擇,相當于設備地址。
????????其中,命令碼一般會包括以下幾種情況:
-
將數據從 I/O 設備輸入主機;
-
將數據從主機輸出至 I/O 設備;
-
狀態測試。檢測 I/O 設備的狀態(”忙“ 還是 ”準備就緒“),來確定接下來是否可以進行數據交換;
-
形成具體的操作命令。例如磁盤驅動器的磁頭讀扇區、寫扇區、尋找磁道等等。
(2)通道指令
????????通道指令是具有通道的 I/O 系統專門設置的指令,又稱為 通道控制字(Channel Control Word,CCW),是通道用來執行 I/O 操作的指令。
????????這類指令位數一般會比較多,主要功能有:
-
指明要交換的一組數據在主存中的首地址;
-
指明要傳送數據的字節數,或者在主存中的末地址;
-
指明所選設備的設備碼,以及要完成的具體操作的命令碼。
????????對于采用了通道結構的計算機,CPU 執行的 I/O 指令就只負責啟、停 I/O 設備,查詢通道和設備狀態以及對通道進行操作控制;而具體的數據傳輸則交給通道來完成。
2. I/O 硬件
????????I/O 系統的硬件組成是多種多樣的,不同結構的 I/O 系統硬件組成也會有所不同。
-
采用接口模塊結構的 I/O 系統,硬件主要包括 接口模塊 和 I/O 設備 兩大部分。I/O 設備通過接口連接到主機;
-
采用通道或處理機結構的 I/O 系統,硬件主要包括 通道/處理機 、設備控制器 和 I/O 設備;一個通道/處理機可以和多個設備控制器相連,一個設備控制器又可以控制多臺同類型的設備。
此外,連接各模塊的數據通路(I/O 總線)也是 I/O 硬件的一部分。
三、I/O 設備
????????計算機硬件系統中,主要由三部分組成:CPU 、主存儲器和輸入輸出設備。輸入輸出設備和它們對應的接口模塊,就構成了輸入輸出系統。
????????CPU 與主存合稱 主機,主機之外的大部分硬件設備都可以稱為 I/O 設備,統稱為 外部設備,簡稱 外設。
1. I/O 設備分類
????????從應用場景和功能上看,I/O 設備可以分為三大類:
(1)人機交互設備
????????實現用戶(操作者)和計算機之間信息交流的設備,又可以分為兩類:
-
輸入設備:將人們熟悉的信息形式轉換為機器能識別的信息形式,如鍵盤、鼠標、攝像頭等。
-
輸出設備:將機器運算結果轉換為人們熟悉的信息形式,如打印機、顯示器等。
(2)信息存儲設備
????????系統軟件和各種有用信息,都需要進行存儲保留,這就需要能夠持久化保存的外部存儲設備。這類存儲設備一般可以作為計算機的輔助存儲器,比如磁盤、光盤、固態硬盤等。
(3)機-機通信設備
????????多臺計算機之間、或者是計算機和其它系統之間如果需要進行通信,必須借助專門的通信設備。比如調制解調器(Modem),A/D、D/A 轉換設備等。
2. I/O 設備的組成
????????I/O 設備的基本組成如下:
-
設備控制器用來控制 I/O 設備的具體動作,不同的 I/O 設備需要完成的控制功能也不同;
-
機、電、磁、光部件是 I/O 設備的工作部件,與具體功能有關;內部結構涉及到機、電、磁、光工作原理;
-
現代 I/O 設備一般還會通過 I/O 接口與主機相連。