Browse Prior Art Database

Target Prefetch Table

IP.com Disclosure Number: IPCOM000050216D
Original Publication Date: 1982-Sep-01
Included in the Prior Art Database: 2005-Feb-10
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Parks, L: AUTHOR [+3]

Abstract

A mechanism is shown for prefetching the target instructions of taken branches during the decode time of the preceding not taken branch instruction.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 55% of the total text.

Page 1 of 2

Target Prefetch Table

A mechanism is shown for prefetching the target instructions of taken branches during the decode time of the preceding not taken branch instruction.

In current high performance machines, the outcome of branch instructions is predicted when the branch is decoded. A mechanism like the decode history table (DHT) predicts these branches with a high degree of accuracy (80 - 85%). In order to reduce the penalty in case the prediction is wrong, these machines also hedge the prediction by fetching both the paths of the branch. The hedging fetch for a branch predicted to be not taken is made as follows:

During the decode cycle of the branch, the address generation for the target of the branch takes place. A hedging fetch is made for this address with the highest priority of cache accesses in the Instruction (I) unit (only the operand fetch in the Execute (E) unit has higher priority). If the DHT (or other branch prediction mechanism with a high enough degree of accuracy) predicts that this branch is not going to be taken, then this hedging fetch represents a waste of resources (cache slot for prefetching target instructions) with a high degree of probability.

This resource may be better utilized by remembering in a Table (the Target Prefetch Table (TPT)), instruction addresses of not taken branches and associated with them, the target addresses of next taken branches. The mechanism works as follows:

a) During the decode cycle of every branch instruction, the TPT

is accessed with the instruction address of the decoding

branch.

b) The Table delivers the associated target address of the next

taken branch based on previous execution.

c) During this cycle the normal address generation process

also goes on. Later in the same cycle the DHT (or other

branch prediction mechanism) predicts whether this branch

will be taken. If the prediction is that the branch

will not be taken, the address delivered by the Table (TPT)

is the target of the next predicted taken branch rather

t...