Sei sulla pagina 1di 12

TCNICAS DE OPTIMIZACIN EN LA PERFORMANCE DE UN

MICROPROCESADOR


NDICE
INTRODUCCIN ............................................................................................................................. 2
MARCO TERICO ........................................................................................................................... 3
1. SEGMENTACIN (Pipeline) ..................................................................................................... 3
2. PREDICCIN DEL SALTO (BRANCH PREDICTION) ..................................................................... 4
a. Prediccin esttica ............................................................................................................. 4
b. Prediccin dinmica ........................................................................................................... 5
3. EJECUCIN ESPECULATIVA ..................................................................................................... 6
4. ANLISIS DE FLUJO DE DATOS ................................................................................................ 7
5. MEMORIA CACHE ................................................................................................................... 7
Existen diferentes tipos de memoria cach para procesadores: .................................................. 8
a. Cach de 1er nivel (L1): ...................................................................................................... 8
b. Cach de 2 nivel (L2): ........................................................................................................ 8
c. Cach de 3er nivel (L3): ...................................................................................................... 8
TABLA RESUMEN ........................................................................................................................... 9
CONCLUSIONES ............................................................................................................................ 11
REFERENCIAS BIBLIOGRFICAS ..................................................................................................... 12




2




INTRODUCCIN

El presente trabajo tiene como finalidad conocer las diferentes tcnicas que se aplican en
la actualidad para mejorar el rendimiento de un microprocesador.
En la actualidad el avance vertiginoso en el desarrollo de nuevas aplicaciones de software
conlleva a mayores requisitos y potencia en el hardware. Ante tal necesidad, las
compaas como Intel y AMD estn en una carrera por satisfacer dichas demandas
generando microprocesadores nuevos que sean rpidos y seguros, en este camino se
vienen aplicando tcnicas que permitan mejorar el trabajo realizado, que permitan
aumentar la velocidad del microprocesador, que procesen mayor informacin en menos
tiempo.
Es trabajo de los investigadores es generar nuevas tcnicas ante el advenimiento de nuevo
procesadores cuya particularidad es tener en forma interna dos ncleos, 4 ncleos, 6
ncleos y 8 ncleos. Estos procesadores supondrn una mejora sustancial en el manejo de
informacin y por ende el avance de la computadora y el software.


3





MARCO TERICO
1. SEGMENTACIN (Pipeline)
Es una tcnica que permite mejorar el rendimiento de algunos dispositivos
electrnicos, en este caso los microprocesadores, su implementacin permite a los
procesadores desarrollar la ejecucin simultnea de una instruccin y la bsqueda
del cdigo de la siguiente. As de esta manera se puede llegar a solapar la ejecucin
de mltiples instrucciones. Cabe aadir que a travs de la segmentacin diferentes
tareas pueden procesar de forma simultnea, aunque sea con diferentes datos.
Un punto clave de la segmentacin es la posibilidad de comenzar una nueva tarea
sin necesidad de que la tarea anterior haya terminado.
El tiempo de eficiencia de un procesador segmentado no es el tiempo transcurrido
desde que comienza una determinada tarea y esta termina, sino el tiempo mximo
que puede pasar entre la finalizacin de tareas consecutivas.



Tareas procesadas en forma secuencial


Tarea 1 Tarea 1 Tarea 1 Tarea 1
Tiempo

4








Tareas ejecutadas mediante un procesador segmentado
Se debe hacer notar que para realizar el proceso de segmentado, cada tarea que
opera el procesador ser sub dividida en sub tareas las cuales se podrn procesar
en forma simultnea.
2. PREDICCIN DEL SALTO (BRANCH PREDICTION)
En los procesadores actuales es muy comn la ejecucin de ms de una instruccin
por ciclo. Este hecho de hace que los cambios en el flujo de ejecucin de un
programa genere una degradacin en el rendimiento del procesador, ya que el
procesador al encontrar un salto de instruccin deber bloquear la bsqueda de
instrucciones hasta que no sea ejecutado en su unidad funcional.
Esta tcnica trata de evitar esos bloqueos tratando de predecir el comportamiento
de cada instruccin de salto antes de que se resuelto. As de esta manera el
procesador no se bloquea y puede realizar la bsqueda de instrucciones en cada
ciclo.
Las tcnicas de prediccin de saltos se pueden dividir en dos tipos:
a. Prediccin esttica. El presupuesto bsico de estos esquemas es que
ciertos atributos de la instruccin de salto estn relacionados con la
probabilidad de que dicha instruccin ocasione o no un salto. Por tanto, la
Sub Tarea 4
Sub Tarea 3 Sub Tarea 3
Sub Tarea 2 Sub Tarea 2 Sub Tarea 2
Sub Tarea 1 Sub Tarea 1 Sub Tarea 1
Tiempo

