When the simulator is running, the white and yellow boxes show you numbers that are being stored in the transputer chip. The green areas of the display are just to help you interpret the numbers .
The numbers in white boxes are displayed in decimal. The numbers in yellow boxes are displayed in hexadecimal. The small boxes show a single byte (8 bits). The big boxes show a word (4 bytes, or 32 bits), treated as a single number.
A register is a special memory location inside the processor which is directly connected to the circuitry for arithmetic, data movement, decision making, and so on. Each register has a particular purpose.
Areg, Breg, Creg: These registers are connected to the arithmetic and logic circuits. For the most common arithmetic and logic operations, the Areg and Breg are directly fed into the cuircuit for that operation, and the result is fed back into the Areg.
Iptr: This is the instruction pointer, or program pointer. It holds the address in memory of the next program instruction to be executed.
Wptr: This is the workspace pointer, or data pointer. It holds the address of the area of memory currently being used by the program for storing the most immediate data items.
Oreg: This holds a partial operand, while it is being built up during a multi-byte instruction. It is displayed in hex so that you can see how operands are built up 4 bits (one hex digit) at a time.
The memory of the Transputer is used to store both programs and their data. Conventionally, the beginning of the memory is used to store the program, while the end of memory is used to store data, though nothing forces this choice.
When the Transputer is started, the workspace register Wptr points just beyond the end of the memory. As space is needed for data, Wptr is decreased. The most immediate data items are stored in the first few locations after the Wptr location.
The workspace is treated as a sequence of words, ie four bytes at a time are moved to and from it. The Transputer uses byte addresses, but instructions involving the workspace work in terms of words. For example, the instruction "ldl 3" means load the number at position 3 in the workspace into the A register. The processor calculates the byte-address of the word by multiplying 3 by 4 (or however many bytes there are per word) to get 12, ie the word is located 12 bytes from the beginning of the workspace.
The program area is displayed in single bytes, each shown in hex. This is so that you can see the structure of the instructions. A one-byte instruction is organised so that the first 4 bits (1st hex digit) specifies the operation to be performed, while the other 4 bits (2nd hex digit) specify the operand.
Instructions vary in length, with the commonest instructions being one byte long. For simplicity and speed, multi-byte instructions are arranged so that each byte is executed by the processor in a uniform way.
|Copyright © 1998 University of Bristol. All rights reserved.
Author: Ian Holyer
|Last modified: 14 Sep 1998 11:31
Authored in CALnet