martes, 18 de noviembre de 2008

Introducción a la microarquitectura avanzada de la familia de procesadores P6 de Intel

El procesador de la familia P6 de Intel es una evolución del Pentium, y la base del Pentium II y del Pentium III que implementa significativos avances: el procesamiento en paralelo, es capaz de decodificar, enviar, y completar ejecuciones de tres instrucciones por cada ciclo de reloj. Para ello el P6 usa un superpipeline de doce fases independiente que soporta ejecución de instrucciones desordenada. Para garantizar el suministro seguro de las instrucciones y de los datos al pipeline de ejecución de instrucciones, incorpora dos niveles de caché. La pieza central del P6 es un mecanismo de ejecución desordenada llamada "ejecución dinámica", que incorpora tres conceptos de procesamiento de datos: Deep branch prediction (permite al P6 decodificar instrucciones justo en los branches para llenar la pipeline de instrucciones), Dynamic data flow analysis (analiza en tiempo real el flujo de datos del procesador para determinar las dependencias de los datos y los registros y detectar oportunidades de ejecución de instrucciones desordenada) y Speculative execution (permite al P6 ejecutar instrucciones por delante del contador de programa pero asigna el resultado en el orden del cauce de instrucciones original) Todo esto permite que con la ejecución de instrucciones desordenadamente pueda haber seis ejecuciones de instrucciones por cada ciclo, utilizando toda la capacidad. Al final, asigna el resultado de la ejecución de instrucciones en el orden del programa original para mantener la coherencia del programa y la integridad de los datos.

No hay comentarios: