Patent · US Expired

Method and apparatus for correcting an internal call/return stack in a microprocessor that speculatively executes call and return instructions

US6314514A · kind A · utility

39Cited by
7References
38Claims
0Family size

Assignee

Inventor

Key dates

Filing dateMar 18, 1999
Grant dateNov 6, 2001
Priority date
Expiry dateMar 18, 2019

Classification

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

Abstract

An apparatus and method for correcting a call/return stack internal to a microprocessor is provided. In the case of a call, the microprocessor pushes the return address onto the internal call/return stack and in the case of a return, the microprocessor pops the return address from the internal call/return stack into the instruction register. However, prior to speculative execution of the call or return, the correction apparatus stores correction information to enable correction of the internal call/return stack. If the conditional branch instruction was mispredicted, the correction apparatus corrects the internal call/return stack based on the correction information previously stored. The correction information is stored in stack memories so that corrections can be made in the reverse order of which the incorrect modifications to the internal call/return stack were made. This enables correction of the internal call/return stack even if multiple call or return instructions have been speculatively executed prior to resolution of the conditional branch.

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