Sunteți pe pagina 1din 72

Procesador Segmentado

Procesador Segmentado

Se desea ejecutar varias instrucciones, al mismo tiempo. Se dividen las etapas mediante registros, cada instruccin puede estar ejecutndose en una etapa. Cinco etapas, pueden ejecutarse simultneamente cinco instrucciones. Es preciso, que cada instruccin pase por las cinco etapas, y que cada etapa tenga su propio control.
2

Procesador Segmentado
Se ejecutan varias instrucciones, que usan recursos diferentes, en forma simultnea. Se comienza la prxima instruccin mientras se trabaja a n en otra. !a velocidad de avance est limitada por la etapa ms lenta.

Procesador Segmentado

Etapas:
"

squeda de #nstruccin. &ecodificacin.!ectura 'egistros. Ejecucin. (peracin con memoria de datos. Escritura en arreglo de registros.

$"#% $&ec% $Eje% $)em% $*'%

Procesador Segmentado

Ejecucin de instrucciones
BI Dec BI

Eje Dec BI

Me Eje Dec

WR Me Eje WR Me WR

tiempo

flujo de ejecucin

Procesador Segmentado
'eloj )onociclo
)onociclo

Load
'eloj )ulticiclo y pipeline

Store

Add

)ulticiclo

"#

&ec

Eje

)e

*'

"#

&ec

Eje

)e

"#

&ec

"#

&ec "#

Eje &ec "#

)e Eje &ec

*' )e Eje *' )e *' 6


Segmentado

Procesador Segmentado

En la ejecucin monociclo+
El

per,odo del reloj lo establece la instruccin que ms demora en ejecutarse. - la vez este per,odo es la suma de los tiempos asociados a cada etapa. En el diagrama los tiempos de acceso a memoria de instrucciones y de datos se asumen iguales y levemente mayores que la operacin de la unidad aritm.tico lgica/ la lectura y escritura de registros, se asumen iguales y menores que el tiempo de propagacin en la alu.
7

Procesador Segmentado

En la ejecucin multiciclo+
El

per,odo del reloj lo establece la etapa que ms demora en realizarse$acceso a memoria%. En el diagrama se aprecia que la instruccin load 0ord demora ms en ejecutarse en la mquina multiciclo. Sin embargo la instruccin store 0ord demora menos, y tambi.n es ms rpida la ejecucin de la secuencia l0, s0, en el procesador multiciclo.

Procesador Segmentado

En la ejecucin segmentada $pipeline%+


-sumiendo

que cada instruccin ocupa las cinco etapas, la realizacin individual de una de ellas demora lo mismo que la ms lenta en la ejecucin multiciclo. Se aprecia que es ms rpida la ejecucin de la secuencia l0, s0, en el procesador segmentado que en el multiciclo.

Procesador Segmentado

Ejemplo+
Suponer

que se ejecutan 122 instrucciones+

3rocesador monociclo
45 ns6ciclo x 1 C3# x 122 inst 7 4522 ns 12 ns6ciclo x 4.8 C3# $debido a la mezcla% x 122 inst 7 4822 ns 12 ns6ciclo x $1 C3# x 122 inst 9 4 ciclos llenado% 7 1242 ns

3rocesador )ulticiclo

Segmentada ideal

10

Procesador Segmentado

En procesador Segmentado+
Si

: es la duracin de la etapa ms lenta.


Con n etapas+

# instrucciones demoran+ :; $ # 9 $n<1% %

11

Procesador Segmentado
tiempo $ciclos de reloj% #nstruccin 1 Cuando la instruccin 1 est en escritura de registros *', la = est en )emoria de datos/ la > est en Ejecucin en (peraciones/ la 4 est en decodificacin y lectura de registros/ #nstruccin 4 la 5 est en la etapa de b squeda de instruccin. #nstruccin 5

#nstruccin =

#nstruccin >

orden de ejecucin todas las etapas estn ejecutando una instruccin diferente en un mismo ciclo. 12

Procesador Segmentado

)ulticiclo versus segmentacin.


En

un procesador multiciclo interesa que el n mero de etapas o microciclos sea m,nimo para cada una de las instrucciones. Esto disminuye el C3# promedio. En un procesador segmentado interesa disminuir las detenciones debidas a conflictos.

