1 / 81

Arquitectura

Arquitectura. Introducción Paralelismo de grano muy fino Paralelismo en la familia 80x86. Introducción. Paralelismo. Introducción y generalidades Paralelismo producido internamente dentro de la CPU Paralelismos a nivel de máquina . Introducción al paralelismo.

ady
Download Presentation

Arquitectura

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitectura • Introducción • Paralelismo de grano muy fino • Paralelismo en la familia 80x86

  2. Introducción Paralelismo. • Introducción y generalidades • Paralelismo producido internamente dentro de la CPU • Paralelismos a nivel de máquina

  3. Introducción al paralelismo Introducción y generalidades Definición y conceptos asociados al paralelismo.

  4. Introducción al paralelismo Paralelismo producido internamente dentro de la CPU • Estructura pipeline. • Arquitectura RISC. • Arquitecturas superescalar y supersegmentada. • Aplicación a las familias de Intel 80x86 y Pentium.

  5. Introducción al paralelismo Paralelismos a nivel de máquina • Máquinas para el aprovechamiento del paralelismo de datos. • Multiprocesadores. • Arquitecturas específicas diseñadas para ámbitos de aplicación concretos.

  6. Introducción al paralelismo Necesidades de mayor capacidad de computación: • Tratamiento de complejos modelos matemáticos (meteorología, ecología, bioquímica, …) • Manejo masivo de datos en tiempo real, fundamentalmente aplicables al campo de las comunicaciones. • Explotación de grandes bases de datos; extracción de patrones y tendencias de los datos. • Aplicaciones multimedia: imágenes de alta definición, música de alta fidelidad, reconocimiento del lenguaje hablado... • Inteligencia artificial y sistemas expertos.

  7. Introducción al paralelismo Mejora de la capacidad de computación: • Aumento de la velocidad (frecuencia de funcionamiento de los circuitos electrónicos). Limitaciones tecnológicas y físicas. • Uso del Paralelismo. Paralelismo: Capacidad de una máquina para simultanear acciones. Vinculado al aumento del rendimiento de la máquina (velocidad, capacidad de proceso).

  8. Introducción al paralelismo Exclusiones: • Simultaneidad entre acciones de CPU y periféricos (Operaciones en segundo plano). • Redundancia en procesos para conseguir fiabilidad.

  9. Introducción al paralelismo Estructuras que producen el paralelismo: Unidades funcionales: Cada parte de una máquina capaz de realizar acciones indpendientemente del resto. Configuración de las UFs. • Pipeline (segmentada). • Paralela. • Pseudopipeline.

  10. Introducción al paralelismo Configuración pipeline:

  11. Introducción al paralelismo Configuración pipeline: • Conexión en cascada, cada unidad recibe como entrada la salida de la anterior. • Acciones uniformes en fases y tiempos. • Solapa el tiempo de proceso de las acciones. • Una acción finalizada en cada intervalo si la cadena está llena.

  12. Introducción al paralelismo Configuración paralela:

  13. Introducción al paralelismo Configuración paralela: • Las entradas y las salidas son comunes a todas las unidades. • UFs sincronizadas. • Las acciones se realizan completas en cada UF. • Conflicto: acceso a recursos compartidos.

  14. Introducción al paralelismo Configuración pseudopipeline:

  15. Introducción al paralelismo Configuración pseudopipeline : • Conexión de UFs en paralelo. • Desfase en la entrada de acciones de n ciclos ( al menos 1). • Resultado indistinguible de PIPELINE. • Reduce conflictos de PARALELA pero obtiene peor respuesta en el tiempo.

  16. Introducción al paralelismo Conflictos del paralelismo, tipos : • Desajustes de tiempo: Diferentes tiempos entre diferentes UFs. Imponen parones en el pipeline. • Accesos a recursos compartidos: Afectan fundamentalmente a configuraciones paralelas. • Dependencias: Afectan a la simultaneidad de acciones. • De operandos • De saltos (condicionales e incondicionales)

  17. Introducción al paralelismo Conflictos del paralelismo: Parón en un pipeline

  18. Introducción al paralelismo Grado de paralelismo: • Número de acciones simultáneas que se realizan. • Aplicable a la máquina o a parte de ella. • El máximo lo establece el número de unidades funcionales existentes. • Queda limitado por las características de la aplicación en curso.

  19. Introducción al paralelismo Eficiencia: • Relación entre el Grado de paralelismo conseguido y la capacidad teórica de paralelismo de la máquina. • El aumento de UFs, aumenta los conflictos y disminuye la eficiencia. • Se trabaja con valores medios.

  20. Introducción al paralelismo Grano de paralelismo: Tamaño de cada una de las acciones en las que se divide el proceso para su realización simultánea. Clasificación cualitativa: • Muy grueso: programas. • Grueso: subprogramas, tareas hijas, ... • Fino: instrucción. • Muy fino: fases de instrucción. Clasificación cualitativa: Medido en nº de instrucciones

  21. Introducción al paralelismo Tipos de paralelismo: En función de quién especifique las acciones que se pueden realizar simultáneamente. • Explícito: El propio programa identifica las acciones (programación concurrente). • Implícito: No lo especifica el programa sino la máquina. • Por azar: Acciones independientes. Entorno multiusuario. • Extraído por la máquina (compilador).

  22. Introducción al paralelismo Fuentes de paralelismo: Control. Diferentes acciones que se pueden realizar simultáneamente.

  23. Introducción al paralelismo Fuentes de paralelismo: Datos. Misma acción sobre un conjunto estructurado de datos.

  24. Introducción al paralelismo Fuentes de paralelismo: Flujo. Mismos procesos sobre una gran conjunto de datos.

  25. Introducción al paralelismo Clasificación de Flynn: • También conocida como taxonomía de Flynn • Surge en los principios de los 70 • Aunque no es definitiva para caracterizar todos los tipos de ordenadores se sigue utilizando como una primera aproximación para definir un ordenador. • Concibe al ordenador como un conjunto de unidades de cjto. de uds. de control y proceso. • Esas uds. reciben flujos de instrucciones y de datos.

  26. Introducción al paralelismo Clasificación de Flynn: Computadora SISD: (Single instruction (flow), single data(flow). Sistemas clásicos de monoprocesadores.

  27. Introducción al paralelismo Clasificación de Flynn: Computadora SIMD: (Single instruction (flow), multiple data(flow). Sistemas vectoriales y matriciales.

  28. Introducción al paralelismo Clasificación de Flynn: Computadora MISD: (Multiple instruction (flow), single data(flow). Enunciado de forma teórica. Se discute si hay alguna máquina de este tipo. Quizás los ordenadores sistólicos

  29. Introducción al paralelismo Clasificación de Flynn: Computadora MIMD: (Multiple instruction (flow), multiple data(flow). Pertenecen a esta categoría los sistemas pluriprocesadores.

  30. Introducción al paralelismo Clasificación de Flynn:

  31. Paralelismo de grano muy fino RISC vs. CISC: Años 80. Implantación de modelos de control del rendimiento. Nueva tecnología RISC: Simplificar la unidad de control para mejorar su eficiencia. Tecnología CISC: La existente hasta el momento. Instrucciones muy complejas, a veces específicas y muy numerosas. • Salto semántico. • Reducción de los ciclos de fetch. • Tamaño del programa.

  32. Paralelismo de grano muy fino Procesadores CISC: Consecuencias. • Compiladores simples. • Unidades de control complejas, microprogramadas. • Bajo rendimiento en cadenas pipeline.

  33. Paralelismo de grano muy fino Procesadores CISC: Ejecución deuna instrucción:

  34. Paralelismo de grano muy fino Procesadores CISC: Lectura delos operandos:

  35. Paralelismo de grano muy fino Procesadores CISC: Almacenamientodel resultado:

  36. Paralelismo de grano muy fino Procesadores CISC: Pipeline de dos etapas (instrucciones poco homogéneas): • Conflicto de desajuste de tiempos. • Conflicto de acceso a recursos. • Conflicto de dependencia de saltos. • No hay conflicto de dependencia de operandos.

  37. Paralelismo de grano muy fino Procesadores CISC: Pipeline de seis etapas: Máquinas de una sola dirección sin direccionamiento indirecto ni ejecución múltiple. • Pasos 3, 5, y 9 una sola vez. • Pasos 4, 7 y 8 desaparecen.

  38. Paralelismo de grano muy fino Procesadores CISC: Pipeline de seis etapas, conflictos: • Desajustes de tiempos. Inevitables. No usar toda las UFs. Tipo de instrucciones o dir. Fallos de caché. • Acceso a recursos: FE, LO y ER acceden a memoria Sol: Más registros, caché doble pto., doble caché. • Dependencia de operandos: Requiere identificación para evitar errores, reduce el rendimiento. • Operandos registros: Bit de bloqueo. • Operandos en memoria: Lista de direcciones bloqueadas. • Dependencia de saltos.

  39. Paralelismo de grano muy fino Proc. CISC. Dependencia de operandos: Ejemplo: A + B  A C + (A + 8)  C

  40. Paralelismo de grano muy fino Proc. CISC. Dependencia de saltos: • Saltos incondicionales: Identificación temprana, más simple. Durante FE o LO. • Saltos condicionales: Incertidumbre. Pérdida de rendimiento. • Salto retardado (Se verá en procesadores RISC). • Flujos múltiples. • Precaptar destino del salto. • Buffer de bucles. • Predicción de salto.

  41. Paralelismo de grano muy fino Proc. CISC. Dependencia de saltos: • Flujos múltiples. • Duplicar primeras etapas del pipeline. • Se opta por los dos caminos y cuando se ejecuta la instrucción se descarta el camino fallido. • A veces más de dos caminos para trabajar con instrucciones de salto condicional encadenadas. • Aumento significativo de los conflictos de acceso a los recursos (memoria). • Eliminación de la mayoría de los huecos debidos a saltos.

  42. Paralelismo de grano muy fino Proc. CISC. Dependencia de saltos: • Precaptar destino del salto. • Leer la siguiente instrucción y la del destino del salto. • Se limita a la fase de fetch de ambas instrucciones. • Reduce el hueco en el pipeline.

  43. Paralelismo de grano muy fino Proc. CISC. Dependencia de saltos: • Buffer de bucles. • Similar a una cola de Prefetch pero de mayor tamaño. • Se pone en marcha al detectar un salto condicional hacia atrás (típico de los bucles). • Se pretende mantener en la cola todas las instrucciones del bucle. • Si sobra espacio se almacenan también las instrucciones que siguen al bucle. • Importante ahorro de ciclos de fetch en bucles pequeños.

  44. Paralelismo de grano muy fino Proc. CISC. Predicción de saltos: Optar por una alternativa: Saltar / No saltar. Si acierta sigue, si no deshacer proceso realizado (FE, DE, CD y LO). • Criterios estáticos, no depende de la historia anterior. • No cumple condición. Alternativa más simple. • Cumple condición. Mantener antiguo PC. • Decisión según el código de operación. Instr. bucle. • Evaluación previa de la condición. Ayuda del compilador. Consideraciones: • Dirección del salto. • Entornos paginados y saltos de página.

  45. Paralelismo de grano muy fino Proc. CISC. Predicción de saltos: • Saltos dinámicos, depende de la historia anterior. • Conmutador saltar/ no saltar. Asignación de un estado a cada instrucción de salto. Al ejecutarla se observa el resultado, que podrá cambiar de nuevo el estado. • Tabla de historias de saltos (BHT). Similar al anterior, almacena además del estado la dirección de destino del salto. Mayor tamaño de la tabla y no aplicable a todos los direccionamientos.

  46. Paralelismo de grano muy fino Proc. CISC. Predicción de saltos: Saltos dinámicos, diferentes ejemplos:

  47. Paralelismo de grano muy fino Proc. CISC. Predicción de saltos: Saltos dinámicos, diferentes ejemplos:

  48. Paralelismo de grano muy fino Procesadores RISC. • Justificación: • Instrucciones complejas poco utilizadas. • Set amplio y complejo  Mayor dificultad de optimización. • Instrucciones y operandos largos  posible mayor uso de memoria a pesar del menor número de instrucciones. • Ciclos de fetch más largos y cambios de página frec. • Efectividad pipeline mermada por los desajustes de tiempos. • Solución: Conjunto de instrucciones simples, uniformes, generales y poco numerosas.

  49. Paralelismo de grano muy fino Procesadores RISC. • Principios generales: • Aumentar el número de registros internos del micro. Esto reduce los conflictos de acceso a memoria y el tiempo empleado. • Optimizar diseño del pipeline para mejorar su rendimiento. Una instrucción por ciclo. Evitar conflictos y desajustes de tiempos. • Conjunto de instrucciones limitado, sencillo y homogéneo. Única manera de mejorar el pipeline.

  50. Paralelismo de grano muy fino Procesadores RISC. • Características: • Instrucciones de mismo tamaño (32 bits) y mismo formato. Facilita diseño decodificador y control de ajuste de tiempos. • Unidad de control cableada. Mejora de la eficiencia. • Pocos modos de direccionamiento de memoria. No al direccionamiento indirecto. • Máximo un operando en memoria. • Instrucciones de proceso (ALU) sólo con registros. • Operandos en memoria siempre alineados.

More Related