В вычислениях , управление шиной - это функция, поддерживаемая многими архитектурами шины, которая позволяет устройству, подключенному к шине, инициировать транзакции прямого доступа к памяти (DMA). Он также называется DMA первой стороны , в отличие от DMA третьей стороны, когда системный контроллер DMA фактически выполняет передачу.
Некоторые типы шин позволяют только одному устройству (обычно ЦП или его прокси) инициировать транзакции. Большинство современных шинных архитектур, таких как PCI , позволяют управлять несколькими устройствами по шине, поскольку это значительно повышает производительность операционных систем общего назначения . Некоторые операционные системы реального времени запрещают периферийным устройствам становиться мастерами шины, потому что планировщик больше не может выполнять арбитраж для шины и, следовательно, не может обеспечить детерминированную задержку.
Хотя управление шиной теоретически позволяет одному периферийному устройству напрямую связываться с другим, на практике почти все периферийные устройства управляют шиной исключительно для выполнения прямого доступа к памяти в основную память .
Если несколько устройств могут управлять шиной, должна быть схема арбитража шины , чтобы предотвратить попытки нескольких устройств управлять шиной одновременно. Для этого используется ряд различных схем; например, SCSI имеет фиксированный приоритет для каждого идентификатора SCSI. PCI не определяет используемый алгоритм, оставляя его на усмотрение реализации для установки приоритетов.
Смотрите также
Рекомендации
- Как работает Bus Mastering - Tweak3D
- Что такое мастеринг шины? - Группа пользователей Brevard