总线仲裁
此条目翻译自英语维基百科,需要相关领域的编者协助校对翻译。 |
总线仲裁(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
这是一篇计算机科学小作品。您可以通过编辑或修订扩充其内容。 |