每個連線到I/O匯流排上的設備都有自己的I/O地址集,即所謂的I/O連線埠(I/O port)。
基本介紹
- 中文名:IO連線埠
- 外文名:io port
- 含義:連線到I/O匯流排上的設備的I/O地址
- 連線埠個數:65,536個
在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,還需要為顯示卡,音效卡等設備提供物理地址的映射。