Paralelismo en el procesador

Documentos relacionados
Introducción a las Arquitecturas Paralelas. Arquitectura de Computadoras II Fac. Cs. Exactas UNCPBA Prof. Marcelo Tosini 2015

6. PROCESADORES SUPERESCALARES Y VLIW

Explotación del paralelismo a nivel de instrucción

Tema 2. Arquitectura de CPU avanzadas 15/03/2011

EVOLUCIÓN DE LOS PROCESADORES

07 y 08 Sistemas distribuidos y paralelos y tarea 02

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Tema: Microprocesadores

Unidad II Arquitectura de Computadoras

Arquitectura de Computadores II Clase #7

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS ARQUITECTURA DE COMPUTADORES

FUNDAMENTOS DE COMPUTACION INVESTIGACION PROCESADORES DIANA CARRIÓN DEL VALLE DOCENTE: JOHANNA NAVARRO ESPINOSA TRIMESTRE II

Modelado de los computadores paralelos

Diseño arquitectónico 1ª edición (2002)

Arquitecturas vectoriales, SIMD y extensiones multimedia

de Gran Canaria Centro de Tecnología Médica Programación Concurrente

FUNCIONAMIENTO DEL ORDENADOR

Fundamentos del Diseño de Computadores

UNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

Memoria. Organización de memorias estáticas.

Procesadores superescalares. Introducción

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

ENIAC, Primer computador electrónico y su panel de conexiones

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

Organización lógica Identificación de bloque

Ing. Carlos Bacalla

Arquitectura de Computadores II Clase #7

UNIVERSIDAD DE GUADALAJARA

EMISION MULTIPLE DE INSTRUCCIONES ARQUITECTURA AVANZADA. Uciel Cohen

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

Instituto Tecnológico de Morelia

Lusitania. Pensando en Paralelo. César Gómez Martín

Threads, SMP y Microkernels. Proceso

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

SISTEMAS OPERATIVOS Arquitectura de computadores

Organización del Computador I. Introducción e Historia

Unidad I: Organización del Computador. Ing. Marglorie Colina

CELERON PPGA370, PENTIUM III FCPGA, CYRIX III

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

Lic. Saidys Jiménez Quiroz. Área de Tecnología e Informática. Grado 6 - Cescoj

Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador.

Introducción. Universidad Nacional Tecnológica del Cono Sur de Lima JORGE AUGUSTO MARTEL TORRES 1

Objetos de aprendizaje: Computadora

MULTIPROCESADORES (MIMD)

SILABO DE SISTEMAS OPERATIVOS

Intel lanza su procesador Caballero Medieval habilitado para Inteligencia Artificial

Tema 0. Introducción al Paralelismo y Organización de un Computador

Sistemas Operativos. Introducción. Tema 6

Paralelismo en monoprocesadores. Procesadores VLIW

Arquitectura de Computadores

TIPOS BÁSICOS DE ARQUITECTURAS DE MICROPROCESADORES

ARQUITECTURA DE COMPUTADORAS I. Propósito del curso : Al final del curso el estudiante: Ingeniería Ingeniería en Sistemas.

Tema I. La computación en el profesional de la Ingeniería

PROGRAMA ANALÍTICO DE ASIGNATURA

TEMA III: OPERACIONES CON LOS DATOS

UNIVERSIDAD NACIONAL DE RÍO CUARTO FACULTAD DE CIENCIAS EXACTAS, FÍSICO-QUÍMICAS Y NATURALES DEPARTAMENTO DE COMPUTACIÓN

Area Académica: Sistemas Computacionales. Tema: Elementos de diseño de memoria caché

Concurrencia y paralelismo

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

Usuario. Programas de Aplicación. Sistema Operativo. Hardware. Figura 1. Sistema de cómputo estructurado por capas.

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

Tema V Generación de Código

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

Ejercicios del tema 4. El procesador

Qué es un programa informático?

UNIVERSIDAD TECNICA LUIS VARGAS TORRES DE ESMERALDAS FACULTAD DE INGENIERÍAS Y TECNOLOGÍAS SILABO DE ALGEBRA LINEAL

