Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Indirect branch prediction

A branch prediction and indirect technology, applied in the direction of instruments, computing, electrical digital data processing, etc., can solve time-consuming and difficult problems

Active Publication Date: 2014-09-17
MIPS TECH INC
View PDF5 Cites 7 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, this is often quite difficult and time-consuming

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
  • Indirect branch prediction
  • Indirect branch prediction
  • Indirect branch prediction

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0034] Embodiments of the invention are described below by way of example only. These examples represent the best mode currently known to applicants for putting the invention into practice, although these best modes are not the only ways in which the invention can be practiced. This description presents the functionality of the example and the sequence of steps used to construct and operate the example. However, different examples may perform the same or equivalent functions or sequences.

[0035] As described above, indirect branches (eg, branches based on variables rather than constant values) are harder to predict because the branch predictor has to predict where the target will be. Targets are especially difficult to predict because they are usually based on register values ​​that change periodically.

[0036] The most common way to predict an indirect branch is to use a branch target buffer (BTB), which stores the most recent target address of an indirect branch instruc...

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

Provided are a method and indirect branch predictor logic units to predict the target addresses of indirect branch instructions. The method comprises storing in a table predicted target addresses for indirect branch instructions indexed by a combination of the indirect path history for previous indirect branch instructions and the taken / not-taken history for previous conditional branch instructions. When a new indirect branch instruction is received for prediction, the indirect path history and the taken / not-taken history are combined to generate an index for the indirect branch instruction. The generated index is then used to identify a predicted target address in the table. If the identified predicted target address is valid, then the target address of the indirect branch instruction is predicted to be the predicted target address.

Description

Background technique [0001] Many processors include a branch predictor, which predicts which direction the program flow will take given an instruction known to cause a possible flow change, such as a branch instruction. Branch prediction is useful because it enables a processor to speculatively execute instructions before the outcome of the branch instruction is known. [0002] Branch instructions can be classified as conditional branch instructions or indirect branch instructions. Conditional branch instructions (branch instructions based on a constant value) require a binary decision to take a branch or not to take it. Indirect branch instructions (variable-based branch instructions) require an N-ary decision on the target address, where N is the number of possible target addresses. Correspondingly, indirect branches are less predictable than conditional branches. Therefore, many branch predictors cannot accurately predict indirect branch instructions. [0003] One solut...

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
IPC IPC(8): G06F9/30G06F9/32
CPCG06F9/3844G06F9/3806G06F9/3848G06F9/30061
Inventor M·V·马努基安
Owner MIPS TECH INC
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products