Use of a Second Set of General Purpose Registers to Allow Changing General Purpose Registers During Conditional Branch Resolution
Original Publication Date: 1986-Aug-01
Included in the Prior Art Database: 2005-Mar-09
A second set of general purpose registers (GPRs) and a tagging scheme are used which allow changes to GPRs along predicted paths in conditional executions. At most, one such predicted change is possible for each GPR. In high performance processors "guessing" at the direction that an instruction stream will proceed on a conditional branch because the conditions to resolve branch direction are not available is a technique that is well known and utilized. (A history of past branch decisions is usually used to educate the "guess".) None of the IBM System/360 or 370 processors has allowed an architected register or storage to be modified by these "conditional" instructions. Thus, the instructions in the "guessed" instruction stream direction can proceed only as long as this restriction causes no logical or physical "gate".