總線仲裁
此條目翻譯自英語維基百科,需要相關領域的編者協助校對翻譯。 |
總線仲裁(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
這是一篇電腦科學小作品。您可以透過編輯或修訂擴充其內容。 |