Procesadores Superescalares

Slides:



Advertisements
Presentaciones similares
Arquitectura RISC & CISC y DSP
Advertisements

Procesadores Superescalares
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Procesadores AMD.
III - Gestión de memoria
PROCESADORES SUPERESCALARES
Microprocesadores.
Pipelines: Riesgos.
Windows XP sp3.
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
EMISION MULTIPLE DE INSTRUCCIONES
Arquitectura de Conjunto de Instrucciones (ISA)
Mejoras a las Máquinas Von Neumann
Composición Interna de un Procesador
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
PAULA ANDREA CHAVEZ C. GRADO: PROFESOR: JOSE WILSON QUINTERO
Ing. CIP Francisco Mori Quiroz
Tema 10: Gestión de Memoria
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
Juan Pablo Ruiz Ramzi Youssefi
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
Procesamiento paralelo
INTEGRANTES EFREN PADILLA LICETH BUITRAGO LINA STELLA AGUIRRE
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
BUS DE DATOS.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
La evolución del Microprocesador (  P). El microprocesador de 4 bits En 1971, Intel corporation y el talento creativo de Marcian E. Hoff fabricaron el.
TEMA 2: Organización de computadores
Funcionamiento de la CPU
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Arquitecturas Paralelas
Arquitectura de Von Neumann
PROCESADOR Por: Luis Gonzaga Trujillo Cuervo USCO
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
El Microprocesador El microprocesador, o simplemente el micro, es el cerebro del ordenador. Es un chip, un tipo de componente electrónico en cuyo interior.
Diseño de una Unidad de Extensión Multimedia para Procesador RISC
Evolución del procesador
Familia x86.
Sistemas Operativos Avanzados
Generaciones de procesadores
TIPOS Y MODELOS. Realizar las operaciones de calculo Dar ordenes a los componentes para que funcionen.
El Microprocesador.
Tema 7: UNIDAD CENTRAL DE PROCESOS (CPU) Cáceres Pari Ángel Raúl
UNIDAD CENTRAL DE PROCESO
ORGANIZACIÓN DE COMPUTADORAS Y HARDWARE. PROCESADOR En realidad "procesador" es un término relativamente moderno. Se refiere a lo que en los grandes ordenadores.
Sánchez Manjarrez Silvana Ing. Daniel Domínguez C. México, D.F. a 13 de septiembre del 2006 Arquitectura de Computadoras Arquitecturas CISC Y RISC Campus.
EL MICROPROCESADOR.
Comunicación del procesador con el resto del sistema
Tema: Historia de los Microprocesadores
Nico Puch. Los ordenadores analógicos comenzaron a construirse a principios del siglo XX. Los primeros modelos realizaban los cálculos mediante ejes y.
ARQUICTECTURA DE SERVIDORES
INTEGRANTES: ONEIDA OSORIO VILLA, JUAN CAMILO SÁNCHEZ BAENA, JOANNA SÁNCHEZ, LUISA VILLA, JIMMY MORALES, BRIAM ZAMBRANO.
CASO LINUX.
PROCESADORES SUPERESCALARES
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Principio unidad 1.
     Jerarquía de memoria.
MODOS DE TRANSMISION Pucallpa 15 de Enero del 2009.
* UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNIC IONES ADMINISTRACION DE SERVIDORES «ARQUITECTURA DE COMPUTADORAS»
Celeron M Nicole Manzo S. Pedagogía en Historia y Geografía.
Durante las tres décadas que AMD lleva en el negocio, el silicio y el software se han convertido en el acero y el plástico de la economía digital del.
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
1 MICROPROCESADORES II Capítulo 1 - Sesión 2 OBJETIVOS 1- Evolución de los procesadores INTEL. 2- Ancho de BUS, Registro internos. 4- Modo de operación.
DISCOS RAID (Redundant Array of Independent Disks)
3.4 PROCESAMIENTO DE LAS INSTRUCCIONES DE SALTO
I Kamilo Osorio Restrepo 8°B Juan David Velez. TIPOS DE PROCESADORES Y SUS FUNCIONES PRINCIPALES CISC. Complex Instruction Set Computing. Posee un número.
PROCESADORES Angela Rada Yamile Rozo Daniel Roncancio Diego Martínez.
Gestión de Memoria – Parte 2
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Transcripción de la presentación:

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

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

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

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

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

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

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.

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

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)

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

Consultas y comentarios: http://www.udec.cl/~johperez E-Mail: johperez@udec.cl

Emisión y Finalización en orden

Emisión en orden y Finalización desordenada

Emisión y Finalización desordenada

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)

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

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

Evolución de los tipos de Procesadores Superescalares en el tiempo 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 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) AMD29000 AM 29000(4) AMD K5 K5 (~2) Cyrix M1 M1(2) NexGen Nx Nx586(1/3) 1989 1990 1991 1992 1993 1994 1995 1996