0% found this document useful (0 votes)
22 views

William Stallings Computer Organization and Architecture

The document provides an overview of computer organization and architecture, covering topics such as computer components, the instruction cycle, interrupts, buses, and interconnection structures. It describes the fetch-execute cycle, program flow control, interrupt handling, and how different computer components are connected via buses.

Uploaded by

Jannat Happy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

William Stallings Computer Organization and Architecture

The document provides an overview of computer organization and architecture, covering topics such as computer components, the instruction cycle, interrupts, buses, and interconnection structures. It describes the fetch-execute cycle, program flow control, interrupt handling, and how different computer components are connected via buses.

Uploaded by

Jannat Happy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

William Stallings

Computer Organization
and Architecture

Chapter 4
A Top-Level View of Computer
Function and Interconnection
Outline
• Computer components
• Computer function
• Interconnection structures
• Bus interconnection
Computer Components
• All computer designs are based on concepts
developed by John von Neumann at the
Institute for Advanced Studies
• Refers to as the von Neumann architecture
—Data and instructions are stored in a single read–
write memory
—The contents of this memory are addressable by
location
—Execution occurs in a sequential fashion (unless
explicitly modified) from one instruction to the next
Hardware and Software Approaches
Computer Components:
Top Level View
Instruction Cycle
• Two steps:
—Fetch
– Processor reads from memory
—Execute
– Repeating process of instruction fetch and execution
Fetch Cycle
• Program Counter (PC) holds address of next
instruction to fetch
• Processor fetches instruction from memory
location pointed to by PC
• Increment PC
—Unless told otherwise
• Instruction loaded into Instruction Register (IR)
• Processor interprets instruction and performs
required actions
Execute Cycle
• Processor-memory
—data transfer between processor and main memory
• Processor I/O
—Data transfer between CPU and I/O module
• Data processing
—Some arithmetic or logical operation on data
• Control
—Alteration of sequence of operations
—e.g. jump
• Combination of above
Example of Program Execution
Instruction Cycle -
State Diagram
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
Program Flow Control
Interrupt Cycle

• Added to instruction cycle


• Processor checks for interrupt
— Indicated by an interrupt signal
• If no interrupt, fetch next instruction
• If interrupt pending:
— Suspend execution of current program
— Save context
— Set PC to start address of interrupt handler routine
— Process interrupt
— Restore context and continue interrupted program
Transfer of Control via Interrupts
Instruction Cycle with Interrupts
Program Timing
Short I/O Wait
Program Timing
Long I/O Wait

The user
program
reaches the
2nd write
call before
the I/O
operation is
done by
first call
Instruction Cycle (with Interrupts) -
State Diagram
Multiple Interrupts
• 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
Time Sequence of Multiple Interrupts
Connecting
• All the units must be connected
• Different type of connection for different type of
unit
—Memory
—Input/Output
—CPU
Computer Modules
Memory Connection
• Receives and sends data
• Receives addresses (of locations)
• Receives control signals
—Read
—Write
—Timing
Input/Output Connection(1)
• Similar to memory from computer’s viewpoint
• Output
—Receive data from computer
—Send data to peripheral
• Input
—Receive data from peripheral
—Send data to computer
Input/Output Connection(2)
• Receive control signals from computer
• Send control signals to peripherals
—e.g. spin disk
• Receive addresses from computer
—e.g. port number to identify peripheral
• Send interrupt signals (control)
CPU Connection
• Reads instruction and data
• Writes out data (after processing)
• Sends control signals to other units
• Receives (& acts on) interrupts
Buses
• There are a number of possible interconnection
systems
• Single and multiple BUS structures are most
common
• e.g. Control/Address/Data bus (PC)
• e.g. Unibus (DEC-PDP)
What is a Bus?
• A communication pathway connecting two or
more devices
• Usually broadcast
• Often grouped
—A number of channels in one bus
—e.g. 32 bit data bus is 32 separate single bit channels
• Power lines may not be shown
Data Bus
• Carries data
—Remember that there is no difference between “data”
and “instruction” at this level
• Width is a key determinant of performance
—8, 16, 32, 64 bit
Address bus
• Identify the source or destination of data
• e.g. CPU needs to read an instruction (data)
from a given location in memory
• Bus width determines maximum memory
capacity of system
—e.g. 8080 has 16 bit address bus giving 64k address
space
Control Bus
• Control and timing information
—Memory read/write signal
—Interrupt request
—Clock signals
Bus Interconnection Scheme
Big and Yellow?
• What do buses look like?
—Parallel lines on circuit boards
—Ribbon cables
—Strip connectors on mother boards
– e.g. PCI
—Sets of wires
Single Bus Problems
• Lots of devices on one bus leads to:
—Propagation delays
– Long data paths mean that co-ordination of bus use can
adversely affect performance
– If aggregate data transfer approaches bus capacity
• Most systems use multiple buses to overcome
these problems
Traditional (ISA)
(with cache)

I/O transfers to and from


the main memory across
the system bus do not
interfere with the
processor’s activity
High Performance Bus
High speed bus brings high
demand devices into closer
integration with the processor
Bus Types
• Dedicated
—Separate data & address lines
• Multiplexed
—Shared lines
—Address valid or data valid control line
—Advantage - fewer lines
—Disadvantages
– More complex control
– Ultimate performance
PCI Bus
• Peripheral Component Interconnection
• Intel released to public domain
• 32 or 64 bit
• 50 lines
PCI Bus Lines (required)
• Systems lines
—Including clock and reset
• Address & Data
—32 time mux lines for address/data
—Interrupt & validate lines
• Interface Control
• Error lines
PCI Bus Lines (Optional)
• Interrupt lines
—Not shared
• Cache support
• 64-bit Bus Extension
—Additional 32 lines
—Time multiplexed
—2 lines to enable devices to agree to use 64-bit
transfer
PCI Commands
• Transaction between initiator (master) and
target
• Master claims bus
• Determine type of transaction
—e.g. I/O read/write
• Address phase
• One or more data phases
Foreground Reading
• Stallings, chapter 3 (all of it)
• www.pcguide.com/ref/mbsys/buses/

• In fact, read the whole site!


• www.pcguide.com/

You might also like