13

Procesador Segmentado

En un camino segmentado las cinco unidades funcionales independientes son+


)emoria de instrucciones para la etapa de b squeda.

"# $fetc?%.

3uertas - y " de lectura del arreglo de registros para la etapa de &ecodificacin y !ectura de 'egistros.

'eg6&ec. Ejec. )em.

@nidad aritm.tico<lgica para la etapa de Ejecucin.

)emoria de &atos para la etapa de acceso a memoria.

3uerta de escritura del arreglo de 'egistros para la etapa de postescritura.

*r.
14

Procesador Segmentado
$C el
COp !unct rt rd

Decodi !icador

RD RegWr
MemtoReg

RD1 RegWr1
MemtoReg1

RD2 RegWr2

MemWr MemRd AluCtr AluSrc

MemWr1 MemRd1

IR PC Mem%
In t% inm16 r rt

(rj

ExtOp
Inm16a

RegWr2

Reg
RD2

A B

Opera cione

S D Mem% Dat%

M
MDout

$C&'

M (rj inm16 add26 n$C

e"ual

#ext $C

15

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


!oad

requiere pasar por las cinco etapas


) # ' ! ) # ' ! ) # ' ! ) & ) & ) & tiempo

l0 At1, 2$At=%

l0 At4, 2$At5%

l0 At>, 2$At>% (rden de ejecucin

16

Procesador Segmentado

Bo ?ay conflictos de escritura, ya que el arreglo de registros se emplea para escritura en ciclos diferentes. :ampoco de lectura ya que las instrucciones leen registros que permanecen con sus contenidos sin cambios. Sin embargo la secuencia +
l0 l0

At1, 2$At=% At4, 2$At1%


requiere usar At1, que a n no ?a sido escrito.

17

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


En

un procesador multiciclo las instrucciones de tipo ' requieren cuatro etapas.


add At1, At=, At> ) # ' ! ) # ' ! ) # ' ! ) & tiempo

l0 At4, 2$At5%

add At>, At>, At= (rden de ejecucin

18

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


En

un procesador multiciclo las instrucciones de tipo ' requieren cuatro etapas.


&os instrucciones intentan escribir en la nica puerta de escritura del arreglo de registros en el mismo tiempo $'iesgo Estructural%.

19

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


En

un procesador multiciclo las instrucciones de tipo ' requieren cuatro etapas.


@na solucin es insertar una operacin nop entre un l0 y una de tipo '. Se producen cinco etapas nulas. !o que degrada la velocidad de ejecucin de instrucciones. (tra solucin es detener la ejecucin $stall% de la ejecucin de una instruccin de tipo ' siguiente a un l0, insertando una burbuja.
20

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


En

un procesador multiciclo las instrucciones de tipo ' requieren cuatro etapas.


add At1, At=, At> ) # ' ! ) # ' ! ) # ' ! ) & tiempo

l0 At4, 2$At5%

add At>, At>, At= (rden de ejecucin

21

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


En

un procesador multiciclo las instrucciones de tipo ' requieren cuatro etapas.

Esta solucin requiere una lgica de control que resulta compleja. Se prefiere escoger la solucin de insertar un ciclo de memoria nulo en las instrucciones de tipo '. Esto implica que las instrucciones de tipo ' durarn 5 ciclos.
22

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.

#nstrucciones de tipo ' durarn 5 ciclos.


add At1, At=, At> ) # ' ! ) & tiempo

l0 At4, 2$At5%

) #

' !

) &

add At>, At>, At=

) #

' !

) &

23

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


#nstruccin

store 0ord,
) # ' ! ) # ' ! ) # ' ! ) & ) & ) & tiempo

s0 At1, At=, At>

l0 At4, At1, At=

s0 At>, At>, At= (rden de ejecucin

24

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


#nstruccin

store 0ord

Se requieren cuatro etapas. En la ejecucin en la caCer,a no es necesario agregar un ciclo nulo de postescritura, para la instruccin store, ya que en este caso se libera el recurso.

25

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


!a

bifurcacin requiere cuatro etapas, si se determina la igualdad empleando la condicin cero generada por la -!@.
beq At1, At=, rtulo

) #

