接口中通常都設置了一些用于數據、控制和狀態緩存的寄存器,這些寄存器就是能夠讓CPU直接訪問的I/O端口。為了便于CPU對外部設備的快速識別和選擇,必須對接口中所有可訪問的寄存器(I/O端口)進行編址。常用的編址方式主要有兩種,一種是I/O端口與主存儲器統一的編址方式,另一種是I/O端口與主存儲器彼此獨立的編址方式。

1.統一編址方式
統一編址方式是將主存地址空間分出一部分地址用于對I/O端口進行編址,也就是I/O端口使用了原本屬于主存地址對其進行編址。此方式無需設置專門的輸入輸出指令,只要用一般的訪問主存的指令就可以訪問I/O端口。由于這種方法是將I/O端口映射到主存空間的某些地址上,所以又稱為存儲映射I/O方式。
在統一編址方式下,I/O端口訪問和主存訪問指令相同,所以它的保護機制可由分段或分頁存儲管理來實現,而無需另外專門的保護機制。這種存儲器映射方式給編程提供了非常大的靈活性。任何對內存存取的指令都可用來訪問位于主存空間中的I/O端口,并且所有有關主存的尋址方式都可用于I/O端口的尋址。例如,可用MOV指令實現寄存器和I/O端口的數據傳送,可用AND、OR或TEST等指令直接操作I/O接口中的控制寄存器或狀態寄存器。此外,由于外設和I/O寄存器的數目幾乎不受限制,這種編制方式還便于擴大系統吞吐量,這在大型控制或數據通信系統等特殊場合很有用。但是,統一編址使I/O占用了一部分主存空間的地址,主存空間減少了。而且,由于在識別I/O端口時全部地址線都需參與地址譯碼,使譯碼電路變得復雜,譯碼所需時間變長,使執行外設尋址的操作時間相對增長了。
2.獨立編址方式
獨立編址方式則是將I/O端口單獨進行編址,使I/O端口和存儲空間的地址空間互相獨立。采用這種編址方式,CPU訪問I/O端口時必須使用專用的I/O指令。當CPU使用I/O指令時,其指令的地址字段直接或間接的指示出端口地址。這些端口地址被接口電路中的地址譯碼器接收并且進行譯碼,符合者就是CPU所指定的外設寄存器,該外設寄存器將被CPU訪問。目前以x86系列微處理器為核心的微機一般都采用的是I/O獨立編址方式,其I/O地址空間由216(64K)個地址編號組成,每個編號可以尋址一個8位的I/O端口,兩個連續的8位端口可看成一個16位端口,四個連續的8位端口則可作為一個32位端口處理。所以,64K個I/O地址空間最多能提供64K個8位端口、32K個16位端口、16K個32位端口等總容量不超過64KB的不同端口的組合。