Author Topic: Procesadores multi-núcleo (doble nucleo)  (Read 11233 times)

0 Members and 1 Guest are viewing this topic.

Offline ElMaster

  • Master en trucos :P
  • Administrador
  • *Master*
  • *****
  • Posts: 302
    • View Profile
    • trucos gratis
Procesadores multi-núcleo (doble nucleo)
« on: 11 de January de 2007, 01:05:05 PM »
Procesadores multi-núcleo
por Edgar Miraya Anamaría (edmiraya[arroba]yahoo.com)

   1. Introducción
   2. Panorama Actual
   3. Descripción inicial
   4. Antecedentes de los procesadores multinúcleo
   5. Ejemplos de procesadores multinúcleo
   6. Futuro de los procesadores multinúcleo
   7. Conclusiones
   8. Glosario

   1.
      Introducción

      La presente monografía trata el tema de los procesadores multinúcleo, dando un panorama de porque se decidió fabricarlos, sus antecedentes, como trabajan. Además se muestra algunos procesadores multi-núcleos actuales, de Intel, de AMD. Se ha puesto énfasis en el procesador Cell, por su potencial y su capacidad.

      Este trabajo pretende dar una vista amplia de los procesadores multinúcleo. Para mayores detalles se puede consultar la bibliografía.

   2.
      Panorama Actual

      La fuerte competencia en el mundo de los procesadores, especialmente entre Intel y AMD, ha producido que 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 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.

      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.
   3.
      Descripción inicial

      Los procesadores multi-núcleo son un procesador que contiene dentro de su empaque 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.

      Es como cuando a una persona le dan muchos trabajos por hacer, si otro lo ayuda entre los dos pueden dividirse el trabajo y terminar más rápido. Si los dos les toca hacer un solo trabajo, si este es divisible, entonces los dos lo también lo harán mas rápido. Pero si el trabajo no es divisible, entonces en ese caso uno solo lo haría.

      Por eso las aplicaciones que sacan más 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.

      Pero de todas maneras siempre hay aplicaciones que no se dividen en hilos de ejecución, que no aprovechan por completo estos procesadores. Pero estos procesadores pueden ejecutar varias de estas aplicaciones al mismo tiempo.

      Solo cuando uno ejecute una sola aplicación que no sea paralelizable (no se pueda descomponer en hilos) es cuando no se aprovecha el potencial de procesamiento que tienen estos procesadores.

      Actualmente muchos programas son poco paralelizables (excepto en los sectores donde se usan supercomputadoras, sistemas distribuidos y paralelos, etc.), pero se pueden ejecutar muchos de ellos a la vez. Con el auge de estos procesadores, saldrán aplicaciones más paralelizables.

      Como historia se puede decir que el primer procesador multinúcleo en el mercado fue el IBM Power 4 en el año 2000. Una alternativa a los procesadores multinúcleo son los sistemas multiprocesadores, que consisten en una placa madre que podía soportar desde 2 a más procesadores. El rendimiento es bastante bueno, pero también es bastante caro.
   4.
      Antecedentes de los procesadores multinúcleo

      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.

      Procesamiento en Paralelo

      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.

      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.

      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.

   1.
      Ejemplos de procesadores multinúcleo

Se verá un resumen de los principales procesadores multinúcleo de la actualidad. Se comienza por Intel, mostrando los procesadores multinúcleo que ha sacado al mercado, luego viene AMD, y por último se muestra al nuevo procesador Cell, que próximamente va a salir en la PlayStation 3.

Procesadores Multinúcleo de Intel

Actualmente Intel esta fabricando procesadores de doble núcleo. Comenzó fabricando los Pentium D en el 2005, luego en el 2006 lanzó los Core Duo y el Core 2 Duo.

Pentium D
    

Los Pentium D están conformados por dos procesadores Pentium 4 Prescott sin Hyperthreading. Luego Intel sacó el Pentium Extreme Edition (No confundir con el Pentium 4 Extreme Edition) que era un procesador que tenía los procesadores P4 Prescott, con la tecnología Hyperthreading, lo que hacia que el software viera cuatro procesadores.

Las características de los Pentium D son:

          o Proceso de fabricación de 90nm

          o Tienen la tecnología EM64T, que permite trabajar con 64 bits de forma nativa

          o Utilizan núcleos SmithField (basados en los Prescott), cada uno de ellos tiene una memoria caché L2 de 1MB

          o Van desde 2.80GHz, del modelo menos potente, hasta 3.20GHz para el modelo más potente.

El procesador que contiene dos núcleos Prescott se llama Smithfield. Los nuevos procesadores de doble núcleo Pentium D se llaman Presler, están construidos con tecnología de fabricación de 65nm y van desde 2.8 hasta 3.73Ghz. Tienen una caché L2 por cada núcleo de 2MB (4MB en total).

Core Duo