' !

) &

tiempo

(rden de ejecucin 26

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


3ara

disminuir los riesgos de control es mejor solucin detectar la igualdad en la etapa de decodificacin y lectura del arreglo de registros y actualizar el valor de 3C
beq At1, At=, rtulo

) #

' !

tiempo

(rden de ejecucin 27

Procesador Segmentado

-nlisis de las etapas requeridas por las diferentes instrucciones.


Salto

incondicional $jump%
j rtulo ) # ' ! tiempo

(rden de ejecucin

28

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


:ipos

de riesgos
Se intenta usar el mismo recurso de dos maneras diferentes, en el mismo tiempo. Se intenta usar un dato antes de que sea vlido. (curre cuando una instruccin depende de un dato que escribe una instruccin previa que tambi.n est en la caCer,a. Se intenta efectuar una decisin antes de que la condicin o flag sea vlida.
29

Estructurales: Conflicto de datos:


Conflicto de Control:

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


:odos

los riesgos pueden resolverse esperando. !a unidad de control del procesador segmentado debe detectar los riesgos, y tomar acciones para solucionar los conflictos.

30

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo

estructural.
) # ' ! ) # ' ! ) # ' ! ) # ' ! ) # ' ! ) & ) & ) & ) & ) & 31 tiempo

!oad 0ord

#nstruccin = #nstruccin > #nstruccin 4 #nstruccin 5 (rden de ejecucin

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo

estructural.

@sar, en forma compartida, una memoria para datos e instrucciones provoca un riesgo estructural. 3or ejemplo, la instruccin load, en su etapa de lectura de memoria, y el fetc? de la instruccin 4, intentan leer al mismo tiempo la nica memoria.

32

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo
!oad 0ord

estructural.
) # ' ! ) # ' ! ) # ' ! ) # ' ! ) # ' ! ) & ) & ) & ) & ) & 33 tiempo

#nstruccin = #nstruccin > #nstruccin 4 #nstruccin 5 (rden de ejecucin

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo

de Control.

!a bifurcacin puede realizarse o no. En caso de tomar la bifurcacin ya ?abrn ingresado a la caCer,a las dos instrucciones siguientes a la bifurcacin y comenzado a ejecutarse/ si no se efect a la bifurcacin, ya se tendr adelantada la ejecucin de las instrucciones siguientes a la bifurcacin.
34

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo

de Control.
) # ' ! ) # ' ! ) # ' ! ) # ' ! ) # ' ! ) & ) & ) & ) & ) & 35 tiempo

beq At1, At=, loop add At>, At4, At5 add At>, At8, At> add At>, AtD, AtE este fetc? es seguro (rden de ejecucin

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo de Control. Se puede solucionar este riesgo de control, deteniendo el procesamiento de las prximas instrucciones ?asta que la decisin pueda efectuarse. Esto implica tres ciclos de reloj de detencin $stall% por cada branc?. Bo puede efectuarse fetc?+

&urante la etapa de decodificacin, &urante la etapa de clculo del flag de cero a la salida de la alu de la instruccin beq, y &urante la escritura de 3C de la instruccin beq que se efect a en la etapa mem/ Slo en la etapa *' de la instruccin beq puede efectuarse confiablemente el fetc? de la instruccin siguiente.
36

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo

de Control.

!a detencin puede lograrse evitando leer la memoria de instrucciones, mediante la des?abilitacin de *E#' y desactivando las seCales de control que modifican el estado del procesador $*r'eg, )em*r%/ ( bien, limpiando el registro #' en la etapa de decodificacin del beq. Esto intercala burbujas en la caCer,a. !o cual se ilustra en el siguiente diagrama+

37

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo

de Control.
) # ' ! ) & tiempo

beq At1, At=, loop burbuja burbuja burbuja

este fetc? es seguro (rden de ejecucin

) #

' !

) & 38

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo

de Control.

3uede delegarse la tarea de detencin al compilador, que debe intercalar tres instrucciones nop $no operacin% despu.s de cada beq/ el diagrama que representa esta situacin es similar al visto antes, pero se est ejecutando la instruccin nop.

39

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo

de Control.