Aplicaciones Concurrentes

Superescalares y VLIW - 1. Arquitectura de Computadores

Herramientas Informáticas I Software: Sistemas Operativos

Nombre de la asignatura: Programación Básica. Créditos: Objetivo de aprendizaje

Memorias RAM. Basilio B. Fraguela Rodríguez. Copyright Basilio B. Fraguela 2006

cuevogenet Paralelización en CUDA de la Dinámica Evolutiva de Redes Génicas Dirigido por: Fernando Díaz del Río José Luis Guisado Lizar

Fundamentos de las TIC

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

Unidad I Marco teórico sobre redes de computadoras

3 SISTEMAS DE PROCESAMIENTO DIGITAL DE SEÑALES. ha desarrollado durante los últimos 30 años gracias a los avances tecnológicos de

INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware

UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA CIVIL DEPARTAMENTO DE INGENIERÍA ESTRUCTURAL

Diagrama temporal de un programa simple. Multi-Programación con dos programas

Introducción a la arquitectura de computadores

Diagramas De Casos De Uso

DISEÑO CURRICULAR COMPUTACIÓN I

CAPITULO 1 INTRODUCCION AL PROYECTO

MINISTERIO DE EDUCACIÓN PÚBLICA IPEC DE SANTA BÁRBARA MANTENIMIENTO DE EQUIPO DE COMPUTACIÓN. Memoria Principal RAM Memoria de acceso aleatorio

Tema 1: Arquitectura de ordenadores, hardware y software

Tema I. La computación en el profesional de la Ingeniería

Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento

Arquitectura FPGA para un Procesador Matricial

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Clasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento

Programación concurrente

Unidad V: Puertos y buses de comunicación para microcontroladores

Computación Paralela Móvil

Introducción a los Sistemas Operativos

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Organización del Computador 1 Memoria Cache

Transcripción:

2017 Paralelismo en el procesador ARQUITECTURA DE COMPUTADORAS ING. ELMER PADILLA AUTOR: GERARDO ROBERTO MÉNDEZ LARIOS - 20111013326 Ciudad universitaria, Tegucigalpa M.D.C., 04 de mayo del 2017.

Contenido Introducción... 2 Paralelismo en el procesador... 3 Formas de paralelismo... 3 Paralelismo a nivel de proceso (PLP)... 4 Paralelismo a nivel de hilo (TLP)... 6 Paralelismo a nivel de datos (DLP)... 7 Paralelismo a nivel de instrucción (ILP)... 7 Superescalar... 7 VLIW... 8 EPIC... 9 TTA... 9 Dataflow... 10 Conclusiones... 11 Bibliografía... 12 1

Introducción El siguiente informe es elaborado como parte de la evaluación para la clase de arquitectura de computadoras impartida por el Ing. Elmer Padilla. En la actualidad, el desarrollo de arquitecturas y procesadores ha permitido que la informática crezca a pasos agigantados. Desde las primeras computadoras hasta la actualidad se ha mejorado tanto el rendimiento como la velocidad de procesamiento de las computadoras en general. Ahora existen procesadores con múltiples núcleos e hilos, por lo que se tuvieron que definir formas de paralelismo a varios niveles (procesos, hilos, datos, instrucciones) para explicar lo que sucede al procesar datos de manera simultánea. Hablaremos sobre el paralelismo en el procesador o la capacidad del procesador de realizar múltiples tareas a la vez, definiciones de los mismos, ventajas y desventajas. 2

