【答案解析】[解析] I/O端口指接口中程序可访问的寄存器:有数据端口、命令端口和状态端口。通常用户程序不直接访问这些I/O端口,而是由操作系统中的驱动程序访问的。为了使指令能够访问到I/O端口,需要对它们进行编号,称为I/O端口编址。
I/O端口编址有独立编址和统一编址两种方式。
在独立编址方式下,对I/O端口单独编号,使它们称为独立的I/O地址空间,此时,I/O端口号可能和主存单元号相同,因此,从地址形式上无法区分指令访问的是I/O端口还是主存单元,需要通过不同的操作码来区分,因而需要提供专门的I/O指令来控制对I/O端口的访问。
在统一编址方式下,I/O端口与主存地址空间统一编号,将主存地址空间分出一部分地址编号给I/O端口进行编号,因此,也称为存储器映射方式。因为主存单元和I/O端口在同一地址空间,所以,主存单元号和I/O端口号肯定不会相同,它们分属两个不同的地址范围,因此,通过指令给出的地址范围就可以确定访问的是主存单元还是I/O端口,因而指令系统无须专门的I/O指令。
主要考点总结见下表。
{{B}}主要考点{{/B}}
|
|
独立编址方式 |
统一编址方式 |
| 如何区分主存单元还是I/O端口 |
操作码 |
地址 |
| 指令系统是否需要专门的I/O指令 |
有 |
无 |
[注意]
I/O接口并不是I/O端口。I/O接口中的一些寄存器,才称为I/O端口。考生尤其需要看清楚。