Anda di halaman 1dari 29

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/project
s/mm5/#
You can access this link directly from my website

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

The LM reads the second number into the


calculator

ADD

500

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

00
01
02
03
04
05
99

Mailbox
code

Instruction
description

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)

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

Block Diagram of System


CPU

ALU

Control Unit
Program Counter

Memory

I/O

25

Direct Comparison of
LMC & CPU

Control
Unit

ALU

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

Memory

Control Unit

I/O

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
ALU

Control Unit
Program Counter

Memory

Registers

I/O

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

Anda mungkin juga menyukai