Total flexibility of predicted fetching of multiple sectors from an aligned instruction cache for instruction execution
AssigneeInternational Business Machines Corporation
InventorBalaram Sinharoy
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorBalaram Sinharoy
Estimating the term…
Each of plural rows in an aligned Instruction cache (AIC) contains a plurality of aligned sectors, each sector having space for a block of sequentially-addressed instructions in an executing program. A “fetch history table” (FHT) contains FHT sets of FHT entries for specifying execution sequences of the sectors in associated AIC rows. Each FHT entry in a FHT set specifies an AIC row and a sector sequence arrangement to be outputted from that row. In this manner, each FHT entry can associate itself with any row in the AIC and is capable of specifying any output order among the sectors in its associated row. Unique fields are selected in each instruction address for locating an associated FHT set, and for associating the instruction address with an AIC sector through a unique “sector distribution table” (SDT) to locate the sector which starts with the instruction having this instruction address. A program is executed using “FHT cycles”, in which each FHT cycle uses a predicted instruction address and a prediction vector, both being matched with the FHT entries in the located FHT set. A FHT hit occurs if a match is found for a valid FHT entry. A hit FHT entry is used to control outgating for execution of a plurality of AIC sectors in the associated AIC row without branch instruction overhead. A FHT miss occurs when no hit FHT entry is found in a FHT cycle, and a new FHT entry is generated during the FHT cycle using conventional branch instruction execution until the new FHT entry is completed. During the FHT entry generation process, the SDT is Pused to locate AIC sectors to be specified in the sector sequence for the current FHT entry being generated during a FHT miss cycle.
A processor method for reducing branch instruction overhead during program execution by a processor, comprising
A processor method for reducing branch instruction overhead during program execution by a processor, comprising
Processor apparatus for reducing branch instruction overhead during program execution, comprising
Dependencies are inferred from the claim text.