2 The von-Neumann Architecture Stored Program Concept - Storing instructions in memory along with dataMemoryProcessor - CPUInput/Output devices
3 I/O input/output devices enable the user to interact with the computer input devices – keyboards, mice, scanners, …output devices – display screens, speakers, printers, …
4 Main MemoryMain memory is a large number of memory locations. Each location is accessible via an address. It holds:DataActive programs - instructions for the CPU. Storing the instructions for the cpu in memory called the stored program concept (Von Neumann) . Program is stored in the machine language (binary) that corresponds to the circuitry of that processor.
6 CPU – Central Processing Unit ALU - arithmetic/logic unit circuitry for arithmetic and logic operations (e.g. addition, comparison, OR)CU - control unitfetches instructions from memorydecodes the instructionexecutes the instructionregisters –memory locations built into the CPU (to provide fast access)hold data for immediate use by ALU
7 Bus Just like it sounds. What does a bus do? Buses are circuits over which data travelsBuses connect parts of the the CPU and main memoryTakes time to get data from main memory, so it’s slower than registers.
8 CPU CPU acts as the brain of the computer it fetches data and instructions from memoryit executes the instructionsit stores results back to memory(Be patient for a few slides)
10 Control Unit The control unit fetches instructions from memory decodes the instructionexecutes the instructionThe control unit has two important registers:PC- program counter - contains the address in main memory of the next instructionIR- instruction register - holds the instruction that is currently executing
11 Machine cycle The control unit fetches from main memory the instruction whose address is in the program counter. The instruction is stored in the instruction register and the program counter is incremented to the next instruction address.decodes the instruction to understand what needs to be done.executes the instruction by performing the operation on the data.
12 The above three steps are repeated until the end of the stored program. A computer can execute millions of instructions per second.
13 ExampleS’pose the control unit is executing an instruction to add two numbers:obtain first value from memory and store in a registerobtain second value from memory and store in a registeruse the addition circuitry to add the two numbers in the registers and place the result in a registerstore the result in main memory
14 HW Please read chap 14 and bring book to class for lab 9 The next few slides are preparation for the lab. They are a continuation of the Addition Example
15 Assembly language 0: LOAD R0 5 // R0 = M 1: LOAD R1 6 // R1 = M 2: ADD R2 R0 R1 // R2 = R0 + R13: STORE 7 R2 // M = R24: HALT // HALT5: 9 // 9 data value6: 1 // 1 data value7: 0 // will hold result
16 Machine Language (no spaces) 0: // R0 = M1: // R1 = M2: // R2 = R0 + R13: // M = R24: // HALT5: // 9 data value6: // 1 data value7: // will hold result
17 Simulator Machine Language 1st two instructions – select ALU operation and registers to operate onnext 3 instructions – control flow of data. Store should be location 5.last instruction – marks the end of instruction sequence
18 Program Executionexample: machine language program for adding two numbers in memoryprogram execution:program counter is initialized: PC = 0instruction at memory location 0 is fetched, PC is incremented to 1instruction is decoded and CPU cycle is executed: load contents of memory location 5 into ROnext instruction is fetched at location 1, PC is incremented to 2instruction is decoded and CPU cycle is executed: load contents of memory location 6 into R1next instruction at memory location 2 is fetched, PC is incremented to 3instruction is decoded and CPU cycle is executed: add contents of R0 and R1, store result in R2next instruction at location 3 is fetched, PC is incremented to 4instruction is decoded and CPU cycle is executed: copy contents of R2 into memory location 7next instruction at location 4 is fetched, PC is incremented to 5instruction is decoded and CPU cycle is executed: halt instruction program ends