Reduciendo el retraso para decodificar instrucciones al predecir sus operandos de registro fuente
Autores: Park, Sanghyun; Jun, Jaeyung; Kim, Changhyun; Min, Gyeong Il; Lee, Hun Jae; Kim, Seon Wook
Idioma: Inglés
Editor: MDPI
Año: 2020
Acceso abierto
Artículo científico
2020
Reduciendo el retraso para decodificar instrucciones al predecir sus operandos de registro fuente
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Instrucciones
Procesador
Dependencias
Decodificar
Memoria
Retraso
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 59
Citaciones: Sin citaciones
Las instrucciones recuperadas tendrían una dependencia de datos con las que están en ejecución en la tubería de un procesador, por lo que la dependencia evita que el procesador ejecute las instrucciones entrantes para garantizar la corrección del programa. Las dependencias de registro y memoria se detectan en las etapas de decodificación y memoria, respectivamente. En un pequeño procesador integrado que admite la mayor cantidad de ISA posibles para reducir el tamaño del código, la decodificación de instrucciones para identificar el uso de registros con la comprobación de dependencia generalmente resulta en un largo retraso y a veces en un camino crítico en su implementación. Para reducir el retraso, este artículo propone dos métodos: un método asume los campos de bits de los operandos de registro fuente ampliamente utilizados sin decodificar completamente las instrucciones. Sin embargo, esta suposición causaría paradas adicionales debido a la predicción incorrecta; por lo tanto, degradaría el rendimiento. Para resolver este problema, como otro método, adoptamos una forma basada en tablas para almacenar el historial de dependencias y luego utilizar esta información para predecir más precisamente la dependencia. Aplicamos nuestros métodos al procesador integrado comercial EISC con el proceso Samsung de 65nm; por lo tanto, redujimos el retraso del camino crítico y aumentamos su frecuencia máxima de operación en un 12.5% y logramos una aceleración promedio del 11.4% en el tiempo de ejecución de las aplicaciones EEMBC. También mejoramos el consumo de energía estática, dinámica y EDP en un 7.2%, 8.5% y 13.6%, respectivamente, a pesar de la sobrecarga de área de implementación del 2.5%.
Descripción
Las instrucciones recuperadas tendrían una dependencia de datos con las que están en ejecución en la tubería de un procesador, por lo que la dependencia evita que el procesador ejecute las instrucciones entrantes para garantizar la corrección del programa. Las dependencias de registro y memoria se detectan en las etapas de decodificación y memoria, respectivamente. En un pequeño procesador integrado que admite la mayor cantidad de ISA posibles para reducir el tamaño del código, la decodificación de instrucciones para identificar el uso de registros con la comprobación de dependencia generalmente resulta en un largo retraso y a veces en un camino crítico en su implementación. Para reducir el retraso, este artículo propone dos métodos: un método asume los campos de bits de los operandos de registro fuente ampliamente utilizados sin decodificar completamente las instrucciones. Sin embargo, esta suposición causaría paradas adicionales debido a la predicción incorrecta; por lo tanto, degradaría el rendimiento. Para resolver este problema, como otro método, adoptamos una forma basada en tablas para almacenar el historial de dependencias y luego utilizar esta información para predecir más precisamente la dependencia. Aplicamos nuestros métodos al procesador integrado comercial EISC con el proceso Samsung de 65nm; por lo tanto, redujimos el retraso del camino crítico y aumentamos su frecuencia máxima de operación en un 12.5% y logramos una aceleración promedio del 11.4% en el tiempo de ejecución de las aplicaciones EEMBC. También mejoramos el consumo de energía estática, dinámica y EDP en un 7.2%, 8.5% y 13.6%, respectivamente, a pesar de la sobrecarga de área de implementación del 2.5%.