Patent ID: 9575762
Date: 2017-02-21
CPC Classifications: G06F

Claim:
1. A method of populating a register view data structure by using a register template, the method comprising: receiving an incoming instruction sequence using a global front end; grouping instructions of the sequence to form instruction blocks; tracking instruction destinations by populating the register template with block numbers corresponding to the instruction blocks, wherein the block numbers corresponding to the instruction blocks indicate interdependencies among the instruction blocks, wherein the tracking comprises an incoming instruction block writing its respective block number into fields of the register template corresponding to destination registers referred to by the incoming instruction block, and wherein further the register template is updated by an arrival of the incoming instruction block; the incoming instruction block reading fields of the register template corresponding to its register sources to retrieve its instruction sources; populating a register view data structure, wherein the register view data structure is configured to store the instruction destinations corresponding to the instruction blocks as recorded by the register template; and using the register view data structure to track a machine state for use after a branch miss-prediction in accordance with execution of the instruction blocks by storing prior snapshots of the register template in an array, wherein each instruction block comprises an entry in the array.