 Download Presentation How the CPU Works

# How the CPU Works - PowerPoint PPT Presentation Download Presentation ## How the CPU Works

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. How the CPU Works The “Little Man Computer”Version

3. The Little Man Computer

4. LMC Instruction Codes • LOAD instruction – op code 1 • The Little Man goes to the mailbox specified • Reads the three-digit number in the mailbox • Puts that into the Calculator • Note: • The number in the mailbox is unchanged • The number in the calculator is replaced by the new number

5. LMC Instruction Codes • STORE instruction – op code 2 • The Little Man goes to the Calculator and reads the number there • He writes the number down on a slip of paper and puts it into the mailbox specified in the instructions • Note: • The number in the Calculator does not change • The number in the Mailbox is replaced with the new value

6. LMC Instruction Codes • ADD instruction – op code 3 • The Little Man walks over to the mailbox address specified in the instructions • He reads the number and adds this number to the number already in the calculator. • Note: • The number in the mailbox is unchanged

7. LMC Instruction Codes • SUBTRACTION – op code 4 • Same as the ADD instruction, except the number is subtracted • For this model we will assume that the Little Man handles negative numbers correctly, though we will not deal with it here. • Note: • The number in the mailbox is left unchanged

8. LMC Instruction Codes • INPUT (or READ) – op code 5, “address” 00 (the 00 is ignored for this special instruction code) • The Little Man gets a slip of paper in from the in-basket • He types this number into the calculator • Each INPUT instruction handles only 1 slip of paper • The Little Man will ignore the address portion of this code

9. LMC Instruction Codes • OUTPUT (or PRINT) – op code 6, “address” 00 (the 00 is ignored for this special instruction code) • The Little Man walks to the calculator and writes down the number on a slip of paper • This slip is put in to the out basket • Each OUTPUT instruction places 1 piece of paper in the out basket • The Little Man will ignore the address portion of this code

10. LMC Instruction Codes • COFFEE BREAK (or HALT) – op code 7 • The Little Man takes a break. • He will ignore the address portion of the instruction

11. A Simple Program • A few items • We need to store the instructions somewhere • We need a method to tell the Little Man where to find the particular instructions that he is supposed to perform at any given time

12. A Simple Program • Assumed Solutions • Assume that the instructions are stored in the mailbox starting at mailbox number 00 • The Little Man will perform instructions by looking at the value in the instruction location counter and execute the instruction found in the mailbox whose address has that value

13. A Simple Program • Assumed Solutions • Each time the LM completes and instruction, he will increment the Instruction Location Counter and do the instruction specified by the counter

14. A Simple Program • Look at a program where the USER uses the Little Man Computer to add two numbers. • The User will place two numbers in the in basket • The sum of the two will appear as a result in the out basket

15. A Simple Program • INPUT 500 • The first step is to give the LM access to the data • This instruction has the LM read the first number from the in basket in to the calculator

16. A Simple Program • STORE 99 299 • It is not possible for the LM to simply read another number into the calculator. • It would destroy the first number • We must save the first number somewhere • Mailbox 99 is chosen so that we don’t have any conflicts with other data or programs • Discuss this

17. A Simple Program • INPUT 500 • The LM reads the second number into the calculator • ADD 399 • We do not need to save the 2nd number in the example, but we could have. • The 1st number from mailbox 99 is added to the 2nd number in the calculator

18. A Simple Program • OUTPUT 600 • The LM puts the result in to the out basket • COFFEE BREAK 700 • The program terminates • Note: • These instructions are stored sequentially starting from mailbox 00. • This is so we could run the program again

19. A Simple Program • Code Summary Mailbox Instruction Step code description 00 500 INPUT 01 299 STORE DATA 02 500 INPUT 2ND # 03 399 ADD 1ST # TO it 04 600 OUTPUT RESULT 05 700 STOP 99 DATA

20. Run the CPU Simulator • Now you try it. • Do the sample program included with the simulation • Write your own program (and show me that they work) • Write a program to add 3 numbers • Write a program that correctly calculates x + y + z – a – b (Ex. 1 + 2 + 3 – 4 – 5 = -3) • For the bold and intelligent ones: • Write the last program only using 2 mailboxes!

21. How the CPU Works A More Complex View

22. Overview • We saw in the “Little Man Computer” a simplified version of how a CPU works. • Memory, the Control Unit, the Accumulator (calculator) were all located in the same area • Decimal system used for communication of instructions • Memory was limited to 100 “mailboxes”

23. CPU Components • 3 Major Parts • Arithmetic/Logic Unit (ALU) • Control Unit (CU) • Memory • The ALU & CU are known as the Central Processing Unit

24. CPU Memory ALU Control UnitProgram Counter I/O Block Diagram of System

25. Direct Comparison of LMC & CPU ControlUnit ALU I/OInterface Memory ProgramCounter

26. CPU Memory ALU Control UnitProgram Counter I/O Arithmetic/Logic Unit (ALU) • The component where data is held temporarily • Calculations occur here • It knows how to perform operations such as ADD, SUB, LOAD, STORE, SHIFT. • It knows the commands that make up the machine language of the CPU • It is the calculator

27. CPU Memory ALU Control UnitProgram Counter I/O Control Unit • Interprets and controls the execution of instructions • This control corresponds to the “fetch-execute” cycle • The fetch cycle gets the instructions • The execute cycle does the work specified in the instruction Note

28. CPU Memory ALU Control UnitProgram Counter I/O Registers • “A Register is a single, permanent storage location within the CPU used for a PARTICULAR, defined purpose.” • “A register is used to hold a binary value temporarily for storage, for manipulation, and/or for simple calculations.” • Registers have special addresses

29. The End…