Você está na página 1de 20

PROCESAMIENTO

SUPERESCALAR
INTRODUCCIN
La ejecucin segmentada permite instrucciones
simultneas, pero slo una instruccin puede estar
en cada etapa del cauce.
En una arquitectura superescalar se dispone de
mltiples cauces de instrucciones independientes,
y a su vez segmentados, de modo que puede
iniciarse la ejecucin de varias instrucciones en
forma simultnea
DEFINICIN
El procesamiento superescalar es la ltima de una serie de
innovaciones tendientes a producir procesadores cada vez ms
rpidos. Explotando el paralelismo a nivel de instruccin. Los
procesadores superescalares son capaces de ejecutar ms de
una instruccin por ciclo de reloj.
Lo esencial del enfoque superescalar es su habilidad para
ejecutar instrucciones en diferentes cauces de manera
independiente y concurrente
DEFINICIN
Hay mltiples unidades
funcionales, cada una de las cuales
est implementada como un cauce
segmentado, que admiten la
ejecucin en paralelo de varias
instrucciones. En el ejemplo, dos
operaciones enteras, dos de coma
flotante y una de memoria (carga o
almacenamiento) pueden estar
ejecutndose en el mismo instante.
DEFINICIN
La aproximacin superescalar depende de la
habilidad para ejecutar mltiples instrucciones en
paralelo. Para maximizar el paralelismo en las
instrucciones, se puede usar una combinacin de
optimizaciones realizadas por el compilador y de
tcnicas de hardware.
DIFERENCIAS ENTRE SUPERESCALAR Y SUPERSEGMENTADO

La supersegmentacin es
una tcnica que saca
provecho del paralelismo
a nivel de instruccin con
el objeto de alcanzar
mayores prestaciones.
DIFERENCIAS ENTRE SUPERESCALAR
Y SUPERSEGMENTADO
La supersegmentacin consiste en segmentar
algunas de las etapas (en concreto las ms lentas)
de los procesadores segmentados, en dos o ms
etapas de forma que se permita que existan dos
instrucciones a la vez dentro de la misma etapa y
unidad funcional sin tener que replicar sta.
DIFERENCIAS ENTRE SUPERESCALAR
Y SUPERSEGMENTADO
El superescalar es capaz de ejecutar ms de una instruccin por
ciclo de reloj.
En un procesador superescalar, el procesador maneja ms de
una instruccin en cada etapa.
DIFERENCIAS ENTRE SUPERESCALAR
Y SUPERSEGMENTADO
El nmero mximo de instrucciones en una etapa
concreta del pipeline se denominagrado, as un
procesador superescalar de grado 4 en lectura es
capaz de leer como mximo cuatro instrucciones por
ciclo. El grado de la etapa de ejecucin depende del
nmero y del tipo de las unidades funcionales.
COMPARACIN ENTRE SUPERESCALAR,
SUPERSEGMENTADO Y SEGMENTADO
SUPERESCALAR FRENTE A SUPERSEGMENTADO
La parte superior del diagrama ilustra un cauce normal,
usado como base de la comparacin. El cauce base
emite una instruccin por ciclo de reloj y puede
ejecutar una etapa del cauce en cada ciclo.
COMPARACIN ENTRE SUPERESCALAR,
SUPERSEGMENTADO Y SEGMENTADO
SUPERESCALAR FRENTE AL SEGMENTADO
Si bien el diseo superescalar es compatible con la
supersegmentacin, no son tcnicas similares. Por ello,
se dedica este apartado a la descripcin de la
supersegmentacin. Y es que la palabra
supersegmentacin nos lleva a la tentacin de aplicar
la ecuacin:
COMPARACIN ENTRE SUPERESCALAR,
SUPERSEGMENTADO Y SEGMENTADO
SUPERESCALAR FRENTE AL SEGMENTADO
Superescalar + segmentado = supersegmentado
Cuando en realidad la ecuacin correcta sera:
Segmentado + segmentado = supersegmentado.
COMPARACIN ENTRE SUPERESCALAR,
SUPERSEGMENTADO Y SEGMENTADO
SUPERESCALAR FRENTE AL SEGMENTADO
La supersegmentacin consiste en segmentar algunas de
las etapas (en concreto las ms lentas) de los procesadores
segmentados, en dos o ms etapas de forma que se
permita que existan dos instrucciones a la vez dentro de la
misma etapa y unidad funcional sin tener que replicar sta
(la rplica constituira superescalaridad)
TCNICAS DE
ORDENAMIENTO DE
INSTRUCCIONES
El procesador va a intentar localizar instrucciones
independientes ms all del punto de ejecucin en curso, que
puedan introducirse en el cauce para ser ejecutadas en paralelo.
Respecto a esto, son importantes tres ordenaciones:
El orden en que se captan las instrucciones.
El orden en que se ejecutan las instrucciones.
El orden en que las instrucciones actualizan los
contenidos de registros y posiciones de memoria.
Las polticas de emisin de instrucciones de los procesadores
superescalares se pueden clasificar en:
1.EMISON DE ORDEN Y FINALIZACIN EN
ORDEN
Es la poltica de emisin de instrucciones ms sencilla.
Consiste en emitir instrucciones secuencialmente, en el
orden en que lo hara una ejecucin secuencial, y
escribir los resultados en el mismo orden. Es una poltica
de emisin tan simple que solo tiene utilidad como base
para la comparacin de otras aproximaciones.

