Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Bus mastering
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|System for multiple bus access}} {{no footnotes|date=March 2013}} In [[computing]], '''bus mastering''' is a feature supported by many [[Bus (computing)|bus architecture]]s that enables a device connected to the bus to initiate [[direct memory access]] (DMA) transactions. It is also referred to as '''first-party DMA''', in contrast with [[third-party DMA]] where a system [[DMA controller]] actually does the transfer. Some types of buses allow only one device (typically the [[Central processing unit|CPU]], or its proxy) to initiate transactions. Most modern bus architectures, such as [[Peripheral Component Interconnect|PCI]], allow multiple devices to bus master because it significantly improves performance for general-purpose [[operating system]]s. Some [[real-time operating system]]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 to [[main memory]]. If multiple devices are able to master the bus, there needs to be a '''bus 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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)