31 | 28 | 27 downto 22 | 21 downto 16 | 15 | 12 | 11 downto 6 | 5 downto 0 |
---|---|---|---|---|---|---|---|
GID | SI | SID / SIM | DID | GID | SI | SID / SIM | DID |
2-issue instructions only.
Should the compiler wish to send a no transport instruction (aka noop in other architectures); it is expected that it will choose to encode an instruction (or two instructions) whose guard fails. For instance, you could construct an instruction whose guard checks for source ID or destination ID to be non-zero, comparing SID
or DID
address 0
while setting the guard to fail if the value at this address is zero (see the below table for information on guards to achieve this behaviour). One such instruction would be: 16'b1000000000000000
. This instruction compares the values at SID
and DID
to ensure they are both non-zero before issuing the instruction.
- GID - Guard ID (conditional execution of instructions)
- 3'b000 - Value at source ID is not zero
- 3'b001 - Value at source ID is zero
- 3'b010 - Value at destination ID is not zero
- 3'b011 - Value at destination ID is zero
- 3'b100 - Value at SID and DID are not zero
- 3'b101 - Value at SID is zero and DID is non-zero
- 3'b110 - Value at SID is non-zero and DID is zero
- 3'b111 - Unconditional, execute normally
- SI - Short immediate present
- SIM - Short immediate
- SID - Source ID
- DID - Destination ID