Sunteți pe pagina 1din 12

Universidad de Carabobo

Facultad Experimental de Ciencias y Tecnología

Departamento de Computación

Arquitectura del Computador

Many-Core

Vs.

Multi-Core
Introducción

Después de Medio Siglo de la dominación, el procesador de un


solo núcleo (uni-core) es una especie en peligro de extinción. El
procesamiento multi-núcleo es ahora la corriente principal. El futuro
es de forma masiva la computación paralela, llevada a cabo en los
procesadores Many-core, Esa es la premisa fundamental del siguiente
informe.

En los últimos tiempos los fabricantes de procesadores han entrado


en la carrera de ver quien hace un procesador con un mayor número
de núcleos. Carrera muy similar a la que hace no mucho se hizo con
los GHz “Cuanto más GHz más procesamiento…”, con la diferencia de
que ahora lo más importante no son estos GHz, sino la cantidad de
núcleos.
El Procesador
La unidad central de procesamiento o CPU es un componente
muy importante del computador y otros dispositivos programables, el
cual interpreta las instrucciones contenidas en los programas y
procesa los datos. El CPU proporciona la característica fundamental
de la computadora digital y es uno de los componentes necesarios
encontrados en las computadoras de cualquier tiempo, junto con el
almacenamiento primario y los dispositivos de entrada/salida. Se
conoce como microprocesador el CPU que es manufacturado con
circuitos integrados. Desde mediados de los años 1970, los
microprocesadores de un solo chip han reemplazado casi totalmente
todos los tipos de CPU, y hoy en día, el término "CPU" es aplicado
usualmente a todos los microprocesadores.

Los primeros CPU’s fueron diseñados a la medida como parte de una


computadora más grande, generalmente una computadora única en
su especie. Sin embargo, este costoso método de diseñar los CPU a la
medida, para una aplicación particular, ha desaparecido en gran
parte y se ha sustituido por el desarrollo de clases de procesadores
baratos y estandarizados adaptados para uno o más propósitos. Esta
tendencia de estandarización comenzó generalmente en la era de los
transistores discretos, computadoras centrales y microcomputadoras,
siendo acelerada rápidamente con la popularización del circuito
integrado (IC), ya que éste ha permitido que sean diseñados y
fabricados CPU’s más complejos en espacios cada vez más pequeños
(en orden de milímetros). Tanto la miniaturización como la
estandarización de los CPU han aumentado la presencia de estos
dispositivos digitales en la vida moderna mucho más allá de las
aplicaciones limitadas de máquinas de computación dedicadas. Los
microprocesadores modernos aparecen en todo, desde automóviles,
televisores, neveras, calculadoras, aviones, hasta teléfonos móviles o
celulares y juguetes, entre otros.

Los procesadores se agrupan hoy en dos familias, la primera la más


antigua y común es la "CISC" o "Complex Instruction Set Computer":
computador de set complejo de instrucciones. Esto corresponde a
procesadores que son capaces de ejecutar un gran número de
instrucciones pre-definidas en lenguaje de máquina (del orden del
centenar). Y la segunda y más moderna es la "RISC" o "Reduced
Instruction Set Computer", es decir con un número reducido de
instrucciones. Esto permite una ejecución más rápida de las
instrucciones pero requiere compiladores más complejos ya que las
instrucciones que un "CISC" podría admitir pero no un "RISC", deben
ser escritas como combinaciones de varias instrucciones admisibles
del "RISC". Esto implica una ganancia en velocidad por el hecho de
que el RISC domina instrucciones muy frecuentes.
CISC
Es un modelo de arquitectura de computadora el cual contiene
un conjunto de instrucciones que se caracteriza por ser muy amplio y
permitir operaciones complejas entre datos situados en la memoria o
en los registros internos. Este tipo de arquitectura dificulta el
paralelismo entre instrucciones, por lo que, en la actualidad, la
mayoría de los sistemas CISC de alto rendimiento implementan un
sistema que convierte dichas instrucciones complejas en varias
instrucciones simples del tipo RISC, llamadas generalmente
microinstrucciones.

