Chapter 2 System Buses
Chapter 2 System Buses
Chapter 2 System Buses
Architecture
Chapter 2
System Busses
By Bhushan Inje
Outline
• Computer Components
• Computer Function
• Instruction Fetch and Execute
• Interrupts
• I/O Function
• Interconnection Structures
• Bus Interconnection
• Bus Structure
• Multiple-Bus Hierarchies
• Elements of Bus Design
Von Neumann architecture
• Two steps:
• Fetch cycle
• Execute cycle
Fetch Cycle
• Instruction fetch (if): Read instruction from its memory location into the processor.
• Operand address calculation (oac): If the operation involves reference to an operand in memory
or available via I/O, then determine the address of the operand.
• Operand fetch (of): Fetch the operand from memory or read it in from I/O.
• Operand store (os): Write the result into memory or out to I/O.
Interrupts
• Mechanism by which other modules (e.g. I/O) may interrupt normal
sequence of processing
• Program
• e.g. overflow, division by zero
• Timer
• Generated by internal processor timer
• Used in pre-emptive multi-tasking
• I/O
• from I/O controller
• Hardware failure
• e.g. memory parity error
Interrupts Cont…
• Interrupts are provided primarily as a way to improve
processing efficiency.
• For example, most external devices are much slower than the processor.
Suppose that the processor is transferring data to a printer using the
instruction cycle scheme After each write operation, the processor must
pause and remain idle until the printer catches up.
• Disable interrupts
• Processor will ignore further interrupts whilst processing one interrupt
• Interrupts remain pending and are checked after first interrupt has been
processed
• Interrupts handled in sequence as they occur
• Define priorities
• Low priority interrupts can be interrupted by higher priority interrupts
• When higher priority interrupt has been processed, processor returns to
previous interrupt
Multiple Interrupts - Sequential
Multiple Interrupts – Nested
INTERCONNECTION STRUCTURES
• A computer consists of a set of components or modules of three
basic types (processor, memory, I/O) that communicate with each
other.
• In effect, a computer is a network of basic modules. Thus, there must
be paths for connecting the modules.
• The collection of paths connecting the various modules is called the
interconnection structure.
• The design of this structure will depend on the exchanges that
must be made among modules.
Computer Modules
• Figure suggests the types of exchanges that are needed by indicating the major
forms of input and output for each module type.
• Memory:
• Typically, a memory module will consist of N words of equal length.
• Each word is assigned a unique numerical address (0, 1, …, N - 1).
• A word of data can be read from or written into the memory.
• The nature of the operation is indicated by read and write control signals.
• The location for the operation is specified by an address.
Computer Modules Cont..
• I/O module:
• From an internal (to the computer system) point of view, I/O is functionally
similar to memory.
• Further, an I/O module may control more than one external device.
• We can refer to each of the interfaces to an external device as a port and give
each a unique address (e.g., 0, 1, …, M - 1).
Computer Modules Cont..
• Processor:
• The processor reads in instructions and data, writes out data after
processing, and uses control signals to control the overall operation of the
system.
• It also receives interrupt signals.
Computer Modules Cont..
• The preceding list defines the data to be exchanged. The
interconnection structure must support the following types of
transfers:
• Memory to processor: The processor reads an instruction or a unit of
data from memory.
• Processor to memory: The processor writes a unit of data to memory.
• I/O to processor: The processor reads data from an I/O device via an I/O
module.
• Processor to I/O: The processor sends data to the I/O device.
• I/O to or from memory: For these two cases, an I/O module is allowed
to exchange data directly with memory, without going through the
processor, using
direct memory access.
Buses Interconnection
• There are a number of possible interconnection systems
• Single and multiple BUS structures are most common
• e.g. Control/Address/Data bus (PC)
Bus Structure
• Data Bus
• Control Bus
Data Bus
• Carries data
• Remember that there is no difference between “data” and “instruction” at
this level
• Interrupt request
• Clock signals
Bus Interconnection Scheme
• Memory write: causes data on the bus to be written into the addressed location
• Memory read: causes data from the addressed location to be placed on the bus
• I/O write: causes data on the bus to be output to the addressed I/O port
• I/O read: causes data from the addressed I/O port to be placed on the bus
• Transfer ACK: indicates that data have been accepted from or placed on the bus
• Bus request: indicates that a module needs to gain control of the bus
• Bus grant: indicates that a requesting module has been granted control of the bus
• Interrupt ACK: acknowledges that the pending interrupt has been recognized
1) Bus Types
2) Method of Arbitration
3) Timing
4) Bus Width
5) Data Transfer Type
6) Block Data Transfer
Bus Types
A) Dedicated
•A line is permanently assigned either to one function.
•An example of functional dedication is the use of separate
dedicated address and data line.
B) Multiplexed
•Using the same lines for multiple purpose.
•Eg:- Address and data information may be transmitted over the
same set of lines.
•At the beginning of the data transfer the address is placed on
the bus and the address valid line is activated.
•The address is then remove from the same bus line is used for
data transfer.
C) Physical Dedication
•The use of multiple buses,each of which connects to only a
subset of modules.
Bus Arbitration
•Determining who can use the bus at a particular time.
A) Centralized
•A single hardware device called the bus controller or arbiter
allocate time on the bus.
•The device may be a separate or a part of a processor.
B) Distributed
•There is no centralized controllers.
•Each module contains assess control logic and the modules act
together.
Methods of Centralized BUS Arbitration –
•
There are three bus arbitration methods:
• (i) Daisy Chaining method –
• Advantages –
• The user can add more devices anywhere along the chain, up to a
certain maximum value.
• Disadvantages –
• This method does not favor any particular device and processor.
• If one device fails then entire system will not stop working.
• Disadvantages –