Paralelismo en el procesador El paralelismo en la informática, es una función que realiza el procesador para ejecutar varias tareas al mismo tiempo. Es decir, puede realizar varios cálculos simultáneamente, basado en el principio de dividir los problemas grandes para obtener varios problemas pequeños, que son posteriormente solucionados en paralelo. Aplicaciones El empleo de la computación paralela se convierte cada día en más grande y rápida, muchos problemas considerados anteriormente muy largos y costosos se han podido solucionar. El paralelismo se ha utilizado para muchas temáticas diferentes, desde bioinformática para hacer plegamiento de proteínas, hasta economía para hacer simulaciones en matemática financiera. Formas de paralelismo Segmentación (Pipeline) Bloqueado No bloqueado Paralelismo a nivel de proceso (PLP) Procesadores multi núcleo Sistemas multi procesador (MIMD) Multi computación (MIMD) Paralelismo a nivel de hilo (TLP) Grano grueso Grano fino Multi hilo simultáneo (SMT) Paralelismo a nivel de datos (DLP) Procesamiento de vectores cortos (SIMD) Procesadores vectoriales (SIMD) Paralelismo a nivel de instrucción (ILP) Superescalar VLIW EPIC TTA Dataflow 3

Paralelismo a nivel de proceso (PLP) Distintos procesos se ejecutan en diferentes procesadores paralelos o en diferentes cores de un mismo procesador. Clasificados de acuerdo al modelo de Flynn Modelo que permite clasificar a todas las computadoras basándose en el estudio del paralelismo de los flujos de instrucciones y datos exigidos por las instrucciones en los componentes más restringidos de la máquina. Flujo único de instrucciones, flujo único de datos (SISD). Flujo único de instrucciones, flujo múltiple de datos (SIMD). Flujo múltiple de instrucciones, flujo único de datos (MISD). Flujo múltiple de instrucciones, flujo múltiple de datos (MIMD). Flujo único de instrucciones y datos (SISD) La CPU controla todas las operaciones que se realizan en la máquina extrayendo secuencialmente las instrucciones de programa desde la memoria. CPU: Unidad de control: ejecuta una a una las instrucciones de programa Unidad lógico/aritmética: realiza las operaciones sobre los datos Registros internos: se almacenan datos parciales y direcciones. 4

Flujo único de instrucciones, flujo múltiple de datos (SIMD) Corresponde a procesadores vectoriales / matriciales. Una única memoria de instrucciones y varias memorias de datos (distribuidas). Control centralizado y operaciones distribuidas. Flujo múltiple de instrucciones, flujo único de datos (MISD) Conceptualmente, varias instrucciones ejecutándose paralelamente sobre un único dato. Arquitecturas desacopladas y los arreglos sistólicos. Funcionan con el principio de bombear los datos a través de una hilera de procesadores escalares donde en cada uno de ellos se realizan paralelamente operaciones sobre distintos datos. Desde el punto de vista de cada dato, éste pasa de un procesador al siguiente para transformarse de acuerdo a la operación que realice cada procesador. 5

Flujo múltiple de instrucciones, flujo múltiple de datos (MIMD) Es la mejor estrategia de diseño orientada a obtener el más alto rendimiento y la mejor relación costo/rendimiento. Idea general: conectar varios procesadores para obtener un rendimiento global lo más cercano a la suma de rendimientos de cada procesador por separado. La filosofía de trabajo plantea la división de un problema en varias tareas independientes y asignar a cada procesador la resolución de cada una de estas tareas. Paralelismo a nivel de hilo (TLP) En TLP las unidades de ejecución de un procesador se comparten entre los threads independientes de un proceso (o threads de diferentes procesos). 6

COARSE GRAIN: En coarse grain multi-threading los threads son desalojados del procesador con baja frecuencia, usualmente cuando el thread realiza alguna I/O, o ante un fallo de cache. FINE GRAIN: En fine grain multi-threading el thread en ejecución es cambiado (thread swaping) en cada ciclo de reloj. SMT: Simultaneous multi-threading es similar a fine grain, pero permite ejecutar múltiples threads en cada ciclo de reloj. SMT permite concurrencia física, a diferencia de los anteriores que solo manejan concurrencia virtual (multiplexado por división de tiempo). Paralelismo a nivel de datos (DLP) La operación se aplica a varios ítems de dato en lugar de uno Implementado con rutas de datos divisibles Por ejemplo: una ruta de 64 bits permite realizar 1 operación de 64 bits; 2 de 32 bits; 4 de 16 bits; etc. Tipos: Short vector processing: uso de operadores de M bits para realizar N operaciones de M/N bits. Vector processors: la ruta de datos se multiplexa en tiempo entre los elementos del vector de operandos. No ahorra tiempo de proceso, solo permite disminuir el tamaño del código por el uso de instrucciones vectoriales. Paralelismo a nivel de instrucción (ILP) Ejecución paralela e instrucciones completas u operaciones. Aproximaciones: Superescalar VLIW (Very Long Instruction Word) EPIC (Explicit parallel Instruction Computer) TTA (Transport Triggered Architecture) DataFlow Si bien todas se basan en la paralelización de instrucciones para su ejecución difieren en la forma de emisión de las mismas. Superescalar Los procesadores superescalares leen varias instrucciones a la vez en su cola de instrucciones y dinámicamente emiten cierto número de ellas en cada ciclo de reloj. El número y tipo de instrucciones emitidas depende de cada arquitectura. 7

