A
system and method for designing a general-purpose static multi-issue CPU using static pipelining of automatically parallelized code is proposed. A multicore and / or multiprocessor
integrated circuit has multiple
processing units and / or
processing pipelines that simultaneously process instructions for data by executing parallelized
processing machine code. The execution of parallelized processing code by a multicore and / or multiprocessor
integrated circuit that performs
parallel processing involves the occurrence of latency, which is given by the
idle time of the processing unit between the time the processing unit processes a particular block of instructions in the processing code for data and sends the data back, and the time the processing unit receives the data necessary to execute a successive block of instructions in the processing code. The
parallel pipeline includes means for (i) forwarding by providing data forwarding from the MEM stage as an EX / MEM register to the EX stage as an ID / EX stage register, (ii) exchange by providing result exchange between pipelines by making the Ex-MEM stage register results accessible to the EX stage of the
parallel pipeline, and (iii) means for
branch pipeline flushing with control hazards by flushing only pipelines that depend on one pipeline that calculates conditions based on
branch addresses.