Los CISC pertenecen a la primera corriente de construcción de


procesadores, antes del desarrollo de los RISC. Ejemplos de ellos son:
Motorola 6800, Zilog Z80 y toda la familia Intel x86 usada en la
mayoría de las computadoras personales actuales.

RISC
A diferencia de la arquitectura CISC, la RISC contiene un
conjunto reducido de instrucciones. El objetivo de diseñar máquinas
con esta arquitectura es posibilitar la segmentación y el paralelismo
en la ejecución de instrucciones y reducir los accesos a memoria. Las
máquinas RISC protagonizan la tendencia actual de construcción de
microprocesadores. PowerPC, DEC Alpha, MIPS, ARM. Son ejemplos de
algunos de ellos.

RISC es una filosofía de diseño de CPU para computadora que está a


favor de los conjuntos de instrucciones pequeñas y simples que
toman menor tiempo para ejecutarse. El tipo de procesador más
comúnmente utilizado en equipos de escritorio, el x86, está basado
en CISC en lugar de RISC, aunque las versiones más nuevas traducen
instrucciones basadas en CISC x86 a instrucciones más simples
basadas en RISC para uso interno antes de su ejecución.

RISC vs. CISC


Dentro de muy poco los usuarios dejaran de hacerse la
pregunta ¿RISC o CISC?, puesto que la tendencia futura, nos lleva a
pensar que ya no existirán los CISC puros.

Hace ya tiempo que se ha empezado a investigar sobre


microprocesadores "híbridos", es decir, que los nuevos CPU's no sean
en su cien por ciento CISC, sino por el contrario, que estas ya
contengan algunos aspectos de tecnología RISC. Este propósito se ha
realizado con el fin de obtener ventajas procedentes de ambas
tecnologías (mantener la compatibilidad x86 de los CISC, y a la vez
aumentar las prestaciones hasta aproximarse a un RISC), sin
embargo, este objetivo todavía no se ha conseguido, de momento se
han introducido algunos puntos del RISC, lo cual no significa que
hayan alcanzado un nivel optimo.

Realmente, las diferencias son cada vez más borrosas entre las
arquitecturas CISC y RISC. Las CPU's combinan elementos de ambas y
no son fáciles de encasillar. Por ejemplo, el Pentium Pro traduce las
largas instrucciones CISC de la arquitectura x86 a micro operaciones
sencillas de longitud fija que se ejecutan en un núcleo de estilo RISC.
El UltraSparc-II de Sun, acelera la decodificación MPEG con unas
instrucciones especiales para gráficos; estas instrucciones obtienen
unos resultados que en otros procesadores requerirían 48
instrucciones.

Por lo tanto a corto plazo, en el mercado coexistirán las CPU's RISC y


los microprocesadores híbridos RISC - CISC, pero cada vez con
diferencias mas difusas entre ambas tecnologías.

Características comparativas
CISC RISC
1. Arquitectura RM y MM. Arquitectura RR.

2. Objetivo: dar soporte Objetivo: dar soporte


eficiente a los
Arquitectónico a las funciones casos frecuentes.
Requeridas por los LANS.

3. Muchas operaciones básicas. Pocas operaciones


básicas.
Muchos tipos de datos y una interfaz
4. Solo tipos de datos
básicos
Con memoria compleja. Con una interfaz con
memoria simple.

5.Instrucciones largas y complejas Instrucciones de


formato simple
Con formatos muy diversos y decodificación simple.
Decodificación compleja.

Procesadores Multi-Core (Múltiples Núcleos)


