I/O 地址
I/O 地址是计算机的 CPU 用于与 外设 通信的数字标识符。计算机上的每个 I/O 端口,例如 USB 端口、以太网 接口和 HDMI 端口,都有一个唯一地址,使其区别于其他所有端口。不同的 I/O 地址可以帮助 CPU 确定每个外设,并直接与它们交互。
当计算机 CPU 上运行的程序需要直接与外设通信时,它会将命令和 数据 发送到该外设的 I/O 地址。外设可以通过在同一地址向计算机的 CPU 发回信息来进行响应。例如,打印文档时,CPU 会将文档和打印设置转发到打印机的 I/O 地址,打印机随后可以处理该请求并打印文档。
早期计算机通常根据 I/O 端口的类型,使用固定地址映射 I/O 端口——例如,计算机第一个串行端口的标准地址始终是 0x03F8。这些地址与系统内存分开,并且需要使用专用的 CPU 指令来向 I/O 设备发送数据以及从设备接收数据。现代计算机现在使用一种称为内存映射 I/O 的更高效方法,该方法从与主系统内存相同的地址空间中为 I/O 端口分配地址。共享地址空间后,任何访问系统内存的 CPU 指令也可以访问 I/O 设备。由于现在由操作系统管理 I/O 地址,应用程序可以使用系统 API 与外设交互,而不必将数据发送到特定的预定义地址——这大幅提高了可靠性,并减少了冲突发生的频率。
测试你的知识