1.1 輸入輸出系統發展
1、早期
- 分散鏈接
- 串型工作
2、接口模塊與DMA階段
- 總線鏈接
- CPU和IO設備 並行工作
3、具有通道結構
4、具有IO處理機階段
1.2 輸入輸出系統的組成
一、I/O軟件
1、I/O指令 CPU指令的一部分
操作碼 |命令碼|設備碼
操作碼相當於標準,這個執行是IO,命令碼是操作碼
2、通道指令 通道自身的指令
通道有自己的控制器甚至存儲器
通道能夠執行由通道指令組成的通道程序
指出數組的收地址、傳送字數、操作命令
二、I/O硬件
包含設備與接口 設備通過接口連接在總線上面,如果採用通道,設備連接設備控制器,設備控制器連接通道
1.3 I/O設備與主機的聯繫方式
一、I/O設備編址方式
1、統一編址
把IO設備地址看作是內存地址一部分,如果輸入輸出指令,地址碼部分地址落入IO地址部分,則這次輸入輸出操作就是針對IO設備進行的,可以直接用存數、取數指令對IO設備進行操作。
2、不統一編址
在內存地址空間之外單獨設置地址空間,輸入輸出指令不能使用原有存數取數指令,需要使用專門的IO指令
二、設備選址
用設備選擇電路識別是否被選中
三、傳送方式
1、串行
2、並行
四、聯絡方式
1、立即響應
對於一些結構簡單設備,接收到或者輸入數據時可以直接響應,eg:LED燈
2、異步工作採用應答信號
- 並行 爲了進行並行操作,IO接口與IO設備之間有由多條數據線組成的類似總線結構,來完成數據並行的輸入輸出,雙方之間還要採用應答信號
- 串行
3、同步工作採用同步時標
五、I/O設備與主機的連接方式
1、輻射式連接
2、總線連接
便於增刪設備
1.4 I/O設備與主機信息傳送的控制方式
一、程序查詢方式
在IO設備準備階段,CPU一直在等待階段,沒有執行其他指令或者其他工作,CPU效率極低
二、程序中斷方式
CPU被一定程度的從輸入輸出中解放出來
在IO進行準備時,CPU不進行查詢,只有當外部設備開始進行信息交換時,CPU回暫停現行程序,爲輸入輸出進行服務
外部設備準備好接收或者輸入設備後,會向cpu提出中斷請求,
三、DMA方式
- 主存和IO之間有一條直接數據通道
- 不中斷現行程序
- 週期挪用(週期竊取)
CPU發出啓動IO指令,IO設備在DMA控制器的控制下完成數據準備,當數據準備好後,由DMA控制器發出DMA請求,佔用總線使用權,佔用一個存取週期,進行外部設備和內存的數據交換,在這一個週期中CPU不能使用總線對內存進行訪問。
2.1 接口
一、接口作用
- 實現設備的選擇
- 實現數據緩衝達到速度匹配
- 實現數據串-並格式轉換
- 實現電平轉換
- 傳送控制命令
- 反應設備狀態
二、接口的功能和組成
1、總線連接方式的I/O接口電路
2、I/O接口的基本組成
3.1 程序查詢方式
一、程序查詢流程
1、查詢流程
單個設備
測試指令- 轉移指令- 數據傳送指令
多個設備
需要把參與傳輸的設備根據優先級進行排序
二、程序流程
首先要保存寄存器的內容,保存內容後要設置計數器的值,爲了控制傳輸數據的量
二、程序查詢方式的接口電路
設備選擇電路來確認設備是否參加傳輸,設備選擇信號是整個電路的選擇信號,只有這個信號有效,IO接口電路纔會工作,若SEL有效且啓動命令有效,IO接口開始工作
- CPU通過地址線給出外部設備地址,設備選擇電路把自己的設備地址和地址線上的地址進行比較,如果相同,說明啓動的是連接在接口電路上的設備,SEL有效,其同命令也有效,對兩個狀態標記進行置位或者復位
- cpu發出命令,設備還沒開始工作則則D爲0,B爲1,表示設備開始工作,處於忙的狀態
- 設備接收到B的標記信號後以及啓動命令後,開始工作,通過數據線保存到DBR中,此時設備工作結束,通過狀態線向接口電路送入工作結束信號
- 此時D爲1,表示數據已經準備就緒,B爲0,設備工作已結束
- CPU通過數據線把數據進行讀入