Bus Mastering

In computing, bus mastering is a feature supported by many bus architectures that enables a device connected to the bus to initiate transactions. It is also referred to as "first-party DMA", in contrast with "third-party DMA" where a system DMA controller (also known as peripheral processor, I/O processor, or channel) actually does the transfer.

Some types of buses allow only one device (typically the CPU, or its proxy) to initiate transactions. Most modern bus architectures, such as PCI, allow multiple devices to bus master because it significantly improves performance for general purpose operating systems. Some real-time operating systems prohibit peripherals from becoming bus masters, because the scheduler can no longer arbitrate for the bus and hence cannot provide deterministic latency.

While bus mastering theoretically allows one peripheral device to directly communicate with another, in practice almost all peripherals master the bus exclusively to perform DMA to main memory.

If multiple devices are able to master the bus, there needs to be an arbitration scheme to prevent multiple devices attempting to drive the bus simultaneously. A number of different schemes are used for this; for example SCSI has a fixed priority for each SCSI ID. PCI does not specify the algorithm to use, leaving it up to the implementation to set priorities.

Famous quotes containing the words bus and/or mastering:

    If Rosa Parks had taken a poll before she sat down in that bus in Montgomery, she’d still be standing.
    Mary Frances Berry (b. 1938)

    The difficult and risky task of meeting and mastering the new—whether it be the settlement of new lands or the initiation of new ways of life—is not undertaken by the vanguard of society but by its rear. It is the misfits, failures, fugitives, outcasts and their like who are among the first to grapple with the new.
    Eric Hoffer (1902–1983)