Patent · US Expired

Microprocessor with speculative instruction pipelining storing a speculative register value within branch target buffer for use in speculatively executing instructions after a return

US5850543A · kind A · utility

91Cited by
6References
25Claims
0Family size

Assignee

Inventors

Key dates

Filing dateOct 30, 1996
Grant dateDec 15, 1998
Priority date
Expiry dateOct 30, 2016

Classification

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

Abstract

A microprocessor of the superscalar pipelined type, having speculative execution capability, is disclosed. Speculative execution is under the control of a fetch unit having a branch target buffer and a return address stack, each having multiple entries. Each entry includes an address value corresponding to the destination of a branching instruction, and an associated register value, such as a stack pointer. Upon the execution of a subroutine call, the return address and current stack pointer value are stored in the return address stack, to allow for fetching and speculative execution of the sequential instructions following the call in the calling program. Any branching instruction, such as the call, return, or conditional branch, will have an entry included in the branch target buffer; upon fetch of the branch on later passes, speculative execution from the target address can begin using the stack pointer value stored speculatively in the branch target buffer in association with the target address.

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