Difference between revisions of "Race"

From Computer History Wiki
Jump to: navigation, search
m (+target section)
(An OK start)
 
Line 1: Line 1:
#Redirect [[Meta-stability#Latches and arbiters]]
+
A '''race''' condition occurs when two events are very close in time, and their interaction can cause problems. Races can occur in both [[hardware]] and [[software]].
 +
 
 +
Hardware races can occur when two [[synchronous]] [[signal]]s which interact flow through different numbers of [[gate]]s before their interaction; this can mean that changes in their values are not quite synchronized, and as a result can create [[glitch]]es in the circuit's output. Such races can be handled with [[Karnaugh map]]s, though.
 +
 
 +
Of more concern are the interaction of two [[asynchronous]] signals in a [[circuit]] with feedback, such as when they are inputs to a [[flip-flop]]. If they both change at the 'right' (sic) time, it can drive the circuit into a [[meta-stability|meta-stable]] state. Extensive theoretical work has shown that there is no 'solution' to this problem; designers can only minimize the problem.
 +
 
 +
==See also==
 +
 
 +
* [[Bus Arbitration on the Unibus and QBUS]] - A classic example of the latter kind of hardware race
 +
 
 +
[[Category: Theory]]

Latest revision as of 15:02, 12 February 2020

A race condition occurs when two events are very close in time, and their interaction can cause problems. Races can occur in both hardware and software.

Hardware races can occur when two synchronous signals which interact flow through different numbers of gates before their interaction; this can mean that changes in their values are not quite synchronized, and as a result can create glitches in the circuit's output. Such races can be handled with Karnaugh maps, though.

Of more concern are the interaction of two asynchronous signals in a circuit with feedback, such as when they are inputs to a flip-flop. If they both change at the 'right' (sic) time, it can drive the circuit into a meta-stable state. Extensive theoretical work has shown that there is no 'solution' to this problem; designers can only minimize the problem.

See also