Itech 1000
CHAPTER 6:
The Little Man Computer
The Architecture of Computer Hardware, Systems Software & Networking:
An Information Technology Approach
5th Edition, Irv Englander
John Wiley and Sons 2013
PowerPoint slides authored by Angela Clark, University of South Alabama
PowerPoint slides for the 4th edition were authored by Wilson Wong, Bentley University
Copyright 2013 John Wiley & Sons, Inc.
6-*
The Little Man Computer
Copyright 2013 John Wiley & Sons, Inc.
*
Copyright 2013 John Wiley & Sons, Inc.
6-*
Mailboxes: Address vs. Content
- Addresses are consecutive starting at 00 and ending at 99
- Content may be
- Data, a three digit number, or
- Instructions
| Address | Content |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Content: Instructions
- Op code
- In LMC, represented by a single digit
- Operation code
- Arbitrary mnemonic
- Operand
- In LMC, represented by two digits following the op code
- Object to be manipulated
Data or
Address of data
| Address | Content |
| Op code | Operand |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Magic!
- Load program into memory
- Put data into In Basket
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Assembly Language
- Specific to a CPU
- 1 to 1 correspondence between assembly language instruction and binary (machine) language instruction
- Mnemonics (short character sequence) represent instructions
- Used when programmer needs precise control over hardware, e.g., device drivers
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Instruction Set
| Arithmetic | 1xx | ADD |
| 2xx | SUB | |
| Data Movement | 3xx | STORE |
| 5xx | LOAD | |
| Input/Output | 901 | INPUT |
| 902 | Output | |
| Machine Control (coffee break) | 000 | HALT COB |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Input/Output
- Move data between calculator and in/out baskets
| Content | ||
| Op Code | Operand (address) | |
| IN (input) | 9 | 01 |
| OUT (output) | 9 | 02 |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
LMC Input/Output
IN
OUT
Copyright 2013 John Wiley & Sons, Inc.
*
Copyright 2013 John Wiley & Sons, Inc.
6-*
Internal Data Movement
- Between mailbox and calculator
| Content | ||
| Op Code | Operand (address) | |
| STO (store) | 3 | xx |
| LDA (load) | 5 | xx |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
LMC Internal Data
LDA
STO
Copyright 2013 John Wiley & Sons, Inc.
*
Copyright 2013 John Wiley & Sons, Inc.
6-*
Arithmetic Instructions
- Read mailbox
- Perform operation in the calculator
| Content | ||
| Op Code | Operand (address) | |
| ADD | 1 | xx |
| SUB | 2 | xx |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
LMC Arithmetic Instructions
ADD
SUB
Copyright 2013 John Wiley & Sons, Inc.
*
Copyright 2013 John Wiley & Sons, Inc.
6-*
Data storage location
- Physically identical to instruction mailbox
- Not located in instruction sequence
- Identified by DAT mnemonic
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Simple Program: Add 2 Numbers
- Assume data is stored
in mailboxes with
addresses >90 - Write instructions
Input a #
Store the #
Input a #
Add
Output the
number
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Program to Add 2 Numbers
| Mailbox | Code | Instruction Description |
| 00 | 901 | ;input 1st Number |
| 01 | 399 | ;store data |
| 02 | 901 | ;input 2nd Number |
| 03 | 199 | ;add 1st # to 2nd # |
| 04 | 902 | ;output result |
| 05 | 000 | ;stop |
| 99 | 000 | ;data |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Program to Add 2 Numbers:
Using Mnemonics
| Mailbox | Mnemonic | Instruction Description |
| 00 | IN | ;input 1st Number |
| 01 | STO 99 | ;store data |
| 02 | IN | ;input 2nd Number |
| 03 | ADD 99 | ;add 1st # to 2nd # |
| 04 | OUT | ;output result |
| 05 | COB | ;stop |
| 99 | DAT 00 | ;data |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Program Control
- Branching (executing an instruction out of sequence)
- Changes the address in the counter
- Halt
| Content | ||
| Op Code | Operand (address) | |
| BR (Jump) | 6 | xx |
| BRZ (Branch on 0) | 7 | xx |
| BRP (Branch on +) | 8 | xx |
| COB (stop) | 0 | (ignore) |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
LMC Instruction Set
| Arithmetic | 1xx | ADD |
| 2xx | SUB | |
| Data Movement | 3xx | STORE |
| 5xx | LOAD | |
| BR | 6xx | JUMP |
| BRZ | 7xx | BRANCH ON 0 |
| BRP | 8xx | BRANCH ON + |
| Input/Output | 901 | INPUT |
| 902 | OUTPUT | |
| Machine Control (coffee break) | 000 | HALT COB |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Find Positive Difference of 2 Numbers
| 00 | IN | 901 | |
| 01 | STO 10 | 310 | |
| 02 | IN | 901 | |
| 03 | STO 11 | 311 | |
| 04 | SUB 10 | 210 | |
| 05 | BRP 08 | 808 | ;test |
| 06 | LDA 10 | 510 | ;if negative, reverse order |
| 07 | SUB 11 | 211 | |
| 08 | OUT | 902 | ;print result and |
| 09 | COB | 000 | ;stop |
| 10 | DAT 00 | 000 | ;used for data |
| 11 | DAT 00 | 000 | ;used for data |
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Instruction Cycle
- Fetch: Little Man finds out what instruction he is to execute
- Execute: Little Man performs the work
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Fetch Portion of
Fetch and Execute Cycle
1. Little Man reads the address from the location counter
2. He walks over to the mailbox that corresponds to the location counter
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Fetch, cont.
3. And reads the number on the slip of paper (he puts the slip back in case he needs to read it again later)
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Execute Portion
1. The Little Man goes to the mailbox address specified in the instruction he just fetched
2. He reads the number in that mailbox (he remembers to replace it in case he needs it later)
Copyright 2013 John Wiley & Sons, Inc.
*
Copyright 2013 John Wiley & Sons, Inc.
6-*
Execute, cont.
3. He walks over to the calculator and punches the number in
4. He walks over to the location counter and clicks it, which gets him ready to fetch the next instruction
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
von Neumann Architecture (1945)
Stored program concept
Memory is addressed linearly
Memory is addressed by location number without regard to content
Copyright 2013 John Wiley & Sons, Inc.
Copyright 2013 John Wiley & Sons, Inc.
6-*
Copyright 2013 John Wiley & Sons
All rights reserved. Reproduction or translation of this work beyond that permitted in section 117 of the 1976 United States Copyright Act without express permission of the copyright owner is unlawful. Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages caused by the use of these programs or from the use of the information contained herein.”
Copyright 2013 John Wiley & Sons, Inc.