The Little Man Computer (LMC) created by Dr. Stuart Madnick in 1965 was designed as an instructional model of a computer. The LMC models a simple Von Neumann computer architecture used primarily to teach students. The LMC contains all the components of a computer CPU, memory, and input output capability.
The LMC system architecture uses basic design elements to help illustrate the basic concepts of processing input and output. The basic architecture is comprised of a little man in a small room that performs basic tasks. The little man executes basic tasks by following a set of instructions. The main components of the LMC are mailboxes, calculator, inbox, and outbox. Like in a real computer, the memory in the LMC consists of mailboxes which are slots to hold stored information. The calculator is like the Arithmetic Logic Unit on a real computer, and the inbox and outbox are for receiving and outputting data similar to a keyboard and monitor.
With this basic design the LMC is a great introductory tool to help illustrate how a fetch and execute process works. The table below is a basic example of LMC commands.
FORMAT MNEMONIC MEANING
000 STOP Stops the Computer - the Little Man rests.
1xx ADD xx Adds the contents of mailbox xx to the calculator display.
2xx SUB xx Subtracts the contents of mailbox xx from the calculator display.
3xx STO xx Stores the calculator value into mailbox xx.
4xx STA xx Stores the address portion of the calculator value (last 2 digits) into the address portion of the instruction in mailbox xx.
5xx LOAD xx Loads the contents of mailbox xx into the calculator.
6xx B xx This instruction sets the instruction counter to the number xx, thus effectively branching to mailbox xx See the note for instruction BP
7xx BZ xx IF the calculator value is zero, THEN set the instruction counter to the number xx, thus effectively branching to mailbox xx. See the note for instruction BP
8xx BP IF the calculator