beq At1, At=, loop nop nop nop add At>, At4, At5 Feste fetc? es seguro. add At>, At8, At> add At>, AtD, AtE
40

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo

de Control. Solucin de riesgo de control anticipando la comparacin.


3uede mejorarse el diseCo de la caCer,a, anticipando la comparacin, para esto es preciso agregar ?ard0are, que permita generar la condicin GequalG en la etapa de decodificacin y a la vez escribir el valor de 3C.

41

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


'iesgo

de Control. Solucin de riesgo de control anticipando la comparacin.


beq At1, At=, loop ) # ' ! ) # ' ! ) # ' ! ) & ) & ) & 42 tiempo

add At>, At4, At5

este fetc? es seguro

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.

Soluciones para este riesgo de control+

&etencin.

!a solucin por ?ard0are consiste en detener por un ciclo el fetc? de la instruccin siguiente a un branc?. !a solucin por soft0are consiste en intercalar un nop, despu.s de cada branc?.

43

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.

Soluciones para este riesgo de control+

"ifurcaciones retardadas.

Bo se detiene la ejecucin despu.s de una bifurcacin/ es decir la instruccin siguiente a una bifurcacin comienza a ejecutarse siempre. Esta solucin $delayed branc?% agrega un ciclo por cada branc?, si el compilador no puede encontrar una instruccin que sea til, y que pueda realizarse despu.s del branc?.
44

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.

Soluciones para este riesgo de control+

Haciamiento. $flus?%

!a tercera solucin es efectuar el fetc?, despu.s del branc?. Si el salto no se realiza, se contin a la ejecucin. Si el salto se realiza, se debe descartar la instruccin le,da y volver a efectuar el fetc?.

45

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


Conflicto

de datos en operaciones de tipo ' o inmediatas.


add At1, At=, At> add At4, At1, At= sub At=, At>, At1 or At8, At1, At> ) # ' ! ) # ' ! ) # ' ! ) # ' ! ) # ' ! ) & ) & ) & ) & ) & 46 tiempo

and At=, At1, At1 (rden de ejecucin

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


Conflicto

de datos en operaciones de tipo ' o inmediatas.


!a solucin de los conflictos de datos, puede realizarse mediante la anticipacin de los datos. Esto considerando que el dato que ser escrito en un registro por una instruccin de tipo ' o de tipo inmediata, ya est disponible despu.s de terminada la etapa de operaciones. :ambi.n dic?o valor est disponible al terminar el ciclo de memoria$nulo en este caso, ya que la instruccin de tipo ' o inmediata no emplea la memoria%.
47

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


Conflicto
add At1, At=, At> add At4, At1, At= sub At=, At>, At1 or At8, At1, At>

de datos en operaciones de tipo ' o inmediatas.


) # ' ! ) # ' ! ) # ' ! ) # ' ! ) # ' ! ) & ) & ) & ) & ) & 48 tiempo

and At=, At1, At1 (rden de ejecucin

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


Conflicto

de datos en transferencias.
) # ' ! ) # ' ! ) & ) & tiempo

l0 At1, 2$At=%

add At>, At1, At5

(rden de ejecucin

49

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


Conflicto

de datos en transferencias.

!a solucin de este riesgo de datos es+


&etener el ingreso de nuevas instrucciones $detencin por ?ard0are%, o #ntroducir nop $si se delega la detencin al compilador%, ?asta resolver el conflicto.

50

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


Conflicto

de datos en transferencias.
) # tiempo

&etencin por ?ard0are


l0 At1, 2$At=% ' ! ) # ' ! ) # ) & ' ! ) # ' ! ) & ) &

add At>, At1, At5

proceso siguiente inst.

(rden de ejecucin 51

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


Conflicto

de datos en transferencias.

Solucin por soft0are


l0 At1, 2$At=% ) # ' ! ) # ' ! ) # ' ! ) & ) & ) & tiempo

nop add At>, At1, At5 (rden de ejecucin

52

Procesador Segmentado

3roblemas de la segmentacin. 'iesgos de segmentacin.


Conflicto

de datos en transferencias.
) # ' ! ) # ' ! ) & ) & tiempo

l0 At1, 2$At=%

s0 At1, 2$At>%