Los procesadores Core Duo es una versión para los portátiles, implementa 2MB de caché de memoria compartida para ambos núcleos. Están hechos con la tecnología de 65nm. Su velocidad va desde 1.20 hasta 2.33Ghz. El FSB (bus del sistema) va desde 533Mhz del modelo menos potente hasta 667Mhz para los demás. El gasto de energía va desde 9.0w hasta 31w. Por los datos se ve que tienen una gran relación rendimiento/energía.

Core 2 Duo

Esta nueva familia de procesadores de Intel esta basado en la microarquitectura Core, que reemplaza a la antigua microarquitectura Netburst que fue aplicada en los demás procesadores y que ya estaba llegando a sus límites.

La arquitectura Core proviene de la arquitectura que produjo al Pentium M (utilizado por los Intel Centrino), que destaca por el gran rendimiento que obtiene de la poca energía que gasta. El Pentium M además proviene del Pentium III, y este del Pentium Pro (Los Pentium 4 son una rama genealógica aparte).

Las subfamilias del Core 2 Duo son:

Merom, para portátiles.

Conroe, para equipos de sobremesa.

WoodCrest, para servidores.

Los Core 2 Duo, recién han salido en julio del 2006. Además de la versión normal, hay una versión extrema. No se tienen todos los datos disponibles, pero ya se han probado algunos de ellos.

Los Core 2 Duo que han sido probados, por la mayoría de testeadores, son el Core 2 Extreme X6800, el Core 2 Duo E6700 y el E6600. En las pruebas estos procesadores demuestran tener más rendimiento que el más poderoso procesador del AMD, el AMD FX-62. Los mas fuertes (X6800 y E6700) vencen en casi todo al FX-62, en algunas pruebas por un margen considerable y el tercero (E6600) esta muy cerca.

Procesadores Multinúcleo de AMD

Antes de sacar sus procesadores multinúcleo al mercado, AMD ya había conseguido un gran éxito con su procesador Athlon 64, que incorporaba la capacidad de direccional 64 bits de memoria, la tecnología HyperTransport que era un nuevo bus bastante rápido que eliminaba cuellos de botella anteriores, y otras tecnologías; este procesador fue tomado como base para la construcción de su procesador de doble núcleo Athlon 64 X2, que salió al mercado a partir del 2005.

Para Servidores, AMD sacó el procesador Opteron X2, que se basaba también en el Opteron de un solo núcleo, el hermano mayor de los Athlon 64.

Para Portátiles AMD ha sacado el Turion X2, que lleva el poder de los procesadores de doble núcleo al campo de los móviles.

AMD fue el primero en sacar la tecnología de 64 bits, y también fue la primera en sacar los procesadores de doble núcleo para servidores, portátiles y computadoras de escritorio. Han tenido un gran éxito, pero con la aparición de los Core 2 Duo de Intel, basados en su exitoso Pentium M Centrino, la iniciativa vuelve a las manos de Intel en todos los frentes. Hay que esperar a que AMD saque sus nuevos procesadores K8L, de 4 núcleos y con tecnologías mejoradas, como el HyperTransport 3 y una caché L3.

Procesador CELL

El procesador Cell, es un procesador multi-núcleo diseñado por las empresas IBM, Sony y Toshiba desde el marzo del 2001. Este procesador va a ser usado inicialmente por la PlayStation 3, pero se tiene previsto usarlo también en los productos electrónicos que fabrican estas empresas, que van desde televisores de alta definición hasta ordenadores.

Los componentes del procesador son:

          o 1 Power Processor Element (PPE).

          o 8 Synergistic Processor Elements (SPEs).

          o Bus de Interconexión de los Elementos (EIB).

          o Controlador de Acceso Directo a Memoria (DMAC).

          o 2 Controladores de Memoria Rambus XDR.

          o Una interfaz Rambus FlexIO (Input / Output).

El PPE es el núcleo principal, este se encarga de coordinar el trabajo de todos los demás núcleos (SPEs), mediante la tecnología SMT (Simoultaneous Multi-Threading). El PPC toma el control del sistema operativo y deja a los SPEs el trabajo de los demás procesos.

EL PPE esta basado en la arquitectura PowerPC de 64 bits, tiene 32 KB de caché L1 y 512 KB de caché L2, tiene también tecnología de doble hilo y puede ejecutar dos instrucciones por hilo. Este procesador esta hecho como los RISC clásicos, o sea no es como los PowerPC tradicionales, por eso no tiene implementado la predicción de saltos, y la ejecución de instrucciones es en orden; lo que ahorra una cantidad considerable de transistores, pasando todo ese trabajo al compilador.

Los SPE son los procesadores auxiliares, son unidades de cálculo vectorial. Pueden ejecutar hasta dos instrucciones por ciclo. Cada SPE tiene 128 registros de 128 bits cada uno, 4 unidades de coma flotante, 4 unidades aritméticas enteras y una memoria local de 256 KB (esta memoria es SRAM como las memorias caché, pero no es una de ellas). Al no utilizar memoria caché, se simplifica el diseño del SPE. Los SPEs tienen memoria local para tomar los datos que requieren más rápidamente.

