Difference between revisions of "ISA"

From NaplesPU Documentation
Jump to: navigation, search
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 17:02, 20 September 2017

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.

ISA

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.

M-poly type instructions

NOP instruction