RESUMEN: El presente documento tiene como objetivo realizar la descripcin del anlisis del procesador Dual Core de Pentium, en donde se detallar algunas de las caractersticas de este procesador como su funcionamiento y su arquitectura. La idea es ofrecer un visionamiento objetivo para el usuario, para quien desee conocer por qu usar este tipo de procesador, cules son los beneficios y cules son las ventajas del mismo conociendo de esta manera el rendimiento que posee al realizar cualquier tipo de proceso.
PALABRAS CLAVE: procesador, dual core, multitarea
1 INTRODUCCIN
El procesador Dual Core es un procesador de doble ncleo y estos ncleos se encuentran en un mismo circuito integrado que les permite trabajar a la misma velocidad, es un procesador basado en una arquitectura Pentium, poseen un aumento de la velocidad en la ejecucin de los procesos y en su rendimiento. Su desempeo de alto nivel permite ejecutar multitareas ayudando as a satisfacer las necesidades que necesitan de una mayor capacidad en cuanto a la respuesta de las aplicaciones. Procesadores como este cuentan con un diseo un poco ms inteligente frente a su antecesor porque incrementa la capacidad de respuesta y ayuda en la reduccin del consumo de energa.
2 Desarrollo de Contenidos 2.1 Arquitectura Del Procesador Dual Core
Los procesadores Intel Core 2 Duo son la continuacin en la evolucin de los multiprocesadores. Precedidos por el Pentium D (sobremesa) y del Core Duo (porttiles), esta nueva gama de procesadores ha sido basada en la arquitectura del Pentium M. Esta gama de procesadores el acceso a memoria inteligente optimiza el ancho de banda de datos, permitiendo que los datos puedan ser usados lo ms rpidamente posible, con lo que se minimiza la latencia y se mejora la eficiencia y la velocidad. [1]
La arquitectura dual core consiste de dos ncleos de ejecucin dentro de un mismo procesador. El procesador dual core se conecta a la placa madre a travs de un solo socket pero el sistema operativo percibe a cada uno de sus ncleos de ejecucin como procesadores lgicos distintos, con sus respectivos recursos de ejecucin. La idea detrs de esta implementacin de la arquitectura del chip es en esencia una estrategia de divide y vencers. En otras palabras, al dividir el trabajo computacional, realizado por un solo procesador, en dos ncleos, el dual core puede realizar ms trabajo en un determinado ciclo de reloj. [2] Estos ncleos idnticos trabajan a la misma velocidad pudiendo ser ajustados segn la carga y controlador que lo administre. La reduccin de la velocidad en estos procesadores se dio por la aparicin del doble ncleo pero para no verse afectada en el rendimiento depende del tipo del ncleo que tenga instalado el CPU al igual que el nivel de memoria cach. En este tipo de procesadores la memoria cach de primer nivel (L1) puede variar dependiendo de las necesidades de procesamiento o multiprocesamiento. Suele ser ms pequea que la L2 de 1 o 2 Mb de capacidad, estos procesadores tambin comparten la memoria principal del sistema para la carga de sus propios procesos.
Fig. 1 Procesador Dual Core tomado de. http://www.jeuazarru.com/docs/procesadores_d ual_core.pdf
El Core 2 Duo es un procesador con un pipeline de 14 etapas lo que permite escalar ms en frecuencia que su antecesor (el core 1 solo tena 12 etapas). Igualmente, contiene un motor de ejecucin ancho con tres ALUs, cuatro FPUs, y tres unidades SSE de 128 bits. Con ello consigue ser el procesador x86 (64 bits) que ms instrucciones por ciclo puede lograr. [3]
Para aprovechar las bondades de esta tecnologa se requiere que el sistema operativo soporte este tipo de tecnologa. [8] Debido a que este procesador est orientado a la programacin paralela y no todos los usuarios tienen conocimiento de la misma, esta recomendado a UTPL. Anlisis de Procesador Dual Core .
2 aquellos que pueden sacar la mxima ventaja y usar cada uno de sus recursos.
2.2 Hilos
Cuando se ejecuta un programa, la CPU utiliza el valor del contador de programa del proceso para determinar cul instruccin debe ejecutar a continuacin. El flujo de instrucciones resultante se denomina hilo de ejecucin del programa, y es el flujo de control para el proceso representado por la secuencia de direcciones de instrucciones indicadas por el contador de programa durante la ejecucin del cdigo de ste.
La secuencia de instrucciones de un hilo de ejecucin es un flujo ininterrumpido de direcciones esto si lo vemos desde el punto de vista del programador pero si queremos analizar desde el punto de vista del procesador los hilos de ejecucin de diferentes procesos estn entremezclados y el punto en que la ejecucin cambia de un proceso a otro se denomina conmutacin de contexto. Para el procesador los hilos de ejecucin estn intercalados, pero para los procesos individuales son secuencias continuas. [2]
2.3 La tecnologa HyperThreading (Multithreading Multihilo)
Como alternativa a los inconvenientes de los sistemas Multiproceso podemos aplicar esta tecnologa bastante ms eficaz que es el HyperThreading que es el microprocesador que trabaja como dos CPUs virtuales ejecutando varios hilos de ejecucin o subprocesos en paralelo. [1] Esta tecnologa consistente en usar dos procesadores lgicos dentro de un nico procesador fsico, permite obtener una mejora en el uso del procesador, ya que al simular dos procesadores puede aprovechar mejor los recursos del procesador y por lo tanto una mejora en la velocidad de las aplicaciones. De todas formas, las aplicaciones que pretendan aprovechar la capacidad de la tecnologa HyperThreading deben haber sido programadas para utilizar mltiples hilos de lo contrario no se conseguir el paralelismo en la ejecucin que se pretende. [5]
Fig. 2 HyperThreading tomada de. http://recursostic.educacion.es/observatorio/web/ca/ equipamiento-tecnologico/hardware/267-angel- maria-de-dios-roso
Cada uno de estos pasos (Fig 2) se ejecuta en partes diferentes del procesador por lo que este proceso de ejecucin se hara en paralelo, pero no siempre se puede aplicar est tcnica debido a que en varios procesos iguales tendra que entrar en funcionamiento la misma unidad funcional, como la unidad aritmeticolgica para hacer varias operaciones matemticas, los procesadores que utilicen est tecnologa difcilmente podrn tener complicaciones, como los cuellos de botella. [5]
2.4 Multiprocesamiento simtrico
Los Sistemas de Multiprocesamiento Simtrico (SMP) de dos procesadores son utilizados para servicios de mensajera, con respecto al monoprocesador se nota un gran incremento de rendimiento y de velocidad. En los sistemas de cuatro procesadores con respecto al de dos procesadores su rendimiento no tiene tanta diferencia. [6]
El dual core presenta dos ncleos que trabajan en paralelo, por ello para aprovecharlo al mximo debera ser utilizado con software con apoyo de multiprocesamiento simtrico. Esto le permite a un dual core ejecutar threads de cdigo completamente separado. Esto significa un thread corriendo de una aplicacin y otro thread corriendo del sistema operativo por ejemplo, o threads paralelos corriendo de una sola aplicacin.
La capacidad de dual core puede mejorar la experiencia de utilizar ambientes multitareas, en donde un nmero de aplicaciones foreground corre concurrentemente con un nmero de aplicaciones background, como proteccin, antivirus - seguridad, wireless, compresin, encriptacin y sincronizacin. [2]
2.5 Rendimiento
La ganancia principal de proceso del procesador Intel Core Duo viene de la anchura de sus buses de datos y de la inclusin del diseo en anteriores procesadores de Intel adems de la inclusin de mejoras en los algoritmos de ejecucin especulativa, anlisis de flujo de datos y ejecucin out of order.1 Lo ms importante en el rendimiento del procesador Dual Core es el tamao de la Cache de
1 Tomado de: ttp://www.notebookcheck.org/Procesador- Intel-Pentium-Dual-Core.20995.0.html UTPL. Anlisis de Procesador Dual Core .
3 nivel 2 que parece estar en un punto ptimo lo cual influye mucho en el precio.
Factores que impiden un alto rendimiento en sistemas multiCore-multiThread
Si el rendimiento de las aplicaciones en entornos multi-core/multi-thread escalara linealmente al aumentar el nmero de threads con los que se ejecuta la aplicacin, el problema estara resuelto. Pero lo cierto es que en este tipo de entornos, existen una serie de factores que impiden que esta escalabilidad sea lineal:
Overheads por creacin/eliminacin de threads
En la figura 3 se presenta la creacin y posterior eliminacin de los threads que trabajan en paralelo, tiene un coste en tiempo (overhead). La importancia de este overhead depender de la relacin entre el (tiempo total de ejecucin del bucle con un thread / n de threads) y (tiempo que se tarda en crear los threads, repartir el trabajo, recoger el resultado y eliminar los threads)
Figura 3: Paradigma fork-join con Overheads por creacin/eliminacin de threads. [7]
El overhead ha de ser pequeo en comparacin con (tiempo de ejecucin / n threads). Estamos suponiendo que el volumen de cmputo se reparte de forma equitativa. En el apartado siguiente se analiza el caso en el que esto no es as. Desbalanceo (en las aplicaciones) Una incorrecta distribucin del volumen de cmputo por thread implicar que algunos threads finalicen su trabajo antes que otros. Por lo que los threads que han finalizado tendrn que esperar. Esta espera supone un coste en ciclos de reloj del procesador desaprovechados y por lo tanto un overhead. Se puede reducir aunque no eliminar totalmente este overhead, asignando el trabajo dinmicamente entre los diferentes threads que participan en la ejecucin. Por contrapartida se genera otro pequeo overhead asociado al cmputo necesario para gestionar la asignacin dinmica. En el diseo de aplicaciones paralelas es muy importante una ptima asignacin del trabajo a realizar a cada uno de los threads.
Las comunicaciones entre las memorias de los cores Los threads de una ejecucin multi-thread pueden trabajar de manera independiente y con datos independientes. Pero por las caractersticas de las aplicaciones, en algn momento necesitarn intercambiar datos. Este intercambio de datos se realiza de manera transparente al thread ya que ste nicamente acceder a unas posiciones de memoria que previamente otro thread habr modificado. Esto aunque es transparente para el thread no est libre de coste en tiempo. Los datos que hayan sido modificados en la cache de un thread tendrn que ser copiados a la cache del thread que los necesita en ese momento. Hay que tener en cuenta que el coste de comunicar datos modificados por threads que se ejecutan dentro de un mismo procesador es muy inferior al coste de comunicar datos entre threads que se ejecutan en cores de diferentes procesadores.
Estos costes suponen un overhead a considerar a la hora de disear una aplicacin multi thread. Habr que prestar especial atencin a la localidad temporal y espacial de la aplicacin y a la descomposicin por dominio, intentando primero minimizar las comunicaciones entre threads que se ejecutan en distintos procesadores y segundo minimizar las comunicaciones entre threads que se ejecutan en el mismo procesador. [7]
2.6 Beneficios
Una de la ventajas que presenta est tecnologa es un menor consumo elctrico con respecto a los sistemas de multiprocesamiento por otra parte tambin presentan un menor espacio fsico en comparacin con el mismo tipo de sistemas que necesitan placas bases de gran tamao para montar dos o ms procesadores con sus disipadores y ventiladores. La tecnologa de Dual Core disipara mucho ms calor en comparacin con los sistemas monoprocesador, es decir, un solo procesador, son procesadores con una buena calidad ya que tienen vida de uso largo segn estadsticas e investigaciones realizadas tienen un promedio de 10 aos de uso adems de poseer un gran rendimiento. [6] Entre sus beneficios inmediatos encontramos que los procesadores dual core tienen software multi- threading, programas que ejecutan mltiples tareas al mismo tiempo para aumentar la performance en escenarios de carga pesada, como data mining, anlisis matemtico, servicios web, ya estn posicionados para tomar ventaja del dual y multicore processors. Dual core ofrece mayor productividad an con la misma infraestructura que UTPL. Anlisis de Procesador Dual Core .
4 utilizan las compaas hoy. Una de las ventajas ms significativas de este procesador es que permite a los fabricantes estabilizar de nuevo las frecuencias de los ncleos, reducir la generacin de calor y bajar los requerimientos de energa. [2]
Dentro del ncleo del dual core se tiene instrucciones que aceleran las actividades como la aritmtica compleja, los grficos y la sincronizacin de subprocesos mltiples. Con una tecnologa dual core se pueden acelerar de forma considerable una diversa variedad de tareas de procesamiento intenso, tales como juegos avanzados, procesamiento de sonido, video e imgenes, aplicaciones cientficas y grficos en 3D.
2.7 Intel
Tecnologa Hyper-Threading
La tecnologa Intel Hyper-Threading utiliza los recursos del procesador de modo ms eficiente, permitiendo que mltiples hilos se ejecuten en cada ncleo. Como una caracterstica de rendimiento, la tecnologa Intel HT incrementa la capacidad de proceso del procesador mejorando el rendimiento general de programas con muchos subprocesos. [4] Esta tecnologa toma ventaja de las aplicaciones con hilos que estn ya en el mercado y puede entregar beneficios tambin con las nuevas aplicaciones multithreaded.
Level 1 Execution Trace Cache
El procesador Pentium Extreme Edition tiene dos cach de datos de 16kb. En suma a esto, cada ncleo posee un cach de seguimiento de ejecucin que almacena hasta 12 K instrucciones en el orden del programa en ejecucin. Lo que permite mejorar el rendimiento al ejecutar los procesos.
Level 2 Cache
El procesador Pentium Extreme Edition basado en la tecnologa de 90 nm tiene un cach de transferencia avanzada L2 de 1mb por cada ncleo (2mb en total), permitiendo aumentar la performance del sistema ya que cada ncleo tiene acceso ms rpido a grandes cantidades de informacin ms utilizada. [2]
3. Conclusiones
De acuerdo al anlisis realizado al procesador Core Duo se ha podido concluir que posee una arquitectura desarrollada con respecto a sus antecesores, que ejecutan mltiples tareas al mismo tiempo para aumentar la performance en escenarios de carga pesada. Los procesadores AMD e Intel que son multincleo seguirn mejorando a pasos agigantados, pues llevan compatibilidad con las instrucciones x86, y las empresas que desarrollan software se ven obligadas a mejorar, por motivos competitivos, a desarrollar software que aproveche el procesamiento paralelo que tienen estos procesadores. Los procesadores Intel reducen el tiempo de mercado de sus productos, es decir que Intel emplea una investigacin y tecnologa optando por tecnologas innovadoras. Al igual las aplicaciones deben estar preparadas para aprovechar al mximo las prestaciones y rendimiento de las nuevas arquitecturas que propone Intel Los procesadores de doble ncleo permiten que se aproveche al mximo los recursos de la mquina, trae buenos beneficios como el de realizar varias tareas al mismo tiempo algo que no se poda hacer con procesadores antiguos. La tecnologa en temas informticos y computacionales avanza a pasos agigantados y debemos adaptarnos a esto avances para aprovechar los servicios que se ofrece actualmente no solo en temas de avance tecnolgico de procesadores sino en temas generales.
4. REFERENCIAS [1] Jos Martnez y Miguel ngel Snchez, Evolucin de los Procesadores Intel, Sin edicin: Web disponible en: http://www.wadalbertia.org/docs/EvolucionProcesadores Intel.pdf [2] Procesadores Dual Core. Teora y Aplicacin de la informtica 2, Edicin 2005, Web disponible: http://www.jeuazarru.com/docs/procesadores_dual_core .pdf [3] Sin autor, Familia de Procesadores Intel, Sin edicin, Web disponible: http://intelprocecasodres.blogspot.com/2012/12/familia- de-procesadores-intel.html [4] Sin autor, Intel, Web disponible: http://www.intel.es/content/www/es/es/architecture-and- technology/hyper-threading/hyper-threading- technology.html [5] Sin autor, Procesadores DUAL CORE, Sin edicin, Web disponible: http://es.scribd.com/doc/2517791/PROCESADORES- DUAL-CORE [6] Observatorio tecnolgico, Procesadores Dual Core, Edicin 2005, Web disponible: http://recursostic.educacion.es/observatorio/web/ca/equipa miento-tecnologico/hardware/267-angel-maria-de-dios-roso [7] Anlisis de Rendimiento de Aplicaciones Paralelas de Memoria Compartida, Edicin 2009, Web disponible: http://ddd.uab.cat/pub/trerecpro/2009/hdl_2072_41800/TR_ HectorDobladoRuesga.pdf [8] Sin autor, AXCOM, Web disponible: http://www.axcomcr.com/files/Dual_Core.pdf UTPL. Anlisis de Procesador Dual Core .
Gómez, J. (2008) - Patrimonio Lingüístico, Revitalización y Documentación de Lenguas Amenazadas. Revista Nacional de Cultura Del Ecuador. Volumen 13, Pp. 35-49.