All Topics  
Bus mastering

 

   Email Print
   Bookmark   Link






 

Bus mastering



 
 
In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, bus mastering is a feature supported by many bus architecture
Computer bus

In computer architecture, a bus is a subsystem that transfers data between computer components inside a computer or between computers. Each bus defines its set of connectors to physically plug devices, cards or cables together....
s that enables a device connected to the bus to initiate transactions. Also called "First-party DMA", to contrast it with Third-party DMA, the situation where the system DMA controller is actually doing the transfer.

Some types of bus allow only one device (typically the CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
, or its proxy) to initiate transactions. Most modern bus architectures, including PCI
Peripheral Component Interconnect

The PCI Local Bus , or Conventional PCI, is a computer bus for attaching computer hardware in a computer. These devices can take either the form of an integrated circuit fitted onto the motherboard itself, called a planar device in the PCI specification or an expansion card that fits into a socket....
, allow multiple devices to bus master because it significantly improves performance for general purpose operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s.






Discussion
Ask a question about 'Bus mastering'
Start a new discussion about 'Bus mastering'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, bus mastering is a feature supported by many bus architecture
Computer bus

In computer architecture, a bus is a subsystem that transfers data between computer components inside a computer or between computers. Each bus defines its set of connectors to physically plug devices, cards or cables together....
s that enables a device connected to the bus to initiate transactions. Also called "First-party DMA", to contrast it with Third-party DMA, the situation where the system DMA controller is actually doing the transfer.

Some types of bus allow only one device (typically the CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
, or its proxy) to initiate transactions. Most modern bus architectures, including PCI
Peripheral Component Interconnect

The PCI Local Bus , or Conventional PCI, is a computer bus for attaching computer hardware in a computer. These devices can take either the form of an integrated circuit fitted onto the motherboard itself, called a planar device in the PCI specification or an expansion card that fits into a socket....
, allow multiple devices to bus master because it significantly improves performance for general purpose operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s. Some real-time operating system
Real-time operating system

A Real-Time Operating System is a Computer multitasking operating system intended for real-time computing applications. Such applications include embedded systems , industrial robots, spacecraft, industrial control , and scientific research equipment....
s 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
Direct memory access

Direct memory access is a feature of modern computers and microprocessors that allows certain hardware subsystems within the computer to access system Computer storage for reading and/or writing independently of the central processing unit....
 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
SCSI

Small Computer System Interface, or SCSI , is a set of standards for physically connecting and transferring data between computers and peripheral devices....
 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.