viernes, agosto 17, 2007

Mejor dos procesadores que uno

Cada vez es más complicado encontrar ordenadores que no monten un procesador "Dual Core" a una velocidad de reloj inferior a los de un núcleo. ¿Son realmente más rápidos?
Aunque la expresión "dos mejor que uno" sea aplicable casi siempre, tenemos que estudiar qué es lo que aporta una arquitectura de dos o cuatro núcleos en un procesador contra los de un sólo núcleo que teníamos hasta ahora. Y ya puestos, saber cómo funciona por dentro un procesador, eso sí, de manera muy, muy sencilla.
Todos conocemos la analogía típica: el procesador es el "cerebro" de nuestro ordenador... lo cual no es del todo cierto, dado que no dispone de memoria a largo plazo y se basa en una serie de instrucciones muy concretas. Así, es mejor pensar que se trata de un conjunto de organizadores y calculadoras muy potentes.
Estas calculadoras están siempre dispuestas a recibir trabajo, que son paquetes de información e instrucciones, distribuidas en una especie de cinta transportadora llamada "pipeline", que las lleva, de manera secuencial, hacia el punto donde son procesadas.
CUanto más larga sea la cinta, podemos hacer que ésta vaya más rápida (velocidad de reloj), pero también hace más complicada su gestión y el evitar que haya "huecos" en los que no se haya colocado un paquete a tiempo. Una cinta más corta no puede ir tan rápido, pero los paquetes pasan menos tiempo en "tránsito". Así, procesadores con un pipeline más corto, como los AMD, pueden competir contra procesadores con velocidades de reloj más altas, como los Intel.
Después tenemos que ver de dónde viene la información. Las vías de acceso de la información al procesador no son tan rápidas como las internas (de igual manera que traer piezas a una fábrica desde el almacén es más lento que tenerlas a mano en la cadena de montaje), por lo que si tenemos que estar pidiendo información fuera del procesador, la tarea será más lenta.
Aquí es donde los núcleos duales comienzan a enseñar por qué son útiles. Si tenemos dos núcleos, cada uno con su memoria "a corto plazo", pueden ir disponiendo de un "stock" de información para ir trabajando simultáneamente, y esta información puede irse distribuyendo entre los dos núcleos a medida que vayan procesando la información existente en su memoria.
Claro está que necesitamos algo más que dos núcleos para que esto funcione. Necesitamos un gestor de información que le diga a cada núcleo con qué material tiene que trabajar, y coordinar el trabajo de tal manera que los dos núcleos tengan una carga equilibrada.
Esto también significa que vamos a necesitar sistemas operativos y aplicaciones que entiendan esta manera de trabajar del procesador, y que gestionen la información de tal manera que pueda ser distribuida entre los dos núcleos, y no se lo encargue todo a uno de los dos.
Pero uno de las ventajas principales de la arquitectura de varios núcleos es la disminución de la velocidad de reloj, que a su vez hace que disminuya la temperatura de operación del procesador, causante de problemas en los últimos diseños de procesadores de un sólo núcleo.
Un procesador de doble núcleo a 1.6 Ghz no genera tanto calor como uno de 3.2 Ghz, aunque la potencia de dos procesadores de 1.6 Ghz no alcanza la de uno de 3.2 Ghz. De hecho, muchos juegos diseñados para PC no hacen uso de las capacidades de los procesadores multi-núcleo, siendo estos realmente útiles para realizar varias tareas al mismo tiempo, siempre que dispongamos de un sistema operativo adecuado.
En resumen, los procesadores de varios núcleos son una solución temporal a la barrera tecnológica que encontraron los de un sólo núcleo (temperatura, interferencias, en velocidades de reloj altas), y si bien la tendencia es a seguir esta arquitectura, las ventajas que aportan (tiempo reducido de gestión de información dentro del procesador) siguen siendo insuficientes para salvar la barrera que, tras sucesivas generaciones, encontrarán al tener que volver a subir la velocidad de reloj.

Via Engadget

Via Xataka