Tuesday

DUAL CORE

Sistemas Multiprocesador
Antes que nada hay que entender que son los sistemas multiprocesador, estos son una de la alternativas para mejorar el rendimiento, velocidad y prestaciones de los servidores y las estaciones de trabajo.


Este sistema es muy utilizado para realizar tareas multiproceso, de esta forma si un procesador está ocupado realizando una operación, nuestra petición de proceso la atenderá otro procesador libre.




La tecnología de estos sistemas es bastante compleja porque utilizan en un mismo equipo dos procesadores o más unidos simétricamente y en paralelo utilizando recursos compartidos como la memoria del sistema. Todos los procesadores son tratados por igual y los procesadores se reparten el trabajo de los usuarios con lo que mejora su rendimiento en el trabajo de una misma aplicación.

Los Sistemas de Multiprocesamiento Simétrico (SMP) de dos procesadores son utilizados para servicios de mensajería mientras que los de cuatro procesadores se utilizan para ejecutar aplicaciones de empresa (Bases de Datos, Aplicaciones Cliente/Servidor).

Como hemos dicho los Sistemas de Multiprocesamiento Simétrico (SMP) tambien llamados tightly coupled (estrechamente acoplado) o Shared everything (todo compartido) son sistemas los cuales comparten sus recursos lo cual supone un problema.


En los sistemas de dos o cuatro procesadores comparten la misma memoria RAM con lo cual no representan grandes problemas de saturación, en cambio con los sistemas de ocho o mas procesadores si podría suponer un gran problema, a la hora de responder a todas las peticiones de proceso, si son muchas todos consumirán de la misma memoria por lo que se pueden producir cuellos de botella y relantizar el sistema de forma considerable, para está solución cada procesador dependerá de pequeñas memorias caché como podemos observar en la figura.

Aún teniendo memorias locales e independientes no soluciona el problema de los cuellos de botella.

Otro problema que nos podemos encontrar con está tecnológica es encontrar programas o sistemas operativos que esten optimizados para poder usar estos sistemas. Solo W2000, XP y Linux están preparados para ser utilizados en los SMP, si utlizaramos Windows 98 solo utilizaría un procesador porque no está preparado para tareas multiproceso.
El coste hardware es otro de los inconvenientes, ya que, conlleva comprar dos o más microprocesadores para una placa base que este adaptada con dos o mas zócalos para microprocesador. Si a todo esto le añadimos el espacio que ocupa y las temperaturas que pueden llegar a alcanzar, por lo que para minimizar esto ultimo habría que acoplar varios ventiladores.

La Tecnología HyperThreading (Multithreading – Multihilo)

Como alternativa a los inconvenientes de los sistema Multiproceso podemos aplicar está tecnología bastante más eficaz que es el HyperThreading que es el microprocesador que trabaja como dos CPUs virtuales ejecutando varios hilos de ejecución o subprocesos en paralelo.

Está tecnología divide la ejecución de cada instrucción en varios pasos independientes. Cada uno de estos pasos se ejecuta en partes diferentes del procesador por lo que este proceso de ejecución se haría en paralelo, pero no siempre se puede aplicar está técnica debido a que en varios procesos iguales tendría que entrar en funcionamiento la misma unidad funcional, como la unidad aritmeticológica para hacer varias operaciones matemáticas, una solución a este pequeño inconveniente es aplicar unos pocos de transistores más a la oblea de fabricación para duplicar más unidades funcionales como la descrita anteriormente (ALU – Unidad aritmeticológica), esto quiere decir que los procesadores que utilicen está tecnológia dificilmente podrán tener complicaciones, como los “cuellos de botella”.



Procesadores de Doble Núcleo.


Un procesador de doble nucleo (Dual Core) es un microprocesador en el cual hay dos procesadores (físicos) independentes en el mismo encapsulado, además estos procesadores de doble núcleo poseen para cada procesador interno una memoria caché de segundo nivel (L2) de 1 o 2 Mb de capacidad, también comparten la memoria principal del sistema para la carga de sus propios procesos.
Nota: En este tipo de procesadores la memoria caché de primer nivel (L1) puede variar dependiendo de las necesidades de procesamiento o multiprocesamiento. Suele ser más pequeña que la L2.
En este caso los “Cuellos de botella” no podrían producirse, ya que existe un mecanismo de arbitraje que hace que cada núcleo tenga un ancho de banda óptimo.



El proceso de fabricación para la producción de está tecnología ha sido a causa de la construcción de semiconductores de 90 nanometros que facilita la integración en espacios muy reducidos más transistores (aproximadamente 230 millones de transistores) de alta prestaciones.


Podemos observar en la figura 3.1 el mapa de un microprocesador internamente, la característica principal de este mapa es que hay dos CPUs (Rodeadas en rojo) en un mismo encapsulado, tambien podemos ver que cada CPU tiene su propia memoria caché del tipo L2 (Rodeado en Azul).

El año pasado en el caso de AMD el modelo que destaca con está tecnología es el ATHLON 64 X2 4800+ y en el caso de INTEL es el modelo PENTIUM EXTREME EDITION 840.
INTEL ha implementado en sus procesadores Dual Corel la tecnología HyperThreading disponiendo a los sistemas operativos y aplicaciones de 4 procesadores virtuales, dos para cada nucleo.
En el caso de AMD incorpora el canal HyperTransport a 2GHz para la comunicación con los distintos integrados de la placa como el Chipset o entre ambos núcleos del Dual Core.