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.