Bus contention

From Wikipedia, the free encyclopedia

Bus contention is an undesirable state of the bus of a computer, in which more than one memory mapped device or the CPU is attempting to place output values onto the bus at once. Normally, integrated circuits that connect to the bus are designed so that the likelihood of bus contention is nil provided that the chips are operated within their rated set-up times and so forth. However, if the bus is deliberately driven too fast, these setup times may be violated leading to contention. Contention may also arise on a system whose memory mapping is programmable, and illegal values are written to the registers controlling the mapping.

Contention can lead to erroneous operation, damage to the hardware, or in extreme cases, fusing of the bus wiring.

Bus contention is sometimes countered by buffering the output of the memory-mapped devices. However, it has been noted that when you have high impedance from one device, it will still interfere with the bus values of other devices. Currently, no standard solution exists for data-bus contention between memory devices, such as EEPROM and SRAM.