La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Procesadores Superescalares

Presentaciones similares


Presentación del tema: "Procesadores Superescalares"— Transcripción de la presentación:

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

2 Temas Introducción Aspectos Generales Diseño Algunos ejemplos
Superescalar vs Supersegmentado Restricciones Diseño Paralelismo Políticas de emisión de instrucciones Renombramiento de registros Algunos ejemplos Conclusiones y Comentarios

3 1. Introducción Objetivo Objetivos específicos Metodología de Trabajo
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

4 1. Introducción (cont.) 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

5 1. Introducción (cont.) Breve comparación Procesadores Tradicionales
Escalares Superescalares Inicio Secuencial Ejecución Secuencial Ejecución Paralela Inicio Paralelo No segmentados Segmentados Múltiples UF Múltiples UF segmentadas

6 1. Introducción (cont.) ¿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

7 Temas Introducción Aspectos Generales Diseño Algunos Ejemplos
Superescalar vs Supersegmentado Restricciones Diseño Paralelismo Políticas de emisión de instrucciones Renombramiento de registros Algunos Ejemplos Conclusiones y Comentarios

8 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.

9 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

10

11 2. Aspectos generales (cont.)
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)

12 2. Aspectos generales (cont.)
Ejemplo Dependencia de datos Dependencia de salida y Antidependencia

13 Temas Introducción Aspectos Generales Diseño Algunos Ejemplos
Superescalar vs Supersegmentado Restricciones Diseño Paralelismo Políticas de emisión de instrucciones Renombramiento de registros Algunos Ejemplos Conclusiones y Comentarios

14 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

15 3. Diseño procesador Superescalar (cont.)
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.

16 3. Diseño procesador Superescalar (cont.)
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

17 3. Diseño procesador Superescalar (cont.)
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

18 3. Diseño procesador Superescalar (cont.)
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

19 3. Diseño procesador Superescalar (cont.)
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

20 Temas Introducción Aspectos Generales Diseño Algunos Ejemplos
Superescalar vs Supersegmentado Restricciones Diseño Paralelismo Políticas de emisión de instrucciones Renombramiento de registros Algunos Ejemplos Conclusiones y Comentarios

21 Procesador AMD-K6(TM) con Instrucciones MMX(TM)
4. Algunos Ejemplos Procesador AMD-K6 Procesador AMD-K6(TM) con Instrucciones MMX(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

22 4. Algunos Ejemplos (cont.)
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

23 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

24 4. Algunos Ejemplos (cont.)
Mejoras en arquitecturas superescalares Ejecución desordenada Pentium Pro HP8000 Renombramiento de registros Modelos PowerPC 604 MIPS/R10000 Alpha 21264 Ejecutan hasta 4 instrucciones simultáneas

25 Temas Introducción Aspectos Generales Diseño Algunos Ejemplos
Superescalar vs Supersegmentado Restricciones Diseño Paralelismo Políticas de emisión de instrucciones Renombramiento de registros Algunos Ejemplos Conclusiones y Comentarios

26 5. Conclusiones y Comentarios
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

27 Consultas y comentarios: http://www.udec.cl/~johperez

28 Emisión y Finalización en orden

29 Emisión en orden y Finalización desordenada

30 Emisión y Finalización desordenada

31 Algoritmo para saber si las instrucciones pueden ejecutarse en forma paralela
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 detiene I2 (I2 será evaluada después con I3)

32 Procesador AMD ATHLON™ MP
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

33 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

34 Evolución de los tipos de Procesadores Superescalares en el tiempo
Intel CA(3) MM(3) HA/HD/HT Intel 80x 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 MC88110(2) Motorola MC68060(3) DEC Alpha a21064(2) a21064A(2) a21164 (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) AMD AM 29000(4) AMD K K5 (~2) Cyrix M M1(2) NexGen Nx Nx586(1/3)


Descargar ppt "Procesadores Superescalares"

Presentaciones similares


Anuncios Google