跳至內容

匯流排仲裁

維基百科,自由的百科全書

匯流排仲裁(Bus mastering)是許多計算機匯流排支持的一項功能,它使連接到匯流排的設備能夠啟動直接內存訪問(DMA) 事務。它也被稱為第一方 DMA ,與第三方 DMA 不同,第三方 DMA實際上由系統DMA 控制器執行其傳輸功能。

某些類型的匯流排只允許一個設備(通常是CPU或其代理)啟動事務。大多數現代匯流排架構,例如PCI ,允許多個設備作為匯流排控制器,因為這能夠顯著提高通用作業系統的性能。一些實時作業系統禁止外設成為匯流排控制器之一,因為在此條件下,調度程序無法進行匯流排仲裁,可能會增加不可控的延遲

雖然匯流排仲裁理論上允許一個外圍設備直接與另一個設備通信,但實際上幾乎所有外圍設備都專門通過控制匯流排以執行對RAM的直接訪問。

如果多個設備能夠控制匯流排,則需要有一個匯流排仲裁方案來防止多個設備試圖同時控制匯流排。為此使用了許多不同的方案,例如,SCSI對每個 SCSI ID 都設有一個固定的優先級。PCI 沒有指定要使用的算法,具體的優先級視不同實現而異。

參見

參考文獻