• No se han encontrado resultados

1.3. Hitos arquitect´ onicos en los ´ ultimos a˜ nos

1.3.2. Procesadores con varios n´ ucleos

Durante d´ecadas, el rendimiento de una CPU se pod´ıa mejorar reduciendo el ´area del circuito integrado, que a su vez supon´ıa una bajada en el coste. De manera alternativa, se pod´ıan utilizar mayor n´umero de transistores para una misma zona del circuito, lo que provoc´o el aumento en su funcionalidad y mayores frecuencias de reloj, pudiendo pasar de los MHz que se obten´ıan en la d´ecada de los 80, hasta llegar a los GHz de los a˜nos 2000. Mantenerse al d´ıa con la Ley de Moore [31, 32] ha resultado cada vez m´as dif´ıcil, ya que las tecnolog´ıas de fabricaci´on de chips se han ido acercando a sus l´ımites f´ısicos. En respuesta, los fabricantes de microprocesadores buscaron otras maneras de mejorar el rendimiento [33]. Como consecuen- cia del consumo derivado de aumentar la frecuencia de reloj y a la disipaci´on de energ´ıa, la computaci´on paralela en procesadores multicore apareci´o como alternativa, haciendo posible tener m´as de un procesador en el mismo circuito integrado.

Un procesador multicore es simplemente un chip que contiene m´as de un n´ucleo o core [34]. Esto permite que el rendimiento potencial del procesador se multiplique por el n´umero de n´ucleos (siempre y cuando el sistema operativo y el software est´en dise˜nados para ello), haciendo posible la compartici´on entre n´ucleos de algunos componentes como la cache. Otra

ventaja que poseen los procesadores multicore es que, al encontrarse muy cerca f´ısicamente, se pueden comunicar m´as r´apido de lo que lo har´ıan procesadores separados en un sistema multiprocesador, posibilitando as´ı mejoras en el rendimiento global.

IBM lanz´o el primer procesador multicore, llamado Power 4 [35], en 2001 para sus servidores RISC, pero no es hasta 2005 cuando AMD e Intel dan a conocer los primeros computadores personales que pose´ıan doble n´ucleo. A partir de 2009 los sistemas PC o port´atiles vienen utilizando los procesadores dual-core y los quad-core, mientras que en mercados profesionales con sistemas de servidores o estaciones de trabajo, se utilizan procesadores con un n´umero de n´ucleos que var´ıa entre 4 y 16. Otro ejemplo es el de Sun Microsystems, que lanz´o los chips Niagara y Niagara 2, los cuales cuentan con un dise˜no de ocho n´ucleos adem´as, el Niagara 2 soporta m´as hilos y funciona a 1,6 GHz.

En 2012 Intel lanz´o al mercado la familia de procesadores multicore, conocida con el nombre en clave Ivy Bridge, que incluyen, entre otras caracter´ısticas, una tecnolog´ıa de fabricaci´on de los microprocesadores de 22 nm, un pipeline de 14 fases (heredado de la arquitectura Intel Core) y transistores Tri-Gate [36], que implica menos del 50 % de consumo energ´etico al mismo nivel de rendimiento respecto de los transistores planos. Actualmente en el mercado podemos encontrar el procesador multicore Intel Xeon Processor E7-887022, de 32 nm, que posee 10 n´ucleos y una velocidad de reloj de 2.8 GHz o el modelo Intel Core i7-3920XM Processor Extreme Edition23, de 22 nm, que posee 4 n´ucleos y una frecuencia de reloj m´axi- ma de 3.8 GHz. Por su parte, la compa˜n´ıa AMD sac´o la familia de procesadores AMD FX24 a lo largo del 2012, con hasta 8 cores en un mismo procesador y 4 GHz de frecuencia de reloj.

A la pr´oxima generaci´on de microprocesadores multicore que Intel lanzar´a a lo largo del a˜no 2013 se la conoce con el nombre en clave Haswell, que incorporar´an el conjunto de instruccio- nes AVX2 (que incluyen gather25, la expansi´on a 256 bits de la mayor´ıa de las instrucciones enteras de AVX y soporte de FMA3, entre otras caracter´ısticas).

22

Especificaciones del procesador Intel Xeon E7-8870: http://ark.intel.com/m/products/53580/ Intel-Xeon-Processor-E7-8870-30M-Cache-2_40-GHz-6_40-GTs-Intel-QPI

23

Caracter´ısticas del procesador Intel Core i7-3920XM http://ark.intel.com/products/64887/

intel-core-i7-3920xm-processor-extreme-edition-8m-cache-up-to-3_80-ghz

24

Procesadores AMD FX: http://www.amd.com/es/products/desktop/processors/amdfx/Pages/

amdfx.aspx

25

Se podr´a acceder a la vez a varias posiciones no contiguas en memoria, aumentando considerablemente las

Figura 4: Distintos esquemas multicore.

La figura 4 compara de forma esquem´atica un procesador con un n´ucleo, con varias variantes de procesadores con dos n´ucleos, pudiendo estos compartir los distintos niveles de cache o no. En este caso, la diferencia entre el procesador AMD Opteron Athlon y el Intel Core Duo Xeon es que el primero posee una cache de nivel 2 para cada n´ucleo mientras que el segundo la comparte entre ambos. La ventaja de compartir niveles de cache es que permite una mayor utilizaci´on, lo que puede suponer un ahorro de energ´ıa, as´ı como mayores tasas de acierto en determinados escenarios. Sin embargo, esa misma memoria cache compartida puede crear f´acilmente conflictos a la hora de obtener recursos. En el caso del Intel Itanium 2 se puede observar como cada n´ucleo posee 3 niveles de cache (L1, L2 y L3) independientes.

Por su parte, la figura 5 muestra un esquema m´as actual, el de un procesador Ivy Bridge, en el que se pueden observar cuatro n´ucleos que comparten el tercer nivel de cache. Adem´as, en el chip se incluye el procesador gr´afico.

Figura 5: Esquema multicore del procesador Ivy Bridge. Fuente: Intel.

Tambi´en son de especial inter´es los procesadores multicore asim´etricos que poseen el mismo repertorio de instrucciones, o al menos un conjunto com´un amplio, haciendo de esta forma

m´as simple el desarrollo software, uno de los principales obst´aculos para la adopci´on de arquitecturas heterog´eneas a una escala m´as global. A este tipo de procesadores se les conoce con el nombre de ASISA (Asymmetric Single-ISA) [37] y han sido propuestos como una alternativa m´as eficiente, en t´erminos de consumo-rendimiento, a las arquitecturas multicore homog´eneas, entre otros motivos, por la posibilidad de poseer, en un mismo procesador, cores con distinto balance consumo-rendimiento en funci´on del tipo de aplicaciones que ejecuten. Actualmente no existen procesadores comerciales de este tipo. La figura 6 compara, con un esquema, una arquitectura homog´enea con otra asim´etrica.

Figura 6: Arquitectura homog´enea (izquierda) frente a arquitectura asim´etrica (derecha).