Descargar

Compendio de información sobre procesadores de varios núcleos


  1. Introducción
  2. Desarrollo
  3. Conclusiones
  4. Referencias bibliográficas

Temas:

  • Mejoras que han influido en el rendimiento de los procesadores.

  • Organización de los procesadores de varios núcleos.

  • Evolución de los procesadores de varios núcleos de Intel. Características que influyen en su rendimiento. Tendencias actuales.

Introducción

El microprocesador (o simplemente procesador) es el circuito integrado central y más complejo de un sistema informático; a modo de ilustración, se le suele llamar por analogía el «cerebro» de un computador. Es un circuito integrado conformado por millones de componentes electrónicos. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador. Es el encargado de ejecutar los programas, desde el sistema operativo hasta las aplicaciones de usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria. (Wikipedia, 2014)

La necesidad actual de los consumidores de poseer PCs cada vez más potentes, ha obligado a los desarrolladores de microprocesadores a buscar nuevas técnicas para mejorar las prestaciones en cuanto a rapidez de procesamiento y respuesta. Para ello comenzaron a añadir mayor cantidad de núcleos en el interior del chip, reduciendo enormemente el tamaño de los micros dando más espacio libre a los ingenieros para poder duplicar o incluso triplicar sus bloques internos.

Un procesador multi-núcleo es aquel que combina dos o más microprocesadores independientes en un solo paquete, a menudo un solo circuito integrado. Un dispositivo de doble núcleo contiene solamente dos microprocesadores independientes. En general, los microprocesadores multi-nú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. (Wikipedia, 2013)

Los procesadores de doble núcleo o más son más ágiles en dar respuesta a las órdenes. El sistema operativo está más desahogado. Pero esto no significa que acaben el trabajo en la mitad de tiempo. La forma en que están diseñadas las aplicaciones es importante, estás deben ser capaces de usar más de un núcleo de manera simultánea. Sin embargo en otras situaciones tener dos o más núcleos lleva a ganancias muy grandes de rendimiento. Sobre todo al evitar bloqueos como los que ocurren casi de manera continua con programas que están en memoria como pueden ser los antivirus.

Desarrollo

Mejoras que han influido en el rendimiento de los procesadores.

Los grandes avances en la construcción de microprocesadores se deben más a la Arquitectura de Computadores que a la miniaturización electrónica. El microprocesador se compone de muchos componentes. En los primeros procesadores gran parte de estos estaban ociosos el 90% del tiempo. Sin embargo hoy en día los componentes están repetidos una o más veces en el mismo microprocesador, y los cauces están hechos de forma que siempre están todos los componentes trabajando. Por eso los microprocesadores son tan rápidos y tan productivos.

Los procesadores no sobrepasaban los 3.8 GHz (obtenido por el Pentium 4 Prescott), necesitaban grandes disipadores y ventiladores porque generaban 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.

Un procesador multi-núcleo hace referencia a un procesador que tiene más de un núcleo, los que funcionan como múltiples procesadores. La idea detrás de tener múltiples núcleos es contar con varios procesadores para realizar de forma más rápida las mismas tareas de un procesador único. Sin embargo, aunque un procesador tenga más núcleos, es posible que no funcione mejor. Los procesadores funcionan a diferentes velocidades de reloj, por lo tanto un procesador de doble núcleo de mayor velocidad puede funcionar mejor que un procesador de cuatro núcleos que tiene una menor velocidad. Además, el rendimiento del procesador depende de las limitaciones del hardware y software (programas). Un procesador de doble núcleo no será el doble de rápido que uno de un solo núcleo que tiene la misma velocidad de reloj; los dos núcleos trabajan en una tarea, en oposición a un núcleo que realiza una tarea dos veces más rápido. Además, el software debe ser programado para aprovechar los núcleos múltiples, de lo contrario sólo un núcleo se encargará de la tarea. Los programas de edición de video, de renderizado 3-D y los juegos pueden experimentar un incremento significativo en el rendimiento al utilizar procesadores multi-núcleo cuando están programados para aprovechar el hardware.

Debido a que los núcleos actúan de forma independiente en un procesador multi-núcleo, éstos se encuentran mejor equipados para realizar varias tareas al mismo tiempo, en comparación con los procesadores de un solo núcleo. Los procesadores multi-núcleo pueden realizar varias tareas al mismo tiempo de mejor manera que los procesadores de un solo núcleo, incluso si el software no está preparado para aprovechar los múltiples núcleos. (Stone, s.f.)

