Branch prediction in a pipelined processor
First Claim
Patent Images
1. A processor, comprising:
- an instruction pipeline having N stages;
an instruction set, comprising a branch instruction and a branch notification instruction operative to receive at least one argument M; and
a loading module to place instructions in said instruction pipeline, wherein said branch notification instruction is to indicate to said loading module via said at least one argument M that a branch instruction will occur within M instructions in said instruction pipeline, and wherein when said branch notification instruction is executed, said loading module is to load an instruction beginning at a branch point for said branch.
1 Assignment
0 Petitions
Accused Products
Abstract
A new branch notification processor instruction may be added to a pipelined processor with static branch prediction. The instruction may be used to instruct the processor to fetch the instruction at the branch'"'"'s target.
13 Citations
12 Claims
-
1. A processor, comprising:
-
an instruction pipeline having N stages;
an instruction set, comprising a branch instruction and a branch notification instruction operative to receive at least one argument M; and
a loading module to place instructions in said instruction pipeline, wherein said branch notification instruction is to indicate to said loading module via said at least one argument M that a branch instruction will occur within M instructions in said instruction pipeline, and wherein when said branch notification instruction is executed, said loading module is to load an instruction beginning at a branch point for said branch. - View Dependent Claims (2, 3)
-
-
4. A method of static branch prediction, comprising:
-
inserting a branch notification instruction into an instruction sequence before a branch instruction, wherein said branch notification instruction indicates a separation of M instructions from said branch instruction, and wherein said branch has a branch target;
executing said branch notification instruction; and
fetching an instruction starting at said branch target immediately after executing said branch notification instruction. - View Dependent Claims (5, 6)
-
-
7. A machine-accessible medium containing software code that, when read by a computer, causes the computer to perform a method comprising:
-
inserting a branch notification processor instruction in an instruction sequence before a branch instruction, wherein said branch notification instruction indicates a separation of M instructions from said branch instruction, and wherein said branch instruction has a branch target;
executing said branch notification instruction; and
fetching an instruction starting at said branch target immediately after executing said branch notification instruction. - View Dependent Claims (8, 9)
-
-
10. A system, comprising:
-
a random-access memory;
a processor coupled to said memory, said processor comprising;
an instruction pipeline having N stages;
an instruction set, comprising a branch instruction and a branch notification instruction operative to receive at least one argument M; and
a loading module to place said sequence of instructions in said instruction pipeline;
wherein said branch notification instruction is to indicate to said loading module via said at least one argument M that a branch instruction will occur within M instructions in said instruction sequence, and wherein when said branch notification instruction is executed, said loading module is to load an instruction beginning at a branch point for said branch. - View Dependent Claims (11, 12)
-
Specification