Browse Prior Art Database

Branch With Execute and Skip Instruction

IP.com Disclosure Number: IPCOM000121407D
Original Publication Date: 1991-Aug-01
Included in the Prior Art Database: 2005-Apr-03
Document File: 1 page(s) / 42K

Publishing Venue

IBM

Related People

Thomforde, DJ: AUTHOR

Abstract

Described is a mechanism for improving the performance of conditional branch instructions in a pipelined processor. The mechanism provides the performance gain by moving the first instruction of the branch target into the current instruction stream. This instruction is not executed in the case where the branch is not taken.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 86% of the total text.

Branch With Execute and Skip Instruction

      Described is a mechanism for improving the performance of
conditional branch instructions in a pipelined processor. The
mechanism provides the performance gain by moving the first
instruction of the branch target into the current instruction stream.
This instruction is not executed in the case where the branch is not
taken.

      This invention is a modification of the branch with execute
instruction, which is called a branch with execute and skip
instruction.  Assume the following sequence of instructions in an
instruction stream:  -  Instruction A
-  Conditional Branch Instruction B (branch taken to Instruction E)
-  Instruction C
-  Instruction D
-  Instruction E

      In a computer system with a "branch with execute and skip"
instruction the order of instruction execution would be:
-  If the branch is not taken: A, B, D, E
-  If the branch is taken:  A, B, C, E

      The only difference between this scheme and the branch with
execute scheme is that instruction C is skipped in the branch not
taken case. The advantage to this method is that the compiler does
not need to locate an instruction to follow the branch, that can be
executed regardless of whether the branch was taken or not.  When the
branch is taken, one more instruction (instruction C) is executed
before the branch to the target instruction stream.  When the branch
is not taken, the instruction following the branch (instruction C) is
...