Encyclopedia > Bus mastering

  Article Content

Bus mastering

Bus mastering is a feature supported by some bus architectures[?] that enables a controller connected to the bus to communicate directly with other devices on the bus without going through the CPU. Most modern bus architectures, including PCI, support bus mastering because it improves performance.

The bus master is the device in a computer which is driving the address bus and bus control signals at some point in time. In a simple architecture only the CPU (which is single) can be bus master but this means that all communications between Input and Output (I/O) devices must involve the CPU. More sophisticated motherboard architectures allow other capable devices (or multiple CPUs) to take turns at controlling the bus. This allows a network controller card, for example, to access a disk controller directly while the CPU performs other tasks which do not require the bus, such as fetching code from its cache. Direct Memory Access is a simple form of bus mastering where the I/O device is set up by the CPU to read from or write to one or more immediate blocks of memory and then signal to the CPU when it has done so. Full bus mastering (or "First Party DMA", "bus mastering DMA") implies that the I/O device is capable of performing more complex sequences of operations without CPU intervention. This will normally mean that the I/O device contains its own processor or microcontroller. A microcontroller is a microprocessor on a single integrated circuit intended to operate as an embedded system. As well as a CPU, a microcontroller typically includes small amounts of RAM and PROM and timers and I/O ports. Any device can drive data onto the data bus when the CPU reads from that device, but only the bus master drives the address bus and control signals.

All Wikipedia text is available under the terms of the GNU Free Documentation License

  Search Encyclopedia

Search over one million articles, find something about almost anything!
  Featured Article

... power, from the Greek language turannos. In Classical Antiquity[?] it did not always have inherently negative implications, it merely designated anyone who assumed power ...

This page was created in 21.7 ms