You are on page 1of 5

UTPL.

Anlisis de Procesador Dual Core


.


1
ANALISIS DEL PROCESADOR DUAL CORE

Carlos Xavier Hidalgo Paredes
cxhidalgo@utpl.edu.ec
Patricia Alexandra Ludea Montalvn
paludena@utpl.edu.ec
Roberth Pal Loaiza Rosas
rploaiza@utpl.edu.ec
Pablo Fernando Gmez Bermeo
pfgomez1@utpl.edu.ec



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.


UTPL. Anlisis de Procesador Dual Core
.


2
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
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]

UTPL. Anlisis de Procesador Dual Core
.


3

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
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.

1
Tomado de: ttp://www.notebookcheck.org/Procesador-
Intel-Pentium-Dual-Core.20995.0.html
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
UTPL. Anlisis de Procesador Dual Core
.


4
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
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
UTPL. Anlisis de Procesador Dual Core
.


5
[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

You might also like