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