El bus de interconexión de elementos, EIB, esta compuesto por 4 canales de datos de 128 bits, permite la comunicación entre todos los elementos del procesador, permite también cargar y mover 16GB de datos por segundo hacia y fuera del Cell respectivamente. Para mantener lleno este ancho de banda, el procesador Cell utiliza en sus controladores de I/O y la memoria las tecnologías diseñadas por la empresa Rambus (conocida por haber fabricado las veloces memorias RAM para Pentium 4, las RIMM, que no tuvieron aceptación en el mercado). La memoria XDR de Rambus es bastante rápida, llegando a velocidades 12 veces superiores a las memorias convencionales de 533Mhz actuales.

La velocidad a la que llega es de 4.8Ghz. La tecnología FlexIO, también de Rambus, es una interface de entrada y salida bastante rápida. Esta constituido por 12 conexiones punto a punto unidireccionales de 1byte, 7 de estas conexiones son de salida y 5 son de entrada. El FlexIO puede tener una velocidad desde 400Mhz hasta 8GHz.

El chip Cell ha ahorrado muchos transistores al no implementar caché para los SPEs, ejecución fuera de orden, predicción de saltos, etc., dejando todo ese trabajo al compilador; con el fin de poner mas procesadores (SPEs) lo que aumenta el poder de procesamiento, y además para que el chip sea más sencillo y gaste menos energía. Este chip es un monstruo con sus 234 millones de transistores, la mayoría dedicados al poder de procesamiento por lo anteriormente expuesto, y como utiliza muchos "cerebros", la generación de calor se disemina por todo el procesador.

Otras características de este procesador son:

          o Fabricación en 90nm (nanómetros).

          o Frecuencia de trabajo desde 3.2 GHz.

          o 1,3 Voltios.

          o Operación a 85ºC con un disipador.

          o El prototipo tiene 221mm2.

          o Utiliza la tecnología SOI (Silicio sobre aislante)

Otras características que tiene el Cell es que es escalable, fue diseñado para poder trabajar con otros Cell. Un PPC de un Cell tiene el potencial de comunicarse con un PPC o un SPE de otro Cell que se encuentre en la misma placa madre, en la misma red o en cualquier parte del mundo si ambos estos conectados a Internet.

Otros Procesadores

Otros procesadores multinúcleo importantes que han salido son:

          o el PowerPC G5 para las Apple.

          o El UltraSparc T1 Niagara, poderoso procesador para servidores, que genera un gran ahorro de energía por su relación rendimiento/energía. Su fabricante Sun Microsystems antes también ha sacado buenos procesadores multinúcleo para sus servidores.

   1.
      Futuro de los procesadores multinúcleo

    * Actualmente Intel y AMD están ofreciendo sus procesadores de doble núcleo. En los siguiente años saldrán sus procesadores de 4 núcleos, 8, etc. Intel prevé llegar a construir un procesador de 32 núcleos para el 2010.

    * El procesador Cell ha comenzado a ser construido con la tecnología de fabricación de 65nm.

    * IBM esta desarrollando el procesador Kilocore, un procesador que tiene un núcleo principal PowerPC que maneja a 1024 núcleos auxiliares pequeños de 8 bits.

    * En cuanto a tecnologías, IBM ha fabricado, en experimentos, chips con la tecnología SiGe (tecnología que añade al silicio, mediante procesos nanotecnológicos, capas de germanio, para mejorar sus propiedades electrónicas) que pueden alcanzar 500GHz con el cero absoluto, previendo que pueden llegar a 350 Ghz a temperatura ambiente. Esta tecnología no es tan costosa, pudiéndose implementar en las fabricas de chips a muy bajo precio. Esto puede ser el comienzo de una nueva generación de procesadores ultrarápidos, comparados con los actuales.

   1.
      Conclusiones

    * Los procesadores AMD e Intel multinúcleo seguirán mejorando, pues llevan compatibilidad con las instrucciones x86. Las empresas de desarrollo de software se verán obligadas, por motivos competitivos, a desarrollar software que aproveche el procesamiento paralelo que tienen estos procesadores. Estos les generará gastos de desarrollo mayores de los normales.

    * En cambio el procesador Cell tiene más problemas, porque no es compatible con el software existente. Es difícil que las empresas de software hagan programas para el Cell, por el enorme costo de desarrollo que implica. Pero fue una buena idea ponerlo en la consola PlayStation 3, porque ello generará una enorme cantidad de programadores, provenientes de las industrias de juegos, que quieran aprovechar todo el potencial que tiene.

    * El rendimiento de los procesadores ha tomado nuevo aliento, después de dejar de avanzar en MHz. Con esta tecnología se puede seguir mejorando el rendimiento durante un buen tiempo.

    * Dentro de poco, las personas normales tendremos el poder de cómputo que tenían los supercomputadores hace algunos años. (Se dice que 4 procesadores Cell tienen el poder equivalente a la supercomputadora más poderosa de EEUU de hace solo 10 años).
Registrate para poder opinar :P