Architecture

Instruction Classes

The R3900 Processor Core has five classes of CPU instructions, as follows.

Load/store

These instructions transfer data between memory and general-purpose registers. "Base register + 16-bit signed immediate offset" is the only supported addressing mode, so the format of all instructions in this class is I-type.

Computational

These instructions perform arithmetic logical and shift operations on register values. The format can be R-type (when both operands and the result are register values) or I-type (when one operand is 16-bit immediate data).

Jump/branch

These instructions change the program flow. A jump is always made to a paged absolute address, constructed by combining a 26-bit target address with the upper 4 bits of the program counter (J-type format) or to a 32-bit register address (R-type format). In a branch instruction, the target address is the program counter value plus a 16-bit offset. With a Jump And Link instruction, the return address is saved in general register r31.

Coprocessor

These instructions execute coprocessor operations. Coprocessor load and store instructions have the I- type format. The format of coprocessor computational instructions differs from one coprocessor to another.

Special

These instructions support system calls and breakpoint functions. The format is always R-type.

94

Page 105
Image 105
Toshiba TX39 user manual Instruction Classes