Module 5 Notes - COA
Module 5 Notes - COA
COA
Module 5: I/O Organization and Peripherals
Bus: When referring to a computer, the bus also known as the address bus, data
bus, or local bus is a data connection between two or more devices connected to
the computer. For example, a bus enables a computer processor to communicate
with the memory or a video card to communicate with the memory.
Multiple-Bus Hierarchies:
If a great number of devices are connected to the bus, performance will suffer.
There are two main causes:
- Neha Rathi
In general, the more devices attached to the bus, the greater the bus length
and hence the greater the propagation delay. This delay determines the time
it takes for devices to coordinate the use of the bus. When control of the bus
passes from one device to another frequently, these propagation delays can
noticeably affect performance.
The bus may become a bottleneck as the aggregate data transfer demand
approaches the capacity of the bus. This problem can be countered to some
extent by increasing the data rate that the bus can carry and by using wider
buses (e.g., increasing the data bus from 32 to 64 bit). However, because the
data rates generated by attached devices (e.g. graphics and video controllers,
network interfaces) are growing rapidly, this is a race that a single bus is
ultimately destined to lose.
Accordingly, most computer systems use multiple buses, generally laid out in a
hierarchy. A typical traditional structure is shown in Figure. There is a local bus
that connects the processor to a cache memory and that may support one or more
local devices. The cache memory controller connects the cache not only to this
local bus, but to a system bus to which are attached all of the main memory mod-
ules.
It is possible to connected I/O controllers directly onto the system bus. A more
efficient solution is to make use of one or more expansion buses for this purpose.
An expansion bus interface buffers data transfers between the system bus and the
I/O controllers on the expansion bus. This arrangement allows the system to sup-
port a wide variety of I/O devices and at the same time insulate memory-to-
processor traffic from I/O traffic.Traditional (ISA) (with cache):
All bus master use the same line for bus request.
If the bus busy line is inactive, the bus controller gives the bus grant signal.
Bus grant signal is propagated serially through all masters starting from
nearest one.
The bus master which requires system bus, stops this signal, activates the
bus busy line and takes control of system bus.
o Advantages:
a) Simple design
b) Less no. of control lines.
o Disadvantages:
a) Priority depends on the physical location of master.
b) Propagation delay due to serially granting of bus.
c) Failure of one of the devices may fail entire system.
- Neha Rathi
B. Polling Method:-
Here all bus masters use the same line for bus request. Here controller
generates binary address for the master. (To connect 8 bus masters we need
3 address lines 23=8).
In response to a bus request, the controller “polls” the bus masters by
sending a sequence of bus master address on address lines.
When requesting master recognizes its address, it activates the bus busy
lines and takes control of the bus.
Advantage:
a) Priority flexible.
b) One module fails, entire system does not fail.
Disadvantage:
a) Adding bus masters is different as increases the number of address lines of the
circuit.
- Neha Rathi
All bus masters have their individual bus request and bus grant lines.
The controller thus knows which master has requested, so bus is granted to
that master.
Priorities of the masters are predefined so on simultaneous bus requests; the
bus is granted based on the priority, provided the bus busy line is not active.
The controller consists of encoder and decoder logic for priorities.
Advantages:
a) Bus arbitration is fast.
b) Speed independent of no. of devices connected.
Disadvantages:
a) No. of control lines required is more. Hence connecting a large number of bus
masters is difficult.