Btip: prefetchador de instrucciones desencadenadas por rama que garantiza la puntualidad
Autores: Lin, Wenhai; Lin, Yiquan; Chen, Yiquan; Cai, Shishun; Jin, Zhen; Xu, Jiexiong; Zhang, Yuzhong; Chen, Wenzhi
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Btip: prefetchador de instrucciones desencadenadas por rama que garantiza la puntualidad
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Cachés
Fallos de caché Icache
FDIP
Predicciones incorrectas de ramificación
BTIP
Optimización del rendimiento
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 45
Citaciones: Sin citaciones
En la microarquitectura de la CPU, las cachés almacenan instrucciones y datos frecuentemente accedidos aprovechando su localidad, reduciendo la latencia de acceso a la memoria y mejorando el rendimiento de las aplicaciones. Sin embargo, las aplicaciones contemporáneas con grandes huellas de código a menudo experimentan fallos frecuentes en la caché de instrucciones (Icache misses), lo que degrada significativamente el rendimiento. Aunque la Precaptura de Instrucciones Dirigida por Fetch (FDIP) se ha adoptado ampliamente en procesadores comerciales para reducir los fallos en la Icache, nuestro análisis revela que FDIP aún sufre de fallos en la Icache causados por predicciones incorrectas de ramas y prefetch tardío, dejando una considerable oportunidad para la optimización del rendimiento. Se ha propuesto la Precaptura de Instrucciones Dirigida por Prioridad (PDIP) para reducir los fallos en la Icache causados por predicciones incorrectas de ramas en FDIP. Sin embargo, descuida los fallos en la Icache debido al prefetch tardío y sufre de una alta sobrecarga de almacenamiento. En este documento, propusimos un prefetcher de instrucciones activado por ramas (BTIP), que tiene como objetivo prefetchear líneas de Icache que FDIP no puede manejar eficientemente, incluidos los fallos en la Icache debido a predicciones incorrectas de ramas y prefetch tardío. También introducimos una nueva organización de Buffer de Objetivos de Ramas (BTB), BTIP BTB, que almacena metadatos de prefetch y reutiliza información de entradas BTB existentes, reduciendo efectivamente la sobrecarga de almacenamiento. Implementamos BTIP en el simulador Champsim y evaluamos detalladamente BTIP utilizando trazas del 1er Campeonato de Precaptura de Instrucciones (IPC-1). Nuestra evaluación muestra que BTIP supera tanto a FDIP como a PDIP. Específicamente, BTIP reduce los fallos en la Icache en un 38.0% y mejora el rendimiento en un 5.1% en comparación con FDIP. Además, BTIP supera a PDIP en un 1.6% mientras utiliza solo el 41.9% del espacio de almacenamiento requerido por PDIP.
Descripción
En la microarquitectura de la CPU, las cachés almacenan instrucciones y datos frecuentemente accedidos aprovechando su localidad, reduciendo la latencia de acceso a la memoria y mejorando el rendimiento de las aplicaciones. Sin embargo, las aplicaciones contemporáneas con grandes huellas de código a menudo experimentan fallos frecuentes en la caché de instrucciones (Icache misses), lo que degrada significativamente el rendimiento. Aunque la Precaptura de Instrucciones Dirigida por Fetch (FDIP) se ha adoptado ampliamente en procesadores comerciales para reducir los fallos en la Icache, nuestro análisis revela que FDIP aún sufre de fallos en la Icache causados por predicciones incorrectas de ramas y prefetch tardío, dejando una considerable oportunidad para la optimización del rendimiento. Se ha propuesto la Precaptura de Instrucciones Dirigida por Prioridad (PDIP) para reducir los fallos en la Icache causados por predicciones incorrectas de ramas en FDIP. Sin embargo, descuida los fallos en la Icache debido al prefetch tardío y sufre de una alta sobrecarga de almacenamiento. En este documento, propusimos un prefetcher de instrucciones activado por ramas (BTIP), que tiene como objetivo prefetchear líneas de Icache que FDIP no puede manejar eficientemente, incluidos los fallos en la Icache debido a predicciones incorrectas de ramas y prefetch tardío. También introducimos una nueva organización de Buffer de Objetivos de Ramas (BTB), BTIP BTB, que almacena metadatos de prefetch y reutiliza información de entradas BTB existentes, reduciendo efectivamente la sobrecarga de almacenamiento. Implementamos BTIP en el simulador Champsim y evaluamos detalladamente BTIP utilizando trazas del 1er Campeonato de Precaptura de Instrucciones (IPC-1). Nuestra evaluación muestra que BTIP supera tanto a FDIP como a PDIP. Específicamente, BTIP reduce los fallos en la Icache en un 38.0% y mejora el rendimiento en un 5.1% en comparación con FDIP. Además, BTIP supera a PDIP en un 1.6% mientras utiliza solo el 41.9% del espacio de almacenamiento requerido por PDIP.