总线仲裁

总线仲裁（Bus mastering）是许多计算机总线支持的一项功能，它使连接到总线的设备能够启动直接内存访问(DMA) 事务。它也被称为第一方 DMA ，与第三方 DMA 不同，第三方 DMA实际上由系统DMA 控制器执行其传输功能。

某些类型的总线只允许一个设备（通常是CPU或其代理）启动事务。大多数现代总线架构，例如PCI ，允许多个设备作为总线控制器，因为这能够显著提高通用操作系统的性能。一些实时操作系统禁止外设成为总线控制器之一，因为在此条件下，调度程序无法进行总线仲裁，可能会增加不可控的延迟。

虽然总线仲裁理论上允许一个外围设备直接与另一个设备通信，但实际上几乎所有外围设备都专门通过控制总线以执行对RAM的直接访问。

如果多个设备能够控制总线，则需要有一个总线仲裁方案来防止多个设备试图同时控制总线。为此使用了许多不同的方案，例如，SCSI对每个 SCSI ID 都设有一个固定的优先级。PCI 没有指定要使用的算法，具体的优先级视不同实现而异。

 参见 

 主从模式

 参考文献 

 How Bus Mastering Works  - Tweak3D
 What is bus mastering?- Brevard User's Group

Category:主板
Category:计算机总线