Un microprocesador multinúcleo es aquel que combina dos o
más procesadores independientes en un solo paquete, a menudo en
un solo circuito integrado. Un dispositivo de 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), es decir, paralelismo de
ejecución de subprocesos, 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.

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 conjuntos 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.
Los beneficios del software de las arquitecturas multi-core son 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 que
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. Además 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”).

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 CPU’s realizan viajes cortos y
por consiguiente, se degradan menos. Estas señales de más calidad
permiten enviar más datos por unidad de tiempo. Por el contrario,
hacen falta sistemas operativos específicos que los soporten, además
de ajustes necesarios para maximizar la utilización de los recursos de
computación suministrados por el Multi-Core. Futuro próximo: Multi-
Core 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.
Procesadores Many-Core (Muchos Núcleos)
Esta es una arquitectura que soporta múltiples núcleos en un
paquete de procesador único, donde la infraestructura de apoyo
(interconexión, la jerarquía de memoria, etc.) esta diseñada para
soportar altos niveles de escalabilidad, va mucho más allá de la
encontrada en los ordenadores con varios procesadores. Esto núcleos
pueden ser los mismo (un procesador de múltiples núcleos
homogéneos) o diferentes (una arquitectura heterogénea de
múltiples núcleos).los procesadores Many Core ponen mas núcleos
sobre una determinada térmica que los procesadores Multi Core
correspondientes, de manera consciente comprometen el rendimiento
de un solo núcleo a favor del rendimiento paralelo.

La creación de arquitecturas Many-Core - cientos o miles de núcleos


por procesador - es vista por muchos como una evolución natural de
múltiples núcleos, como la Ley de Moore y de la física conspiran para
forzar a los diseñadores de chips a agregar transistores en lugar de
aumentar los relojes del procesador. Si Many-Core está destinado a
ser el camino a seguir, un nuevo ecosistema de computación en
paralelo tendrá que ser desarrollado, uno que es muy diferente al
ambiente que apoya los actuales sistemas de procesamiento
secuencial y multinúcleo.

Uno de los temas centrales es el tipo de bloques de construcción de


hardware que se utilizará para sistemas Many-Core. Sobre este tema,
los investigadores toman una posición razonablemente definitiva.
Ellos prevén con miles de procesadores simples (es decir, RISC)
núcleos de procesamiento. Los investigadores sostienen que los
pequeños núcleos simples son las estructuras más eficientes para los
códigos paralelos, proporcionando la mejor solución de compromiso
entre el consumo de energía, rendimiento y capacidad de fabricación.
Señalan a los nuevos 128-core GPU NVIDIA y 188 núcleos de
procesador de Cisco red de Metro como dos primeros ejemplos de
este enfoque.

Otro de los grandes temas es el tipo de aplicaciones que se ejecutan


en sistemas Many-Core. Los autores creen que las aplicaciones de la
computación paralela se basarán en un conjunto de 13 diferentes
métodos de cálculo - sus llamados enanos 13. Este consta de siete
enanitos de la computación científica, además de seis más de otros
dominios de la informática: incrustado, de propósito general, el
aprendizaje de máquina, gráficos y juegos, bases de datos, y el
reconocimiento de Intel, la minería y de síntesis (RMS) las solicitudes.
Es concebible que dentro de pocos años, las aplicaciones de TI
paralelizado lleguen a dominarse.

Nuestro futuro Many-Core tiene un lado positivo enorme, pero la


ansiedad sobre él en el mundo de las TI es palpable. Ninguna
comunidad informática única, ni siquiera HPC, parece tener la
amplitud de los conocimientos para atacar esto por sí solo.

El Futuro de los procesadores

Los rumores de la muerte de la Ley de Moore son muy exagerados,


según un equipo de científicos de la computación de Lawrence
Berkeley National Laboratory (LBNL) y la Universidad de California
(UC) en Berkeley. En su opinión, la observación de Gordon Moore de
que la cantidad de potencia informática cargada sobre un chip se
duplica cada 18 meses mientras que el costo sigue siendo llano está
vivo y bien. Pero la física está cambiando.

Industria se aferró al modelo de un solo núcleo durante el mayor


tiempo posible, llegando así al exceso de ingeniería de los núcleos
para exprimir unos cuantos puntos porcentuales de mayor
rendimiento. Pero los diseños complejos de los núcleos requerían
enorme poder, y complejidad para maximizar el rendimiento de serie.
Ahora, la densidad de calor y la potencia se han convertido en 15
años de crecimiento exponencial de la frecuencia de reloj. La
industria ha respondido, poniendo fin a las mejoras de la velocidad de
reloj y aumento de sofisticación del núcleo, y en lugar de eso duplicar
el número de núcleos de cada 18 meses.

