34
Procesadores Procesadores Superescalares Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Embed Size (px)

Citation preview

Page 1: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Procesadores Procesadores SuperescalaresSuperescalares

Arquitectura y Organización de Sistemas de Computación

Universidad de Concepción

D.I.I.C.C

Johana Pérez M.

18 Junio 2002

Page 2: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Temas

IntroducciónIntroducción

Aspectos Generales Superescalar vs Supersegmentado Restricciones

Diseño Paralelismo Políticas de emisión de instrucciones Renombramiento de registros

Algunos ejemplos

Conclusiones y Comentarios

Page 3: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

1. Introducción

Objetivo Definir y caracterizar qué es y para qué se utilizan los

procesadores superescalares

Objetivos específicos Caracterizar el procesador superescalar Estudiar restricciones de uso y diseño que presenta este

tipo de procesador

Metodología de Trabajo Revisión bibliográfica

Arq. y Org. de computadores, W. Stallings Páginas Web

Page 4: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Procesadores Escalares

El procesamiento escalar se refiere al procesamiento de instrucciones individuales en forma secuencial

La técnica escalar se usó en los procesadores Pentium 486

Algunos autores consideran a los procesadores escalares como un gran grupo que se subdivide en tres grupos más pequeños y especializados

Procesadores Segmentados Procesadores Supersegmentados Procesadores Superescalares

1. Introducción (cont.)

Page 5: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Breve comparación

1. Introducción (cont.)

Procesadores

Tradicionales

Procesadores

Escalares

Procesadores

Superescalares

Inicio Secuencial

Ejecución Secuencial

Inicio Secuencial

Ejecución Paralela

Inicio Paralelo

Ejecución Paralela

No segmentados Segmentados

Múltiples UF

Múltiples UF segmentadas

Page 6: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

¿Por qué implementación superescalar? Deseo de aumentar las prestaciones (nuevamente) Surgimiento de los Supercomputadores

Vectorial Superescalar

Instrucciones comunes (escalares) inician su ejecución en forma simultánea e independiente

Se puede operar varios elementos de un vector en una misma instrucción

1. Introducción (cont.)

Page 7: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Temas

Introducción

Aspectos GeneralesAspectos Generales Superescalar vs SupersegmentadoSuperescalar vs Supersegmentado RestriccionesRestricciones

Diseño Paralelismo Políticas de emisión de instrucciones Renombramiento de registros

Algunos Ejemplos

Conclusiones y Comentarios

Page 8: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

2. Aspectos generales

Un poco de historia... El término nace en 1987 Máquina diseñada para mejorar la velocidad de ejecución de

las instrucciones escalares Procesadores de uso general para altas prestaciones (gran

cantidad de procesamiento) La velocidad de procesamiento puede sufrir un aumento de 1,5

a 8 veces, de acuerdo al hardware utilizado y la aplicación escogida para realizar las pruebas.

Page 9: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

2. Aspectos generales (cont.)

Superescalar vs Supersegmentado La supersegmentación

Nace en 1988 Aprovecha el hecho de que muchas instrucciones necesitan

menos de la mitad de un ciclo de reloj para ejecutarse Logra....doblar la velocidad de reloj interna, realizando dos tareas

en un ciclo de reloj En la proxima figura se comparan ambas soluciones,

considerando una instrucción con cuatro etapas: Captación de instrucción Decodificación Ejecución Escritura

Page 10: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Captación deInstrucción

EscrituraEjecuciónDecodificación

Máquina Base

Superescalar

Supersegmentada

Clave

0 1 2 3 4 5 6 7 8 9

Instr

uccio

ne

s c

on

se

cu

tiva

s

Tiempos en ciclos base

Page 11: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Restricciones Dependencia verdadera de datos (write-read) Dependencia relativa al procesamiento:

inst. que siguen a una bifurcación uso de instrucciones de longitud variable [arq. RISC])

Conflicto en los recursos (idem D. verdadera datos) Puede superarse con duplicación de recursos Segmentación de la unid. Funcional correspondiente

Dependencia de salida (read-write)

Antidependencia (en el ejemplo, la segunda instrucción destruye un valor que usa la primera instrucción)

2. Aspectos generales (cont.)

Page 12: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Ejemplo Dependencia de datos

