Method and system for branch target prediction using path information

a path information and target prediction technology, applied in the field of computer systems, can solve the problems of wasting time, wasting processing effort, and each stage of the pipeline to be idle for a period of time, and the branch prediction mechanism is only worthwhil

Inactive Publication Date: 2005-11-24
RAPPOPORT LIHU +3
View PDF7 Cites 57 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0014] A system and method for predicting a branch target for a current instruction in a microprocessor, the system comprising a cache storing indirect branch instructions and a path register. The path register is updated on certain branches by an XOR operation on the path register and the branch instruction, followed by the addition of one or more bits to the register. The cache is indexed by performing an operation on a portion of the current instruction address and the path register; the entry returned, if any, may be used to predict the target of the current instruction.

Problems solved by technology

Thus, a certain amount of processing effort, taking a certain amount of time, is wasted.
The delay in fetching the next instruction will cause each stage of the pipeline to be idle for a period of time.
If the prediction is incorrect a stall will occur; thus branch prediction mechanisms are only worthwhile if they predict target addresses with some amount of accuracy.
Branch prediction mechanisms are costly in terms of processor resources.
A tradeoff occurs between devoting resources to branch prediction mechanisms and their accuracy.
It is costly to implement branch prediction mechanisms.
However, the less resources devoted to such mechanisms the less accurate they are.
Branch prediction accuracy suffers when less information is stored as branch history, less information is used to index prediction tables and less information is stored in prediction tables.
Furthermore, branch prediction methods which are accurate and efficient for and appropriate for conditional branches may not be accurate and efficient for and appropriate for indirect branches.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Method and system for branch target prediction using path information
  • Method and system for branch target prediction using path information
  • Method and system for branch target prediction using path information

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0021] I. Overview

[0022] The system and method of the present invention allow for more accurate branch target prediction using a minimum of system resources. In an exemplary embodiment of the present invention, a branch prediction unit provides branch target predictions based on the instruction pointer (“IP”) of a branch instruction. The branch prediction unit comprises a BTB, an indirect target buffer (“ITB”) and a PIR The BTB and ITB store predicted target addresses and the PIR stores path history. The PIR is used, in combination with a branch address, to index the ITB. On each instruction fetch both the BTB and ITB are accessed in parallel, and, if either hit, the provided target or targets may be used to predict the target of a branch address.

[0023] The PIR provides an efficient way to accurately record the path history. When combined with a portion of the branch address to form an index for the ITB, the PIR allows for different predictions to be made for the same indirect bra...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

A system and method for predicting a branch target for a current instruction in a microprocessor, the system comprising a cache storing indirect branch instructions and a path register. The path register is updated on certain branches by an XOR operation on the path register and the branch instruction, followed by the addition of one or more bits to the register. The cache is indexed by performing an operation on a portion of the current instruction address and the path register; the entry returned, if any, may be used to predict the target of the current instruction.

Description

BACKGROUND OF THE INVENTION [0001] I. Field of the Invention [0002] The present invention relates to the field of computer systems. More specifically, the present invention relates to microprocessors, in particular to the prediction of branch instructions. [0003] II. Background Information [0004] Microprocessors (or “processors”) execute a series of program instructions, each instruction having an address. Typically instructions are executed in sequence, with branch instructions causing out of sequence execution by causing the processor to branch to an instruction. Pipelined processors generally process instructions in a sequence of stages, such as fetch, decode, execute, and retire, forming a pipeline. Different aspects of different instructions are processed at the same time by different stages forming the pipeline. While one instruction is being fetched from memory, another is being decoded, another is being executed, etc. [0005] When it is known whether or not an instruction bei...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Applications(United States)
IPC IPC(8): G06F9/38
CPCG06F9/3848G06F9/3806G06F9/30061G06F9/322
Inventor RAPPOPORT, LIHURONEN, RONNYKACEVAS, NICOLASLEMPEL, ODED
Owner RAPPOPORT LIHU
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products