1. Bus issues
a. Bus - a set of real or virtual lines that connect a system's units.
i. Real - several separate lines for power, data, address, control.
ii. Virtual - a limited set of lines used for multiple purposes.
b. Bus shortcomings.
i. Latency - any delay between issuing an action and the completion. In
a bus - delay that occurs because of distance and intermediate gates.
ii. Propagation delay - an accumulating delay caused when a signal must
pass through a gate.
iii. Skew - signals traveling in a set of lines will arrive at destination
at different times because lines will not have identical lengths.
iv. Attenuation - the loss of the strength of a signal as it travels.
Digital signals tend to round, flatten, and spread.
2. Speed and Distance
a. Bus short comings are ampified by two factors.
b. A signal travels approx. 1 foot in 1 ns.
c. 1 MHZ = 1000 ns, 100 MHZ = 10ns, 1 GHz = 1ns.
d. Speed - faster signal changes (higher data speeds) cause skew,
propagation delays and latency to become more obvious.
e. Distance - greater distances cause shew, latency, and attenuation.
3. Bus classes
a. Synchronous bus
i. Clock is provided to signal to all devices when a valid information
transfer can occur (@, data, control).
ii. Simplifies control and interaction between devices.
iii. Requires that devices function a defined synchronous order.
b. Asynchronous bus
i. No clock.
ii. Additional control signals needed to guarantee proper interaction.
iii. Devices interact only when and if necessary.
iv. Timing information often embedded in data (lowers data throughput).
4. Control bus
a. Control bus provides a variety of signals that provide for proper
interaction of units.
b. Common controls (not all found on all systems).
i. Data direction - specified the direction of data movement between master
and slave.
ii. Memory/io - indicates whether address specified identifies primary
memory or an I/O device.
iii. Bus arbitration (request/grant)- provides correct interaction on
multi-master systems.
iv. Status - used by slave units to indicate their current state or
acknowledge an action by master.
v. Interrupt - used to request the attention from master.
vi. Clock - provides for synchronization of system.
vii. Misc - example - reset - causes the system to reboot.
5. Interrupts
a. Interrupts are used by a client (slave) device to request attention
and action from the master (cpu) unit.
b. Interrupts are generally prioritized.
i. An attention request from a hard drive is more time sensitive than
one from a keyboard.
c. Priority of interrupts are often handled by a dedicated circuit which
delivers a general interrupt request to the master with enough data to
determine interrrupt source.
d. Interrupts come in two forms
i. Standard or maskable (IRQ)
ii. Non-maskable
6. Interrupts
a. Maskable or plain interrupts. (IRQ)
i. Represents conditions that affect activity but not system integrity.
(1) can be ignored.
(2) can be delayed.
(3) can be processed.
b. Non-maskable. (NMI)
i. must be processed (usually represent catastrophic condition).
(1) generated by software.
(a) invalid commands.
(b) illegal memory accesses.
(2) generated by hardware.
(a) hardware failure.
(b) real time critical data transfers.