Dependencia de salida y Antidependencia

2. Aspectos generales (cont.)

add r1, r2 ; carrgar el registro r1 con el contenido de r2 más el contenido de r1 move r3, r1 ; cargar el registro r3 con el contendio de r1

R3 := R3 op R5 (I1) R4 := R3 +1 (I2) R3 := R5 +1 (I3) R7 := R3 op R4 (I4)

Page 13: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Temas

Introducción

Aspectos Generales Superescalar vs Supersegmentado Restricciones

DiseñoDiseño ParalelismoParalelismo Políticas de emisión de instruccionesPolíticas de emisión de instrucciones Renombramiento de registrosRenombramiento de registros

Algunos Ejemplos

Conclusiones y Comentarios

Page 14: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

3. Diseño del procesador Superescalar

Paralelismo A nivel de instrucciones

Instrucciones independientes Depende de:

Dependencias de datos verdadera y relativa al procesamiento Arquitectura del set de instrucciones Aplicación

Load R1 R2(23)Add R3 R3, "1"Add R4 R4,R0

Add R3 R3, "1"Add R4 R3, R2Store[R4] R0

paralelismo =3Es posible ejecutar las instrucciones

en forma paralela

paralelismo =1Las instruccione son dependientes

entre elllas

Page 15: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Paralelismo A nivel de máquina: es un índice de la capacidad del

procesador de sacar provecho al paralelismo de instrucciones. Depende de:

Número de instrucciones que pueden captarse y ejecutarse al mismo tiempo

Velocidad y sofisticación del procesador para lograr instrucciones independientes

Máquina RISC -> paralelismo a nivel de instrucciones Si existe poco paralelismo a nivel de máquina, las

prestaciones se verán limitadas.

3. Diseño procesador Superescalar (cont.)

Page 16: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Políticas de emisión de instrucciones

Emisión de instrucciones: inicio de ejecuión de instrucciones en las unidades funcionales

Se debe ordenar la búsqueda y elección de nuevas instrucciones:

Orden de captación Orden de ejecución Orden de alternación de los registros y las posiciones de

memoria Restricción: Lograr un resultado correcto

3. Diseño procesador Superescalar (cont.)

Page 17: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Emisión y finalización en orden Ni los procesadores superescalares la usan En caso de disputa por alguna unidad funcional, o cuando se

requiere más de un ciclo para la ejecución se detiene la emisión Ejemplo

Emisión en orden y finalización desordenada Usada en procesadores RISC Restringido por el grado máximo de paralelismo de máquina La emisión se detinen al existir dependencia de datos o relativa

al procesamiento, y en caso de disputa por una UF Ejemplo

3. Diseño procesador Superescalar (cont.)

Page 18: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Emisión y finalización desordenada Se utiliza un buffer llamado ventana de instrucciones para

almacenar instrucciones y seguir captando y decodificando otras.

Cualquier instrucción puede ser emitida siempre que: Necesite una UF que esté desocupada No esté bloqueada pro conflicto de memoria o dependencia

El procesador tiene la capacidad de adelantarse, identificando las instrucciones del cause que son independientes.

Mismas restricciones anteriores Ejemplo

3. Diseño procesador Superescalar (cont.)

Page 19: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Renombramiento de registros Emisión desordenada y/o finalización desordenada puede

provocar dependencias de salida o antidependencias Solución básica: Duplicación de recursos Asignación dinámica de registros asociada con los

valores que necesitan las instrucciones (solución Hw) Las referencias a un mismo registro original con

diferentes instrucciones podrán ‘apuntar’ a distintos registros reales

3. Diseño procesador Superescalar (cont.)

R3b := R3a op R5a (I1) R4b := R3b +1 (I2) R3c := R5a +1 (I3) R7b := R3c op R4b (I4)

Page 20: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Temas

Introducción

Aspectos Generales Superescalar vs Supersegmentado Restricciones

Diseño Paralelismo Políticas de emisión de instrucciones Renombramiento de registros

Algunos EjemplosAlgunos Ejemplos

Conclusiones y Comentarios

Page 21: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Procesador AMD-K64. Algunos Ejemplos

Procesador AMD-K6Procesador AMD-K6(TM)(TM) con Instrucciones MMX con Instrucciones MMX(TM)(TM)

