Professional Documents
Culture Documents
Microprocessor Based Systems: Lecture No 03 Introduction To Von Neumann Architecture
Microprocessor Based Systems: Lecture No 03 Introduction To Von Neumann Architecture
Systems
Lecture No 03 Introduction to Von
Neumann Architecture
By Nasir Mahmood
Overview of Last Lecture
Main components of a computing system?
CPU, Memory, Busses or Interconnections, I/O
Difference between Computer Architecture and
Computer Organization?
Architecture is those attributes visible to the
programmer
Organization is how features are implemented,
typically hidden from the programmer
Approach to understand Computer System?
Top-Down approach to understand computer
Overview of Last Lecture Contd..
Main Functions of computer?
Data processing, Data storage, Data movement, Control
Major components of the CPU?
CU, ALU, Registers, CPU interconnect
Major components of of Control Unit (CU)?
Sequencing Logic – Controlling the order of events
Microprogram Control Unit – Internal controls
Microprogram Registers, Memory
New trends in interconnections and processing?
Multicore architectures and NOC
Today’s Outline
IC Integration Trends
Moore’s Law and Intel’s Response
Von Neumann Architecture
Moore’s Law
Gordon Moore, founder of Intel,
In 1965 he noted that the number of transistors
on a chip was doubling every 18 to 24 months
Intel’s Response to Moore’s Prediction
Von Neumann Architecture
Input
Output Main
Equipment Memory
Accumulator MQ
Input MBR
Output Instructions
Equipment & Data Main
Memory
IBR PC
MAR
IR Control
Circuits
Address
Program Control Unit
Program Concept
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
Two steps:
Fetch
Execute
Fetch Cycle
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
Example of Program Execution
Instruction Execution Further division
of a single
Cycle m a c h i n e
instruction
Fetch Fetch Operands
Get the next instruction from Performs memory read operation
program memory (If specified)
Usually the address of next Execute
instruction is stored in a special ALU performs the operation (If
register (Program Counter)
specified)
Increment the PC Sends data to target operand
Decode Updates status flags
Controller determines the type of Store output
instruction to be executed
Write to memory (If required)
Passes operands to ALU (if
specified)
Signals the ALU about the
operation to be performed
Instruction Execution Cycle
PC program
I-1 I-2 I-3 I-4
Fetch
Decode memory fetch
Fetch operands op1
read
op2
Execute registers registers
Store output instruction
I-1 register
decode
write
write
flags ALU
execute
(output)
21
Instruction Execution
in a Microprocessor
Fetch Processor
Memory
...
100 load R0, M[500]
500 10
101 inc R1, R0
102 store M[501], R1
501
...
Decode Processor
I/O
Memory
...
100 load R0, M[500]
500 10
101 inc R1, R0
102 store M[501], R1
501
...
Fetch
Operand Processor
Control
from memory /Status
to datapath
register Registers
10
PC 100 IRload R0, M[500] R0 R1
I/O
Memory
...
100 load R0, M[500]
500 10
101 inc R1, R0
102 store M[501], R1
501
...
Execute Processor
ALU ALU
Controller Control
/Status
Registers
I/O
Memory
...
100 load R0, M[500]
500 10
101 inc R1, R0
102 store M[501], R1
501
...
Store
Results Processor
Control
from register /Status
to memory
Registers
This particular
instruction
does nothing 10
PC IRload R0, M[500]
during this 100 R0 R1
sub-operation
I/O
Memory
...
100 load R0, M[500]
500 10
101 inc R1, R0
102 store M[501], R1
501
...
Instruction Cycles
PC=100 Fetch Processor
Store
Fetch Decode ops Exec. Control unit Datapath
results
ALU
clk Controller Contro
l
/
Status
Registers
10
PC 100 IR R0 R1
load R0, M[500]
I/O
I/O