500 likes | 2.1k Views
CHAPTER 6: The Little Man Computer. The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Linda Senne, Bentley College Wilson Wong, Bentley College. Introduction.
E N D
CHAPTER 6:The Little Man Computer The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Linda Senne, Bentley College Wilson Wong, Bentley College
Introduction • The power of the computer does not arise from complexity. Instead, the computer has the ability to perform simple operations at an extremely high rate of speed. • These operations can be combined to provide the computer capabilities that you are familiar with. Chapter 6 Little Man Computer
LMC – Little Man Computer • Original was created by Dr. Stuart Madnick at MIT in 1965. • He produced a newer version in 1979. The newer version has a slightly modified instruction set. We will use the modified version. Chapter 6 Little Man Computer
The Little Man Computer Chapter 6 Little Man Computer
Mailboxes: Address vs. Content • Addresses are consecutive • Content may be • Data or • Instructions Chapter 6 Little Man Computer
Content: Instructions • Op code • Operation code • Arbitrary mnemonic • Operand • Object to be manipulated • Data or • Address of data Chapter 6 Little Man Computer
Magic! • Load program into memory • Put data into In Basket Chapter 6 Little Man Computer
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 Chapter 6 Little Man Computer
Instruction Set –Direct Addressing Chapter 6 Little Man Computer
Instruction Set –LOAD (Direct) Chapter 6 Little Man Computer
Instruction Set –STORE (Direct) Chapter 6 Little Man Computer
Instruction Set –ADD (Direct) Chapter 6 Little Man Computer
Instruction Set –SUB (Direct) Chapter 6 Little Man Computer
Instruction Set –INPUT Chapter 6 Little Man Computer
Instruction Set –OUTPUT Chapter 6 Little Man Computer
Instruction Set –HALT Chapter 6 Little Man Computer
Instruction Set –SKIP Chapter 6 Little Man Computer
Instruction Set –JUMP (Direct) Chapter 6 Little Man Computer
What does this program do? • 00 IN; • 01 STA 99; • 02 IN; • 03 ADD 99; • 04 OUT; • 05 HLT; Write the opcode. Chapter 6 Little Man Computer
What does this program do? • 00 IN; • 01 STA 99; • 02 IN; • 03 STA 98; • 04 ADD 99; • 05 STA 97; • 06 LDA 99; • 07 OUT; • 08 LDA 98; • 09 OUT; • 10 LDA 97; • 11 OUT; • 12 HLT; Chapter 6 Little Man Computer
Write a program to… • Enter two number. Find (and output) the sum of twice the first number plus the second number. • Enter two number. Compute the sum of twice the first number and three times the second number. Output the first number, then the second number, then the result. Chapter 6 Little Man Computer
INDIRECT ADDRESSING Chapter 6 Little Man Computer
Instruction Set –LOAD (Indirect) Chapter 6 Little Man Computer
Instruction Set –STORE (Indirect) Chapter 6 Little Man Computer
Instruction Set –ADD (Indirect) Chapter 6 Little Man Computer
Instruction Set –SUB (Indirect) Chapter 6 Little Man Computer
Instruction Set –JUMP (Indirect) Chapter 6 Little Man Computer
Immediate Addressing Chapter 6 Little Man Computer
Instruction Set –LOAD (Immediate) Chapter 6 Little Man Computer
Instruction Set –ADD (Immediate) Chapter 6 Little Man Computer
Instruction Set –SUB (Immediate) Chapter 6 Little Man Computer
Indirect, Immediate, Direct • 00 IN; • 01 STA 99; • 02 ADD #05; • 03 STA *99; • 04 ADD *99; • 05 OUT; • 06 SUB *99; • 07 OUT; • 08 HLT; Chapter 6 Little Man Computer
Indirect, Immediate, Direct • 00 IN; Input a number > 10 to the calculator • 01 STA 99; Direct Addressing--Store data in calc to mailbox 99 • 02 ADD #05; Add the number five to the calculator • 03 STA *99; Indirect addressing- Store contents of calculator • ; to the mailbox pointed to by the contents • ; of mailbox 99 • 04 ADD *99; Indirect addressing; Add contents of mailbox pointed by 99 to contents of the calculator • 05 OUT; • 06 SUB *99; Indirect addressing-- Subtract contents of mailbox ;pointed to by the contents of mailbox 99 • 07 OUT; Print out result in calculator to output basket • 08 HLT; End program Chapter 6 Little Man Computer
Counting Forward INFINITE • 00 LDA 90; • 01 OUT; • 02 ADD #01; • 03 STA 90; • 04 JMP 01; • 05 HLT; • 90 DAT 00; Chapter 6 Little Man Computer
Counting up to an enter num • 00 IN; • 01 STA 99; • 02 LDA 90; • 03 OUT; • 04 ADD #01; • 05 STA 90; • 06 LDA 99; • 07 SUB #01; • 08 SKN; • 09 JMP 01; • 10 HLT; • 90 DAT 00; Chapter 6 Little Man Computer
LMC Input/Output IN OUT Chapter 6 Little Man Computer
LMC Internal Data LDA STA Chapter 6 Little Man Computer
Data storage location • Physically identical to instruction mailbox • Not located in instruction sequence • Identified by DAT mnemonic Chapter 6 Little Man Computer
LMC Arithmetic Instructions ADD SUB Chapter 6 Little Man Computer
Instruction Cycle • Fetch: Little Man finds out what instruction he is to execute • Execute: Little Man performs the work. Chapter 6 Little Man Computer
Fetch Portion ofFetch 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 Chapter 6 Little Man Computer
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) Chapter 6 Little Man Computer
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). Chapter 6 Little Man Computer
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. Chapter 6 Little Man Computer
von Neumann Architecture(1945) • Stored program concept • Memory is addressed linearly • Memory is addressed without regard to content Chapter 6 Little Man Computer