Características Beneficios

Basado en la avanzada microarquitectura AMD superescalar RISC86® de seis instrucciones.

Desempeño de sexta generación, que compite con el Pentium II Ofrece la mejor relación precio/rendimiento para procesadores x86 de sexta generación

Ejecuta instrucciones de alta ejecución del standard industrial MMX

Acelera la ejecución de aplicaciones multimedias emergentes

Compatibilidad con Socket 7 Disminuye los costos de inventario y diseño permitiendo soluciones globales con una sola placa de sistema Infraestructura de gran volumen con múltiples proveedores Saca ventaja de la plenamente desarrollada infraestructura de bajo costo.

Compatibilidad con Microsoft® Windows® y con el conjunto de instrucciones x86

Ofrece fácil acceso a toda la base ya instalada de software y sistemas operativos x86

Fabricado en la Fab 25 utilizando la tecnología de AMD de cinco capas metálicas de 0,35 micrones Evolución hacia la más avanzada tecnología de punta de AMD de 0,25 micrones.

Calidad y confiabilidad de nivel mundial, y capacidad de satisfacer las necesidades de gran volumen de los clientes Ofrece los cimientos para un mejor desempeño basado en el contínuo perfeccionamiento del proceso tecnológico

Page 22: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

El núcleo del procesador AMD-K6 está basado en la microtecnología de punta superescalar RISC86® de seis instrucciones/ciclo

Gran cache de división L1 de 64 bytes (dos veces mayor que Pentium II y cuatro veces el tamaño de Pentium Pro)

Múltiples decodificadores sofisticados (cuatro frente a los tres del Pentium II o el Pentium Pro), unidades especializadas de ejecución paralela (seis), unidad de punto flotante de alta ejecución

Otro ejemplo de procesadores superescalares pertenecientes a la arquitectura AMD es el procesador AMD Athlon™ MP

4. Algunos Ejemplos (cont.)

Page 23: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

4. Algunos Ejemplos (cont.)

Procesador Pentium (superior al 486)

Características

Ofrecen un juego de instrucciones CISC Internamente poseen un procesador RISC Tiene dos unidades de ejecución de enteros (U y V) y una

de punto flotante Para los enteros presenta pipeling de cinco etapas y para

punto flotante controla las últimas cuatro etapas Utiliza un algoritmo (sencillo) para saber si las instrucciones

pueden ser ejecutadas en forma paralela

Page 24: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Mejoras en arquitecturas superescalares

Ejecución desordenada Pentium Pro HP8000

Renombramiento de registros

Modelos

Pentium Pro PowerPC 604 MIPS/R10000 Alpha 21264

Ejecutan hasta 4 instrucciones simultáneas

4. Algunos Ejemplos (cont.)

Page 25: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Temas

Introducción

Aspectos Generales Superescalar vs Supersegmentado Restricciones

Diseño Paralelismo Políticas de emisión de instrucciones Renombramiento de registros

Algunos Ejemplos

Conclusiones y ComentariosConclusiones y Comentarios

Page 26: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Cada vez se hace más necesario probar e implementar nuevas técnicas que incrementen las velocidades de procesamiento de los equipos. El procesamiento superescalar es una de las últimas innovaciones para hacer los procesadores más rápidos

Las máquinas RISC permiten que las técnicas superescalares sean más fáciles de implementar, aunque igual se hacen intentos en las CISC

Es necesario que existan varias unidades aritmético-lógicas, de punto flotante y de control para ayudar a la ejecución simultánea de instrucciones

5. Conclusiones y Comentarios

Page 27: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Consultas y comentarios:

http://www.udec.cl/~johperez

E-Mail: [email protected]

Page 28: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Emisión y Finalización en orden

I1 I2

I3 I4

I1I4

I3 I4

I5

I3

I6I5

I6

I6

I4

I3

I1

I2I1

I5

Decodificación EscrituraEjecución Ciclo

12

I6

I4

1

4

3

2

5

8

7

6

Page 29: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Emisión en orden y Finalización desordenada

I1 I2

I3 I4

I1

I4 I2

I4

I6

I5

I6I5

I6

I6

I4

I3I1

I2I1

I5