5
prediccin se hace sobre la base de dichos atributos y que no cambian al
ejecutar el cdigo. Algunas caractersticas que se usan son las siguientes:
Cdigo de operacin. Segn el tipo de instruccin de salto condicional
se considera ms probable que se produce el salto o que no.
Desplazamiento del salto. Si el campo desplazamiento es positivo (salto
hacia delante, a direcciones mayores que la de la instruccin de salto)
se predice, usualmente, que el salto no se producir. Si el
desplazamiento es negativo (salto hacia atrs) se predice, usualmente,
que el salto se producir.
Dirigida por el compilador. El compilador puede tener en cuenta el
resultado obtenido a partir de ejecucin de trazas del programa que
indiquen que tipo de comportamiento es el ms probable para cada
instruccin de salto.
b. Prediccin dinmica. La prediccin va a depender del comportamiento
del salto en tiempo de ejecucin y cambiara si el salto cambia su
comportamiento durante la ejecucin.
El esquema ms simple de prediccin de saltos es un buffer de prediccin
de saltos o una tabla de histricos. Un buffer de prediccin de saltos es una
pequea memoria indexada por la porcin inferior de la direccin de una
instruccin de salto. Esta memoria contiene un bit que dice si el salto se ha
tomado recientemente o no. Este esquema es til solo en los casos en que
el retardo del salto es mayor que el tiempo para calcular el posible destino
de salto. De hecho, ni siquiera se conoce si la prediccin es correcta, podra
estar puesta ah por otro salto que tenga los mismos bits en las posiciones
inferiores de su direccin. Si al final la prediccin es incorrecta, el bit de
prediccin del buffer se invierte.
El esquema simple de prediccin con 1 bit presenta desventajas desde el
punto de vista del rendimiento. Supongamos que un salto se toma casi

6
siempre, cuando el salto no se tome haremos una prediccin incorrecta dos
veces, en lugar de una.
Para remediarlo existen esquemas de prediccin que usan 2 bits. En un
esquema que use 2 bits, una prediccin debe fallar dos veces consecutivas
antes de cambiar.
Un ejemplo de esta tcnica, supongamos que tenemos un salto que siempre se
toma 3 veces seguidas, la 4 no se toma y este patrn se repite indefinidamente.
Tras unas cuantas ejecuciones de dicha instruccin, tendremos informacin
almacenada en la tabla de patrones, para diferentes ndices. Por ejemplo, para el
ndice '1011' el estado almacenado indicar que hay que tomar el salto, ya que en
las anteriores veces siempre se ha saltado. Sin embargo para el ndice '0111' el
estado almacenado en la tabla debe indicar que no hay que tomar el salto.
3. EJECUCIN ESPECULATIVA
La ejecucin especulativa no es ms que una optimizacin. Slo es til cuando la
ejecucin previa requiere menos tiempo y espacio que el que requerira la
ejecucin posterior, siendo este ahorro lo suficientemente importante como para
compensar el esfuerzo gastado en caso de que el resultado de la operacin nunca
llegue a usarse.
Los procesadores modernos que hacen uso de un pipeline usan la ejecucin
especulativa para, entre otras cosas, reducir el coste computacional de las
instrucciones de salto condicional. Cuando el procesador se encuentra con una
instruccin de salto condicional, el procesador intenta adivinar donde es ms
probable que se salte (prediccin de saltos) e inmediatamente comienza a ejecutar
el cdigo que empieza en ese rea. Si a posteriori se demuestra que la prediccin
fue errnea, todo lo ejecutado despus del salto se descarta. Esta ejecucin
prematura sale realmente rentable en trminos de uso de recursos puesto que si
no el pipeline se parara hasta conocer cul sera la prxima instruccin.

7
La ejecucin especulativa determina qu instrucciones pueden ser necesitadas con
posterioridad, y las utiliza en el momento guardando el resultado para cuando
realmente sea necesario. De modo que el procesador siempre se encuentra
ocupado, pues adems de ejecutar las instrucciones necesarias, tambin est
haciendo lo propio con las que va a necesitar en un futuro, acelerando muchos
procesos.
4. ANLISIS DE FLUJO DE DATOS
Analiza y ordena las instrucciones a ejecutar en una sucesin ptima,
independiente del orden original en el programa: mediante el anlisis del flujo de
datos, el procesador observa las instrucciones de software decodificadas y decide
si estn listas para ser procesadas o si dependen de otras instrucciones. Entonces
el procesador determina la sucesin ptima para el procesamiento y ejecuta las
instrucciones en la forma ms eficiente.
5. MEMORIA CACHE
Para mantener a los microprocesadores funcionando a mxima velocidad se
inserta una pequea cantidad de memoria rpida entre la memoria principal lenta
y el microprocesador. El objetivo es albergar las instrucciones que se repiten o los
datos que se acceden ms frecuentemente.
De esta manera el procesador pude ejecutar a mxima velocidad mientras las
instrucciones y los datos estn en el cache. Caso contrario debe detenerse hasta
que las instrucciones sean captadas de la memoria principal.
Cuanto ms grande sea el cache, ms tiempo estar el procesador a mxima
velocidad, pero mayor ser el consumo de potencia y de transistores.
Bsicamente, la memoria cach de un procesador es un tipo de Memoria voltil
(del tipo RAM), pero de una gran velocidad.

