SlideShare a Scribd company logo
1 of 67
Pipelining o Segmentación Cecilia Hernández
Pipelining o Segmentación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Analogía: lavado de ropa ,[object Object],[object Object],[object Object],[object Object],A B C D
Lavado secuencial O R D E N E J E C U C I Ó N Cada persona demora 1.5 horas en estar lista. Lavado secuencial toma 6 horas para 4 cargas. Esto es equivalente a procesador multiciclo. ¿Cómo acelerar la cosa? A B C D 30 40 20 30 40 20 30 40 20 30 40 20 6 PM 7 8 9 10 11 Medianoche Tiempo
Lavado segmentado (pipelined) Cada persona todavía demora 1.5 horas en estar lista. Pero ahora las 4 cargas están listas en sólo 3.5 horas. Aceleración = 1.7 En general, 1 carga de ropa lista cada 40 minutos. Aceleración =  1.5hrs/40min. = 2.25 ¿Cuál sería la aceleración si lavar = secar = doblar? A B C D 6 PM 7 8 9 10 11 Medianoche Tiempo 30 40 40 40 40 20 O R D E N E J E C U C I Ó N
Problemas con reutilizar esquema de multiciclo ,[object Object],[object Object]
Pasando de multiciclo a pipeline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejecutando instrucciones en pipeling ,[object Object],[object Object],IF  ID  EX  MEM  WB IF  ID  EXE  MEM  WB Instr. i Instr. i+1 Tiempo ocioso IF  ID  EXE  MEM  WB IF  ID  EXE  MEM  WB IF  ID  EXE  MEM  WB Instr. i Instr. i+1 Instr. i+2
Desempeño de pipelining ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Uniciclo, Multiciclo, Pipelining Clk Ciclo 1 Multiciclo: IF DEC EX MEM WB Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 Ciclo 9 Ciclo 10 Load IF DEC EX MEM WB IF DEC EX MEM Load Store Segmentación (pipeline): IF DEC EX MEM WB Store Clk Uniciclo: Load Store Ocio IF R-type IF DEC EX MEM WB R-type Ciclo 1 Ciclo 2
Paralelismo en Pipeline ,[object Object],IF  ID  EXE  MEM  WB IF  ID  EXE  MEM  WB IF  ID  EXE  MEM  WB IF  ID  EXE  MEM  WB IF  ID  EXE  MEM  WB IF  ID  EXE  MEM  WB 5 instrucciones en ejecución simulatneamente t  t+1  t +2  t+3  t+4  t+5  t +6  t+7  t+8  t+9 Instr. i Instr. i+1 Instr. i+2 Instr. i+3 Instr. i+4 Instr. i+5
Requerimientos de implementación ,[object Object],[object Object],[object Object],[object Object],[object Object]
Qué se almacena en los “registros del pipeline” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sección de datos en Pipeline  IF ID EXE MEM WB IF/ID ID/EXE EXE/MEM MEM/WB
Visión alternativa, usando recursos MI Reg MD MI Reg MD MI Reg MD MI Reg MD tiempo Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Instrucciones instr1 instr2 instr3 instr4
Usando como base uniciclo ,[object Object]
Notación ,[object Object],[object Object],[object Object],[object Object]
Qué información se almacena en registros pipeline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conflictos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conflicto estructural: una sola memoria Tiempo (ciclos de reloj) Soluciones:  - detener el pipeline (stall)   - replicar la memoria (memoria de datos separada de memoria de instrucciones) Mem Sec. Instr. Load Instr 1 Instr 2 Instr 3 Instr 4 ALU Mem Reg Mem Reg ALU Mem Reg Mem Reg ALU Mem Reg Mem Reg ALU Reg Mem Reg ALU Mem Reg Mem Reg
Solución 1: Detención del pipeline (stalling) Tiempo (ciclos reloj) Mem Sec. Instr Load Instr 1 Instr 2 Instr 3 Instr 4 Reg Mem Reg Reg Mem Reg Si 1 de cada 4 instrucciones es un load: CPI = 1.25    100% utilización de puerta de lectura de la memoria    CPI no puede ser menor que 1.25 a menos que tengamos memoria   de datos e instrucciones separadas ALU Mem ALU Mem Reg Mem Reg ALU Mem Reg Mem Reg ALU ALU Mem Reg Mem Reg
Solución 2: Replicar hardware ,[object Object],[object Object],[object Object],[object Object],IMem F L U J O D E P R O G R A M A Tiempo (ciclos de reloj) LW ADD SUB LW LW Reg DMem Reg Reg DMem Reg ALU IMem ALU IMem Reg DMem Reg ALU IMem Reg DMem Reg ALU ALU IMem Reg DMem Reg
Conflictos estructurales: Acceso banco de registros Sec. Instr Load Instr 1 Reg Mem Reg Reg Reg Tiempo (ciclos de reloj) ALU Mem ALU Mem
Solución 1: Detener el pipeline (stalling) F L U J O D E P R O G R Tiempo (ciclos de reloj) LW ADD  SUB LW LW Soluciona el conflicto, pero introduce una “burbuja”(ciclo ocioso) en el pipeline    CPI > 1 Ej. Si el conflicto se produce en una de cada 4 instrucciones, CPI = 1.25 ALU Mem Reg Mem ALU Mem Reg Mem Reg Mem Reg ALU Reg ALU Reg Reg Mem ALU Mem Reg Mem Reg Reg burbuja
Solución 2: Regularizar el pipeline  ,[object Object],[object Object],F L U J O D E P R O G R A M A Tiempo (ciclos de reloj) LW ADD SUB LW LW Latencia de instrucciones ALU aumenta de 4 a 5, pero CPI = 1 ALU Mem Reg Mem Reg Mem ALU Mem Reg Mem Mem ALU Reg Reg Mem Reg Mem Reg ALU Mem Reg Reg Mem Reg ALU
Siguiendo la ejecución de una instrucción en las 5 etapas (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Etapa 1: IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] Instrucción [15-11] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo lw IF
Siguiendo la ejecución de una instrucción en las 5 etapas (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Etapa 2 : ID Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] Instrucción [15-11] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo lw ID
Siguiendo la ejecución de una instrucción en las 5 etapas (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Etapa 3: EX Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] Instrucción [15-11] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo lw EX
Siguiendo la ejecución de una instrucción en las 5 etapas (4) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Etapa 4: MEM Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] Instrucción [15-11] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo lw MEM
Siguiendo la ejecución de una instrucción en las 5 etapas (5) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Etapa 5: WB Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] Instrucción [15-11] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo lw WB
Varias instrucciones en pipeline Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Instrucción [20-16] Instrucción [15-11]
Varias instrucciones en pipeline Ciclo 1 lw $1, 4($3)  #IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 Instrucción [20-16] Instrucción [15-11]
Varias instrucciones en pipeline Ciclo 2 lw $1, 4($3)  #ID add $3, $4, $5  #IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21]RS Instrucción [20-16]RT 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 2 Instrucción [20-16]RT Instrucción [15-11]RD 0 M U X 1
Varias instrucciones en pipeline Ciclo 3 lw $1, 4($3) #EX sw $4, 8($5) #IF add $3, $4, $5 #ID Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21]RS Instrucción [20-16]RT 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 2 3 Instrucción [20-16]RT Instrucción [15-11]RD 0 M U X 1 RT
Varias instrucciones en pipeline Ciclo 4 lw $1, 4($3) #MEM sw $4, 8($5) #ID add $3, $4, $5 #EX and $1, $2, $3 #IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21]RS Instrucción [20-16]RT 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 2 3 4 Instrucción [20-16]RT Instrucción [15-11]RD 0 M U X 1 RD RT
Varias instrucciones en pipeline Ciclo 5 lw $1, 4($3) #WB sw $4, 8($5) #EX add $3, $4, $5 # MEM and $1, $2, $3 #ID beq $2, $3, L1 #IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21]RS Instrucción [20-16]RT 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 2 3 4 5 Instrucción [20-16]RT Instrucción [15-11]RD 0 M U X 1 RT RD RT
Tipos de conflictos de datos ,[object Object],I1: add r1, r2, r3 I2: sub r4, r1, r5 I3: or r2, r6, r7 I4: and r1, r8, r9
Tipos de conflictos de datos ,[object Object],[object Object],[object Object],I1: add r1, r2, r3 I2: sub r4, r1, r5 I3: or r2, r6, r7 I4: and r1, r8, r9
Tipos de conflictos de datos ,[object Object],[object Object],[object Object],[object Object],I1: add r1, r2, r3 I2: sub r4, r1, r5 I3: or r2, r6, r7 I4: and r1, r8, r9
Tipos de conflictos de datos ,[object Object],[object Object],[object Object],[object Object],I1: add r1, r2, r3 I2: sub r4, r1, r5 I3: or r2, r6, r7 I4: and r1, r8, r9
Conflicto de datos (RAW) ,[object Object],Sec. Instr Tiempo (ciclos reloj) add  r1 ,r2,r3 sub r4, r1 ,r3 and r6, r1 ,r7 or  r8, r1 ,r9 xor r10, r1 ,r11 ALU Im Reg Dm Reg Reg Dm Reg Reg Dm Reg Im ALU Reg Dm Reg ALU Im ALU Im ALU Im Reg Dm Reg
Solución: forwarding (redireccionamiento) Tiempo (ciclos reloj) Pasar dato directamente de la etapa en que se genera a la etapa en que se usa Instrucción “or r9, r1, r9” no necesita forwarding si se define orden lectura-escritura en  el banco de registros Sec Instr add  r1 ,r2,r3 sub r4, r1 ,r3 and r6, r1 ,r7 or  r8, r1 ,r9 xor r10, r1 ,r11 ALU Im Reg Dm Reg ALU Im Reg Dm Reg ALU Im Reg Dm Reg Im ALU Reg Dm Reg ALU Im Dm Reg Reg
Límites de forwarding ,[object Object],[object Object],[object Object],[object Object],[object Object],Reg Tiempo (ciclos de reloj) lw  $1 , 0($2) sub $4,  $1 , $3 IF ID/RF EX MEM WB ALU Im Dm Reg Dm Reg Reg or $10, $11, $12 Reg Dm Reg ALU Im Im ALU
Soluciones a conflicto de datos LW – ALU  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Reg Tiempo (ciclos de reloj) lw  $1 , 0($2) sub $4,  $1 , $3 IF ID/RF EX MEM WB ALU Im Dm Reg Dm Reg Reg or $10, $11, $12 Reg Dm Reg burbuja ALU Im Im ALU
Optimización por software ,[object Object],[object Object],[object Object],I1:  lw $1, 0($2) I2:  nop I3:  sub $4, $1, $3 I4:  or $10, $11, $12 I1:  lw $1, 0($2) I2:  sub $4, $1, $3 I3:  or $10, $11, $12 burbuja I1:  lw $1, 0($2) I3:  or $10, $11, $12 I2:  sub $4, $1, $3 Reg Tiempo (ciclos de reloj) lw  $1 , 0($2) sub $4,  $1 , $3 IF ID/RF EX MEM WB ALU Im Dm Reg Dm Reg Reg or $10, $11, $12 Reg Dm Reg ALU Im Im ALU
Conflicto de datos en load-add lw  $1 , 4($3) #WB and $2,  $1 , $3 #ID beq $2, $3, L1 #IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 2 3 Conflicto Load debe escribir en $1 y add debe leer $1. Lectura debe ocurrir despues de escritura 0 M X 1 RT Instrucción [20-16]RT Instrucción [15-11]RD
Ejecución en pipeline con forwarding y detección de conflicto
Conflicto de datos en load-and
Conflicto de datos en load-and
Conflicto de datos en load-add (agregando burbuja)
Conflicto de datos con load-and
Conflicto de datos en load-and
Conflicto de datos en load-and
Conflictos de control ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Solución #1: Esperar: bloquear el pipeline Sec. Instr Tiempo (ciclos reloj) Add Beq Load Reg Mem Reg Reg Mem Reg Reg Mem Reg Mem potencial perdido ,[object Object],[object Object],[object Object],[object Object],ALU Mem ALU Mem ALU
Solución #2: saltos retrasados Sec. Inst Tiempo (ciclos reloj) Add Beq Misc Reg Mem Reg Reg Mem Reg Mem Reg Mem Reg Load Mem Reg Mem Reg ,[object Object],[object Object],[object Object],[object Object],[object Object],ALU Mem ALU Mem ALU ALU
Compilador puede llenar el slot ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],¿Por qué no podemos mover instrucciones I2 – I5 al slot? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Solución #3: predecir el salto ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Sec Inst Tiempo (ciclos reloj) Add Beq Load Reg Mem Reg Reg Mem Reg Mem Reg Mem Reg ALU Mem ALU Mem ALU
Organización de CPU segmentada ,[object Object],[object Object],[object Object],[object Object]
Control en pipeline ,[object Object],[object Object],[object Object],[object Object],[object Object],IF/ID Register ID/Ex Register Ex/Mem Register Mem/Wr Register Reg/Dec Exec Mem ExtOp ALUOp RegDst ALUSrc MemWr MemtoReg RegWr Main Control ExtOp ALUOp RegDst ALUSrc MemtoReg RegWr MemtoReg RegWr MemtoReg RegWr MemWr MemWr Wr RegDst RegDst
Resumen ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Material adicional ,[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosLuis Dario Gomez
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortlinkinpark03
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y GrafosNoel E Jimenez
 
ESTANDAR IEEE 802 x
ESTANDAR IEEE 802 xESTANDAR IEEE 802 x
ESTANDAR IEEE 802 xgchv
 
Comparacion entre el modelo TCP/IP Y MODELO OSI
Comparacion entre el modelo TCP/IP Y MODELO OSIComparacion entre el modelo TCP/IP Y MODELO OSI
Comparacion entre el modelo TCP/IP Y MODELO OSIdariospeed
 
Estándares del modelo osi
Estándares del modelo osiEstándares del modelo osi
Estándares del modelo osifuadinformatico
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sorttephyfree
 
maquinas de turing jflap
maquinas de turing jflapmaquinas de turing jflap
maquinas de turing jflapAnel Sosa
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Conversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaConversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaDiego Seminario
 
Algoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONAlgoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONPANAFMX
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresDaniel Huerta Cruz
 
Telecomunicaciones
TelecomunicacionesTelecomunicaciones
Telecomunicacioneswarrior1210
 

What's hot (20)

Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
 
MODELO OSI PDU
MODELO OSI PDUMODELO OSI PDU
MODELO OSI PDU
 
Norma IEEE 802.10
Norma IEEE 802.10Norma IEEE 802.10
Norma IEEE 802.10
 
Eigrp
EigrpEigrp
Eigrp
 
ESTANDAR IEEE 802 x
ESTANDAR IEEE 802 xESTANDAR IEEE 802 x
ESTANDAR IEEE 802 x
 
Comparacion entre el modelo TCP/IP Y MODELO OSI
Comparacion entre el modelo TCP/IP Y MODELO OSIComparacion entre el modelo TCP/IP Y MODELO OSI
Comparacion entre el modelo TCP/IP Y MODELO OSI
 
Estándares del modelo osi
Estándares del modelo osiEstándares del modelo osi
Estándares del modelo osi
 
CONTROL SEAFÓRICO
CONTROL SEAFÓRICOCONTROL SEAFÓRICO
CONTROL SEAFÓRICO
 
Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
maquinas de turing jflap
maquinas de turing jflapmaquinas de turing jflap
maquinas de turing jflap
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Conversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaConversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversa
 
Algoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONAlgoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSON
 
Examen final de redes
Examen final de redesExamen final de redes
Examen final de redes
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de errores
 
Telecomunicaciones
TelecomunicacionesTelecomunicaciones
Telecomunicaciones
 

Viewers also liked

Ciclo de ejecución
Ciclo de ejecuciónCiclo de ejecución
Ciclo de ejecuciónAlexb760
 
Arquitectura pipeline
Arquitectura pipelineArquitectura pipeline
Arquitectura pipelinerehoscript
 
Presentación de oportunidad de negocios
Presentación de oportunidad de negociosPresentación de oportunidad de negocios
Presentación de oportunidad de negociosImmunotec Inc
 
Lec18 pipeline
Lec18 pipelineLec18 pipeline
Lec18 pipelineGRajendra
 
Instruction pipeline: Computer Architecture
Instruction pipeline: Computer ArchitectureInstruction pipeline: Computer Architecture
Instruction pipeline: Computer ArchitectureInteX Research Lab
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipeliningTech_MX
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processingKamal Acharya
 
La importancia de las Relaciones Publicas
La importancia de las Relaciones PublicasLa importancia de las Relaciones Publicas
La importancia de las Relaciones Publicasgglory64
 
Relaciones públicas
Relaciones públicasRelaciones públicas
Relaciones públicasAlma Nuñez
 
Presentacion relaciones publicas
Presentacion relaciones publicasPresentacion relaciones publicas
Presentacion relaciones publicasmlrosero
 
Presentacion ideas de negocios
Presentacion ideas de negociosPresentacion ideas de negocios
Presentacion ideas de negociosMWEENTRENADORES
 
Pipelining And Superscalar Execution
Pipelining And Superscalar ExecutionPipelining And Superscalar Execution
Pipelining And Superscalar ExecutionALONSO UCHIHA
 
Facebook pourvoyeur de notre communication politique?
Facebook pourvoyeur de notre communication politique?Facebook pourvoyeur de notre communication politique?
Facebook pourvoyeur de notre communication politique?REALIZ
 
p20 + m - Idoia Mendia
p20 + m - Idoia Mendiap20 + m - Idoia Mendia
p20 + m - Idoia MendiaMak Makygregor
 
Webquest Biologo
Webquest BiologoWebquest Biologo
Webquest Biologomarysabel
 
Toma de decisiones del consumidor
Toma de decisiones del consumidorToma de decisiones del consumidor
Toma de decisiones del consumidordaniel naranjo
 
Energiasalternativas
EnergiasalternativasEnergiasalternativas
Energiasalternativasrotariojose
 

Viewers also liked (20)

Ciclo de ejecución
Ciclo de ejecuciónCiclo de ejecución
Ciclo de ejecución
 
Arquitectura pipeline
Arquitectura pipelineArquitectura pipeline
Arquitectura pipeline
 
Presentación de oportunidad de negocios
Presentación de oportunidad de negociosPresentación de oportunidad de negocios
Presentación de oportunidad de negocios
 
Lec18 pipeline
Lec18 pipelineLec18 pipeline
Lec18 pipeline
 
pipelining
pipeliningpipelining
pipelining
 
Instruction pipeline: Computer Architecture
Instruction pipeline: Computer ArchitectureInstruction pipeline: Computer Architecture
Instruction pipeline: Computer Architecture
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipelining
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processing
 
pipelining
pipeliningpipelining
pipelining
 
La importancia de las Relaciones Publicas
La importancia de las Relaciones PublicasLa importancia de las Relaciones Publicas
La importancia de las Relaciones Publicas
 
Relaciones públicas
Relaciones públicasRelaciones públicas
Relaciones públicas
 
Presentacion relaciones publicas
Presentacion relaciones publicasPresentacion relaciones publicas
Presentacion relaciones publicas
 
Presentacion ideas de negocios
Presentacion ideas de negociosPresentacion ideas de negocios
Presentacion ideas de negocios
 
Pipelining And Superscalar Execution
Pipelining And Superscalar ExecutionPipelining And Superscalar Execution
Pipelining And Superscalar Execution
 
Facebook pourvoyeur de notre communication politique?
Facebook pourvoyeur de notre communication politique?Facebook pourvoyeur de notre communication politique?
Facebook pourvoyeur de notre communication politique?
 
Dinastia De Pasiones
Dinastia De PasionesDinastia De Pasiones
Dinastia De Pasiones
 
p20 + m - Idoia Mendia
p20 + m - Idoia Mendiap20 + m - Idoia Mendia
p20 + m - Idoia Mendia
 
Webquest Biologo
Webquest BiologoWebquest Biologo
Webquest Biologo
 
Toma de decisiones del consumidor
Toma de decisiones del consumidorToma de decisiones del consumidor
Toma de decisiones del consumidor
 
Energiasalternativas
EnergiasalternativasEnergiasalternativas
Energiasalternativas
 

Similar to Pipelining

dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...CarlitosSalgadoOrtuo1
 
Arquitectura interna
Arquitectura internaArquitectura interna
Arquitectura internagbermeo
 
Estructura y funcionamiento del procesador parte 3-saltos
Estructura y funcionamiento del procesador parte 3-saltosEstructura y funcionamiento del procesador parte 3-saltos
Estructura y funcionamiento del procesador parte 3-saltosJose Diaz Silva
 
LEVO: A resource flow computer
LEVO: A resource flow computerLEVO: A resource flow computer
LEVO: A resource flow computerOrlando Alemán
 
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptxUNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptxSamAladoVz1
 
sistemas-informaticos
sistemas-informaticossistemas-informaticos
sistemas-informaticosArtej Perez
 
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Manuel Fernandez Barcell
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosChiNo Sosa Erazo
 
Recuperacion
RecuperacionRecuperacion
Recuperacioncali_jd
 
Recuperacion
RecuperacionRecuperacion
Recuperacioncali_jd
 

Similar to Pipelining (20)

Multiciclo
MulticicloMulticiclo
Multiciclo
 
6 pipeline
6 pipeline6 pipeline
6 pipeline
 
6 pipeline-1
6 pipeline-16 pipeline-1
6 pipeline-1
 
Procesamiento segmentado
Procesamiento segmentado   Procesamiento segmentado
Procesamiento segmentado
 
Monografia de pipeline
Monografia de pipelineMonografia de pipeline
Monografia de pipeline
 
Monografia de pipeline
Monografia de pipelineMonografia de pipeline
Monografia de pipeline
 
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
 
Apunt2a
Apunt2aApunt2a
Apunt2a
 
Arquitectura interna
Arquitectura internaArquitectura interna
Arquitectura interna
 
Estructura y funcionamiento del procesador parte 3-saltos
Estructura y funcionamiento del procesador parte 3-saltosEstructura y funcionamiento del procesador parte 3-saltos
Estructura y funcionamiento del procesador parte 3-saltos
 
2.2 y 2.3
2.2 y 2.32.2 y 2.3
2.2 y 2.3
 
MICROPROCESADOR UNICICLO
MICROPROCESADOR UNICICLOMICROPROCESADOR UNICICLO
MICROPROCESADOR UNICICLO
 
LEVO: A resource flow computer
LEVO: A resource flow computerLEVO: A resource flow computer
LEVO: A resource flow computer
 
Rendimiento del CPU
Rendimiento del CPURendimiento del CPU
Rendimiento del CPU
 
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptxUNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
UNIDAD I - A - ARQUITECTURA BASICA DE LAS COMPUTADORAS-2021-II.pptx
 
sistemas-informaticos
sistemas-informaticossistemas-informaticos
sistemas-informaticos
 
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesos
 
Recuperacion
RecuperacionRecuperacion
Recuperacion
 
Recuperacion
RecuperacionRecuperacion
Recuperacion
 

More from Stefano Salvatori (20)

Salida a Volcán Copahue Febrero 2011
Salida a Volcán Copahue Febrero 2011Salida a Volcán Copahue Febrero 2011
Salida a Volcán Copahue Febrero 2011
 
Salida a Aguas Calientes abril 2011
Salida a Aguas Calientes abril 2011Salida a Aguas Calientes abril 2011
Salida a Aguas Calientes abril 2011
 
Sistema de capas
Sistema de capasSistema de capas
Sistema de capas
 
Enumeracion de Goedel
Enumeracion de GoedelEnumeracion de Goedel
Enumeracion de Goedel
 
Maquinas Abstractas
Maquinas AbstractasMaquinas Abstractas
Maquinas Abstractas
 
Intro
IntroIntro
Intro
 
Memoria I I
Memoria  I IMemoria  I I
Memoria I I
 
I S A
I S AI S A
I S A
 
C P U Uniciclo
C P U  UnicicloC P U  Uniciclo
C P U Uniciclo
 
Mips1
Mips1Mips1
Mips1
 
Exc Int
Exc IntExc Int
Exc Int
 
DesempeñO
DesempeñODesempeñO
DesempeñO
 
Mips
MipsMips
Mips
 
Memoria I
Memoria  IMemoria  I
Memoria I
 
Codificacion
CodificacionCodificacion
Codificacion
 
Hebras
HebrasHebras
Hebras
 
Semaforos
SemaforosSemaforos
Semaforos
 
Planificacion Procesos Gral
Planificacion Procesos GralPlanificacion Procesos Gral
Planificacion Procesos Gral
 
Memoria Soporte Hw
Memoria Soporte HwMemoria Soporte Hw
Memoria Soporte Hw
 
Hebras En Accion
Hebras En AccionHebras En Accion
Hebras En Accion
 

Recently uploaded

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 

Recently uploaded (11)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 

Pipelining

  • 1. Pipelining o Segmentación Cecilia Hernández
  • 2.
  • 3.
  • 4. Lavado secuencial O R D E N E J E C U C I Ó N Cada persona demora 1.5 horas en estar lista. Lavado secuencial toma 6 horas para 4 cargas. Esto es equivalente a procesador multiciclo. ¿Cómo acelerar la cosa? A B C D 30 40 20 30 40 20 30 40 20 30 40 20 6 PM 7 8 9 10 11 Medianoche Tiempo
  • 5. Lavado segmentado (pipelined) Cada persona todavía demora 1.5 horas en estar lista. Pero ahora las 4 cargas están listas en sólo 3.5 horas. Aceleración = 1.7 En general, 1 carga de ropa lista cada 40 minutos. Aceleración = 1.5hrs/40min. = 2.25 ¿Cuál sería la aceleración si lavar = secar = doblar? A B C D 6 PM 7 8 9 10 11 Medianoche Tiempo 30 40 40 40 40 20 O R D E N E J E C U C I Ó N
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Uniciclo, Multiciclo, Pipelining Clk Ciclo 1 Multiciclo: IF DEC EX MEM WB Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 Ciclo 9 Ciclo 10 Load IF DEC EX MEM WB IF DEC EX MEM Load Store Segmentación (pipeline): IF DEC EX MEM WB Store Clk Uniciclo: Load Store Ocio IF R-type IF DEC EX MEM WB R-type Ciclo 1 Ciclo 2
  • 11.
  • 12.
  • 13.
  • 14. Sección de datos en Pipeline IF ID EXE MEM WB IF/ID ID/EXE EXE/MEM MEM/WB
  • 15. Visión alternativa, usando recursos MI Reg MD MI Reg MD MI Reg MD MI Reg MD tiempo Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Instrucciones instr1 instr2 instr3 instr4
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Conflicto estructural: una sola memoria Tiempo (ciclos de reloj) Soluciones: - detener el pipeline (stall) - replicar la memoria (memoria de datos separada de memoria de instrucciones) Mem Sec. Instr. Load Instr 1 Instr 2 Instr 3 Instr 4 ALU Mem Reg Mem Reg ALU Mem Reg Mem Reg ALU Mem Reg Mem Reg ALU Reg Mem Reg ALU Mem Reg Mem Reg
  • 21. Solución 1: Detención del pipeline (stalling) Tiempo (ciclos reloj) Mem Sec. Instr Load Instr 1 Instr 2 Instr 3 Instr 4 Reg Mem Reg Reg Mem Reg Si 1 de cada 4 instrucciones es un load: CPI = 1.25  100% utilización de puerta de lectura de la memoria  CPI no puede ser menor que 1.25 a menos que tengamos memoria de datos e instrucciones separadas ALU Mem ALU Mem Reg Mem Reg ALU Mem Reg Mem Reg ALU ALU Mem Reg Mem Reg
  • 22.
  • 23. Conflictos estructurales: Acceso banco de registros Sec. Instr Load Instr 1 Reg Mem Reg Reg Reg Tiempo (ciclos de reloj) ALU Mem ALU Mem
  • 24. Solución 1: Detener el pipeline (stalling) F L U J O D E P R O G R Tiempo (ciclos de reloj) LW ADD SUB LW LW Soluciona el conflicto, pero introduce una “burbuja”(ciclo ocioso) en el pipeline  CPI > 1 Ej. Si el conflicto se produce en una de cada 4 instrucciones, CPI = 1.25 ALU Mem Reg Mem ALU Mem Reg Mem Reg Mem Reg ALU Reg ALU Reg Reg Mem ALU Mem Reg Mem Reg Reg burbuja
  • 25.
  • 26.
  • 27. Etapa 1: IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] Instrucción [15-11] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo lw IF
  • 28.
  • 29. Etapa 2 : ID Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] Instrucción [15-11] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo lw ID
  • 30.
  • 31. Etapa 3: EX Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] Instrucción [15-11] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo lw EX
  • 32.
  • 33. Etapa 4: MEM Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] Instrucción [15-11] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo lw MEM
  • 34.
  • 35. Etapa 5: WB Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] Instrucción [15-11] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo lw WB
  • 36. Varias instrucciones en pipeline Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Instrucción [20-16] Instrucción [15-11]
  • 37. Varias instrucciones en pipeline Ciclo 1 lw $1, 4($3) #IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 Instrucción [20-16] Instrucción [15-11]
  • 38. Varias instrucciones en pipeline Ciclo 2 lw $1, 4($3) #ID add $3, $4, $5 #IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21]RS Instrucción [20-16]RT 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 2 Instrucción [20-16]RT Instrucción [15-11]RD 0 M U X 1
  • 39. Varias instrucciones en pipeline Ciclo 3 lw $1, 4($3) #EX sw $4, 8($5) #IF add $3, $4, $5 #ID Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21]RS Instrucción [20-16]RT 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 2 3 Instrucción [20-16]RT Instrucción [15-11]RD 0 M U X 1 RT
  • 40. Varias instrucciones en pipeline Ciclo 4 lw $1, 4($3) #MEM sw $4, 8($5) #ID add $3, $4, $5 #EX and $1, $2, $3 #IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21]RS Instrucción [20-16]RT 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 2 3 4 Instrucción [20-16]RT Instrucción [15-11]RD 0 M U X 1 RD RT
  • 41. Varias instrucciones en pipeline Ciclo 5 lw $1, 4($3) #WB sw $4, 8($5) #EX add $3, $4, $5 # MEM and $1, $2, $3 #ID beq $2, $3, L1 #IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21]RS Instrucción [20-16]RT 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 2 3 4 5 Instrucción [20-16]RT Instrucción [15-11]RD 0 M U X 1 RT RD RT
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. Solución: forwarding (redireccionamiento) Tiempo (ciclos reloj) Pasar dato directamente de la etapa en que se genera a la etapa en que se usa Instrucción “or r9, r1, r9” no necesita forwarding si se define orden lectura-escritura en el banco de registros Sec Instr add r1 ,r2,r3 sub r4, r1 ,r3 and r6, r1 ,r7 or r8, r1 ,r9 xor r10, r1 ,r11 ALU Im Reg Dm Reg ALU Im Reg Dm Reg ALU Im Reg Dm Reg Im ALU Reg Dm Reg ALU Im Dm Reg Reg
  • 48.
  • 49.
  • 50.
  • 51. Conflicto de datos en load-add lw $1 , 4($3) #WB and $2, $1 , $3 #ID beq $2, $3, L1 #IF Leer dirección Instrucción [31-0] Memoria de Instrucciones Leer registro 1 Lect. dato 1 Lect. dato 2 Escribir dato Escribir registro Leer registro 2 Registros ALU Zero result Add 1 M U X 0 0 M U X 1 P C Leer dirección Escribir dirección Escribir dato Lect. dato Memoria de Datos 4 Instrucción [25-21] Instrucción [20-16] 16 32 Instrucción [15-0] Desp. Izq. Add IF/ID ID/EX EX/MEM MEM/WB 1 M U X 0 Ext Signo Reloj: 1 2 3 Conflicto Load debe escribir en $1 y add debe leer $1. Lectura debe ocurrir despues de escritura 0 M X 1 RT Instrucción [20-16]RT Instrucción [15-11]RD
  • 52. Ejecución en pipeline con forwarding y detección de conflicto
  • 53. Conflicto de datos en load-and
  • 54. Conflicto de datos en load-and
  • 55. Conflicto de datos en load-add (agregando burbuja)
  • 56. Conflicto de datos con load-and
  • 57. Conflicto de datos en load-and
  • 58. Conflicto de datos en load-and
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.