Transcript
Page 1: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

Micro arquitectura

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Técnicas Digitales III Ing. Gustavo Nudelman 2012

Page 2: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Evolución – Ley de Moore

Page 3: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

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

Page 4: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

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

Page 5: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

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.

Page 6: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Usos Prácticos de las arquitecturas

Page 7: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Efecto de un branch en un pipeline

Page 8: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

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.

Page 9: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

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

Page 10: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

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)

Page 11: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

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

Page 12: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

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.

Page 13: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

Comparaciones

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Page 14: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

Microarquitectura P6

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Pentium Pro, Pentium II, Pentium II Xeon, Celeron,

Pentium III, Pentium III Xeon

Page 15: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

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

Page 16: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Three core engines - Detalle

Page 17: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

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)

Page 18: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Arquitectura NetBurst

Page 19: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Hyperthreading

Page 20: Micro arquitectura - UTNgnudelman/Microarquitectura.pdf · Micro arquitectura Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Técnicas Digitales III Ing. Gustavo

Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Dual core