Está en la página 1de 12

Paralelismo en la ejecución de instrucciones

SUPERESCALAR
¿Qué es superescalar?

• Instrucciones comunes, (aritmética,


carga/almacenamiento, salto condicional),
pueden iniciarse y ejecutarse de forma
independiente.
• Igualmente aplicable a RISC y CISC
• En la práctica comúnmente se aplica en RISC
¿Porqué Suoerescalar?

• La mayoría de las operaciones se encuentran


en cantidades escalares.
• Optimizar las operaciones para conseguir una
mejora global.

I
O rga ni za ei ó n gen era 1_
Sype.re_s,ea_J_a._r ----~ =--•-••-••• ✓♦ --Wvcmm

Fichero de Registros Enteros Fichero de Registros de Punto Flotante

Unldodos
Fvnclonolos do
5-gmentodo
(Plpollno)

Momorio
Arquitectu ras Superescalares
• Si una unidad de procesam iento es buena, seguramente dos serán

meJores.
• En el siguiente diagrama en b loques se muestra un d iseño para un
procesador con una unidad de procesam iento doble.
• En este diseño una única unidad busca las instrucciones y las
coloca en su correspond iente fi la de procesam iento.
S1 S2 S3 S4 S5
Unidad de Unidad de Unidad de Unidad de
decodifica- búsqueda ejecución
,- ~ ción de ins- •- ~• de de instruc- ,- ~ escritura de
Unidad de • resultados
trucciones operandos c1ones
búsqueda
de
instrucciones Unidad de ' Unidad de Unidad de
•- ....,. decodifica- •---l~► búsqueda ejecución Unidad de
oión de ins- de de instruc- escritura de
resultados
truociones operandos ciones

Orgen zec 6ny Arq,Jltettutl! de


6
Computadores
Superpipelined

• Muchas etapas pipeline necesitan menos de la


mitad de un ciclo de reloj
• Doble velocidad del reloj interno tiene dos
tareas por ciclo de reloj externo
• Superescalar permite ejecutar la búsqueda en
paralelo
1 1 1 1
1 1 1 1

Superescalar vs •
1
1
'
1 '
1

'
Moq_ulna la_se ''
Superpipeline 1 1 1'

1 1
'
1
1
''
1 1
1 1
• 1 1 1 1 1
1. 1
1
1
1
1
1
1
1
1
1
1'
1'
1.. 1 1 1
1
1
1
; 1
1 '
1
1'
e
1 1 1'
1
-
e 1
1

1
1

Su.-Jll_,.:11,..
'

1

1
'
'
1 1 1
1 1 1
1 1
1
1 1 1
1
1
''
1
1
1
1
1
1
1
1
''
1
1 1

1 '
1
1
'
1
1
supeN1s<11lor 1
1

1 1

1'
1
1
','
1 1
1
1
1 1'
1'
1
1 1
1 1 1 1 1 1 1 1

o
' % 3 4 .5
• 7
• '
TlemPO en Gklos
Limitaciones
• Pa ralelismo a nivel de instrucción
• Optim ización basada en compilador
• Técnicas de HW
• Limitado por
- Verdadera dependencia de datos
- Dependencia de procedimiertto
- Conflictos entre recursos
- Dependencia de salida
- Anti-dependencia
Verdadera dependencia de datos
• ADD r1, r2 {r1 := r1 +r2;)
• MOVE r3,rl (r3 := rl;)
I
• Se puede buscar y decodificar la segunda
instrucción en paralelo con la primera
• No se puede ejecutar la segunda instrucción
antes de que termine la primera
Dependencia de procedimiento

• No se puede ejecutar instrucciones después


de un sa Ita en paralelo con las instrucciones
anteriores a I sa Ita
• Además, si la longitud de la instrucción no es
fija, las instrucciones deben ser decodificadas
para averiguar cuántas búsquedas son

necesarias
I
• Esto impide búsquedas simultáneas
Conflicto de recursos

• Dos o más instrucciones requieren acceder a


dos o más recursos a la vez
- Ejemplo, Dos instrucciones aritméticas

Posible so lución:
• Se pueden duplicar recursos
- Ejemplo, Tener dos unidades aritméticas
Eta s:

Efectos de '
1
1
1
1
1
1
1
1 1 1

1 1

dependencias
1 1 1 1
1 1s; n defM'"d•Mio 1
11 1 1 1

1 1 1 1
1
1
1
1
'
1
1
1
1
' 1
1
J 1 1 1 1
• 1 1 1
1
1
1
1
1
'
1
1
1
1
'
1
1
1
11 1 1 1 1 1
:Oepet1de.nclo d.e dalos
11 111 uu elatos pr-sados po, 10
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1


11/salto
1 1
1 •
1

1
'
~ndelKio de Proc:uomlenta
1

1
1
ll 1 1
1 1
u
. 1
1
1
1
1
1
1
1
1
1
lS
1 1 1
1 1 1 1 1 1 1
,
1 1
1
1
1
1
1
1
1
1
1
1
1
1 1 1 1
1 1
'
1
1Coonido de rccanos 1
1
:iOcil a1111blnna. 1
1P'idlcl íUIIIC'ioal 1
1 1 1

• 1 l J
• 5
' 7

Tic 111p11 e■ ciclos
9

También podría gustarte