The von Neumann Architecture

Computer Science 210
Computer Organization
The von Neumann Architecture
John von Neumann (1903-1958)
Origins
• Early 1940s – first electronic digital
computers (Atanasoff, Eckert & Mauchly)
• 1945 – von Neumann writes draft report on
EDVAC, first stored program computer
– Memory
– Processing unit
– Control Unit
The von Neumann Model
MEMORY
MAR
MDR
INPUT
OUTPUT
Keyboard
Mouse
Scanner
Disk
Monitor
Printer
LED
Disk
PROCESSING UNIT
ALU
TEMP
CONTROL UNIT
PC
IR
Memory
• 2k by m array of bits
• Address of k bits
• Contents of m bits
0000
0001
0010
0011
0100
0101
0110
• Basic operations:
1101
1110
1111
– Load (read)
– Store (write)
00101101
•
•
•
10100010
Interface to Memory
MAR: Memory Address Register
MDR: Memory Data Register
To LOAD a value from a location (A):
1. Write the address (A) into the MAR.
2. Send a “read” signal to the memory.
3. Read the data from MDR.
To STORE a value (X) to a location (A):
1. Write the data (X) to the MDR.
2. Write the address (A) into the MAR.
3. Send a “write” signal to the memory.
Processing Unit
ALU: Arithmetic and Logic Unit
Registers:
1. Small set of temporary storage cells.
2. Store operands and results of processing units.
3. LC3 has 8 registers, R0..R7, 16 bits wide.
Word size: 16 bits
Control Unit
CONTROL UNIT
PC
IR
PC: Program Counter, contains address of the next instruction
IR: Instruction Register, contains the currently executing instruction
Read an instruction from memory
Decode the instruction, signaling other components to perform actions
From Logic to Data Path
• The von Neumann components are
implemented as a data path
• Combinational logic – decoders, muxes,
ALU
• Sequential logic – finite state machine,
latches, registers
The LC3 Data Path
Combinational
Logic
Storage
State Machine
3-10
For Friday
Finish Chapter 4
The machine code execution cycle