micro arquitectura - utngnudelman/microarquitectura.pdf · micro arquitectura universidad...
TRANSCRIPT
Micro arquitectura
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Técnicas Digitales III Ing. Gustavo Nudelman 2012
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Evolución – Ley de Moore
Fundamentos
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
• CISC (Complex Instruction set Computer) instrucciones
mas complejas y focalizadas
• RISC (Reduced Instruction set computer) Instrucciones
mas sencillas que realizan tareas de carácter mas general
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Ciclos de instrucciones: Etapas
• Cada etapa requiere hardware que fue evolucionando por canales
independientes
• En los primeros procesadores cada una de estas etapas se
ejecutaba en forma secuencial
• La evolución de las CPUs logro paralelizar dichas etapas con el
hardware adicional que esto representa
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Pipeline de instrucciones – Paralelismo de
flujo
• En régimen se
puede decir se
ejecutan
instrucciones en
paralelo
• Trabaja bajo el
concepto de línea de
montaje
• Cada línea del
pipeline de la
denomina “stage”
Se puede llegar a ejecutar una instrucción por ciclo de clock.
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Usos Prácticos de las arquitecturas
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Efecto de un branch en un pipeline
Predicción de saltos
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
• Para tratar de minimizar el impacto de un branch se implementan
unidades de predicción de saltos.
• Lo mas común es utilizar una cache llamada “Branch Target Buffer” donde se guardan los resultados de las últimas instrucciones de saltos condicionales como loop, jecx0, etc.
Criterios en la predicción de saltos
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
• Las 2 estructuras necesarias para realizar una predicción de saltos son:
•· “Branch History Table” (BHT) o Tabla de Historia de los Saltos. Tabla
que contiene información de lo sucedido en cada salto las últimas
veces que fue tomado.
•· “Branch Target Address Cache” (BTAC) o Tabla de Direcciones de
Salto. Como su nombre indica es una tabla donde se almacena las
direcciones de salto destino de los últimos
•Según los datos de la BHT el sistema opta por alguna de las siguientes
técnicas:
• Asumir que nunca se salta se lee el pipeline siempre con las
instrucciones siguientes
• Asumir que siempre se salta No se utiliza el pipeline
• Predicción estadística por opcodes de las instrucciones previas Se
utilizan algoritmos estadísticos y contadores para predecir saltos
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Impacto de cache miss en un pipeline
• La diferencia de tiempos de acceso entre la memoria cache y la
DRAM produce un atasco (Stall) en el pipeline.
• Al tiempo de acceso se le suma el tiempo de entrada nuevamente
a régimen permanente (5 o mas ciclos)
Arquitectura Superescalar
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
• Se usa esta denominación cuando se logran ejecutar 2 o mas
instrucciones por ciclo de clock
• Se logra mediante a mas de un flojo por stage
• La cantidad de flujos por stage será dependiente de los recursos
funcionales que requiera el stage
• Problemas de interdependencia En principio se detiene el flujo
solo en el stage según la dependencia
• Dependencia estructural Competencia por unidad
funcional (cant. de ALUS, unidades de búsqueda, etc)
• Dependencia de datos/resultado
• Dependencia de escritura en memoria
Muy dependiente del programador para escribir código paralelizable
Arquitectura Superescalar
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
• Pueden ingresar a un
pipeline mas de una
instrucción en forma
simultanea para iniciar
su procesamiento.
• Se lo conoce como
paralelismo implícito
• Tiene el mismo
problema que el
pipeline en cuanto a los
saltos
• Problemas de
interdependencia Se
detiene el flujo.
Comparaciones
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Microarquitectura P6
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Pentium Pro, Pentium II, Pentium II Xeon, Celeron,
Pentium III, Pentium III Xeon
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Microarquitectura three core engines
• Emplea dynamic execution
scheduling
• No se basa en un pipeline
• Las instrucciones se traducen
en uOperaciones
• Se basa en un buffer circular
(ventana) donde los 3 cores
poseen acceso
• Ejecución fuera de orden
• Si bien la unidad de ejecución
ejecutara las instrucciones
que pueda y no posean
dependencias, la unidad de
retiro lo hará en orden
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Three core engines - Detalle
uArquitectura NetBurst
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Introducida con Pentium IV en noviembre del 2000
Marcado incremento en etapas de pipeline – Hyper-Pipelined
(pasando el punto de equilibrio vs penalidades)
Incremento de velocidad en unidades de ejecución
Se introduce la trace Cache (almacenamiento de hilos
decodificados)
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Arquitectura NetBurst
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Hyperthreading
Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
Dual core