La figura 1 muestra un ejemplo de esta poltica de


emisin de instrucciones. En esta podemos apreciar la
representacin de un cauce superescalar con dos vas
de captacin y decodificacin de instrucciones, tres
unidades funcionales para la ejecucin de instrucciones,
y dos copias de la etapa de escritura.
Figura 1. Comparacin
entre diversas
aproximaciones.
1.EMISON DE ORDEN Y
FINALIZACIN EN ORDEN
El ejemplo mostrado se corresponde a un fragmento de cdigo, del cual se
obtienen las siguientes restricciones:
I1 necesita dos ciclos para ejecutarse.
I3 e I4 compiten por la misma unidad funcional.
I5 depende de un valor producido por I4.
I5 e I6 compiten por una unidad funcional.
2. EMISIN EN ORDEN Y
FINALIZACIN DESORDENADA
La finalizacin desordenada implica que puede
haber cualquier nmero de instrucciones en la
etapa de ejecucin en un instante dado, hasta
alcanzar el mximo grado de paralelismo de la
mquina (todas las unidades funcionales
ocupadas). La emisin de instrucciones se
detiene temporalmente cuando hay una pugna
por un recurso, una dependencia de datos o una
dependencia relativa al procedimiento.
La finalizacin desordenada necesita una lgica Figura 3. Ejemplo de emisin en
de emisin de instrucciones ms compleja que la orden y finalizacin desordenada
finalizacin en orden.
2. EMISIN EN ORDEN Y
FINALIZACIN DESORDENADA
Adems de las limitaciones mencionadas, en este caso hay que tener en
cuenta un nuevo tipo de dependencia, denominada dependencia de salida
(tambin llamada dependencia escritura- escritura). Para ilustrar esta
dependencia consideremos el siguiente fragmento de cdigo (op hace
referencia a cualquier operacin):
Podemos observar una dependencia de datos
I1: r3 r3 op r5 I2: r4 r3 +verdadera
1 de la instruccin I2 respecto de la I1 (I2
necesita operar con un dato que produce I1).
I3: r3 r5 + 1 Tambin existe una dependencia de datos
I4: r7 r3 op r4 verdadera de la instruccin I4 respecto de la I3., y
otra de la instruccin I4 respecto de la I2. Sin
embargo, no parece haber dependencia, tal como
se han definido hasta ahora, entre I1 e I3.
3.EMISIN DESORDENADA Y
FINALIZACIN DESORDENADA
La emisin en orden tiene una seria limitacin,
el procesador decodifica instrucciones hasta
que aparece una dependencia o conflicto. A
partir de dicho punto no se decodificarn ms
instrucciones hasta que se resuelva dicho
conflicto. Por ello, el procesador no puede
seguir buscando aquellas instrucciones
independientes que pudieran haber ms all
de este punto y que podran ser ejecutadas,
Figura 4. Ejemplo de emisin
sacando as ms partido a la mquina y desordenada y finalizacin
aumentado la eficiencia de la ejecucin. ste desordenada.
es el concepto de emisin desordenada.
3.EMISIN DESORDENADA Y
FINALIZACIN DESORDENADA
Para permitir la emisin desordenada es necesario desacoplar las
etapas del cauce de decodificacin y ejecucin. Esto se hace
mediante un buffer llamado ventana de instrucciones. As, cuando un
procesador termina la decodificacin de una instruccin, coloca sta
en la ventana de instrucciones. Mientras la ventana de instrucciones
no se llene, las vas de captacin y decodificacin pueden captar y
decodificar libremente, sin verse condicionadas por la etapa de
ejecucin.

Você também pode gostar