I/O接口

I/O接口:又稱I/O控制器(I/O Controller)、設備控制器,負責協調主機與外部設備之間的數據傳輸。
I/O控制器多種多樣🧑🏽,也會制定相應的標准,如:用于控制USB設備的IO接口、用于控制SATA 3.0硬盤的IO接口等
(I/O控制器就是一塊芯片👲🏻💾,常被集成在主板上)

I/O接口的作用

數據緩沖:通過數據緩沖寄存器(DBR)達到主機和外設工作速度的匹配⛪️;
錯誤或狀態監測🏄🏿:通過狀態寄存器反饋設備的各種錯誤、狀態信息🎖🛌,供CPU查用;
控制和定時:接收從控制總線發來的控制信號、時鐘信號;
數據格式轉換🐯:串-並、並-串等格式轉換;
與主機和設備通信:實現主機一I/O接口—I/O設備之間的通信。

設備側的 外部接口:外部接口通過接口電纜與外設相連💅,外部接口的數據傳輸可能是串行方式,因此I/O接口需具有串/並 轉換功能🤹🏼。
主機側的 內部接口:內部接口與系統總線相連,實質上是與內存、CPU相 連🧎♀️➡️🥽。數據的傳輸方式只能是並行傳輸。

I/O接口的工作原理

①發送命令字到I/O控制寄存器,向設備發送命令(需要驅動程序的協助)⁉️;
②從狀態寄存器讀取狀態字,獲得設備或I/O控制器的狀態信息👩🏿🚀;
③讀/寫數據:從數據緩沖寄存器發送或讀取數據,完成主機與外設的數據交換。
接口與端口

I/O端口是指接口電路中可以被CPU直接訪問的寄存器。

I/O端口及其編址
統一編址
把 I/O端口當做存儲器的單元進行地址分配,用統一的訪存指令就可以訪問 I/O端口👩🏿⚕️,又稱存儲器映射方式。 靠不同的地址碼區分內存和I/O設備,I/O地址要求相對固定在地址的某部分。
優點🏫:
不需要專門的輸入/輸出指令,所有訪存指令都可直接訪問端口,程序設計靈活性高端口有較大的編址空間讀寫控制邏輯電路簡單。
缺點:
端口占用了主存地址空間⏏️🧔🏿,使主存地址空間變小外設尋址時間長(地址位數多,地址譯碼速度慢)。
獨立編址
I/O端口地址與存儲器地址無關,獨立編址CPU需要設置專門的輸入/輸出指令訪問端口,又稱**I/O映射方式
**。 靠不同的指令區分內存和I/O設備🛴。
優點🫲🏿:
使用專用I/O指令🕓,程序編制清晰;
I/O端口地址位數少🧑🏽💼,地址譯碼速度快;
I/O端口的地址不占用主存地址空間。
缺點:
I/O指令類型少👨👦,一般只能對端口進行傳送操作,
程序設計靈活性差
需要CPU提供存儲器讀/寫💥、I/O設備讀/寫兩組控制
信號,增加了控制邏輯電路的複雜性
I/O接口的類型
按數據傳送方式可分為
並行接口🔍:一個字節或一個字所有位同時傳送。
串行接口🫱:一位一位地傳送。 注:這裡所說的數據傳送方式指的是外設和接口一側的傳送方式,而在主機和接口一側,數據總是並行傳送的。接口要完成數據格式轉換。
按主機訪問I/O設備的控制方式可分為
程序查詢接口
中斷接口
DMA接口
123
按功能選擇的靈活性可分為
可編程接口
不可編程接口



鏈接🧗🏻♀️:https://blog.csdn.net/weixin_43848614/article/details/127193111
作者:何為xl