PISC

New parallelizing instructions are added to the RISC ISA to form the PISC ISA.
The compiler translates from Deterministic OpenMP to the PISC new machine instructions.
The fork protocol includes a hart reservation instruction and the transmission of registers (send/receive instruction pairs).
The hart reservation can be local (p_fc machine instruction).
The hart reservation can be on the next core (p_fn machine instruction).
The p_fc and p_fn instructions have a destination register which receives the allocated hart identification (core number and hart number in the core).
A new call machine instruction p_jal is added to allow explicit forking.
The current hart can be set as the join hart with the p_set instruction.
The forked hart and the join hart can be merged with the p_merge instruction.
A new indirect call machine instruction p_jalr is added from which a new p_ret instruction is derived to end a hart or return with an implicit joining.
Continuation values can be sent from the forking hart to the forked one.
A function result can be sent from the last hart computing a function call to the continuation hart after return.
Memory accesses are unordered within a hart.
The p_syncm machine instruction enforces the serialization of the before and after memory accesses.