Está en la página 1de 6

DEFINICIONES DE PALABRAS

PIPELINING

PIPELINING es una tcnica de aplicacin en mltiples instrucciones se


solapan en la ejecucin. El oleoducto equipo se divide en etapas. Cada
etapa completa una parte de una instruccin en paralelo. Las etapas estn
conectadas una a otra para formar una tubera - instrucciones entran en un
extremo, el progreso a travs de las etapas, y salir por el otro extremo.
Pipelining no disminuye el tiempo de ejecucin de la instruccin
individual. En lugar de ello, se aumenta el rendimiento de
instrucciones. El rendimiento de la tubera de instruccin est determinado
por la frecuencia con una instruccin sale de la tubera. }
Debido a que las etapas de tubera estn conectados juntos, todas las
etapas deben estar listos para proceder al mismo tiempo. Llamamos el
tiempo requerido para mover una instruccin un paso ms en la tubera
de un ciclo de la mquina. La longitud del ciclo de la mquina se determina
por el tiempo requerido para la etapa de tubera ms lento.

El objetivo del diseador de tubera es equilibrar la longitud de cada etapa


de canalizacin. Si las etapas son perfectamente equilibradas, entonces el
tiempo por instruccin en la mquina es igual a pipeline.

http://web.cs.iastate.edu/~prabhu/Tutorial/PIPELINE/pipe_title.html

ON BOARD CACHE
La memoria cach, tambin llamada memoria de la CPU, es la memoria de
acceso aleatorio ( RAM ) que un ordenador microprocesador puede acceder
ms rpidamente de lo que puede tener acceso a RAM
regular. Esta memoria normalmente se integra directamente con la CPU chip
o colocado en una separada de chip que tiene una separada bus de
interconexin con la CPU.

Niveles de memoria cache

La memoria cach es rpida. Tradicionalmente, se clasifica como "niveles"


que describen su cercana y accesibilidad al microprocesador:

Nivel 1 ( L1 ) de cach es extremadamente rpido pero


relativamente pequea, y por lo general est integrado en el chip del
procesador (CPU).

Nivel 2 (L2) a menudo es ms capaz de L1; que puede estar situado


en la CPU o en un chip separado o coprocesador con un bus de sistema
alternativo de alta velocidad de interconexin la memoria cach en la
CPU, a fin de no ser frenado por el trfico en el bus del sistema principal.

Nivel 3 (L3) de cach es tpicamente de memoria especializada que


trabaja para mejorar el rendimiento de L1 y L2. Puede ser
significativamente ms lento que L1 o L2, pero por lo general es el doble
de la velocidad de la RAM. En el caso de los procesadores de mltiples
ncleos , cada ncleo puede tener su propio dedicado cach L1 y L2,
pero que comparten una memoria cach L3 comn. Cuando se hace
referencia a una instruccin en la memoria cach L3, que suele ser
elevada a una mayor memoria cach de nivel.
BRANCH PREDICTION
En la arquitectura de computadores , un predictor de saltos es un circuito
digital que trata de adivinar qu manera una rama (por ejemplo, un if-then-
else estructura ) ir delante de lo que se conoce con certeza. El propsito
del predictor de ramificacin es mejorar el flujo en la tubera de
instrucciones . Predictores de saltos juegan un papel fundamental en el
logro de alta efectiva el rendimiento en muchos
modernos pipeline microprocesador arquitecturas como x86 .

Dos vas de ramificacin se llevan a cabo por lo general con un salto


condicional de instrucciones. Un salto condicional puede ser o bien "no tomado"
y continuar la ejecucin con la primera rama de cdigo que sigue
inmediatamente despus del salto condicional, o puede ser "tomado" y saltar a
un lugar diferente en la memoria de programa en el que la segunda parte del
cdigo es almacenado. No se sabe con certeza si un salto condicional ser
tomada o no tomada, hasta que la condicin se ha calculado y el salto
condicional ha superado la fase de ejecucin en la tubera de instruccin (ver
fig. 1).

