A computer “bus” is a route by which data is transmitted between the various devices in the computer. Bus mastering is a process by which components connected on the same system bus can communicate directly with one another without the need for a middleman. In general, bus mastering tends to improve performance by conserving system resources and shortening the time it takes for instructions to be passed through the system.
On modern computers, bus mastering is available mainly through the Peripheral Component Interconnect (PCI) bus. On the motherboard of the computer, the PCI slots are located on the bottom half of the physical board. The PCI bus includes the PCI-Express (PCI-E) slot or slots, into which the video card or cards of the system is inserted. Other devices mounted on the PCI bus include the network and sound cards. Other uses for bus mastering focus on the Integrated Drive Electronics (IDE) and Advanced Technology Attachment (ATA) channels.
The primary use for bus mastering enables the video card to obtain direct access to the computer’s random access memory (RAM). Under normal circumstances, if the video card wants to utilize system memory, it first must operate by communicating with the Central Processing Unit (CPU). Without bus mastering, the CPU works as a middleman to convey the instructions between the two components. With bus mastering, the CPU is taken out of the equation, improving response time and conserving CPU cycles, thus improving performance.
Although most modern systems support bus mastering, the real-world performance benefit can be inapplicable. This is because the video card of the system, in many cases, has no need to convey information to and from the RAM in the system. Modern video cards contain on-board RAM for video-specific uses, obviating the need to communicate with the general system RAM in the computer. Some video cards contain several gigabytes of RAM on the card itself, meaning that any additional RAM is superfluous.
Bus mastering can be of questionable value on the PCI bus, but its use on the IDE/ATA buses is much more beneficial. The primary devices attached to the IDE/ATA buses include the optical drives and hard drives in the computer; these devices contain little or no memory of their own. Therefore, data transfer between these devices and general system RAM is substantial, because any program or file loaded from the hard drive or optical disc must first be placed into system RAM before it can be used by the computer.