Browse Prior Art Database

Branch Prediction Assist

IP.com Disclosure Number: IPCOM000036352D
Original Publication Date: 1989-Sep-01
Included in the Prior Art Database: 2005-Jan-28
Document File: 2 page(s) / 37K

Publishing Venue

IBM

Related People

Olsson, B: AUTHOR

Abstract

Disclosed is a mechanism which allows software to notify the processor that the unresolved conditional branch being executed has a very high probability of taking the predicted path, given an established convention of predicted branch behavior from specific environments. This allows the processor to more fully optimize execution of the branch instruction in the direction of the taken branch, even at a significant performance in the event the branch does not take the predicted path.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 2

Branch Prediction Assist

Disclosed is a mechanism which allows software to notify the processor that the unresolved conditional branch being executed has a very high probability of taking the predicted path, given an established convention of predicted branch behavior from specific environments. This allows the processor to more fully optimize execution of the branch instruction in the direction of the taken branch, even at a significant performance in the event the branch does not take the predicted path.

When encountering a branch instruction, the processor will initiate actions to optimize the performance of the branch instruction execution in accordance with an established convention of predicted branch behavior. Since the established predicted branch behavior convention only predicts likely behavior to a limited degree of probability, the processor must temper its actions in optimizing for that predicted path in order to minimize the adverse performance effects of a wrong prediction.

The processor could fully optimize the execution of the branch instruction for a predicted path which would result in significantly increased performance if the branch takes the predicted path. Not taking the predicted path, however, would result in significant degrading. Therefore, the processor does temper its actions in optimizing for the predicted path, achieving some performance gain when the branch takes the predicted path, and minimizes the performance loss when the branc...