8
En la actualidad esta memoria est integrada en el procesador, y su cometido es
almacenar una serie de instrucciones y datos a los que el procesador accede
continuamente, con la finalidad de que estos accesos sean instantneos. Estas
instrucciones y datos son aquellas a las que el procesador necesita estar
accediendo de forma continua, por lo que para el rendimiento del procesador es
imprescindible que este acceso sea lo ms rpido y fluido posible.
Existen diferentes tipos de memoria cach para procesadores:
a. Cach de 1er nivel (L1):
Esta cach est integrada en el ncleo del Procesador, trabajando a la
misma velocidad que este. La cantidad de memoria cach L1 vara de un
procesador a otro, estando normalmente entra los 64KB y los 256KB. Esta
memoria suele a su vez estar dividida en dos partes dedicadas, una para
instrucciones y otra para datos.
b. Cach de 2 nivel (L2):
Integrada tambin en el procesador, aunque no directamente en el ncleo
de este, tiene las mismas ventajas que la cach L1, aunque es algo ms
lenta que esta. La cach L2 suele ser mayor que la cach L1, pudiendo llegar
a superar los 2MB. A diferencia de la cach L1, esta no est dividida, y su
utilizacin est ms encaminada a programas que al sistema.
c. Cach de 3er nivel (L3):
Es un tipo de memoria cach ms lenta que la L2, muy poco utilizada en la
actualidad. Se encuentra en la placa madre.



9



TABLA RESUMEN
Caracterstica Descripcin
Procesador Core 2 Duo Intel


Micro arquitectura 64 bits que permite utilizar ms de 4
Gb RAM
Segmentacin Moderadas. Por los nuevos procesos
de fabricacin no sern necesarias
tantas etapas de segmentacin. Este
procesador puede ejecutar hasta cuatro
instrucciones por ciclo.
Memoria cache Avanzadas. Intel se ha decidido por una
cache unificada, a la que acceden los
dos ncleos, si un ncleo esta activo
utilizara toda la memoria cache, pero si
los dos ncleos estn muy activos la
memoria cache se reparte de manera
que ambos ncleos tengan la misma
cantidad de memoria.
Prediccin de la desambiguacin en la
memoria
Core2 ejecuta estas instrucciones de
forma especulativa, obteniendo mayor
rendimiento a costa de que a veces
haya que repetir todo el proceso, si no
se ha acertado con la prediccin.

10
Caracterstica Descripcin
Mayor ejecucin fuera de orden y
mejores predictores de salto
CoreDuo ya incorporaba recursos muy
avanzados para la ejecucin de
instrucciones fuera de orden, y para la
prediccin de los saltos. Core2 los
mejora todava ms, ampliando las
memorias internas, e incorporando
nuevos mtodos de prediccin de
saltos.
Mayor capacidad de descodificacin Core2 incorpora un descodificador ms
que CoreDuo, que le permite cargar
ms instrucciones a la vez. Esto es
necesario, si queremos ejecutar ms
instrucciones por ciclo.




11




CONCLUSIONES

Las tcnicas utilizadas para mejorar la performance de un microprocesador son la
base para los futuros microprocesadores, cada da se realizan nuevas
investigaciones, nuevos procesos y funciones se van generando. La exigencia en
el mercado actual no tiene lmite, y las compaas innovan nuevas tcnicas que
permitan mejorar el rendimiento del microprocesador, no solo en lo que a
computadoras se refieren sino en todo dispositivo electrnico que tenga un
microprocesador. No es sorprendente ver en la actualidad carros modernos con
una computadora integrada. Es as que en el futuro se crearan nuevas tcnicas
que permite optimizar los procesos fundamentales del microprocesador.
Un ejemplo es la creacin de nuevo microprocesadores 3d en los cuales los
interruptores planos son reemplazados por los de formato tridimensional, se
estima que esta nueva tecnologa aumentara la performance en un 37%. Estas
mejoras son posibles en las tcnicas actualmente implementadas y que son
mejoradas a la par con el hardware.


12




REFERENCIAS BIBLIOGRFICAS
1. Internet Microprocesadores
Direccin URL: http://www.euskalnet.net/apetxebari/micro.htm
2. Internet Ecured
Direccin URL: http://www.ecured.cu/index.php/Cach%C3%A9
3. Arquitectura de Computadores
Autores: John Hennessy David Patterson
Primera Edicin Capitulo 8
4. Arquitectura de Computadoras
Autor: Josu Bilbao Eguia
Ing. en Automtica y electrnica

Potrebbero piacerti anche