Está en la página 1de 23

Arquitectura de Computadores

1. Introduccin
2. La CPU
3. Lenguaje Mquina
4. La Memoria
5. Sistemas de Entrada/Salida
6. Segmentacin (Pipeline)
 MIPS 64

7. Memoria Cach
8. Arquitecturas RISC
Arquitectura de Computadores MIPS 64 - 1
MIPS 64 Caractersticas

Bus de datos de 64 bits


Registros de 64 bits
32 registros de propsito general (R0..R31)
32 registros de coma flotante (F0..F32)
Instrucciones de longitud fija (32 bits)
Cdigo de operacin de longitud fija (6 bits)
Arquitectura Load/Store
Memoria separada para instrucciones y datos (Harvard)
Cauce segmentado en 5 etapas de 1 ciclo cada una

Arquitectura de Computadores MIPS 64 - 2


MIPS 64 Etapas del cauce

Etapa Etapa Etapa Etapa Etapa


IF ID EX MEM WB

Etapa IF
Extraccin de la instruccin
PC = PC + 4
Etapa ID
Decodificacin de la instruccin
Lectura de los registros
Extensin de signo (si es necesario)
Actualizacin del PC en caso de salto
Arquitectura de Computadores MIPS 64 - 3
MIPS 64 Etapas del cauce

Etapa EX
Clculos en la ALU
Clculo de direccin de operandos de memoria
Etapa MEM
Acceso a memoria (Load/Store)
Etapa WB
Escritura de los registros

Arquitectura de Computadores MIPS 64 - 4


MIPS 64 Riesgos

- Estructurales

Riesgos en MIPS 64 - De datos

- De control

Arquitectura de Computadores MIPS 64 - 5


MIPS 64 Riesgos estructurales
Problema: Se accede a la memoria a la vez
Solucin: Memoria separada (Harvard)

IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB
IF ID EX MEM WB

Problema: Se escriben y leen los registros a la vez


Solucin: Escritura en el 1 subciclo y lectura en el 2

Arquitectura de Computadores MIPS 64 - 6


MIPS 64 Riesgos de datos

RAR (Read After Read) No presenta problemas

DADD R1,R2,R3 IF ID EX MEM WB


AND R4,R5,R3 IF ID EX MEM WB

RAW (Read After Write) Problemas!

DADD R1,R2,R3 IF ID EX MEM WB


AND R4,R5,R1 IF ID EX MEM WB

Arquitectura de Computadores MIPS 64 - 7


MIPS 64 Riesgos de datos
WAR (Write After Read) Se da cuando hay ejecucin
fuera de orden
DADD R1,R2,R3
AND R3,R4,R5

WAW (Write After Write) Se da cuando hay ejecucin


fuera de orden u
operaciones multiciclo
DIV.D F1,F2,F3
ADD.D F1,F4,F5
IF ID EX EX EX MEM WB
IF ID EX MEM WB
Arquitectura de Computadores MIPS 64 - 8
MIPS 64 Riesgos de datos (RAW)
Dnde se detectan
los riesgos?
En la fase ID

- Insercin de instrucciones NOP


- Software
- Reordenacin de cdigo

Solucin de
riesgos RAW
- Detencin del cauce
- Hardware
- Anticipacin

Arquitectura de Computadores MIPS 64 - 9


MIPS 64 Riesgos de datos (RAW)

El problema

DADD R1,R2,R3 IF ID EX MEM WB


DSUB R4,R5,R1 IF ID EX MEM WB
AND R6,R7,R8 IF ID EX MEM WB

OR R9,R10,R11 IF ID EX MEM WB

Arquitectura de Computadores MIPS 64 - 10


MIPS 64 Riesgos de datos (RAW)

Insercin de instrucciones NOP (Solucin software)

DADD R1,R2,R3 IF ID EX MEM WB

NOP IF ID EX MEM WB

NOP IF ID EX MEM WB

DSUB R4,R5,R1 IF ID EX MEM WB


IF ID EX MEM WB
AND R6,R7,R8
IF ID EX MEM WB
OR R9,R10,R11

Se alarga el tiempo de ejecucin

Arquitectura de Computadores MIPS 64 - 11


MIPS 64 Riesgos de datos (RAW)

Reordenacin del cdigo (Solucin software)

DADD R1,R2,R3 IF ID EX MEM WB


AND R6,R7,R8 IF ID EX MEM WB
OR R9,R10,R11 IF ID EX MEM WB

DSUB R4,R5,R1 IF ID EX MEM WB

Se mantiene el tiempo de ejecucin

Arquitectura de Computadores MIPS 64 - 12


MIPS 64 Riesgos de datos (RAW)

Detencin del cauce (Solucin Hardware)

DADD R1,R2,R3 IF ID EX MEM WB

DSUB R4,R5,R1 IF IF IF ID EX MEM WB

AND R6,R7,R8 IF ID EX MEM WB

OR R9,R10,R11 IF ID EX MEM WB

Se alarga el tiempo de ejecucin igual que insertando NOP

Arquitectura de Computadores MIPS 64 - 13


