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 contention
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|Condition where multiple devices on a computer bus attempt to use it at the same time}} {{distinguish|resource contention}} '''Bus contention''' is an undesirable state in [[computer design]] where more than one device on a [[bus (computing)|bus]] attempts to place values on it at the same time. Bus contention is the kind of [[Contention (telecommunications)|telecommunication contention ]] that occurs when all communicating devices communicate directly with each other through a single shared channel, and contrasted with "network contention" that occurs when communicating devices communicate indirectly with each other, through point-to-point connections through routers or bridges.<ref> Theodoros Konstantakopoulos, Jonathan Eastep, James Psota, and Anant Agarwal. [http://groups.csail.mit.edu/cag/raw/documents/Konstantakopoulos-Energy-2007.pdf "Energy Scalability of On-Chip Interconnection Networks in Multicore Architectures"]. </ref>{{fv|reason=This is a primary source that does not offer definitions|date=September 2017}} Bus contention can lead to erroneous operation, excess power consumption, and, in unusual cases, permanent damage to the hardware—such as burning out a [[MOSFET]].<ref name="dunton"> Ian Sinclair; John Dunton. [https://books.google.com/books?id=yHEvBQAAQBAJ "Practical Electronics Handbook"] 2013. section "Three-state control". p. 208. </ref> ==Description== Most bus architectures requires devices sharing a bus to follow an arbitration protocol carefully designed to make the likelihood of contention negligible.<ref>{{citation|title = Structured Computer Organization|first = Andrew|last = Tanenbaum|author-link = Andrew Tanenbaum|publisher = [[Prentice Hall]]|pages = 121–124|year = 1990|bibcode = 1990sco..book.....T|edition = 3rd|isbn = 0-13-852872-1}}.</ref> However, when devices on the bus have logic errors, manufacturing defects, or are driven beyond their design speeds, arbitration may break down and contention may result. Contention may also arise on systems which have a programmable [[Memory-mapped I/O|memory mapping]] when illegal values are written to the [[hardware register|registers]] controlling the mapping. Most small-scale computer systems are carefully designed to avoid bus contention on the [[system bus]]. They use a single device, called [[bus arbiter]], that controls which device is allowed to drive the bus at each instant, so bus contention never happens in normal operation. The standard solution to bus contention between memory devices, such as [[EEPROM]] and [[Static random-access memory|SRAM]], is the [[three-state bus]]<ref name="dunton" /> with a bus arbiter. Some networks, such as [[Token Ring]], are also designed to avoid bus contention, so bus contention never happens in normal operation. Most networks are designed with hardware robust enough to tolerate occasional bus contention on the network. [[CAN bus]], [[ALOHAnet]], [[Ethernet]], etc., all experience occasional bus contention in normal operation, but use some protocol (such as [[Multiple Access with Collision Avoidance]], [[carrier-sense multiple access with collision detection]], or [[automatic repeat request]]) to minimize the times that contention occurs, and to re-send data that was corrupted in a [[packet collision]]. == See also == * [[Network on a chip]] * [[Parallel communication]] * [[Serial communication]] == References == {{reflist}} {{Computer-bus}} [[Category:Computer buses]]
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)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation
(
edit
)
Template:Computer-bus
(
edit
)
Template:Distinguish
(
edit
)
Template:Fv
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)