Lo que caiga
1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistemas de Entrada/Salida 6. Segmentación (Pipeline) MIPS 64 7. Memoria Caché 8. Arquitecturas RISC
Arquitectura de Computadores MIPS 64 - 1
MIPS 64 • Bus de datos de 64 bits • Registros de 64 bits
Características
• 32 registros de propósito general (R0..R31) • 32 registros de coma flotante(F0..F32) • Instrucciones de longitud fija (32 bits) • Código de operación 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
MIPS 64 - 2
Arquitectura de Computadores
MIPS 64 Etapa IF Etapa IF • Extracción de la instrucción • PC = PC + 4 Etapa ID Etapa ID Etapa EX
Etapas del cauceEtapa MEM Etapa WB
• Decodificación de la instrucción • Lectura de los registros • Extensión de signo (si es necesario) • Actualización del PC en caso de salto
Arquitectura de Computadores MIPS 64 - 3
MIPS 64
Etapas del cauce
Etapa EX • Cálculos en la ALU • Cálculo de dirección de operandos de memoria Etapa MEM • Acceso a memoria (Load/Store) Etapa WB • Escritura de los registrosArquitectura 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 Solución: Memoria separada (Harvard)
IF
ID IF
EX MEM WB ID IF EX MEM WB ID IF EX MEM WB ID EX MEM WB
Problema: Se escriben y leenlos registros a la vez Solución: Escritura en el 1º subciclo y lectura en el 2º
Arquitectura de Computadores MIPS 64 - 6
MIPS 64 RAR (Read After Read) DADD AND R1,R2,R3 R4,R5,R3
Riesgos de datos
No presenta problemas IF ID IF EX MEM WB ID EX MEM WB
RAW (Read After Write) DADD AND R1,R2,R3 R4,R5,R1 IF
¡Problemas! ID IF EX MEM WB ID EX MEM WB
MIPS 64 - 7
Arquitectura deComputadores
MIPS 64 WAR (Write After Read) DADD AND R1,R2,R3 R3,R4,R5
Riesgos de datos
Se da cuando hay ejecución fuera de orden
WAW (Write After Write) DIV.D F1,F2,F3
Se da cuando hay ejecución fuera de orden u operaciones multiciclo
ADD.D F1,F4,F5 IF ID IF
Arquitectura de Computadores
EX ID
EX
EX MEM WB
EX MEM WB
MIPS 64 - 8
MIPS 64 ¿Dónde se detectan los riesgos?Riesgos de datos (RAW)
En la fase ID
- Inserción de instrucciones NOP
- Software
- Reordenación de código
Solución de riesgos RAW
- Detención del cauce
- Hardware
- Anticipación
Arquitectura de Computadores MIPS 64 - 9
MIPS 64
Riesgos de datos (RAW)
El problema …
DADD DSUB AND OR
R1,R2,R3 R4,R5,R1 R6,R7,R8 R9,R10,R11
IF
ID IF
EX MEM WB ID IF EX MEM WB ID IF EXMEM WB ID EX MEM WB
Arquitectura de Computadores
MIPS 64 - 10
MIPS 64
Riesgos de datos (RAW)
Inserción de instrucciones NOP (Solución software)
DADD NOP NOP DSUB AND OR R4,R5,R1 R6,R7,R8 R9,R10,R11 R1,R2,R3
IF ID IF EX MEM WB ID IF EX MEM WB ID IF EX MEM WB ID IF EX MEM WB ID IF EX MEM WB ID EX MEM WB
Se alarga el tiempo de ejecución
Arquitectura de Computadores MIPS 64 - 11MIPS 64
Riesgos de datos (RAW)
Reordenación del código (Solución software)
DADD AND OR DSUB R1,R2,R3 R6,R7,R8 R9,R10,R11 R4,R5,R1
IF
ID IF
EX MEM WB ID IF EX MEM WB ID IF EX MEM WB ID EX MEM WB
Se mantiene el tiempo de ejecución
Arquitectura de Computadores MIPS 64 - 12
MIPS 64
Riesgos de datos (RAW)
Detención del cauce (Solución Hardware)
DADD DSUB AND ORR1,R2,R3 R4,R5,R1 R6,R7,R8 R9,R10,R11
IF
ID IF
EX MEM WB IF IF ID IF EX MEM WB ID IF EX MEM WB ID EX MEM WB
Se alarga el tiempo de ejecución igual que insertando NOP
Arquitectura de Computadores MIPS 64 - 13
MIPS 64
Riesgos de datos (RAW)
Anticipación (forwarding) (Solución hardware) Caso 1:
Lee un valor erróneo Sustituye el valor leído en ID por la salida de la ALU...
Regístrate para leer el documento completo.