MIPS 64 Riesgos de datos (RAW)

Anticipacin (forwarding) (Solucin hardware)


Caso 1:
Sustituye el
Lee un valor
valor ledo en ID
errneo
por la salida de
la ALU anterior
DADD R1,R2,R3 IF ID EX MEM WB

DSUB R4,R5,R1 IF ID EX MEM WB

AND R6,R7,R8 IF ID EX MEM WB

OR R9,R10,R11 IF ID EX MEM WB

Se mantiene el tiempo de ejecucin

Arquitectura de Computadores MIPS 64 - 14


MIPS 64 Riesgos de datos (RAW)

Anticipacin (forwarding) (Solucin hardware)


Caso 2:
Sustituye el
Lee un valor
valor ledo en ID
errneo
por lo ledo de la
memoria
LD R3,100(R0) IF ID EX MEM WB

DADD R1,R2,R3 IF ID ID EX MEM WB

DSUB R4,R5,R6 IF ID EX MEM WB

AND R7,R8,R9 IF ID EX MEM WB

Se incrementa 1 ciclo el tiempo de ejecucin

Arquitectura de Computadores MIPS 64 - 15


MIPS 64 Riesgos de datos (RAW)

Anticipacin (forwarding) (Solucin hardware)


Caso 3:
Sustituye el
Lee un valor
valor ledo en ID
errneo
por la salida de
la ALU anterior
DADD R1,R2,R3 IF ID EX MEM WB

BNE R1,R4,Etq IF ID ID EX MEM WB

DSUB R5,R6,R7 IF IF ID EX MEM WB

Etq AND R8,R9,R10 IF ID EX MEM WB

Si salta, se abortar la ejecucin de DSUB

Arquitectura de Computadores MIPS 64 - 16


MIPS 64 Riesgos de control

El problema Aqu no se sabe si hay


que ejecutar AND

ADD R1,R2,R3 IF ID EX MEM WB

BEQ R4,R5,Etq IF ID EX MEM WB

AND R6,R7,R8 IF ID EX MEM WB

Etq OR R9,R10,R11 IF ID EX MEM WB

pero ya se ha cargado

AND siempre se ejecuta!


Arquitectura de Computadores MIPS 64 - 17
MIPS 64 Riesgos de control

- Insercin de instrucciones NOP


- Software
- Salto retardado

Solucin de
riesgos de
control
- Detencin del cauce
- Hardware
- Prediccin del salto

Arquitectura de Computadores MIPS 64 - 18


MIPS 64 Riesgos de control

Insercin de instrucciones NOP (Solucin software)

En caso de salto

ADD R1,R2,R3 IF ID EX MEM WB

BEQ R4,R5,Etq IF ID EX MEM WB

NOP IF ID EX MEM WB

AND R6,R7,R8
Etq OR R9,R10,R11 IF ID EX MEM WB

AND no se ejecuta
Arquitectura de Computadores MIPS 64 - 19
MIPS 64 Riesgos de control

Salto retardado (Solucin software)

En caso de salto

BEQ R4,R5,Etq IF ID EX MEM WB

ADD R1,R2,R3 IF ID EX MEM WB

AND R6,R7,R8
Etq OR R9,R10,R11 IF ID EX MEM WB

AND no se ejecuta
Arquitectura de Computadores MIPS 64 - 20
MIPS 64 Riesgos de control
Detencin del cauce (Solucin Hardware)
En caso de no salto
ADD R1,R2,R3 IF ID EX MEM WB

BEQ R4,R5,Etq IF ID EX MEM WB

AND R6,R7,R8 Hueco IF ID EX MEM WB

Etq OR R9,R10,R11 IF ID EX MEM WB

En caso de salto
ADD R1,R2,R3 IF ID EX MEM WB

BEQ R4,R5,Etq IF ID EX MEM WB

AND R6,R7,R8
Etq OR R9,R10,R11 Hueco IF ID EX MEM WB

Arquitectura de Computadores MIPS 64 - 21


MIPS 64 Riesgos de control
Prediccin del salto (Solucin Hardware)
Se predice no saltar

Si falla penalizacin = 1 ciclo


BEQ R4,R5,Etq IF ID EX MEM WB
AND R6,R7,R8 IF Abortar

Etq OR R9,R10,R11 IF ID EX MEM WB

Si acierta penalizacin = 0
BEQ R4,R5,Etq IF ID EX MEM WB
AND R6,R7,R8 IF ID EX MEM WB

Etq OR R9,R10,R11 IF ID EX MEM WB

Arquitectura de Computadores MIPS 64 - 22


MIPS 64 Riesgos de control
Prediccin del salto (Solucin Hardware)
Se predice s saltar

No se utiliza en MIPS 64 ya que la


penalizacin siempre es de 1 ciclo

Hasta este instante no se


conoce la direccin del salto

BEQ R4,R5,Etq IF ID EX MEM WB


AND R6,R7,R8 ?

Etq OR R9,R10,R11 ?

Arquitectura de Computadores MIPS 64 - 23

También podría gustarte