Sin prediccin de saltos, el procesador tendra que esperar hasta que la


instruccin de salto condicional ha superado la fase de ejecucin antes de la
prxima instruccin puede entrar en la etapa podido recuperar en la tubera. El
predictor de saltos intenta evitar esta prdida de tiempo al tratar de adivinar si
el salto condicional es ms probable que sea tomada o no tomada. La rama que
se supuso para ser la ms probable es que luego son captados
y especulativamente ejecutado . Si posteriormente se detecta que la suposicin
era errnea a continuacin las instrucciones especulativamente ejecutadas o
parcialmente ejecutadas se descarta y la tubera comienza de nuevo con la
rama correcta, incurrir en un retraso.

El tiempo que se pierde en caso de una prediccin errnea rama es igual al


nmero de etapas en la tubera de la etapa ha podido recuperar a la etapa de
ejecutar. Los microprocesadores modernos tienden a tener tuberas bastante
largo para que el retardo de prediccin errnea es entre 10 y 20 ciclos de
reloj . Como resultado de ello, haciendo una tubera ms larga aumenta la
necesidad de un predictor de ramificacin ms avanzada.

La primera vez que se encuentra una instruccin de salto condicional, no hay


mucha informacin a la base de una prediccin. Sin embargo, el predictor de
saltos lleva un registro de las ramas si se toman o no toman. Cuando se
encuentra un salto condicional que ha sido visto varias veces antes de entonces
se puede basar la prediccin en la historia. El predictor de ramificacin puede
ser, por ejemplo, reconocer que el salto condicional se toma ms a menudo que
no, o que se toma cada segunda vez.

Prediccin de ramificacin no es la misma que la prediccin de ramificacin


objetivo . Prediccin de saltos intenta averiguar si un salto condicional se
tomar o no. La prediccin de ramificacin objetivo intenta averiguar el destino
de un salto condicional o incondicional tomada antes de que se calcula
mediante la decodificacin y ejecucin de la instruccin misma. Prediccin de
saltos y la prediccin de ramificacin objetivo a menudo se combinan en el
mismo circuito.

https://en.wikipedia.org/wiki/Branch_predictor

DATA-FLOW ANALYSIS

Data-flow analysis is a technique used to assemble information about


possible sets of values computed in a program. More specifically,
information about the way variablesare used at each point in the program.
The data gained from this process are often used in program optimization.
It generally utilizes a control flow graph a graphical representation,
resembling a flow chart, of all paths that may be traversed through a
program during execution to locate specific values.

http://www.computerhope.com/jargon/d/dataflow-analysis.htm

EJECUCION ESPECULATIVA
En ciencias de la computacin, la ejecucin especulativa es la ejecucin de
cdigo por parte del procesador que no tiene por qu ser necesaria a priori.
En la programacin funcional, suele usarse el trmino "evaluacin
especulativa".
La ejecucin especulativa no es ms que una optimizacin. Obviamente,
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 procesadores encuentra con
una instruccin de salto condicional, el procesador intenta adivinar donde es
ms probable que se salte (a esto se le llama prediccin de saltos) e
inmediatamente comienza a ejecutar el cdigo que empieza en esa rea.
Si a posteriorise demuestra que la prediccin fue errnea, todo lo ejecutado
despus del saltos e descarta. Esta ejecucin prematura sale realmente
rentable en trminos de uso de recursos puesto que si no el pipeline se
parara hasta conocer cual serala prxima instruccin.
Hay un tipo de ejecucin 'vaga' que no realiza este tipo de predicciones. La
incorporacin de la ejecucin especulativa en lenguajes de programacin es
un tema de investigacin actualmente, probndose en diversas
implementaciones de Haskell. Lasversiones recientes del GHC permiten un
tipo de ejecucinespeculativa llamada "ejecucin optimista".
http://pipelinecomplejos.blogspot.es/1200438420/ejecucion-especulativa/

También podría gustarte