Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

Microprocessor Based

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

  Stored Program concept


  Main memory storing programs and data
  ALU operating on binary data
  Control unit interpreting instructions from memory
and executing
  Input and output equipment operated by control unit
  Princeton Institute for Advanced Studies
  IAS
  Completed 1952
Structure of von Nuemann
machine

Arithmetic and Logic Unit

Input
Output Main
Equipment Memory

Program Control Unit


IAS - details
  1000 x 40 bit words
  Binary number
  2 x 20 bit instructions
  Set of registers (storage in CPU)
  Memory Buffer Register
  Memory Address Register
  Instruction Register
  Instruction Buffer Register
  Program Counter
  Accumulator
  Multiplier Quotient
Structure of IAS - detail
Central Processing Unit
Arithmetic and Logic Unit

Accumulator MQ

Arithmetic & Logic Circuits

Input MBR
Output Instructions
Equipment & Data Main
Memory

IBR PC
MAR
IR Control
Circuits
Address
Program Control Unit
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
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 is provided


  e.g. ADD, MOVE
  A hardware segment accepts the code and
issues the control signals
Components

  The Control Unit and the Arithmetic and


Logic Unit constitute the Central Processing
Unit
  Data and instructions need to get into the
system and results out
  Input/output
  Temporary storage of code and results is
needed
  Main memory
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)
  Processor interprets instruction and performs
required actions
Execute 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

Control unit Datapath

  Get next ALU


Controller
instruction into Control
/Status
IR
  PC: program Registers
counter, always
points to next
instruction
PC 100 IRload R0, M[500] R0 R1
  IR: holds the
fetched
instruction I/O

Memory
...
100 load R0, M[500]
500 10
101 inc R1, R0
102 store M[501], R1
501
...
Decode Processor

Control unit Datapath

  Determine what ALU


Controller
the instruction Control
/Status
wants
Registers

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
...
Fetch
Operand Processor

Control unit Datapath

  Move data Controller


ALU

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

Control unit Datapath

  ALU ALU
Controller Control
/Status

Registers

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
...
Store
Results Processor

Control unit Datapath

  Write data Controller


ALU

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

100 load R0, M[500] Memory


...
500 10
101 inc R1, R0
102 store M[501], R1
501
...
28
Instruction Cycles
PC=100 Processor

Fetch Decode Fetch Exec. Store Control unit Datapath


ops result ALU
clk s Controller Contro +1
l
/
PC=101 Status
Registers
Fetch Decode Fetch Exec. Store
ops result
clk s 10 11
PC 101 IR R0 R1
inc R1, R0

I/O

100 load R0, M[500] Memory


...
500 10
101 inc R1, R0
102 store M[501], R1
501
...
29
Instruction Cycles
PC=100 Processor

Fetch Decode Fetch Exec. Store Control unit Datapath


ops result ALU
clk s Controller Contro
l
/
PC=101 Status
Registers
Fetch Decode Fetch Exec. Store
ops result
clk s 10 11
PC 102 IR R0 R1
store M[501], R1
PC=102
Fetch Decode Fetch Exec. Store I/O
ops result
100 load R0, M[500] Memory
...
clk s 500 10
101 inc R1, R0 501 11
102 store M[501], R1 ...
30
Summary
  IC Integration Trends
  Intel has plans to continue riding on the Moore’s Law curve for another
ten years and has announced a 2.9 billion transistor chip for the
second quarter of 2011.
  The chip will fit into an area the size of a fingernail and use 22
nanometer technology

  Von Neumann Architecture


  Execution of program stored in memory
  Instruction cycle

  Fetch, decode, Fetch operand, Execute, Store results


THE END

You might also like