Decodificación EscrituraEjecución Ciclo

I3

1

4

3

2

5

7

6

Page 30: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Emisión y Finalización desordenada

I1 I2

I3 I4

I1

I2

I4

I5

I6I5

I4I6

I3I1

I2I1

I5

Decodificación EscrituraEjecución Ciclo

I3

I6

1

4

3

2

5

6

Ventana

I4,I5,I6

I3,I4

I1,I2

I5

Page 31: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

IF I1 es simple

AND I2 también simple

AND I3 no es salto

AND destino I1 no es fuente de I2

AND destino de I1 no es destino de I2

THEN

envía I1 a U

envía I2 a V

ELSE

envía I1 a U

detiene I2 (I2 será evaluada después con I3)

Algoritmo para saber si las instrucciones pueden ejecutarse en

forma paralela

Page 32: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Tecnología Smart MP para un multiprocesamiento más inteligente: Buses de sistema duales de alta velocidad y de punto a punto Capacidad innovadora de búsqueda ("snooping") del bus Protocolo optimizado de coherencia de cache MOESI

Arquitectura QuantiSpeed™ para un rendimiento superior: Microarquitectura de procesador superescalar x86, superconductora de

nueve niveles Múltiples decodificadores paralelos de instrucciones x86 Tres unidades de ejecución de punto flotante completamente "pipelined",

superescalares y aleatorias, las cuales ejecutan instrucciones x87 (de punto flotante), MMX™ y 3DNow!™

Tres unidades de enteros completamente "pipelined", superescalares y aleatorias

Tres unidades de cálculo de direcciones "pipelined", superescalares y aleatorias

Prebúsqueda avanzada de datos de hardware Translation Look-aside Buffers (TLBs) exclusivos y especulativos Predicción de bifurcación dinámica avanzada

Procesador AMD ATHLON™ MP

Page 33: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Tecnología 3DNow!™ Professional para operación 3D avanzada: 21 instrucciones originales 3DNow!™ habilitando un SIMD superescalar 19 instrucciones adicionales para permitir cálculos matemáticos mejorados

de números enteros para codificar voz o video y transferencia de datos mejorada para plug-ins de Internet y otras aplicaciones de ejecución en tiempo real

5 instrucciones DSP para mejorar las aplicaciones de módem, ADSL, sonido ambiental Dolby Digital y MP3

52 instrucciones SSE con adiciones de enteros y punto flotante SIMD que ofrecen una excelente compatibilidad con la tecnología SSE de Intel

Compatible con los sistemas operativos Windows® XP, Windows 98, Windows 95 y Windows NT® 4.x

El bus de sistema de 266 MHz permite un excelente ancho de banda en el sistema:

Tecnología fuente de reloj (avance del reloj) asincrónico Soporte para ECC de 8 bits para la integridad del bus de datos Velocidad de datos pico de 2.1GB/s Soporte para multiprocesamiento: topología punto a punto, con la cantidad

de procesadores en sistemas SMP determinados por la implementación del chipset

Soporte para 24 transacciones pendientes, por procesador

Page 34: Procesadores Superescalares Arquitectura y Organización de Sistemas de Computación Universidad de Concepción D.I.I.C.C Johana Pérez M. 18 Junio 2002

Intel 960 960CA(3) 960MM(3) 960HA/HD/HT

Intel 80x86 Pentium(2) PentiumPro(~2)

IBM Power Power1(4) Power2 (4)

IBM ES ES/9000

PowerPC alliance Power601(3) Power604(4) Power620(4)

PowerPC Power603 (3) Power602(2)

Motorola 8800 MC88110(2)

Motorola 68000 MC68060(3)

DEC Alpha 21064(2) 21064A(2) 21164 (4)

HP PA PA 7100(2) PA 7200(2) PA8000(4)

Sun/Sparc SuperSparc(3) UltraSparc(4)

TRON Gmicro Gmicro/500(2)

Mips R R8000(4) R10000(4)

AMD29000 AM 29000(4)

AMD K5 K5 (~2)

Cyrix M1 M1(2)

NexGen Nx Nx586(1/3)

Evolución de los tipos de Procesadores Superescalares en el tiempo

1989 1990 1991 1992 1993 1994 1995 1996