SlideShare una empresa de Scribd logo
1 de 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]

Más contenido relacionado

La actualidad más candente

Instruction cycle.pptx
Instruction cycle.pptxInstruction cycle.pptx
Instruction cycle.pptxsuryansh85
 
05 Ciclos de las Instrucciones
05 Ciclos de las Instrucciones05 Ciclos de las Instrucciones
05 Ciclos de las InstruccionesJaime E. Velarde
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Algoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginasAlgoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginasBlanca Parra
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpuIsaí Beto Matz Mijes
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezVanessa Ramirez
 
Von-Neumann machine and IAS architecture
Von-Neumann machine and  IAS architectureVon-Neumann machine and  IAS architecture
Von-Neumann machine and IAS architectureShishir Aryal
 
PLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOPLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOgladysmamani
 
C++ para microcontroladores y aplicación práctica
C++ para microcontroladores y aplicación prácticaC++ para microcontroladores y aplicación práctica
C++ para microcontroladores y aplicación prácticaGerardo C
 
Reduced instruction set computers
Reduced instruction set computersReduced instruction set computers
Reduced instruction set computersSyed Zaid Irshad
 
GUIA 1 HILOS Y PROCESOS
GUIA 1 HILOS Y PROCESOSGUIA 1 HILOS Y PROCESOS
GUIA 1 HILOS Y PROCESOSMario Martinez
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instruccionesLely
 

La actualidad más candente (20)

Instruction cycle.pptx
Instruction cycle.pptxInstruction cycle.pptx
Instruction cycle.pptx
 
Arquitectura x86_ Registros
Arquitectura x86_ RegistrosArquitectura x86_ Registros
Arquitectura x86_ Registros
 
05 Ciclos de las Instrucciones
05 Ciclos de las Instrucciones05 Ciclos de las Instrucciones
05 Ciclos de las Instrucciones
 
Procesamiento superescalar
Procesamiento superescalarProcesamiento superescalar
Procesamiento superescalar
 
Microprocesador 8085 Apuntes assembler
Microprocesador 8085 Apuntes assemblerMicroprocesador 8085 Apuntes assembler
Microprocesador 8085 Apuntes assembler
 
Procesadores superescalares
Procesadores superescalaresProcesadores superescalares
Procesadores superescalares
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Algoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginasAlgoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginas
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
Unidad de Control
Unidad de ControlUnidad de Control
Unidad de Control
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Von-Neumann machine and IAS architecture
Von-Neumann machine and  IAS architectureVon-Neumann machine and  IAS architecture
Von-Neumann machine and IAS architecture
 
PLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOPLANIFICACION DE PROCESO
PLANIFICACION DE PROCESO
 
Lisp
LispLisp
Lisp
 
C++ para microcontroladores y aplicación práctica
C++ para microcontroladores y aplicación prácticaC++ para microcontroladores y aplicación práctica
C++ para microcontroladores y aplicación práctica
 
Reduced instruction set computers
Reduced instruction set computersReduced instruction set computers
Reduced instruction set computers
 
Clase Circuitos Aritméticos
Clase Circuitos AritméticosClase Circuitos Aritméticos
Clase Circuitos Aritméticos
 
GUIA 1 HILOS Y PROCESOS
GUIA 1 HILOS Y PROCESOSGUIA 1 HILOS Y PROCESOS
GUIA 1 HILOS Y PROCESOS
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 

Destacado

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
 

Destacado (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 a 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 a 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
 

Más de 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
 

Último

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (15)

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

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.