Difference between revisions of "ISA"
From NaplesPU Documentation
Line 19: | Line 19: | ||
== R type instructions == | == R type instructions == | ||
+ | |||
+ | * RR (Register to Register) has a destination register and two source registers. | ||
+ | * RI (Register Immediate) has a destination register and one source registers and an immediate encoded in the instruction word. | ||
== I type instructions == | == I type instructions == | ||
== MOVEI type instructions == | == MOVEI type instructions == | ||
+ | |||
+ | MVI (Move Immediate) has a destination register and a 16 bit instruction encoded immediate. | ||
== C type instructions == | == C type instructions == | ||
Line 31: | Line 36: | ||
== M type instructions == | == M type instructions == | ||
+ | |||
+ | MEM (Memory Instruction) has a destination/source field, in case of load the first register asses the destination register, otherwise in case of store the first register contains the store value. Next in both cases there is the base address and the immediate. The sum of base address and immediate will give the effective memory address. | ||
== M-poly type instructions == | == M-poly type instructions == | ||
== NOP instruction == | == NOP instruction == |
Revision as of 16:02, 20 September 2017
Contents
Instructions Format
The nu+ instructions have a fixed length of 32 bits. They are grouped in seven types:
- The R type includes the logical and arithmetic operations and memory operations.
- The I type includes the logical and arithmetic operations between a register operand and an immediate operand.
- The MOVEI type includes the load operations of an immediate operand in a register.
- The C type used for control operations and for synchronization instructions.
- The JR type includes jump instructions.
- The M type includes the instructions used to access memory.
- The M-poly type is used for memory instructions which uses a polyhedral access pattern.
R type instructions
- RR (Register to Register) has a destination register and two source registers.
- RI (Register Immediate) has a destination register and one source registers and an immediate encoded in the instruction word.
I type instructions
MOVEI type instructions
MVI (Move Immediate) has a destination register and a 16 bit instruction encoded immediate.
C type instructions
JR type instructions
J type instructions
M type instructions
MEM (Memory Instruction) has a destination/source field, in case of load the first register asses the destination register, otherwise in case of store the first register contains the store value. Next in both cases there is the base address and the immediate. The sum of base address and immediate will give the effective memory address.