Branch instruction mechanism for processor
AssigneeHitachi, Ltd.
InventorsSivaram Krishnan, Sebastian Haviuj Ziesler
Life of this patent
Estimating the term…
Loading patent…
AssigneeHitachi, Ltd.
InventorsSivaram Krishnan, Sebastian Haviuj Ziesler
Estimating the term…
An improved branch instruction and associated branch control instruction are provided for optimizing handling of branch operations within a pipelined processor. The branch control instruction is adapted so that it can precede the branch instruction in a program sequence and provides branch target address computation information so that branch target addresses can be computed in advance of execution of one or more associated branch instructions. The branch control instruction also includes its own branch instruction prediction bit for specifying to a prefetcher within the processor whether a common branch instruction is likely to be needed by the processor, as well as a ranking field for specifying a preloading priority for the particular common branch instruction. Because branch target address computation information is disassociated from the actual branch instruction, more space is available within the branch instruction itself to permit additional new types of operations, such as folded-compare, register to register comparisons (including a compare to a zero valued register), predicate evaluations, etc. A separate prediction bit within the branch instruction specifies whether the branch is likely to be taken or not taken to a branch control unit in the processor, and it is these separate prediction bits that are considered by a branch control instruction for a group of branch instructions to determine the branch instruction prediction bit.
A method of providing a branch control instruction for use by a processor, the branch control instruction being associated with a branch instruction used for effectuating a branch operation in the processor, the method including the steps of:
The method of 1 wherein said variable amount includes a first length field for specifying a displacement value when the branch instruction is a PC based branch, and said variable amount includes a second length field for specifying a register number when the branch instruction is a register based branch.
A method of operating a processor using a branch control instruction, the method including the step of:
The method of 9 wherein said variable amount includes a first length field for specifying a displacement value when said program branch instruction is a PC based branch, and said variable amount includes a second length field for specifying a register number when said branch instruction is a register based branch.
A branch control instruction for use by a processor, the branch control instruction being associated with a program branch and further being in an electronic form readable by the processor, the branch control instruction further having processor decodable portions including:
A processor that executes a branch control instruction in conjunction with branch operations, the processor including:
The processor of 25 wherein said variable amount includes a first length field for specifying a displacement value when said program branch instruction is a PC based branch, and said variable amount includes a second length field for specifying a register number when said branch instruction is a register based branch.
Dependencies are inferred from the claim text.