LMC Simulation

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 29
At a glance
Powered by AI
The key takeaways are that a CPU has major components like the ALU, Control Unit and Memory. The ALU performs calculations and logic operations while the Control Unit interprets and executes instructions.

The three major components of a CPU are the Arithmetic Logic Unit (ALU), the Control Unit, and Memory.

The ALU is where data is held temporarily and where calculations occur. It knows how to perform operations like addition, subtraction, loading, storing, and shifting. It also knows the machine language instructions of the CPU.

How the CPU Works

The Little Man Computer Version

Download the tutorial


You can download your own copy of the Little Man Computer simulation from the University of Hertfordshire

Start the download now Save it to your hard drive We will use it shortly

The link: http://www.herts.ac.uk/lis/ltdu_temp/ltdu/projects /mm5/# You can access this link directly from my website
2

The Little Man Computer

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
4

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
5

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


6

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


7

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
8

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
9

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

10

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

11

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

12

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

13

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

14

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

15

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 dont have any conflicts with other data or programs
Discuss this

16

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
17

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
18

A Simple Program
Code Summary
Step Mailbox code Instruction description

00 01 02 03 04 05 99

500 299 500 399 600 700

INPUT STORE DATA INPUT 2ND # ADD 1ST # TO it OUTPUT RESULT STOP DATA
19

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) Write the last program only using 2 mailboxes!
21

For the bold and intelligent ones:

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

Block Diagram of System


CPU

ALU

Control Unit Program Counter

Memory

I/O

25

Direct Comparison of LMC & CPU


ALU

Control Unit

I/O Interface
Memory Program Counter
26

CPU
ALU
Control Unit Program Counter I/O

Memory

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
ALU
Control Unit Program Counter I/O

Memory

Control Unit

Interprets and controls the execution of instructions This control corresponds to the fetchexecute cycle

The fetch cycle gets the instructions The execute cycle does the work specified in the instruction
Note

28

CPU
ALU
Control Unit Program Counter I/O

Memory

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

30

You might also like