(rden de ejecucin

53

Procesador Segmentado

Camino de datos y control.


Se

asume la deteccin de la igualdad en la etapa de lectura de registros. !as seCales de control se generan en la etapa de lectura de 'egistros y &ecodificacin, ciclo en el cual se sabe cul instruccin debe ejecutarse.

54

Procesador Segmentado

Camino de datos y control.


!as

seCales de control para la etapa de ejecucin $Ext(pt, -luSrc, -luCtr% se emplean un ciclo despu.s y son pasadas a dic?a etapa a trav.s del registro de segmentacin, que separa las etapas. !as seCales de control para la etapa de memoria $)em*r, )em'd, )emto'eg% son usadas dos ciclos ms tarde.

55

Procesador Segmentado

Camino de datos y control.


!as

seCales de control para la etapa de postescritura $'&, 'eg*r% se emplean tres ciclos despu.s. '& es el n mero del registro en el que debe escribirse. El diagrama muestra el control y los datos fluyendo.

56

Procesador Segmentado
$C el
COp !unct rt rd

Decodi !icador

RD RegWr
MemtoReg

RD1 RegWr1
MemtoReg1

RD2 RegWr2

MemWr MemRd AluCtr AluSrc

MemWr1 MemRd1

IR PC Mem%
In t% inm16 r rt

(rj

ExtOp
Inm16a

RegWr2

Reg
RD2

A B

Opera cione

S D Mem% Dat%

M
MDout

$C&'

M (rj inm16 add26 n$C

e"ual

#ext $C

57

Procesador Segmentado

Solucin de riesgos.

@nidad de anticipacin de datos ?acia la unidad de operaciones.

Cuando en operaciones se tiene una instruccin de tipo ' o inmediata que escriba en un registro$'&%, y en decodificacin una instruccin que lea el registro rs$add, sub, ori, beq, l0% o que lea el registro rt$add, sub, beq%. Cuando en etapa de memoria se tiene una de tipo ' o inmediata y en decodificacin una instruccin que lee rs o rt, con igual valor al del registro en que se escribir$'&1%.
58

Procesador Segmentado

Solucin de riesgos.

@nidad de anticipacin de datos ?acia la unidad de operaciones.

Solucin+ anticipacin de datos ?acia la unidad de operaciones se requiere agregar muxes a las entradas de la alu, que permitan ingresar las salidas de la alu y de la memoria, adems de los contenidos de los buses de salida del arreglo de registros$bus- y bus"%.

59

Procesador Segmentado

Solucin de riesgos.

@nidad de anticipacin de datos ?acia la unidad de operaciones.

Condiciones de deteccin+

:ipo'# 7 $)em*r772% I $)em'd772% I $'eg*'771% :ipo'#1 7 $)em*r1772% I $)em'd1772% I $'eg*'1771%

Controles de los muxes

if $:ipo'# % I $leeJrs% I $rs 77 '& % - 7 -luout/ 6;-nt- 7 1 ;6 if $:ipo'#1% I $leeJrs% I $rs 77 '&1% - 7 )out/ 6;-nt- 7 = ;6 if $)em'd1771% II $Cop77Ks0K% II$rs 77 '&1% - 7 )out/ en el resto de los casos - 7 'LrsM/ 6;-nt- 7 2 ;6
60

Procesador Segmentado

Solucin de riesgos.

@nidad de anticipacin de datos ?acia la unidad de operaciones.

Controles de los muxes


" 7 -luout/ 6; -nt" 7 1 ;6 " 7 )out/ 6; -nt" 7 = ;6 6; -nt" 7 2 ;6

if $:ipo'# % I $leeJrt% I $rt 77 '& % if $:ipo'#1% I $leeJrt% I $rt 77 '&1% en el resto de los casos " 7 'LrtM/

61

Procesador Segmentado

Solucin de riesgos.

-nticipacin de escritura en memoria.

!as instrucciones que escriben en un registro, seguidas de un store 0ord que escriba el contenido del registro que a n no se ?a grabado, no requieren detener la ejecucin de la escritura en memoria si se adelanta la salida de la etapa de memoria$)out% en el registro de segmentacin que almacena el valor que ser escrito en la memoria$&%.
62

Procesador Segmentado

Solucin de riesgos.

