I/O子系统一般包括I/O设备及大容量存储器两类外部设备。I/O 设备是指负责与计算机的外部世界通信用的输入、输出设备,如显示终端、键盘输入、打印输出等多种类型的外部设备。大容量存储器则是指可存储打量信息的外部存储器,如磁盘、磁带、光盘等。
这些设备是通过接口连接到计算机系统上的,每个接口由一组结存器组成,这些寄存器都分配有一个称为I /O的地址编码,计算机的CPU和内存就是通过这些端口和外部设备进行通信的。
I/O接口部件一般有三种寄存器:一是用作数据缓冲的数据寄存器;二是用做保存设备和接口状态信息,提供CPU对外设进行测试的状态寄存器;三是用来保存CPU发出的命令以控制接口和设备的操作的命令寄存器。这些寄存器都分配有各自的端口号,CPU就是通过不同的端口号来选择各种外部设备的。
在80x86微机中,I/O端口编址在一个独立的地址空间中,这个I/O空间允许设置64K(65535)个8位端口或32K(32768)个16位端口,这些端口地址实际上只用了其中很少以部分,因为系统中只有几个外部设备和大容量存储设备和主机相连。对不同型号的计算机及其接口,I/O端口的编号有时不完全相同。