Patent · US Active

Link stack repair of erroneous speculative update

US8438372B2 · kind B2 · utility

15Cited by
7References
27Claims
0Family size

Assignee

Inventors

Key dates

Filing dateAug 18, 2011
Grant dateMay 7, 2013
Priority date
Expiry dateAug 18, 2031

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F9/3863
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

Whenever a link address is written to the link stack, the prior value of the link stack entry is saved, and is restored to the link stack after a link stack push operation is speculatively executed following a mispredicted branch. This condition is detected by maintaining an incrementing tag register which is incremented by each link stack write instruction entering the pipeline, and a snapshot of the incrementing tag register, associated with each branch instruction. When a branch is evaluated and determined to have been mispredicted, the snapshot associated with it is compared to the incrementing tag register. A discrepancy indicates a link stack write instruction was speculatively issued into the pipeline after the mispredicted branch instruction, and pushed a link address onto the link stack, thus corrupting the link stack. The prior link address is restored to the link stack from the link stack restore buffer.

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