In a computer capable of executing a superscalar or very long instruction word instruction, the computer may, when compiling multiple primitive operations that can be executed in parallel into a single instruction having multiple parcels, where each parcel corresponds to one operation. The invention is directed to an improved instruction cache that stores all potential subsequent instructions and a method for selecting subsequent instructions if some possible execution branch can occur and must be evaluated. All branch conditions and all addresses of potential subsequent instructions of one instruction are duplicated and stored in the instruction cache. All potential subsequent instructions are stored in the same block of the instruction cache with the next address and the individual instructions are specified by a duplicated offset address. In addition, by dividing the instruction cache into small caches and storing one parcel in each small cache, each parcel can be executed quickly and autonomously. At the same time, all branch conditions are evaluated in parallel and all offset addresses are decoded in parallel to determine the next instruction. Only after the control flow or branch taken, or after a subsequent or next instruction has been determined, the result of the branch is stored and the decoded address is used to late select the next instruction from the instruction cache.
展开▼