ScholarGate
助手

I/O 架构与总线

I/O 架构定义了处理器和内存如何通过总线、控制器、中断和寻址方案与外围设备通信,管理命令和数据如何流入和流出外部世界。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

I/O 架构和总线是计算机处理器和内存与外围设备交换控制信号和数据的方式和互连,包括设备寄存器的寻址以及设备请求服务的机制。

Scope

本主题涵盖输入/输出的结构:总线和点对点互连、设备控制器和寄存器、内存映射与端口映射 I/O、轮询和中断驱动 I/O,以及总线协议和仲裁。它处理设备如何连接和控制。它不包括批量传输 DMA 机制和虚拟化(I/O 虚拟化和 DMA)以及存储介质本身(辅助存储设备)。

Core questions

  • 处理器如何寻址和控制外围设备?
  • 内存映射 I/O 和端口映射 I/O 有何不同?
  • 轮询和中断驱动 I/O 在效率上如何比较?
  • 总线和点对点互连如何仲裁和传输数据?

Key concepts

  • 设备控制器和寄存器
  • 内存映射 I/O
  • 端口映射 I/O
  • 轮询
  • 中断和中断处理程序
  • 总线和互连
  • 总线仲裁
  • I/O 寻址

Key theories

中断驱动 I/O
处理器不是持续轮询设备,而是继续进行其他工作,并在设备需要注意时通过中断得到通知,这大大提高了慢速或间歇性操作设备的效率。

Mechanisms

每个设备都由一个控制器管理,该控制器公开寄存器,处理器通过内存映射地址或特殊 I/O 端口读取和写入这些寄存器。处理器可以轮询这些寄存器,或者更高效地启用中断,以便设备在准备就绪时发出信号。总线连接组件并在多个主设备之间仲裁访问,而现代系统越来越多地使用高速点对点串行链路而不是共享并行总线。

Clinical relevance

I/O 架构决定了系统与存储、网络和其他设备通信的效率。中断驱动的 I/O 使处理器能够进行有用的工作,而从共享总线到 PCI Express 等快速串行互连的演变,为现代存储、网络和加速器硬件所需的带宽奠定了基础。

History

早期系统使用程序化 I/O 和带有中央仲裁的共享并行总线。中断机制和 ISA 和 PCI 等标准化总线提高了灵活性和性能。以 PCI Express 为代表的高速点对点串行互连的转变,解决了共享并行总线的带宽和信号限制。

Key figures

  • John L. Hennessy
  • David A. Patterson
  • Abraham Silberschatz

Related topics

Seminal works

  • hennessy2019
  • silberschatz2018

Frequently asked questions

内存映射 I/O 和端口映射 I/O 有什么区别?
内存映射 I/O 将设备寄存器地址分配到常规内存地址空间内,因此普通的加载和存储指令可以访问它们。端口映射 I/O 使用单独的地址空间和特殊的指令进行设备访问。内存映射 I/O 在现代架构中更为常见。
为什么对于大多数设备来说,中断比轮询更好?
轮询会浪费处理器周期,因为它会重复检查设备是否准备就绪。中断允许处理器执行其他工作,并且只在设备实际需要服务时才得到通知,这对于慢速或响应不可预测的设备来说效率更高。

Methods for this concept

Related concepts