Patent · US Expired

Compiling strong and weak branching behavior instruction blocks to separate caches for dynamic and static prediction

US6115809A · kind A · utility

134Cited by
6References
15Claims
0Family size

Assignee

Inventors

Key dates

Filing dateApr 30, 1998
Grant dateSep 5, 2000
Priority date
Expiry dateApr 30, 2018

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F8/445
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

A method and apparatus varies branch prediction strategy associated with branch instructions in a trace of program code. The present invention first profiles branch instructions within a trace to record branching behavior. Next, the present invention partitions branch instructions into groups of branch instructions that can be statically predicted and groups of branch instructions that can be dynamically predicted. Branch instructions that are profiled to have "strong" branching behavior (e.g., the same branch direction is taken 80% of the time) are placed in the group of branch instruction that are statically predicted. Branch instructions that are profiled to have "weak" branching behavior (e.g., the same branch direction is taken 60% of the time) are placed in the group of branch instruction that are dynamically predicted. Finally, branch instructions are adjusted by associating an indication of prediction strategy with each profiled branch instruction. In an embodiment of the present invention, dynamic and static code caches are defined in physical memory by allocating pools of memory pages that have prediction flags set to dynamic and static, respectively. In this embodiment, …

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.