Los primeros procesadores multi-nú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.

El HyperThreading fue creado 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 multi-hilo (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.

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. (Anamaría, 2009)

En la CPU multi-núcleo se añaden los siguientes elementos, comparándolo con el diagrama de bloques de la arquitectura Von Neumann:

• Unidad de punto flotante, FPU (FIoating Point Unit). Se conoce con varios nombres: coprocesador matemático, unidad de procesamiento numérico (NPU) y el procesador de datos numérico (NDP). Es Ia encargada de manejar todas las operaciones en punto fIotante.

• La caché deI procesador, de nivel 1 y de nivel 2. La memoria caché es usada por el procesador para reducir el tiempo necesario en acceder a los datos de la memoria principal La caché es una "minimemoria" más rápida, que guarda copias de los datos que son usados con mayor frecuencia.

• Bus frontal, FSB (front Side Bus). Bus que conecta la CPU con la placa base. Es la interfaz entre la caché de nivel 2 del procesador y la placa base. EI ancho de este bus es de 64 bits.

• Bus posterior, BSB (Back Side Bus). Es la interfaz entre la caché de nivel 1, el núcleo del procesador y Ia caché de nivel 2. EI ancho de este bus es de 256 bits.

La tecnología multi-núcleo, además de contener varios CPU con sus cachés, incorpora:

• Un controlador de memoria DDR integrado, de baja latencia y gran ancho de banda, que hace que sea más rápido el acceso a Ia RAM.

• Un bus de transporte con mayor ancho de banda para Iograr unas comunicaciones de E/S de alta velocidad.

Técnicas de mejora de rendimiento

Paralelismo:

Hoy día los procesadores llevan varios núcleos de proceso (Core) en el mismo encapsulado (en un sólo zócalo) mejorando la multitarea.

  • Multi-Tarea (Multi-Task): Habilidad del micro para simular que realizan varias tareas a la vez. (Ver Figura 1)

edu.red

Figura 1

  • Multi-Hilo (Multi-Threading): El trabajo de un programa (proceso), se divide en varios sub-trabajos para poder ejecutarse en núcleos o procesadores diferentes. (Ver Figura 2)

  • Hyper-Hilo (Hyper-Threading): Como Multi-Hilo. Solo que un mismo núcleo puede procesar varios sub-programas.

  • Hyper-Threading (Es una patente de INTEL): Simula dos núcleos lógicos por cada uno físico. No se consigue el 100% de rendimiento (solo tenemos un micro) pero se consiguen mejoras de 20% a 30%. (Ver Figura 3 y 4)

edu.red

Figura 2

  • Activando Hyper-Threading (normalmente por BIOS): Nuestro equipo y su Sistema Operativo, verán dos procesadores (lógicos) cuando realmente tenemos uno (físico).

  • AMD lo soluciona montando realmente dos núcleos físicos. Al ocupar mayor espacio, se ve obligada a quitar una de las FPU de uno núcleos dejando la FPU del otro compartida.

edu.red

Figura3

edu.red

Figura 4

Procesadores de varios núcleos:

  • INTEL PENRYN: Ofrece mayor rendimiento. (Ver Figura 5)

  • 2 Dual Core unidos para crear un "Quad".

  • Mayor compatibilidad con SSE4.

  • Frecuencias más elevadas.

  • Más cache de 2º nivel

edu.red

Figura 5

  • AMD K10 (BARCELONA): (Ver Figura 6)

  • 4 núcleos diferenciados (Quad nativos).

  • Cache L3 compartida que produce algo de latencia, aumentando los tiempos de respuesta.

edu.red

Figura 6

Turbo Boost (Intel) / Turbo Core (AMD): (Figura 7)

Permite aumentar la frecuencia de funcionamiento del micro automáticamente, en determinadas circunstancias.

Consecuencia: Se desprende más calor.

Factores de Activación: Cuando hay pocos núcleos activos: La mayor parte del tiempo solo están funcionando 1 o 2 núcleos.

Consumo estimado de Corriente/ Temperatura /Energía: Analizando varios parámetros deducir si seguirán bajo un ´limite máximo". (Domingo Muñoz, Luengo, & Pérez Bueno, 2013)

edu.red

Figura 7

Organización de los procesadores de varios núcleos.

Según el libro Organización y Arquitectura de Computadoras del autor William Stallings, las principales variables en una organización multi-núcleo son como sigue:

  • El número de procesadores de núcleo en el chip

  • El número de niveles de memoria caché

  • La cantidad de memoria caché que se comparte

edu.red

Figura 8

La figura anterior muestra cuatro comúnmente usadas dentro de la organización multi-núcleo.

La figura (a) consta de una organización que se encuentra en algunos de los chips de los ordenadores multi-núcleo de años anteriores y todavía se ve en microcircuitos integrados. En esta organización, la única caché en el chip es de caché L1, con cada núcleo que tiene su propia caché L1 dedicado. Casi invariablemente, la caché L1 se divide en la instrucción y los datos de ejemplo caches. Un ejemplo de esta organización es la MPCore ARM11.

En la organización de la figura (b) no se cuenta con caché compartida. En este sentido, hay suficiente espacio disponible en el chip para permitir L2 cache. Un ejemplo de esta organización es el procesador AMD Opteron. Por su parte la figura con la letra (c) muestra una asignación similar de espacio a la memoria, pero con el uso de una caché L2 compartida. El procesador Intel Core Duo es un claro ejemplo, de un procesador que utiliza este tipo de organización.

Finalmente, en la imagen que se muestra con la letra (d), la cantidad de memoria caché disponible en el chip continúa creciendo, las consideraciones de rendimiento dictaron por separado, una caché L3 compartida, con cachés dedicados L1 y L2 para cada núcleo del procesador. Teniendo en cuenta esto, el procesador Intel Core i7 es un ejemplo de esta organización.

El Intel Quickpath Interconnect es una nueva implementación que Intel está aplicando a sus procesadores Core de 3ra. generación. Corresponde a un bus de alta velocidad (25. GB/s) que conecta el controlador de E/S a todos los procesadores y a estos entre sí mismos, es decir el procesador 1 tiene conexiones independientes con el procesador 2, 3, 4 y el controlador de E/S; por el otro lado el 2 tiene conexiones independientes con el 1, 3 y 4; y así sucesivamente. Esto con el fin de eliminar buses compartidos para la conexión entre procesadores.

Esta implementación tiene memorias dedicadas para cada procesador controladas por un controlador de memoria y el QuickPath Interconnect permite que un núcleo haga una solicitud a la memoria compartida de otro núcleo. Esto hace que el procesador sea más escalable y ayuda al rendimiento de los servidores y las estaciones de trabajo. (Ver Figura 9) (Graziano, 2012)

edu.red

Figura 9

Evolución de los procesadores de varios núcleos de Intel. Características que influyen en su rendimiento. Tendencias actuales.

En julio de 2005, Intel presenta oficialmente su Pentium D con dos núcleos, 2 Mbytes de caché de nivel 2, bus del sistema de 800 MHz y un total de 230 millones de transistores, así como funciones mejoradas de seguridad parecidas a las introducidas por AMD cuando lanzó el Ahtlon 64.

Básicamente podría decirse que eran dos procesadores Pentium 4 metidos en un solo encapsulado y comunicados entre sí a través del bus frontal del sistema. En 2006, la plataforma Centrino Duo llevaba el primer procesador de doble núcleo (Core Duo) al mundo móvil con 151 millones de transistores; mientras que Apple presentaba en la MacWorld 2006 su iMac y MacBook Pro también basados en dichos procesadores.

Destaca en estos microprocesadores la tecnología Enhanced Deeper Sleep que permitía transferir el contenido de la caché de segundo nivel a la memoria principal con eficacia para que la CPU pudiese conmutar a un modo de bajo voltaje, reduciendo así considerablemente el consumo.

Posteriormente, en este mismo año, llegarían los Core 2 Duo y Extreme que, partiendo de los dos núcleos pero con mejoras en caché y otros aspectos de la microarquitectura, asentaría las bases para sucesivos modelos con dos núcleos y dos procesadores y también cuatro núcleos (Intel Core 2 Quad). A partir de 2008, se introducían los Atom de 45 nm para dispositivos móviles, teléfonos inteligentes y ultraportátiles.

Finalmente, en 2010 Intel presentaría sus procesadores Core i3, Core i5 y Core i7 de cuatro núcleos incorporando tanto las tecnologías HyperThreading como TurboBoost (los dos últimos).

Los transistores Tri-Gate de Intel son los que permitirán que futuras generaciones de procesadores (especialmente interesante en los Atom, dirigidos al mercado móvil) bajen los procesos de fabricación de 14 nm, si bien recientemente Intel ya anunciado su intención de llevar estos extremos hasta los 5 nm en 2015 y años posteriores.

Y es que, en los próximos años, el principal campo de batalla no será el de los equipos de sobremesa o portátiles, sino el de los móviles inteligentes y el de las tabletas, donde Intel lleva cierto retraso frente a sus principales competidores. (PCActual, s.f.)

Algunos de los procesadores de Intel y sus características fundamentales.

edu.red

Evolución de los Intel Core 2 Duo.

edu.red

Características del i7.

  • Desaparece el FSB: Sustituido por un bus punto a punto QPI(Quick Path Interconnect): Ancho de banda 25.6 GB/s (bidireccional) y 3.2 Ghz.

  • Controlador de Memoria Integrado (en el procesador): Como AMD, Intel lo elimina del chipset y lo instalarla en el propio procesador, aumentando el rendimiento de sus procesadores. Implementan memorias de triple canal y cuatro canales que aumentan el ancho de banda disponible en el sistema. Pero curiosamente, parece ser más eficiente el doble (aunque ésto podría ser debido más a que las Bios de las nuevas placas base están todavía muy verdes).

  • Quad/Octo Core nativo: Los Core2 Quad que se comunican entre si a través de un canal externo (FSB). El Core i7, puede comunicar sus cuatro núcleos entre sí sin tener que depender de un canal externo.

  • Disminución de las caché:

  • L1 permanece intacta: 32KB + 32KB

  • L2 desciende a 256 kB (pero más rápida)

  • L3 de 8/12/15 MB (más rápida)

  • Nuevos Zócalos: La inclusión nuevos elementos en el micro hace necesarios bastantes más contactos, de los 775, 1366, 1150, 2011 pines y para el núcleo.

  • Nuevos Set de Instrucciones: SSE4.1/2, (AVX: Sandy, Ivy), (AVX2, FMA3: Hanswell) incorporan nuevas instrucciones para el tratamiento multimedia, Representación 3d y procesos de encriptación/ desencriptación.

Procesadores Haswell:

Haswell (Intel Core de 4º Generación ix-4xxx). (Ver Figura 10)

Toda una gama de micros desde Smartphone hasta servidores:

  • DT (Pcs)

  • E (Gama alta 140W)

  • EP (Servidores)

  • ULT (Ultrabooks.- Equipos con la mayor parte de componentes integrados en micro y bajo consumo 15W).

  • ULX (Equipos de bajo consumo 10W)

Características:

  • Tecnología de 22 nm.

  • Menor consumo en Standby

  • Tarjeta Gráfica Integrada 2x

  • Nuevos juegos de instrucciones AVX2 y FMA3 (gráficos y video) + TSX para procesamiento en paralelo.

  • Soporte para memoria DDR4.

  • Aumento de memoria caché. (Domingo Muñoz, Luengo, & Pérez Bueno, 2013)

edu.red

Figura 10

Conclusiones

Los procesadores multi-núcleo representan una evolución importante en la tecnología de la computación. Este importante desarrollo parte del momento en que las empresas y consumidores empiezan a requerir mayores beneficios debido al crecimiento exponencial de los datos digitales y la globalización de Internet.

Los procesadores multi-núcleo se convertirán eventualmente en el modelo penetrante porque ofrecen mayores ventajas en el funcionamiento y productividad, mas allá de las capacidades de los procesadores de un solo núcleo.

Un procesador multi-núcleo combina dos o mas núcleos independientes en un solo circuito integrado. Un circuito dualcore contiene dos procesadores independientes y un quad-core contiene cuatro microprocesadores. Los cores en un dispositivo multi-núcleo comparten un cache (Intel) o pueden tener varios caches separados (AMD). Cada núcleo independientemente implementa optimizaciones tales como la ejecución superescalar, pipelining y multithreading. Un sistema con N núcleos es efectivo cuando presenta N o mas threads concurrentemente. Los procesadores multi-núcleo de mayor significancia comercial son usados en computadoras Intel y AMD.

El desarrollo de la siguiente generación de software será probablemente orientado para el uso de procesadores multi-núcleo, debido al funcionamiento y eficacia comparados con el de un solo núcleo.

Referencias bibliográficas

Anamaría, E. M. (1 de 9 de 2009). Monografías.com. Obtenido de Monografías.com: http://www.monografias.com/trabajos37/procesadores-multi-nucleo/procesadores-multi-nucleo

Domingo Muñoz, J., Luengo, R., & Pérez Bueno, L. (11 de 2013). Fundamentos del hardware, Microprocesadores Actuales. Obtenido de http://dit.gonzalonazareno.org/moodle/pluginfile.php/3697/mod_resource/content/4/Micros.pdf

Graziano, D. (11 de 6 de 2012). Organizaciones-Paralelas. Recuperado el 12 de 12 de 2013, de Organizaciones-Paralelas: http://organizaciones-paralelas.wikispaces.com/

PCActual. (s.f.). Obtenido de PCActual: http://www.pcactual.com/articulo/laboratorio/especiales/13463/anos_procesadores_mas_potencia_menor_tamano.html?_part=2

Stone, D. (s.f.). eHow en Español. Obtenido de eHow en Español: http://www.ehowenespanol.com/diferencias-procesadores-nucleos-dobles-multiples-lista_54538/

Wikipedia. (3 de 12 de 2013). Obtenido de Wikipedia: http://es.wikipedia.org/wiki/Procesador_multinúcleo

Wikipedia. (6 de 1 de 2014). Obtenido de Wikipedia: http://es.wikipedia.org/wiki/Microprocesador

Bibliografía

http://www.monografias.com/trabajos37/procesadores-multi-nucleo/procesadores-multi-nucleo2#ixzz2t7HQEp7m

http://www.faq-mac.com/mt/archives/011150.php

http://www.faq-mac.com/mt/archives/011228.php

http://barrapunto.com/journal.pl?op=display&uid=19560&id=15379

http://www.blachford.info/computer/Cell/Cell1_v2.html

http://www.pcwla.com/pcwla2.nsf/articulos/0AB6B09F7369E0A500257060004D9E08

http://www.help400.es/asp/scripts/nwart.asp?Num=159&Pag=24&Tip=M

http://www.computeridea.net/Actualidad/An%C3%A1lisis/Inform%C3%A1tica_personal/Hardware/20050413015/1

http://sanatox.f2o.org/?cat=9

http://www.intel.com

http://www.intel.com/support/sp/processors/pentium4/pentium4_ht.htm

http://www.active-hardware.com/spanish/reviews/processor/3Ghz.htm

http://www.canal-ar.com.ar/Noticias/NoticiaMuestra.asp?Id=3396

http://www.fayerwayer.com/archivo/2006/07/que_tal_es_el_intel_core_duo_2.php

http://es.wikipedia.org/wiki/Intel_Pentium_M

http://www.amd.com/

http://www.meristation.com/v3/des_noticia.php?pic=HRD&id=cw4471c55c7e8db

http://www.taringa.net/posts/info/5583338/Evolucion-del-Microprocesador-Megapost.html

http://hardzone.es/2009/04/01/nuevos-procesadores-intel-xeon-5500/

http:/www.atc.uniovi.es/inf_med_oviedo/3iccrp/Transparencias/1-Hardware%20del%20PC.pdf

http:/www.lcc.uma.es/~pedre/Trabajos_MP/29_Nuevos_Microprocesadores.pdf

http://www.fdi.ucm.es/profesor/sdelpino/ETC/historia.pdf

http://www.jeuazarru.com/docs/procesadores_dual_core.pdf

http://arstechnica.com/news.ars/post/20060407-6556.html

http://www.macuarium.com/foro/lofiversion/index.php/t108847-0.html

http://cum.unex.es/Profes/profes/jlguisado/materiales_ec_teoria/Trabajos%20monograficos%202005-2006/Paralelismo%20a%20nivel%20de%20thread%20-%20grupo%202.ppt

http://www.arcos.inf.uc3m.es/~jdaniel/seminarios/ssooa06/tendencias-proc.ppt

http://www.configurarequipos.com/doc1051.html

 

 

Autor:

Ing. Maidileydys Castellano Báez

Lic. Lourdes Vázquez de la Barrera

Ing. Decímiz Reyes Díaz

Varadero, 2014