In a complex high speed multi-execution unit uniprocessor system having N-execution units and a plurality of General Purpose Registers (GPRs) each of which is accessible to each of the execution units, said system including an instruction decoder for decoding a sequence of program instructions to be executed by said system during an instruction decoding cycle, said "N" execution units concurrently executing up to "N" decoded instructions during subsequent execution cycles, said execution units using the same GPR sequentially or different GPR's concurrently, the improvement comprising a means for preserving the logical integrity of the data within the individual GPRs during simultaneous execution of sequential instructions, said means comprising:
- at least four special tag fields associated with each GPR, a SINK FORWARD TAG, a SINK EXECUTE TAG, and at least one SOURCE TAG/SOURCE CRT pair, said tag fields controlling access by an execution unit to a GPR during said execution cycle,
- each execution unit having associated therewith instruction register storage means having, in addition to fields for storing an instruction to be executed by the execution unit, at least two special purpose tag fields for storing an identification (ID) tag unique to that execution unit and at least one SINK V SOURCE TAG, and
- a control mechanism including:
- assigning means for assigning instruction to execution units, loading means for loading said special purpose tag fields in said execution units and said GPRs during said instruction decoding cycle of the system operation, said control mechanism thereby preparing the execution units to execute instructions, said loading means loading a particular GPR's SINK FORWARD TAG field with the ID TAG of a first execution unit assigned an instruction which uses that GPR as a SINK and further loading the first execution unit's SINK V SOURCE TAG field with the ID TAG of a second execution unit which uses the particular GPR as a SINK immediately prior to the first execution units use of the GPR, as a source,
- means operable, as each of the execution units complete execution of an assigned instruction, to load a particular GPR's SINK EXECUTE TAG with an ID TAG of the execution unit which has just finished using it, thereby allowing the execution unit whose SINK V SOURCE TAG matches the particular GPR's current SINK EXECUTE TAG to access the particular GPR and wherein,
- said means for assigning operating substantially independently of the execution of dependent instructions by the execution units.