Computer Science 210 Computer Organization The von Neumann Architecture
John von Neumann ( )
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 2 k by m array of bits Address of k bits Contents of m bits Basic operations: –Load (read) –Store (write)
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 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 3-10 Combinational Logic State Machine Storage