Libro Matlab Web

3
Alberto Perojo Parás Procesadores Multicore o Multinúcleo Un procesador multinúcleo es aquel que combina dos o más núcleos independientes trabajando a una misma frecuencia en un solo paquete, a menudo un solo circuito integrado. Un dispositivo doble núcleo contiene solamente dos microprocesadores independientes. En general, los microprocesadores multinúcleo permiten que un dispositivo computacional exhiba una cierta forma del paralelismo a nivel de thread(Thread-level parallelism) (TLP) sin incluir múltiples microprocesadores en paquetes físicos separados. Esta forma de TLP se conoce a menudo como multiprocesamiento a nivel de chip (Chip-level multiprocessing), o CMP. Diagrama genérico de un procesador de doble nucleo. El multiprocesamiento es un procesamiento simultáneo con dos o más procesadores en un computador, o dos o más computadores que están procesando juntos. Cuando se usa dos o más computadores, se unen con un canal de alta velocidad y comparten la carga de trabajo general entre ellos. En caso de que uno falle el otro se hace cargo. El multiprocesamiento también se efectúa en computadores de propósitos especiales, como procesadores vectoriales, los cuales proveen procesamiento simultáneo de conjunto de datos. Aunque los computadores se construyen con diversas características que se superponen, como ejecutar instrucciones mientras se ingresan y se sacan datos, el multiprocesamiento se refiere específicamente a la ejecución de instrucciones simultáneas. La ganancia de los resultados obtenidos por el uso de un procesador de varios núcleos depende en gran medida de los algoritmos de software y aplicación. En particular, los posibles beneficios se ven limitados por la fracción del software que puede ser paralelizado para ejecutarse de forma simultánea en múltiples núcleos; este efecto es descrito por la ley de Amdahl.

Transcript of Libro Matlab Web

Page 1: Libro Matlab Web

Alberto Perojo Parás

Procesadores Multicore o Multinúcleo

Un procesador multinúcleo es aquel que combina dos o más núcleos independientes trabajando a una misma frecuencia en un solo paquete, a menudo un solo circuito integrado. Un dispositivo doble núcleo contiene solamente dos microprocesadores independientes. En general, los microprocesadores multinúcleo permiten que un dispositivo computacional exhiba una cierta forma del paralelismo a nivel de thread(Thread-level parallelism) (TLP) sin incluir múltiples microprocesadores en paquetes físicos separados. Esta forma de TLP se conoce a menudo como multiprocesamiento a nivel de chip (Chip-level multiprocessing), o CMP.

Diagrama genérico de un procesador de doble nucleo.

El multiprocesamiento es un procesamiento simultáneo con dos o más procesadores en un computador, o dos o más computadores que están procesando juntos. Cuando se usa dos o más computadores, se unen con un canal de alta velocidad y comparten la carga de trabajo general entre ellos. En caso de que uno falle el otro se hace cargo. El multiprocesamiento también se efectúa en computadores de propósitos especiales, como procesadores vectoriales, los cuales proveen procesamiento simultáneo de conjunto de datos. Aunque los computadores se construyen con diversas características que se superponen, como ejecutar instrucciones mientras se ingresan y se sacan datos, el multiprocesamiento se refiere específicamente a la ejecución de instrucciones simultáneas.

La ganancia de los resultados obtenidos por el uso de un procesador de varios núcleos depende en gran medida de los algoritmos de software y aplicación. En particular, los posibles beneficios se ven limitados por la fracción del software que puede ser paralelizado para ejecutarse de forma simultánea en múltiples núcleos; este efecto es descrito por la ley de Amdahl.

Page 2: Libro Matlab Web

Los beneficios del software de las arquitecturas multinúcleo es que el código puede ser ejecutado en paralelo. La mayoría de sistemas operativos utilizan diferentes hilos o procesos en la ejecución de su código. Cada aplicación se ejecuta en su propio proceso de forma las arquitecturas multinúcleo tienen sentido para la ejecución de múltiples aplicaciones. Cada aplicación puede tener múltiples hilos. El software del sistema operativo también tiende a ejecutar varios subprocesos, como parte de su funcionamiento normal.

La mayoría de software de aplicación no está escrito para el uso concurrente de múltiples hilos. Un patrón frecuente en el diseño de las aplicaciones multihilo es en un solo hilo cargar todo el grueso del trabajo (“hilo trabajador"), mientras que otros hilos hacer mucho menos (como por ejemplo la actualización de la interfaz gráfica para mostrar los progresos ...).

Dentro del quad core de Intel

La tendencia actual en el desarrollo de los procesadores ha sido de varios núcleos a muchos núcleos: doble, triple, cuádruple, incluso decenas de ellos. Ademas los procesadores de varios núcleos mezclados con las técnicas actuales y los procesadores heterogéneos de propósito especial, prometen más rendimiento y un aumento de la eficiencia en temas de procesamiento multimedia, reconocimiento de redes y aplicaciones.

Uno de los campos más interesantes en su arquitectura es la composición y el equilibrio de los núcleos. Algunas arquitecturas utilizando un diseño básico que se repite constantemente (“homogéneos”), mientras que otros utilizan una mezcla de diferentes núcleos, cada uno optimizado para una función diferente (“heterogéneos”).

Page 3: Libro Matlab Web

La principal ventaja de los procesadores multinúcleo, a parte de sus características ya comentadas, es que dada la proximidad de los núcleos, las señales entre las diferentes CPUs realizan viajes cortos y por consiguiente, se degradan menos. Estas señales de más calidad permiten enviar mas datos por unidad de tiempo.

Por el contrario, hacen falta sistemas operativos específicos que los soporten, ademas de ajustes necesarios para maximizar la utilización de los recursos de computación suministrados por el multicore.

Futuro próximo: MultiCore en los móviles

El ARM SMP (symmetric multi-processor) ahora es compatible con los sistemas operativos para móviles Symbian, y parece ser que el primer procesador dual-core que entrará en los móviles será el ARM Cortex A9 MPCore, que fue anunciado recientemente.

Este nuevo procesador permite un ahorro considerable de batería en los móviles, ya que el procesador es usado cuando el sistema lo necesite, además de darle más rendimiento a los dispositivos móviles en comunicaciones y en la ejecución de las aplicaciones.