25
TARDP Curso 05/06 Prophet/Critic Hybrid Branch Prediction Ayose Falcón, Stark, Ramirez, Lai y Valero ISCA’04 Pablo Carazo Minguela – Junio/2006

TARDPCurso 05/06

  • Upload
    anana

  • View
    67

  • Download
    1

Embed Size (px)

DESCRIPTION

TARDPCurso 05/06. Prophet/Critic Hybrid Branch Prediction Ayose Falcón, Stark, Ramirez, Lai y Valero ISCA’04. Pablo Carazo Minguela – Junio/2006. TARDP Resumen Curso 05/06. pasado. futuro. Resultados. Híbrido 8K+8K vs 16K 2Bc-gskew Reduce errores hasta un 39% - PowerPoint PPT Presentation

Citation preview

Page 1: TARDPCurso 05/06

TARDP Curso 05/06

Prophet/Critic Hybrid Branch Prediction

Ayose Falcón, Stark, Ramirez, Lai y Valero ISCA’04

Pablo Carazo Minguela – Junio/2006

Page 2: TARDPCurso 05/06

TARDP Resumen Curso 05/06

• Híbrido ¿novedoso?

• Profeta • Crítico

pasado pasado

futuro

Híbrido 8K+8K vs 16K 2Bc-gskew

• Reduce errores hasta un 39%• Aumenta PC 7,8 .. 18%• Reduce PC leídas en un 8,6%

Resultados

BBB

Page 3: TARDPCurso 05/06

TARDP 3

ÍNDICE• Introducción

• Trabajos relacionados

• Primera aproximación

• Filtrando el crítico

• Juntándolo todo

• Simulación

• Resultados

• Conclusiones

Page 4: TARDPCurso 05/06

TARDP Introducción 4

Valdebernardo

profeta

crítico

??

Page 5: TARDPCurso 05/06

TARDP 5

ÍNDICE• Introducción

• Trabajos relacionados

• Primera aproximación

• Filtrando el crítico

• Juntándolo todo

• Simulación

• Resultados

• Conclusiones

Page 6: TARDPCurso 05/06

PredicA PredicB

BHSR

PC

Selec | Fusión

Híbrido

bitFuturo

TARDP Trabajos relacionados 6

PredicA PredicB

BHSR

PC

=?

Salto1 Salto2

Sobre-escrituraBHSR

PCPredictor

CT

0110 reduc

Estimador Confianza

BHSR’ Novedoso

tPi Ci

Page 7: TARDPCurso 05/06

TARDP 7

ÍNDICE• Introducción

• Trabajos relacionados

• Primera aproximación

• Filtrando el crítico

• Juntándolo todo

• Simulación

• Resultados

• Conclusiones

Page 8: TARDPCurso 05/06

TARDP Primera aproximación8

Profeta

Predicción

LQRSTUVWXY

PPC

BHSR

t

QRSTUVWXYP

Crítico

Crítica

BORQRSTU WXYPV

¿Unos ciclos más tarde?

UVWXY ABCDP

UVWXY ABCDP

Pasado

Futuro

P DCBA

Page 9: TARDPCurso 05/06

¡Ojo!

A

B

E

H

D

C

GF

I J

T T

TARDP Primera aproximación (Un ejemplo) 9

WXYZ

• Error => Crítico se entrena

NOPQ

¿Esto es frecuente?

+ Interferencia…WXYZ

…NOPQ

PC

¡n*2 fallos!

• Sig (A, T) => Crítico (A,T)

Profeta

T T

T T

Crítico

TT

TT¿Cuánto?

Page 10: TARDPCurso 05/06

TARDP Primera aproximación (Tasa de interferencias) 10

• Chang, Evers y Patt (1996)

• gcc y gshare con 8K entradas

Entradas con 32 interferencias o menos

Entradas con 325 interferencias o más

¡ 325 interferencias de media !

154.450.036

25.903.086

2.772.686

1.679.135

977.729

115.822

InstruccionesBccInterferencias

Neutras Destructi. Constructi. 0

500000

1000000

1500000

2000000

Neutras Destruc. Construc.

1.513.438

957.999

471.607

83.832

¡Filtrado!

Page 11: TARDPCurso 05/06

TARDP 11

ÍNDICE• Introducción

• Trabajos relacionados

• Primera aproximación

• Filtrando el crítico

• Juntándolo todo

