简答题
什么是端口?I/O端口的编址方式有哪几种?各有何特点?在8086/8088系统中采用哪种方法?在PC系列微机中端口的地址范围多大?
正确答案
端口是可以单独选通、独立工作的接口电路。常用的编址方式主要有I/O端口与存储器统一编址和I/O端口与存储器分开独立编址。
I/O统一编址是把每一个端口视为一个存储器单元,并赋以相应的存储器地址,所有访问内存的指令同样适于I/O端口。存储器映像式编址的主要优点:一是对I/O口的操作与对存储器的操作完全相同,可大大增强系统的I/O功能,使访问外设端口的操作方便、灵活;二是可以使外设数目或I/O寄存器数目几乎不受限制,而只受总存储容量的限制,从而大大增加系统的吞吐率;三是使微机系统的读写控制逻辑较简单。主要缺点:一是占用了存储器的一部分地址空间,使可用的内存空间减少;二是访问内存的指令一般较长,执行速度较慢;三是为了识别一个I/O端口,必须对全部地址线译码,这样不仅增加了地址译码电路的复杂性,而且使执行外设寻址的操作时间相对增长。I/O独立编址是将I/O端口单独编址而不和存储空间合在一起,即两者的地址空间是互相独立的。处理器对I/O端口和存储单元的不同寻址是通过不同的读写控制信号IOR,IOW和MEMR,MEMW来实现的。采用这种编址方式,CPU访问I/O端口必须采用专用I/O指令,所以也叫专用I/O指令方式。这种编址方式的优点是I/O端口地址不占用存储器地址空间;I/O端口地址译码较简单,寻址速度较快;使用专用I/O指令和真正的存储器访问指令有明显区别,可使程序编制得清晰,便于理解和检查。缺点是专用I/O指令类型少,使程序设计灵活性较差;使用I/O指令一般只能在累加器和I/O端口间交换信息,处理能力不如存储器映像方式强。在8086/8088系统中两种方法都采用,主要采用I/O独立编址。
在PC系列微机中只使用低10位地址线寻址I/O端口,故端口的地址范围为0000H-03FFH。