1 / 23

Tema 08: Arquitectura y programación de los multiprocesadores

UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN. E S P G. MAESTRÍA EN INGENIERIA DE SISTEMAS E INFORMÁTICA ADMINISTRACIÓN DE TECNOLOGÍAS DE INFORMACIÓN. Tema 08: Arquitectura y programación de los multiprocesadores. Prof: Alberto E. Cohaila Barrios.

jesse
Télécharger la présentation

Tema 08: Arquitectura y programación de los multiprocesadores

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. UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN E S P G MAESTRÍA EN INGENIERIA DE SISTEMAS E INFORMÁTICA ADMINISTRACIÓN DE TECNOLOGÍAS DE INFORMACIÓN Tema 08: Arquitectura y programación de los multiprocesadores Prof: Alberto E. Cohaila Barrios acohailab@unjbg.edu.pe, acohailab@hotmail.com, acohailab@speedy.com.pe

  2. Procesadores Multinucleo • La tecnología actual de fabricación de procesadores esta llegando a sus límites. • Cada vez la miniaturización de los componentes del procesador es más difícil (el límite de construcción del uP del silicio ronda los 15-20nm, donde el silicio empieza a ceder por falta de consistencia, ya se ha llegado a los 65nm), el problema de la generación de calor a aumentado, produciendo que sea más difícil aumentar la frecuencia principal del procesador. • Todos estos problemas dificultan el aumento de rendimiento de los procesadores. 2 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  3. Procesadores Multinucleo • Los procesadores actuales no sobrepasan los 3.8 GHz (obtenido por el Pentium 4 Prescott), necesitan grandes disipadores y ventiladores porque generan mucho calor. • No se podía continuar fabricando procesadores de la misma manera, se estaba llegando a un "estancamiento"; era necesario tomar otro camino, utilizar otra variable que hiciera que el rendimiento del procesador aumentará. • Entonces, basándose en el procesamiento en paralelo, se empezaron a construir los procesadores multi-núcleo. • El primer procesador multinúcleo en el mercado fue el IBM Power 4 en el año 2000. 3 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  4. ¿Cómo trabajan? • Los procesadores multi-núcleo es un procesador que contiene dentro del chip a varios núcleos o "cerebros". • La mayoría de los procesadores son mono-núcleo, o sea tienen un solo cerebro. • Mientras un procesador mono-núcleo tiene un solo cerebro para ejecutar procesos, un procesador multi-núcleo puede repartir los procesos entre sus varios cerebros para su posterior ejecución. 4 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  5. ¿Cómo trabajan? • Las aplicaciones que sacan mejor provecho de estos procesadores multinúcleo son aquellas que pueden generar muchos hilos de ejecución (thread) como las aplicaciones de audio/video, cálculo científico, juegos, tratamiento de gráficos en 3D, etc. • Estos procesadores pueden ejecutar varias de estas aplicaciones al mismo tiempo (concurrencia). • Solo cuando uno ejecute una sola aplicación que no sea paralelo (no se pueda descomponer en hilos) es cuando no se aprovecha el potencial de procesamiento que tienen estos procesadores. 5 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  6. Procesamiento en Paralelo • Los procesadores multinúcleo se basaron en los sistemas distribuidos, la computación paralela, y las tecnologías como el Hyperthreading; que mostraban como dividir el trabajo entre varias unidades de ejecución. • El procesamiento en paralelo es la división de una aplicación en varias partes para que sean ejecutadas a la vez por diferentes unidades de ejecución. • El procesamiento en paralelo se utiliza en Computación Paralela y la Computación Distribuida. 6 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  7. HyperThreading • Esta tecnología fue creada por Intel, para los procesadores Pentium 4 más avanzados. El Hyperthreading hace que el procesador funcione como si fuera dos procesadores. Esto fue hecho para que tenga la posibilidad de trabajar de forma multihilo (multithread) real, es decir pueda ejecutar muchos hilos simultáneamente. • Un procesador con la tecnología Hyperthreading tiene un 5% más de transistores que el mismo procesador sin esa tecnología. 7 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  8. Los dos procesadores lógicos, que posee el procesador hyperthreading, tienen su propio estado de la arquitectura: registros de control, registros de datos, registros de depuración, etc. y el APIC (controlador avanzado de interrupción programable). • Los dos procesadores lógicos comparten la memoria caché, la interfaz del bus del sistema, etc. 8 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  9. 9 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  10. Arquitectura del procesador AMD Athlon • Note que se ha quitado el controlador de memoria al Chipset y se lo ha introducido directamente al procesador, eso hace que se comunique con la memoria directamente a 12.8 Giga bytes/ segundo, con esto se logra más ancho de banda. • Un bus de datos HyperTransport comunica al resto del sistema, este bus es bidireccional que tiene una velocidad de 8 Giga bites/segundo por cada canal. • Son 16 Giga bytes por segundo, más 12.8 son 28.8 de ancho de banda para comunicarse con el resto del sistema. • No se necesitan tanta frecuencia de trabajo del procesador porque todo se distribuye al sistema con una velocidad enorme. 10 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  11. Intel Core Duo 2 y 4 núcleos Core Duo • Procesador de doble núcleo (core). • Cada núcleo es un procesador lógico. • Acceden a la cache un nucleo a la vez. • Los procesadores Core Duo es una versión para los portátiles, implementa 2MB de caché de memoria compartida para ambos núcleos. • Fabricados con la tecnología nanometrica de 65nm. • Su velocidad esta dentro de 1.20 hasta 2.33Ghz. • Bus del sistema (FSB) va desde 533Mhz hasta 667Mhz. • Trabajan hasta 32 bits • Consumo de energía es desde 9.0w hasta 31w y de mejor rendimiento/energía. 11 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  12. Intel Core Duo 2 y 4 núcleos Core 2 Duo • Procesador de cuatro núcleos. • Cada núcleo es un procesador lógico en arquitectura paralela. • Cada nucleo accede al cache al mismo tiempo. • Fabricados con la tecnología nanometrica de 65nm. • Su velocidad esta dentro de 1.20 hasta 2.93Ghz (x 2). • Aparecen a comienzos del 2006. • AMD (Avanz micro Dispositive) posee procesadores Phenom de 3 y 4 núcleos. • Debido a la complejidad de fabricación de núcleos a mas de 3 Ghz, la tendencia es insertar mayor cantidad de núcleos en un procesador. 12 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  13. Ejemplos de Multiprocesamiento • Robot móvil que emplea multiprocesamiento para ejecutar múltiples tareas en paralelo a tiempo real. • Los 4 procesadores se comunican entre si mediante Cluster de datos 13 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  14. Demostración • Video de Robotmovil 1 14 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  15. Demostración • Video de Robotmovil 2 Prof. Alberto E. Cohaila Barrios

  16. Sistema multiprocesador jerarquico 16 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  17. Revisión de Lenguajes de alto nivel y de bajo nivel Programas y/o rutinas • Los computadores ejecutan programas. • Programa: secuencia de operaciones conducentes a resolver un problema • determinado. • Características de los programas • Están compuestos por secuencias de instrucciones o sentencias. • Se escriben utilizando una notación formal conveniente. • Pueden ser escritos por personas (programadores), o bien pueden ser generados automáticamente mediante una herramienta adecuada. • Un programa en ejecución se encuentra cargado en memoria principal. • Lenguaje de programación: una notación formal para describir algoritmos o funciones que serán ejecutadas por un computador. 17 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  18. Tipos de lenguajes de programación • Lenguajes de alto nivel: cercanos a la forma de pensar del programador. • Lenguajes de bajo nivel: cercanos a la arquitectura de la máquina. • Lenguaje máquina: el único que la circuitería de la máquina es capaz de interpretar. • Sus instrucciones se encuentran codificadas en binario. • Lenguajes simbólicos: no son directamente interpretables por la circuitería de la máquina. • Se codifican mediante símbolos alfanuméricos, de puntuación, paréntesis, separadores, etc. 18 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  19. Tipos de Lenguajes de Programación Bajo Nivel Simbólico Máquina Alto Nivel • Cercanos a la forma de pensar del programador. • Cercanos a la arquitectura de la máquina. • El único que la circuitería de la máquina es capaz de interpretar. • Sus instrucciones se encuentran codificadas en binario. • No son directamente interpretables por la circuitería de la máquina. • Se codifican mediante símbolos alfanuméricos, de puntuación, paréntesis, separadores, etc. 19 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  20. 20 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  21. Secuencia en bloques de la compilación y linkeo del código máquina 21 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  22. Jerarquía de traducción 22 07/11/2008 Prof. Alberto E. Cohaila Barrios Prof. Alberto E. Cohaila Barrios

  23. Fin Prof. Alberto E. Cohaila Barrios

More Related