ACA Mod3
ACA Mod3
Bus Systems:
• System bus of a computer operates on contention basis.
• Several active devices such as processors may request use of the bus at the same time.
• Only one of them can be granted access to bus at a time
• The Effective bandwidth available to each processor is inversely proportional to
the number of processors contending for the bus.
• For this reason, most bus-based commercial multiprocessors have been small
in size.
• The simplicity and low cost of a bus system made it attractive in building
small multiprocessors ranging from 4 to 16 processors.
Backplane Bus Specification
• A backplane bus interconnects processors, data storage and
peripheral devices in a tightly coupled hardware.
• The system bus must be designed to allow communication
between devices on the devices on the bus without disturbing the
internal activities of all the devices attached to the bus.
• Timing protocols must be established to arbitrate among multiple
requests. Operational rules must be set to ensure orderly data
transfers on the bus.
• Signal lines on the backplane are often functionally grouped into
several buses .Various functional boards are plugged into slots on
the backplane. Each slot is provided with one or more connectors
for inserting the boards as demonstrated by the vertical arrows.
Data Transfer Bus
• Composed of data, address, and control lines
• Address lines broadcast data and device address
– Proportional to log of address space size
• Data lines proportional to memory word length
• Control lines specify read/write, timing, and bus error conditions
Bus Arbitration and Control
• The process of assigning control of the DTB to a requester is called
arbitration.
• The requester is called a master, and the receiving end is called a slave.
• Interrupt lines are used to handle interrupts. Dedicated lines may be used to
synchronize parallel activities among the processor modules.
• Utility lines include signals that provide periodic timing and coordinate
the power-up and power-down sequences of the system.
• The backplane is made of signal lines and connectors.
• A special bus controller board is used to house the backplane control logic,
such as the system clock driver, arbiter, bus timer, and power driver
Functional Modules
• Arbiter: functional module that performs arbitration
• Bus timer: measures time for data transfers
• Interrupter: generates interrupt request and provides status/ID
to interrupt handler
• Location monitor: monitors data transfer
• Power monitor: monitors power source
• System clock driver: provides clock timing signal on the
utility bus
• Board interface logic: matches signal line impedance, prop.
time, and termination values
Physical Limitations
• Electrical, mechanical, and packaging
limitations restrict # of boards
• Can mount multiple backplane buses on the
same backplane chassis
• Difficult to scale a bus system due to
packaging constraints
Addressing and Timing Protocols
• Two types of printed circuit boards connected to a bus: active and passive
• Active devices like processors can act as bus masters or as slaves at
different times.
• Passive devices like memories can act only as slaves
• The master can initiate a bus cycle
– Only one can be in control at a time
• The slaves respond to requests by a master
– Multiple slaves can respond
Bus Addressing
• The backplane bus is driven by a digital clock with a fixed cycle time: bus
cycle
• Backplane has limited physical size, so will not skew information
• Factors affecting bus delay:
– Source’s line drivers, destination’s receivers, slot capacitance, line
length, and bus loading effects
• Design should minimize overhead time, so most bus cycles used for
useful operations
• Identify each board with a slot number
• When slot # matches contents of high-order address lines, the board
is selected as a slave (slot addressing)
Synchronizing Timing Protocol
Broadcall and Broadcast
• Broadcall is a read operation involving multiple slaves placing
their data on the bus lines.
• Special AND or OR operations over these data are performed
on the bus from the selected slaves.
• Broadcall operation used to detect multiple interrupt sources.
• A broadcast is a write operation involving multiple slaves.
This operation is essential in implementing multi cache
coherence on the bus.
• Timing protocols are needed to synchronize master and slave
operations.
Synchronous Timing
• All bus transaction steps take place at fixed clock edges as shown
in Figure
• The clock signals are broadcast to all potential masters and slaves.
• Clock cycle time determined by slowest device on bus
• Simple, less circuitry, suitable for devices with relatively the same
speed.
Steps:
1. First data should be stabilized on the data lines
2. Master uses a data-ready pulse to initiate the data transfer
3. Slave uses a data-accept pulse to signal completion of
the information transfer
Advantages:
1. simple to control
2. requires less control circuitry
3. cost is less
Disadvantages:
1. suitable for connecting devices having relatively same speed
otherwise, slower device will slow down the entire bus operation
Asynchronous Timing
•
• Advantages: Provides freedom of variable length clock signals for
different speed devices
– No response time restrictions
– More flexible
• Disadvantage: More complex and costly
Arbitration
• Process of selecting next bus master
• Bus tenure is duration of control
• Arbitrate on a fairness or priority basis
• Arbitration competition and bus transactions take place
concurrently on a parallel bus over separate lines
• Types of arbitration
• Central arbitration
• Distributed arbitration
• Centralized bus arbitration
• Each master can send request
• All requests share the same bus-request line
• Allocation is based on the priority
• Adv: Simplicity
Additional devices can be added
• Disadv: Fixed priority
Slowness
Types of central arbiter
• Each master has its own arbiter and unique arbitration number as shown in Fig.
• Uses arbitration number to resolve arbitration competition
• When two or more devices compete for the bus, the winner is the one whose
arbitration number is the largest determined by Parallel Contention Arbitration.
• All potential masters can send their arbitration number to shared-bus request/grant
(SBRG) lines and compare its own number with SBRG number.
• If the SBRG number is greater, the requester is dismissed. At the end, the winner’s
arbitration number remains on the arbitration bus. After the current bus transaction
is completed, the winner seizes control of the bus.
• Priority based scheme
Transfer Modes
•
– Address-only transfer: no data
– Compelled-data transfer: Address transfer followed by a block of
one or more data transfers to one or more contiguous address.
– Packet-data transfer: Address transfer followed by a fixed-length
block of data transfers from set of continuous address.
– Connected: carry out master’s request and a slave’s response in a
single bus transaction
– Split: splits request and response into separate transactions
• Allow devices with long latency or access time to use bus resources more
efficiently
• May require two or more connected bus transactions
•
Cache Addressing Models
Block 1
Slot 0 Block 2
Set 0 Slot 1
Block 3
Block 4
Set 1 Slot 0
Slot 1 Block 5
Sector Mapping Cache
• Partition cache and main memory into fixed size sectors then use fully
associative search
• Use sector tags for search and block fields within sector to find block
• Only missing block loaded for a miss
• The ith block in a sector placed into the th block frame in a destined sector
frame
• Attach a valid/invalid bit to block frames
Cache Performance Issues
• Cycle count: # of m/c cycles needed for cache
access, update, and coherence
• Hit ratio: how effectively the cache can reduce
the overall memory access time
• Program trace driven simulation: present
snapshots of program behavior and cache
responses
• Analytical modeling: provide insight into the
underlying processes
Shared Memory Organizations
mod1
mod2 mod3 mod4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16