Hardware Reference
In-Depth Information
putting the memory on a separate bus from the I/O devices so they do not have to
compete for access to the bus.
Decentralized bus arbitration is also possible. For example, a computer could
have 16 prioritized bus request lines. When a device wants to use the bus, it asserts
its request line. All devices monitor all the request lines, so at the end of each bus
cycle, each device knows whether it was the highest-priority requester, and thus
whether it is permitted to use the bus during the next cycle. Compared to cent-
ralized arbitration, this arbitration method requires more bus lines but avoids the
potential cost of the arbiter. It also limits the number of devices to the number of
request lines.
Another kind of decentralized bus arbitration, shown in Fig. 3-41, uses only
three lines, no matter how many devices are present. The first bus line is a wired-
OR line for requesting the bus. The second bus line is called BUSY and is asserted
by the current bus master. The third line is used to arbitrate the bus. It is daisy
chained through all the devices. The head of this chain is held asserted by tying it
to the power supply.
Bus request
Busy
V
CC
Arbitration
line
In Out
In Out
In Out
In Out
In Out
1
2
3
4
5
Figure 3-41. Decentralized bus arbitration.
When no device wants the bus, the asserted arbitration line is propagated
through to all devices. To acquire the bus, a device first checks to see if the bus is
idle and the arbitration signal it is receiving, IN , is asserted. If IN is negated, it may
not become bus master, and it negates OUT .If IN is asserted, however, and the de-
vice wants the bus, the device negates OUT , which causes its downstream neighbor
to see IN negated and to negate its OUT . Then all downstream devices all see IN
negated and correspondingly negate OUT . When the dust settles, only one device
will have IN asserted and OUT negated. This device becomes bus master, asserts
BUSY and OUT , and begins its transfer.
Some thought will reveal that the leftmost device that wants the bus gets it.
Thus, this scheme is similar to the original daisy chain arbitration, except without
having the arbiter, so it is cheaper, faster, and not subject to arbiter failure.
3.4.6 Bus Operations
Up until now, we have discussed only ordinary bus cycles, with a master (typi-
cally the CPU) reading from a slave (typically the memory) or writing to one. In
fact, several other kinds of bus cycles exist. We will now look at some of these.
 
 
Search WWH ::




Custom Search