計算機組成:I/O
- I/O概述
- I/O系統構成
- I/O接口
- I/O端口
- 兩種編址區分
- I/O數據傳送控制方式
- 程序查詢方式
- 獨占查詢
- 中斷控制方式
- 硬件判優法(向量中斷法)
- 多重中斷嵌套
- DMA控制方式
- 三種DMA方式
- DMA操作步驟
- 內部異常和中斷
- 異常和中斷的關系
I/O概述
I/O系統構成
一個最基礎I/O系統的構成:CPU、I/O接口、硬件(鼠標)。
最主要學習:一個硬件、兩個模型,硬件就是指I/O接口,兩個模型,一個是中斷模型:外設與CPU;另一個是DMA模型:外設與內存(磁盤與主存)。
上面的圖里,一個I/O接口對應了不同的外設,這種結構也是可能有的,外設是同樣的外設,例如:好多個打印機。但是408考的應該是一個外設對應一個I/O接口。
I/O接口
例如打印機和I/O接口,打印機肯定有自己的時鐘,并不是受到CPU控制的,所以為異步方式。
- I/O接口組成
例子:計算機與打印機相連,計算機發送一個“開始打印”的命令給打印機,這條指令實際上是由一串二進制代碼構成的,通過數據線傳入到狀態/控制寄存器中。隨即I/O接口進行譯碼,將譯碼以后的控制信號發送給外設控制邏輯。
地址譯碼和I/O控制: 用于對要訪問的I/O寄存器號進行譯碼,對于控制字譯碼生成控制信號。
控制線: 傳輸讀/寫的命令;并且CPU和外設是異步方式,控制線上還會傳輸握手信號、寄存器清0等。
問題:控制線是可以雙向傳輸的么?答案:是的,CPU給它發命令,它給CPU發中斷信號。
- 舉個栗子
- 問題1:地址線上傳送的是打印機的編址?
非也,408內基本上是一個外設對應一個I/O接口,那么CPU選擇外設是通過傳送不同的I/O接口中的端口地址來“間接選擇”的。 - 命令字就是控制指令,不是指我們IR中的指令吧?
不是捏,但是有點兒像思密達。
詳解“狀態字”: 類似PSW內的狀態信息,包含的內容有:是否已經開機啊,是否有紙張啊,是否有墨水啊。
I/O端口
I/O接口又名“設備控制器”,I/O端口就是I/O接口中的寄存器,例如:數據緩沖寄存器、控制/狀態寄存器。CPU編址是對I/O接口中的寄存器進行編址。
- 統一編址
- 獨立編址
獨立編址下,就不能用load/store指令進行訪問外設,而必須用專門的輸入/輸出指令訪問I/O端