• Simulación

• Resultados

• Conclusiones

Page 12: TARDPCurso 05/06

BOR10101 01000

dirSalto

Crítico

predicc.

TARDP Filtrando el Crítico 12

• El Profeta acierta ≈ 90..95% => El Crítico se centre en el otro 5..10%

Filtro

tagHash

=?

Acierto CríticaFalloProfecía

Falla Meter salto en el Crítico

Page 13: TARDPCurso 05/06

TARDP 13

ÍNDICE• Introducción

• Trabajos relacionados

• Primera aproximación

• Filtrando el crítico

• Juntándolo todo

• Simulación

• Resultados

• Conclusiones

Page 14: TARDPCurso 05/06

TARDP Juntándolo todo (I) 14

• Reinman, Austin y Calder (1999):

Escalado de conexiones Front-End desacoplado

FTQ L1 I-CacheSegmentada

Decodi. Ejecución

MUX sigPC

sigBloque

L1 FTB

ultBloque

miss [jump, jsr, rst]miss Bcc

L2 FTB L2 I-CacheProfeta

Crítico

profeta

crítico

??

Page 15: TARDPCurso 05/06

Crítico

TARDP Juntándolo todo (II) 15

ProfetaI-Cache & Fetch

A

FTQ

ABCDEFGHIJKL BCDEF

BOR

4 b futuro

I H G

Ideal: FTQ casi siempre bastante llena

2xCiclo

1xCiclo 6µOpxCicloBcc cada 13µOP

Pega: No hay suficientes bits de futuro Con 8b 0,1% veces

¡ Usar los que haya !

¿Crítico corrige predicción?Efecto limitado a la FTQ

Page 16: TARDPCurso 05/06

TARDP 16

ÍNDICE• Introducción

• Trabajos relacionados

• Primera aproximación

• Filtrando el crítico

• Juntándolo todo

• Simulación

• Resultados

• Conclusiones

Page 17: TARDPCurso 05/06

TARDP Simulación 17

• Micro tipo Pentium 4 * 2

3,8GHz; 6OPC; L1I 64KB; L1D 32KB; L2 2MB; FTQ 32

• Predictores utilizados: Gshare, 2Bc-gskew y Perceptron

• 108 bancos de pruebas: tpcc, premiere, msvc7, unzip, facerec, …

Page 18: TARDPCurso 05/06

TARDP 18

ÍNDICE• Introducción

• Trabajos relacionados

• Primera aproximación

• Filtrando el crítico

• Juntándolo todo

• Simulación

• Resultados

• Conclusiones

Page 19: TARDPCurso 05/06

TARDP Resultados 19

• Importancia de los bits de futuro

• Precisión de la predicción

• Distribución de las críticas

• Productividad del conjunto

Page 20: TARDPCurso 05/06

TARDP Resultados (Importancia de los bits de futuro) 20

Profeta: 8KB perceptron + Crítico: 8KB gshare etiquetado

Unos pocos bits OK Más no rentables?

¿8 OK?

Page 21: TARDPCurso 05/06

TARDP Resultados (Precisión de la predicción) 21

Mejoras:25..31%

Con 32KBparecido

Page 22: TARDPCurso 05/06

TARDP Resultados (Distribución de las críticas) 22Pro Crí

Pro Crí

Pro Crí

Pro Crí

¿ Profeta + [Crítico] ?3Bcc => 1 Crítico 4Bcc => 1 Crítico

Profeta2 3

¡ Acierta el 98,7% !

Page 23: TARDPCurso 05/06

TARDP Resultados (Productividad del conjunto) 23

Page 24: TARDPCurso 05/06

TARDP 24

ÍNDICE• Introducción

• Trabajos relacionados

• Primera aproximación

• Filtrando el crítico

• Juntándolo todo

• Simulación

• Resultados

• Conclusiones

Page 25: TARDPCurso 05/06

TARDP Conclusiones 25

Híbrido 8K+8K vs 16K 2Bc-gskew

• Reduce errores hasta un 39%• Aumenta PC 7,8 .. 18%• Reduce PC leídas en un 8,6%

Resultados

BBBSegún los

propios autores

• Needs fast hardware to compute prediction/mispredictions and refile the FTQ before branches consumed by I-Cache

• Large tag small coverage, small tag contention; Therefore it is not universal

• How to select branches to cover in the filtered critic

FIN