CH 03-1
CH 03-1
Computer Organization
and Architecture
6th Edition
Chapter 3
System Buses
(revised 9/7/02)
Program Concept
• Hardwired systems are inflexible
• General purpose hardware can do different
tasks, given correct control signals
• Instead of re-wiring, supply a new set of control
signals
Hardware vs. HW + SW
What is a program?
• A sequence of steps
• For each step, an arithmetic or logical operation
is done
• For each operation, a different set of control
signals is needed
Function of Control Unit
• For each operation a unique code (opcode) is
provided
—e.g. ADD, MOVE
• A hardware segment accepts the code and
issues the control signals
• We have a computer!
Components
• The Control Unit (CU) and the Arithmetic and
Logic Unit (ALU) constitute the Central
Processing Unit (CPU)
• Data and instructions need to get into the
system and results need to get out
—Input/output (I/O module)
• Temporary storage of code and results is needed
—Main memory (RAM)
Computer Components:
Top Level View
Instruction Cycle
• Two steps:
—Fetch
—Execute
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)
Execute Cycle
• Processor interprets instruction and performs
required actions, such as:
—Processor - memory
– data transfer between CPU 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
Consider a simple example using a
hypothetical machine
Example of Program Execution
Fetch Execution
Both instructions
and data are 16
bits long.
The instruction
format provides
• 4 bits for the
opcode
• 16 different
opcodes
• 4096 (4K)
words of
memory can be
directly
addressed
Instruction Cycle -
State Diagram
CPU-
RAM-I/O
Operations
CPU
Operations
• The PDP-11 processor includes an instruction,
expressed symbolically as
• ADD B, A
—that stores the sum of the contents of memory
locations B and A into memory location A.