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
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.
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.
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).
Exclusiones:
•Simultaneidad entre acciones de CPU y periféricos (Operaciones en segundo plano).
•Redundancia en procesos para conseguir fiabilidad.
Estructuras que producen el paralelismo:
Unidades funcionales: Cada parte de una máquina capaz de realizar acciones
indpendientemente del resto.
indpendientemente del resto.
Configuración de las UFs.
*Pipeline (segmentada).
•Paralela.
•Pseudopipeline.
Configuración pipeline:l
•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.
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.
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.
•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.
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.
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.
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)
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.
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.
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
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).
Fuentes de paralelismo:
Control. Diferentes acciones que se pueden realizar simultáneamente.
Datos. Misma acción sobre un conjunto estructurado de datos.
Flujo. Mismos procesos sobre una gran conjunto de datos.
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.
Clasificación de Flynn:
Computadora SISD: (Single instruction
(flow), single data(flow). Sistemas clásicos
de monoprocesadores.
Computadora SIMD: (Single instruction
(flow), multiple data(flow). Sistemas
vectoriales y matriciales.
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
Computadora MIMD: (Multiple instruction
(flow), multiple data(flow). Pertenecen a esta
categoría los sistemas pluriprocesadores.
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.
• Unidades de control complejas, microprogramadas.
• Bajo rendimiento en cadenas pipeline.
Pila de prefetch
Unidad de ejecución
•Conflicto de desajuste de tiempos.
• Conflicto de acceso a recursos.
• Conflicto de dependencia de saltos.
• No hay conflicto de dependencia de operandos.
Pipeline de 6 etapas
1. FE (Fetch)
2. DE (Decoficación)
3. CD (Calculo de la direc. del oper)
4. LO (Lectura del operando)
5. OP (Realización de la operación)
6. ER (Escritura del resultado)
Maquinas 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
Proc. CISC. Dependencia de saltos
* Saltos incodicionales:
identifiacion temprana, mas simple. Durante FE o LO
* Saltos condicionales:
Incertidumbre. Perdida de rendimiento.
- Saltos retardado
- Flujo múltiples
- Precaptar destino del salto
- Buffer de bucles
- Predicción de salto
* Flujos múltiples
- Duplicar primeras etapas del pipeline.
- Se opta por los dos caminos y cuando se ejecute la instrucción se descarta el camino fallido.
- A veces más de dos caminos para trabajar con instrucciones de saltos condicional encadenadas
- Aumento significativo de los conflictos de acceso a los recursos en memoria
- Eliminación de la mayoría de los huecos debidos a saltos.
Precaptar destino del salto
- leer la siguiente instruccion y la destino del salto.
- se limita a la fase de fetch de ambas instrucciones
- reduce el hueco en pipeline
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.
Clasificación de Flynn:
Computadora SISD: (Single instruction
(flow), single data(flow). Sistemas clásicos
de monoprocesadores.
Computadora SIMD: (Single instruction
(flow), multiple data(flow). Sistemas
vectoriales y matriciales.
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
Computadora MIMD: (Multiple instruction
(flow), multiple data(flow). Pertenecen a esta
categoría los sistemas pluriprocesadores.
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.
Procesadores CISC: Consecuencias.
• Compiladores simples.• Unidades de control complejas, microprogramadas.
• Bajo rendimiento en cadenas pipeline.
Pipeline de dos etapas (instrucciones poco homogéneas):
Unidad de PrefetchPila de prefetch
Unidad de ejecución
•Conflicto de desajuste de tiempos.
• Conflicto de acceso a recursos.
• Conflicto de dependencia de saltos.
• No hay conflicto de dependencia de operandos.
Pipeline de 6 etapas
1. FE (Fetch)
2. DE (Decoficación)
3. CD (Calculo de la direc. del oper)
4. LO (Lectura del operando)
5. OP (Realización de la operación)
6. ER (Escritura del resultado)
Maquinas 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
Proc. CISC. Dependencia de saltos
* Saltos incodicionales:
identifiacion temprana, mas simple. Durante FE o LO
* Saltos condicionales:
Incertidumbre. Perdida de rendimiento.
- Saltos retardado
- Flujo múltiples
- Precaptar destino del salto
- Buffer de bucles
- Predicción de salto
* Flujos múltiples
- Duplicar primeras etapas del pipeline.
- Se opta por los dos caminos y cuando se ejecute la instrucción se descarta el camino fallido.
- A veces más de dos caminos para trabajar con instrucciones de saltos condicional encadenadas
- Aumento significativo de los conflictos de acceso a los recursos en memoria
- Eliminación de la mayoría de los huecos debidos a saltos.
Precaptar destino del salto
- leer la siguiente instruccion y la destino del salto.
- se limita a la fase de fetch de ambas instrucciones
- reduce el hueco en pipeline
No hay comentarios:
Publicar un comentario