|
CX2SA > COMPU 02.11.05 01:28l 66 Lines 3977 Bytes #999 (0) @ LATNET
BID : 55015_CX2SA
Read: GUEST
Subj: Multicore para el a¤o 2006 1/2
Path: ON0AR<ON0AR<TU5EX<CX2SA
Sent: 051102/0009Z @:CX2SA.LAV.URY.SA #:55015 [Minas] FBB7.00e $:55015_CX2SA
From: CX2SA@CX2SA.LAV.URY.SA
To : COMPU@LATNET
Tendencias para el a¤o 2006, multicore
======================================
Hoy la arquitectura X86 de los PC se encuentra con dificultad para seguir
aumentando la velocidad del procesador, por lo que se ha optado por potenciar
los otros dos factores, pasar de 32 a 64 bits y aumentar el n£mero de
procesadores.
Procesadores multicore, huevos con dos yemas
--------------------------------------------
Como ocurre con los 64 bits, el utilizar varios procesadores en un equipo no es
nuevo, desde hace tiempo existen placas madre que permiten utilizar varios
procesadores, normalmente dos o cuatro, en un £nico equipo, as¡ como se puede
montar ordenadores en "cluster", de modo que todos act£en como si fueran un
£nico ordenado, lo que resulta novedoso es que ahora los procesadores est‚n
montados en un £nico chip. El motivo es principalmente econ¢mico, compartir
varios elementos reduce bastante el precio final. Unos elementos comunes son de
gran complejidad t‚cnica, (y coste), como las cach‚s de segundo nivel, otros
menor importancia como la carcasa exterior, pero en conjunto, como si se
tratara de huevos con dos yemas, resulta m s barato producir un ordenador con
dos "cores", que con dos procesadores independientes en una misma placa base.
Aparte, se produce ahorro de tiempo de proceso, pues la informaci¢n entre los
"cores" viaja en el bus interno, siempre m s r pido que el bus de la placa
base.
Reparto de las tareas
---------------------
Desde los inicios del Pc, el ordenador es multitarea, es decir, simula efectuar
diversas tareas al mismo tiempo. Si accedemos al gestor de tareas, veremos que
no solo est n activas las aplicaciones que hemos abierto voluntariamente, sino
otras que lanza por si mismo el ordenador, por ser imprescindibles para su
funcionamiento, o porque as¡ lo indicamos en el proceso de inicio, como la
conexi¢n a Internet, programa antivirus, firewere etc. Tradicionalmente todas
estas tareas operan consecutivamente, lo que obliga a que el avance de una,
suponga parar las dem s y solo la alta velocidad del procesador hace que estas
paradas sean inapreciables.
Con procesadores multicore, se reparten las diferentes tareas entre los
"cores", de modo que varias aplicaciones avanzan a la vez, permaneciendo menos
tiempo paradas. La tarea de repartir los programas entre los "cores" la maneja
el sistema operativo, por lo que al no depender de las aplicaciones, cualquier
programa, sea antiguo o actual, funciona sin problemas en un "core", que a los
efectos es un procesador completo. Naturalmente, hoy estos "cores" tienen
incorporada la tecnolog¡a Hyper-Threading con lo que en los casos m s
favorables, un procesador "duocore" podr gestionar en un solo paso de reloj lo
mismo que un ordenador tradicional hac¡a en cuatro pasos consecutivos.
Multihilo, multithread
----------------------
Si el software en el que est n escritas las aplicaciones lo permite, los
procesos pueden bifurcarse en ciertos puntos entre varios caminos. Cualquier
programa contiene multitud de bucles que recorren repetitivamente un grupo de
l¡neas de c¢digo, cada vez con diferentes datos, en tanto lo indique una
cl usula del tipo IF. THEN. (Si ., entonces . ) , WIHLE. (Mientras que..),
REPEAT (repetir), DO. TO .(hacer. hasta.), etc‚tera. Si el lenguaje de
programaci¢n lo permite, cada bucle pueden dividirse en distintos threads
(hilos), que se procesan por separado en diferentes "cores". Por ejemplo en una
facturaci¢n, cada factura puede calcularse por separado en n£cleos diferentes.
Esto es lo que se denomina progamaci¢n multihilo o multithread. Si el software
lo permite, un procesador multicore, hace avanzar el proceso mucho m s r pido
al trocearlo en varios m s peque¤os calculados simult neamente.
Read previous mail | Read next mail
| |