Ventaja: Ejecución masiva en paralelo. Desventajas: Perdida de orden secuencial. Problemas de dependencias. Problemas con los saltos. VLIW Ejecuta grupos de operaciones empaquetadas en instrucciones compuestas. Las instrucciones dentro de cada paquete son independientes entre sí. Todas las instrucciones de un paquete se ejecutan en paralelo y las más rápidas deben esperar la finalización de las más lentas. La selección de instrucciones de cada paquete la realiza el compilador. 8

Desventajas: Mayor ancho del bus de datos desde memoria de instrucciones. Banco de registros con varios puertos de lectura/escritura. Desperdicio de espacio de memoria por instrucciones VLIW incompletas debido a dependencias. EPIC Mejora de VLIW para evitar el desperdicio de espacio debido a dependencias. Los paquetes siempre están completos (no hay NOOP s). Las operaciones dentro de un paquete tienen información adicional de dependencia entre ellas. Hay una unidad de emisión que decide que instrucciones se emiten y a que unidades. Desventajas: Mayor ancho del bus de datos desde memoria de instrucciones. Banco de registros con varios puertos de lectura/escritura. La planificación se realiza en el compilador (como en VLIW). TTA La idea básica de TTA es permitir a los programas el control total de los caminos internos de movimiento de datos dentro del procesador. La arquitectura se compone básicamente de unidades funcionales, buses y registros. Las entradas de las unidades funcionales tienen puertos disparables (triggering ports) que permiten activar una operación determinada cuando todos 9

los puertos tienen datos válidos para la instrucción a realizar. Una palabra de instrucción TTA está compuesta de múltiples slots, uno por bus. TTA es similar a VLIW pero con mayor control sobre el hardware. Dataflow Controlada por el flujo de los datos en lugar del orden de las instrucciones. Las operaciones se almacenan en un buffer a la espera de los datos para operar. Los resultados viajan en paquetes (tags) que contienen el valor y la lista de operaciones destino (que usan ese valor como operando). Cuando una operación tiene todos sus operandos, se dispara y ejecuta. 10

Conclusiones Es importante comprender como trabaja el paralelismo en todos los niveles, ya que como desarrolladores tendremos que diseñar soluciones que satisfagan los requerimientos de velocidad y rendimiento que se exige para el procesamiento de información. El paralelismo es un tema de actualidad computacional, pero podríamos preguntarnos cómo esto mejorará o cambiará en el futuro con la mirada puesta en los sistemas autónomos que requieren de mayor rendimiento de lo que actualmente se ha logrado alcanzar con la tecnología 11

Bibliografía Prof. Marcelo Tosini. 2015. Facultad de ciencias exactas, UNCPBA. Arquitectura de Computadoras II. Introducción a las arquitecturas paralelas. http://www.exa.unicen.edu.ar/catedras/arqui2/arqui2/filminas/introduccion %20a%20las%20arquitecturas%20Paralelas.pdf Varios autores. Departamento de Ingeniería de Sistemas y Automática, Universidad Carlos III de Madrid. Organización de computadores. Introducción al paralelismo y organización de un computador. http://ocw.uc3m.es/ingenieria-informatica/organizacion-decomputadores/material-teorico-1/oc_t00.pdf 12