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 2k by m array of bits Address of k bits Contents of m bits Basic operations: Load (read) Store (write) 0000 0001 0010 0011 0100 0101 0110 1101 1110 1111 • 00101101 10100010
Interface to Memory MAR: Memory Address Register MDR: Memory Data Register To LOAD a value from a location (A): Write the address (A) into the MAR. Send a “read” signal to the memory. Read the data from MDR. To STORE a value (X) to a location (A): Write the data (X) to the MDR. Send a “write” signal to the memory.
Processing Unit ALU: Arithmetic and Logic Unit Registers: Small set of temporary storage cells. Store operands and results of processing units. LC3 has 8 registers, R0..R7, 16 bits wide. Word size: 16 bits
Control Unit 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
Finish Chapter 4 The machine code execution cycle For Friday Finish Chapter 4 The machine code execution cycle