關於裝置控制器和 I O 通道的理解

2022-06-26 05:57:10 字數 875 閱讀 4579

裝置控制器是cpu 與 i/o 裝置之間的介面,它接收 cpu 發來的命令,去控制 i/o 裝置工作,使 cpu 從繁雜的裝置控制事務中解放出來。

當 cpu 要操作 i/o 裝置時,首先要啟動這個裝置,一方面將啟動命令傳送給裝置控制器,另一方面通過位址線將 i/o 裝置的位址發給裝置控制器,裝置控制器的 i/o 邏輯對收到的位址進行解碼,再根據所譯出的命令對相應的裝置進行操作。

由此看來,i/o 裝置控制器的作用是解碼器+執行器

cpu 對 i/o 的操作命令並不是只有一條,而是多條的,因此操作一次 i/o 裝置,首先 cpu 向裝置控制器傳送一條條命令,裝置控制器接收到一條條命令,然後解碼、執行。因此裝置控制器一定程度上使 cpu 從 i/o 控制上解脫了出來,但並未完全解脫。這就有了 i/o 通道的產生。

關於 i/o 通道的工作流程詳見這篇博文。

i/o 通道實際上是一種特殊的處理機,並且其與 cpu 共享記憶體。

當 cpu 要操作某個 i/o 裝置時,它並不需要一條條將 i/o 指令(稱為通道程式)傳送給裝置控制器,只需要向通道發出 i/o 指令,指明這一條條指令在記憶體的什麼地方,並且指明要操作的是哪個裝置,然後 cpu 就可以去忙別的事情了。

i/o 通道接收要 cpu 傳送來的這些資訊之後,就可以從記憶體中找到並執行這個通道程式,即傳送啟動命令和一條條 i/o 命令給裝置控制器;當對 i/o 裝置的操作完成之後,通道向 cpu 發出中斷訊號,告訴 cpu 相應的操作已經完成。

由此看出,i/o 通道作為一種特殊的處理機(實際上就相當於早期的外圍機),承擔了原來 cpu 處理 i/o 操作的一部分功能,使得 cpu 從 i/o 操作種解放出來,cpu 和對 i/o 操作可以並行。

在引入 i/o 通道之後,i/o 系統結構形成了四級結構:

裝置驅動與控制器 I O

控制器是對硬體發起控制命令,負責給系統提供介面,想要正常使用該硬體功能系統中必須安裝相應驅動 i o裝置 cpu和儲存器並不是作業系統唯一需要管理的資源,i o裝置也是非常重要的一環。i o裝置一般包括兩個部分 裝置控制器和裝置本身。控制器 是查詢主機板上的一塊晶元或一組晶元 硬碟,網絡卡,音效卡等...

裝置與控制器之間的介面

通常,裝置並不是直接與cpu進行通訊,而是與裝置控制器通訊。所以,在i o裝置中應含有與裝置控制器間的介面 該介面中有三種型別的訊號 1 資料訊號線 2 控制訊號線 3 狀態訊號線 裝置控制器的主要功能 控制乙個或多個i o裝置,來實現i o裝置和計算機之間的資料交換。它是cpu與i o裝置之間的介...

07 Linux USB主機控制器和裝置驅動

移植 ohci s5p 驅動 拷貝drivers usb host 目錄下的 ohci exynos.c 為 ohci s5p.c。然後將所有 exynos 字串替換成 s5p,由於有些地方是 exynos4,所以還需要將 s5p4 替換為 s5p。最後還需要修改下標頭檔案,將 include修改為...