Branch predicting computer
First Claim
1. An improved digital device including a memory means for storing a plurality of instructions arranged as a program with conditional branch instructions at respective locations in said program specifying conditions to be tested;
- an instruction prefetch means and an instruction execute means for respectively fetching and executing different instructions of said program at the same time in a pipelined fashion;
said conditional branch instruction at each of said locations further having multiple encodings which predict the state of the condition to be tested; and
a control means for detecting when said prefetch means has fetched one of said conditional branch instructions and for fetching the next instruction based on the predicted state of the condition to be tested and encoded in said fetched conditional branch instruction.
3 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a digital computer which includes means for storing a plurality of instructions arranged as a program with conditional branch instructions at respective locations in said program specifying conditions to be tested; an instruction prefetch means and an instruction execute means for respectively fetching and executing different instructions of said program at the same time in a pipelined fashion; said conditional branch instruction at each of said locations further having multiple encodings which predict the state of the condition to be tested; and a control means for detecting when said prefetch means has fetched one of said conditional branch instructions and for fetching the next instruction based on the predicted state of the condition to be tested and encoded in said fetched conditional branch instruction.
61 Citations
9 Claims
-
1. An improved digital device including a memory means for storing a plurality of instructions arranged as a program with conditional branch instructions at respective locations in said program specifying conditions to be tested;
- an instruction prefetch means and an instruction execute means for respectively fetching and executing different instructions of said program at the same time in a pipelined fashion;
said conditional branch instruction at each of said locations further having multiple encodings which predict the state of the condition to be tested; and
a control means for detecting when said prefetch means has fetched one of said conditional branch instructions and for fetching the next instruction based on the predicted state of the condition to be tested and encoded in said fetched conditional branch instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7)
- an instruction prefetch means and an instruction execute means for respectively fetching and executing different instructions of said program at the same time in a pipelined fashion;
-
8. A programmable digital device including a memory means for storing a plurality of instructions arranged as a program;
- a conditional branch instruction at one location in said program having a first encoding specifying a condition to be tested and predicting a first state of said condition;
another conditional branch instruction at another location in said program having a second encoding specifying said same condition to be tested and predicting a second state of said condition; and
a means for fetching said conditional branch instruction from any one of said locations and for thereafter fetching the next instruction from said program based on said predicted state of said condition as encoded in said fetched conditional branch instruction.
- a conditional branch instruction at one location in said program having a first encoding specifying a condition to be tested and predicting a first state of said condition;
-
9. A programmed digital device including a memory means for storing a plurality of instructions arranged as a program;
- at least one of said instructions being a conditional branch instruction specifying a condition to be tested;
said at least one conditional branch instruction having at least a first encoding predicting a first state of said condition and having at least a second encoding predicting a second state of condition.
- at least one of said instructions being a conditional branch instruction specifying a condition to be tested;
Specification