-nticipacin de escritura en memoria.

Se detecta cuando la instruccin que escribe en registro est en la etapa de memoria y el store 0ord en operaciones/ y si el n mero del registro cuyo contenido debe escribirse en memoria$'&% es igual al n mero del registro en que escribir la instruccin que est en etapa de memoria$'&1%.

63

Procesador Segmentado

Solucin de riesgos.

-nticipacin de escritura en memoria.

Controles de los muxes

if $ $)em*r 77 1% I $'eg*r1771% I $'&77'&1 % % & 7 )out/ 6; -nt) 7 1 ;6 en el resto de los casos & 7 " 6; -nt) 7 2 ;6

64

Procesador Segmentado

Solucin de riesgos.

&etencin de un ciclo en secuencias+ l0<alu

Se detecta el riesgo cuando el l0 est en operaciones$)em'd1 en 1% y la instruccin que le sigue $que lea el registro en el cual el l0 escribe% en decodificacin.

65

Procesador Segmentado

Solucin de riesgos.

&etencin de un ciclo en secuencias+ l0<alu


3rimero las secuencias l0 seguidas por instrucciones que leen el registro rs$tipo ', transferencias, inmediatas y beq%/ que se detectan por+ $)em'd1 77 1% I $ (3 N7 j% I $ rs 77'&%

66

Procesador Segmentado

Solucin de riesgos.

&etencin de un ciclo en secuencias+ l0<alu

En segundo lugar las secuencias l0 seguidas de instrucciones que leen el registro rt$tipo ' y beq% que se detectan seg n+

$)em'd1 77 1% I $(p77tipo' O (p77beq % I $ rt 77'&%

67

Procesador Segmentado

Solucin de riesgos.

&etencin de un ciclo en secuencias+ l0<alu

-mbas condiciones
P burbuja 7 1/

if $ $ )em'd1 77 1% I $ (p N7 j% I $ rs 77'&% O $ )em'd177 1%I $ (p77tipo' O (p77beq% I $rt 77'&%% vlido 7 2/Q en el resto de los casos burbuja 7 2/ vlido 71/

68

Procesador Segmentado

Solucin de riesgos.

&escarte$flus?% incondicionales.

en

caso

de

saltos

En caso de no ejecutar la instruccin siguiente a un jump, que ya pas por etapa de fetc? deben eliminarse los efectos de la instruccin siguiente, para esto basta que la instruccin que complet su fetc? no modifique un registro o escriba en la memoria. Se detecta mediante+ if $ 3Csel771%I$(p77j% flus? 71/
69

Procesador Segmentado

Solucin de riesgos.

&escarte$flus?% en caso de bifurcaciones.


En caso de no ejecutar la instruccin siguiente a un beq, que ya pas por la etapa de fetc? deben eliminarse los efectos de la instruccin siguiente, para esto basta que la instruccin que complet su fetc? no modifique un registro o escriba en la memoria. Se detecta mediante+ if $ 3Csel771%I$(p77beq% flus? 71/ :ambi.n puede diseCarse, seg n+ if $ Equal771%I$(p77beq% flus? 71/

70

Procesador Segmentado

Solucin de riesgos.

#nstruccin Bo operacin.

Esta instruccin tiene los >= bits iguales a cero. Es de tipo ', con el campo funct 7 2.

if $(p 77 nop% P -luCtr7/ -luSrc7/ Ext(p7/ )em'd 7 / )em*r72/ )emtoreg 7 / '&7 2/ 'eg*r 72/ 3Csel 72/ vlido 7 2Q adems si es nop+ rs72, rt72, rd 72.

71

Procesador Segmentado
$C el )alido RD RegWr
MemtoReg

!lu *

COp !unct rt rd

Decodi !icador

RD1 RegWr1
MemtoReg1

RD2 RegWr2

MemWr MemRd AluCtr

MemWr1 MemRd1

IR PC Mem% In t%
inm16 r rt

AluSrc ( j ExtOp Inm16a RegWr2

Opera cione S
Mem% Dat%

A B

RD2

$C&'

M e"ual inm16 add26 n$C

MDout

#ext $C

AntB AntA

Mout
AntM (ur(uja

AluOut

reloj

72

S-ar putea să vă placă și