Los procesadores Multi y Many-Core comparten ciertas


características, tienen la ventaja del aumento de rendimiento al
realizar las operaciones en paralelo, lo que les permite realizar el
funcionamiento de varios programas simultáneamente y que estos no
compartan el mismo núcleo, esto les permite explotar al cien por
ciento el uso del procesador.

La tendencia progresiva hacia los chips “multi-core” (dos, cuatro u


ocho núcleos) ya ha obligado a la industria del software a dar los
primeros saltos de enormes proporciones en paralelismo explícito. Si
se puede expresar más eficientemente el paralelismo, se abre un
enfoque más agresivo, llamado "many-core", que utiliza una gran
cantidad de núcleos más simples y de menor frecuencia para alcanzar
ventajas de rendimiento que se pueden lograr por la vía gradual. Con
el punto de diseño many-core, cientos de miles de hilos
computacionales por chip son posibles. En última instancia, todos
estos caminos nos llevan a una era de crecimiento exponencial de
paralelismo explícito.

Pero no todo es positivo, esta nueva tecnología tienen una serie de


desventajas, como es la de los Software’s actuales. Los expertos de
Intel recomendaron a los programadores en el último Foro para
Desarrolladores de Intel que para aprovechar el máximo rendimiento
en los futuros procesadores Multi-Core, empiecen a diseñar sus
programas pensando desde el principio en la multiprogramación:
algoritmos, estructuras de datos...que no se lo planteen como una
"mejora" sino como eje troncal, y que se familiaricen con las
herramientas de depuración de bloqueos de Intel.

Hoy en día la multiprogramación sigue siendo dura. Para la mayoría


de los programadores es realmente difícil, por no decir imposible,
hacer que el software escale mágicamente a unas cuantas decenas
de CPUs y que su potencia sea utilizada en su totalidad. Existe un
amplio consenso, especialmente en el mundo del hardware, sobre
que el mundo del software carece de un modelo para explotar las
CPUs Multi-Core y menos aun los Many-Core, y que las CPUs Multi-
Core han venido para quedarse y que esto va a obligar a que se
produzca una revolución en el software para descubrir cuál es ese
modelo. Los fabricantes de CPUs llevan muchos años aumentando el
rendimiento de los ordenadores, y ahora le ha llegado la hora al
software de aumentar el rendimiento.

liberar el potencial del enfoque multi-core y many-core para asegurar


futuros avances en rendimiento computacional sostenido requerirá
avances fundamentales en la arquitectura de los ordenadores y la
programación de modelos, avances que son nada más y nada menos
que reinventar la computación. Esto a su vez se traducirá en un
nuevo paradigma de programación paralela, que ya está siendo
explorado por investigadores de Berkeley en un programa de cinco
años de duración financiado por Microsoft, Intel, y el programa de
California UC Discovery.

¿Ocurrirá tal mejora? De venir, idealmente seria del desconocido y


oscuro pero sin embargo amplio terreno que existe desde el nivel del
lenguaje de programación al de los transistores del CPU. Sin embargo
existe un grupo de gente que simplemente piensa que esa mejora no
se producirá, y que el software jamás podrá utilizar eficientemente
tantos núcleos. Uno de los que opinan así parece ser Robert
O'Callahan, uno de los mejores hackers de Firefox, especializado en
temas gráficos.

Cada vez son más los avances a nivel de hardware. Ya se habla de la


futura creación de procesadores híbridos laser, capaces de emitir esta
clase de luz para la comunicación más eficaz de datos; así como de
procesadores comerciales interlargos de 12, 16 y mas núcleos.
Referencias bibliográficas

• http://www.slideshare.net

• http://www.top500.org/

• http://es.wikipedia.org

• http://www.monografias.com

• http://www.microsiervos.com

• http://www.definicionabc.com

• http://es.kioskea.net

• http://www.intel.com

• http://www.xataka.com

• http://blogs.intel.com

• http://www.noticias-de.com

• http://www.scidacreview.org

S-ar putea să vă placă și