複製鏈接
請複製以下鏈接發送給好友

IO端口

鎖定
IO端口(io port),計算機術語,是指每個連接到I/O總線上的設備都有自己的I/O地址集。
中文名
IO端口
外文名
io port
含    義
連接到I/O總線上的設備的I/O地址
端口個數
65,536個

IO端口系統介紹

IBM PC體系結構中,I/O地址空間一共提供了65,536個8位的I/O端口。可以把兩個連續的8位端口看成一個16位端口,但是這必須是從偶數地址開始。同理,也可以把兩個連續的16位端口看成一個32位端口,但是這必須是從4的整數倍地址開始。有四條專用的彙編語言指令可以允許CPU對I/O端口進行讀寫:它們分別是in、ins、out和outs。在執行其中的一條指令時,CPU使用地址總線選擇所請求的I/O端口,使用數據總線在CPU寄存器和端口之間傳送數據。
I/O端口還可以被映射到物理地址空間:因此,處理器和I/O設備之間的通信就可以直接使用對內存進行操作的彙編語言指令(例如,mov、and、or等等)。現代的硬件設備更傾向於映射I/O,因為這樣處理的速度較快,並可以和DMA結合起來使用。也就解釋了為什麼32位系統名義上支持4G內存,實際上你裝上4G內存條在機器上是不行了。因為訪問不到4G,還需要為顯卡,聲卡等設備提供物理地址的映射。

IO端口設計目的

系統設計者的主要目的是提供對I/O編程的統一方法,但又不犧牲性能。為了達到這個目的,每個設備的I/O 端口都被組織成一組專用寄存器。CPU把要發給設備的命令寫入控制寄存器(control register),並從狀態寄存器(status register)中讀出表示設備內部狀態的值。CPU還可以通過讀取輸入寄存器(input register)的內容從設備取得數據,也可以通過向輸出寄存器(output register)中寫入字節而把數據輸出到設備。