A 64 Kbytes ISL-TAGE predictor

1 / 22

# A 64 Kbytes ISL-TAGE predictor - PowerPoint PPT Presentation

A 64 Kbytes ISL-TAGE predictor. André Seznec INRIA/IRISA. Build on L-TAGE. L-TAGE: TAGE + loop predictor ISL-TAGE: TAGE + loop predictor + Statistical Corrector Predictor + Immediate Update Mimicker + tricks to try to win. 500-800 MPPKI range.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'A 64 Kbytes ISL-TAGE predictor' - fisk

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### A 64 Kbytes ISL-TAGE predictor

André Seznec

INRIA/IRISA

Build on L-TAGE
• L-TAGE:
• TAGE + looppredictor
• ISL-TAGE:
• TAGE + looppredictor

+ Statistical Corrector Predictor

+Immediate Update Mimicker

+ tricks to try to win

500-800 MPPKI range

TAGE: multiple tables, global history predictor

The set of history lengths forms a geometric series

Capture correlation

on very long histories

{0, 2, 4, 8, 16, 32, 64, 128}

most of the storage

for short history !!

What is important:L(i)-L(i-1) is drastically increasing

h[0:L1]

pc

pc

pc

h[0:L2]

pc

h[0:L3]

tag

tag

tag

ctr

ctr

ctr

u

u

u

1

1

1

1

1

1

1

=?

=?

=?

1

hash

hash

hash

hash

hash

hash

1

prediction

Tagless base

predictor

Miss

Hit

Pred

=?

=?

1

1

1

1

1

1

1

=?

1

Hit

1

Altpred

Prediction computation
• General case:
• Longest matching component provides the prediction
• Special case:
• Many mispredictions on newly allocated entries: weak Ctr

On many applications, Altpred more accuratethan Pred

• Property dynamically monitored through a single 4-bit counter
A tagged table entry

Tag

U

Ctr

• Ctr: 3-bit prediction counter
• U: 1 useful bit
• Was the entry recently useful ?
• Tag: partial tag
Allocate entries on mispredictions
• Allocateentries in longer historylength tables
• On tables with U unset
• Set Ctr to Weak and U to 0
• HUGE STORAGE BUDGET:
• Up to 4 entries allocated in different tables
• Fastwarming
Managing the (U)seful bit
• Setting whenavoids a misprediction
• (Pred = taken) & (Alt ≠ taken)
• Global reset when « difficulties » to allocate
• Dynamically monitor if more failuresthansuccesses on allocations

7 MPPKI+

29 Kbits

The looppredictor
• Predictloopwith constant number of iterations:
• 64 entries
• lessthan 6 bytes per entry
• Capture somebehaviorthat TAGE is not able

12 MPPKI

The Immediate Update Mimicker
• Issue:
• Somemispredictions due to late updates at retirement
• Immediate Update Mimicker:
• Try to catch these cases
The Immediate Update Mimicker

Fetch

P(rediction) or (E)xecuted

T(able)

A(ddress in the table)

P

T

A

E

T

A

E

T

A

P

T

A

P

T

A

P

T

A

P

T

A

P

T

A

P

T

A

P

T

A

E

T

A

P

T

A

P

T

A

E

T

A

P

T

A

P

T

A

P

T

A

P

T

A

P

T

A

P

T

A

P

T

A

P

T

A

P

T

A

P

T

A

P

T

A

E

T

A

Misprediction

7 MPPKI

Same table, same entry

The Statistical Corrector predictor
• Branches withpoorcorrelationwithhistory:
• Sometimesbetterpredicted by a single wide PC indexedcounterthan by TAGE
• More generally, track cases suchthat:
• « In this case (PC, history, prediction),

TAGE islikely (>50 %) to mispredict »

The Statistical Corrector Predictor

Main

(TAGE +IUM)

Predictor

Prediction + counter value

Stat.

Corr.

H

A

LoopPredictor

H

A

Pred

+

counter value

Main

(TAGE +IUM)

Predictor

Stat

Cor.

H

A

Loop

The Statistical Corrector Predictor for the contest
• Derivedfrom the GEHL predictor:
• 5 (logic) tables sharing 4K 6-bit entries
• + use TAGE prediction in the index
• + values of the provider counter
• Use predictionwhen

|sum| > dynamicthreshold

15 MPPKI

Dimensioning TAGE
• Hugestorage budget:
• 15 tagged tables + the bimodal
• Different tag width
• All branches + path
• (6,2000) history
• + extra bits for indirect and calls

5 MPPKI

For the competition: interleaving

h[0,L1]

h[0,L1]

Xbar

Xbar

=?

=?

=?

6 MPPKI

prediction

For the competition

Guidedselection of the best set of historylengths:

0, 3, 8, 12, 17, 33, 35, 67, 97, 138, 195, 330, 517, 1193, 1741, 1930

3 MPPKI

All these efforts for 43 MPPKI

MPPKI

+10

16KB ISL-TAGE

Ref

64KB CBP2 L-TAGE

-24

32KB ISL-TAGE

-43

64KB ISL-TAGE

-113

-49

LIMIT ISL-TAGE

LIMIT CBP2 L-TAGE

Missedopportunity (in the submittedpredictor)
• StatisticalPredictor
• Couldaccomodate local history

16 MPPKI

And looppredictorbecomes (almost) useless

Summary
• ISL-TAGE built on top of TAGE:
• Looppredictor
• Immediate Update Mimicker
• Uses information that must bepropagated
• Statistical Corrector Predictor
• Opens opportunity to uses local history
• + unrealisticinterleaving