250 likes | 436 Views
TARDP Curso 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%
E N D
TARDP Curso 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% • Aumenta PC 7,8 .. 18% • Reduce PC leídas en un 8,6% BBB • Híbrido ¿novedoso? • Profeta •Crítico pasado
TARDP 3 • ÍNDICE • Introducción • Trabajos relacionados • Primera aproximación • Filtrando el crítico • Juntándolo todo • Simulación • Resultados • Conclusiones
TARDP Introducción4 crítico profeta Valdebernardo ? ?
TARDP 5 • ÍNDICE • Introducción • Trabajos relacionados • Primera aproximación • Filtrando el crítico • Juntándolo todo • Simulación • Resultados • Conclusiones
TARDP Trabajos relacionados6 PredicA PredicB BHSR PC PredicA PredicB BHSR PC Selec | Fusión Híbrido =? PC Sobre-escritura Predictor Salto1 Salto2 BHSR BHSR’ Novedoso CT Pi Ci reduc 0110 t Estimador Confianza bitFuturo
TARDP 7 • ÍNDICE • Introducción • Trabajos relacionados • Primera aproximación • Filtrando el crítico • Juntándolo todo • Simulación • Resultados • Conclusiones
TARDP Primera aproximación8 ¿Unos ciclos más tarde? PC Profeta Predicción Crítico Crítica P BHSR BOR QRSTUVWXYP LQRSTUVWXY UVWXY QRSTU UVWXY P V P ABCD WXYP ABCD t Pasado Futuro P DCBA
TARDP Primera aproximación (Un ejemplo)9 ¡n*2 fallos! WXYZ NOPQ +Interferencia T T A …WXYZ PC …NOPQ H E B I J C F D G Profeta Crítico ¡Ojo! T T T T T • Sig (A, T) => Crítico (A,T) T T ¿Cuánto? T • Error => Crítico se entrena ¿Esto es frecuente?
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 ¡Filtrado! Instrucciones 154.450.036 Bcc 25.903.086 Interferencias 2.772.686 1.513.438 Neutras 1.679.135 957.999 Destructi. 977.729 471.607 Constructi. 115.822 83.832 ¡ 325 interferencias de media !
TARDP 11 • ÍNDICE • Introducción • Trabajos relacionados • Primera aproximación • Filtrando el crítico • Juntándolo todo • Simulación • Resultados • Conclusiones
TARDP Filtrando el Crítico12 BOR Filtro Crítico 10101 0 0100 Hash tag predicc. dirSalto =? Profecía Fallo Acierto Crítica Falla Meter salto en el Crítico • El Profeta acierta ≈ 90..95% => El Crítico se centre en el otro 5..10%
TARDP 13 • ÍNDICE • Introducción • Trabajos relacionados • Primera aproximación • Filtrando el crítico • Juntándolo todo • Simulación • Resultados • Conclusiones
TARDP Juntándolo todo (I)14 crítico • Reinman, Austin y Calder (1999): profeta Escalado de conexiones Front-End desacoplado miss Bcc miss [jump, jsr, rst] Crítico Decodi. Ejecución FTQ L1 I-Cache Segmentada MUX ultBloque sigPC ?? L1 FTB sigBloque Profeta L2 FTB L2 I-Cache
TARDP Juntándolo todo (II)15 2xCiclo 4 b futuro L K J I H G F E D 6µOpxCiclo Bcc cada 13µOP 1xCiclo BOR E D C Ideal:FTQ casi siempre bastante llena I H G Pega:No hay suficientes bits de futuro Con 8b 0,1% veces ¡ Usar los que haya ! FTQ I-Cache & Fetch Profeta F C B B A A Crítico ¿Crítico corrige predicción? Efecto limitado a la FTQ
TARDP 16 • ÍNDICE • Introducción • Trabajos relacionados • Primera aproximación • Filtrando el crítico • Juntándolo todo • Simulación • Resultados • Conclusiones
TARDP Simulación17 • Predictores utilizados: Gshare, 2Bc-gskew y Perceptron • Micro tipo Pentium 4 * 2 • 3,8GHz; 6OPC; L1I 64KB; L1D 32KB; L2 2MB; FTQ 32 • 108 bancos de pruebas: tpcc, premiere, msvc7, unzip, facerec, …
TARDP 18 • ÍNDICE • Introducción • Trabajos relacionados • Primera aproximación • Filtrando el crítico • Juntándolo todo • Simulación • Resultados • Conclusiones
TARDP Resultados19 • Importancia de los bits de futuro • Precisión de la predicción • Distribución de las críticas • Productividad del conjunto
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?
TARDP Resultados (Precisión de la predicción)21 Con 32KB parecido Mejoras: 25..31%
TARDP Resultados (Distribución de las críticas)22 Pro Crí Pro Crí Pro Crí Pro Crí 3Bcc => 1 Crítico 4Bcc => 1 Crítico 2 3 Profeta ¡ Acierta el 98,7% ! ¿ Profeta + [Crítico] ?
TARDP 24 • ÍNDICE • Introducción • Trabajos relacionados • Primera aproximación • Filtrando el crítico • Juntándolo todo • Simulación • Resultados • Conclusiones
TARDP Conclusiones25 Segú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 Resultados • 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% BBB FIN