1 / 29

Verano 2004

Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 6 del libro de Patterson y Hennessy. Verano 2004. Profesora Borensztejn. Segmentación.

dreama
Download Presentation

Verano 2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Organización del Computador I VeranoProcesador SegmentadoBasado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn

  2. Segmentación Descompone una determinada operación en n suboperaciones a realizar en etapas distintas, de manera que se puedan realizar n operaciones simultáneas, cada una en una etapa distinta. • Divide una operación en suboperaciones • Desacopla las suboperaciones F F2 F3 F1 Unidad 2

  3. Segmentación • No reduce la latencia de una instrucción, sino que ayuda a incrementar la productividad de toda la tarea. • Permite que los recursos se utilizen óptimamente, sin ciclos ociosos. • La velocidad, o frecuencia con que una instrucción sale del pipeline (cauce) está limitada por el tiempo de proceso de la etapa más lenta. • Idealmente, la mejora en velocidad debida a la segmentación es igual al número de etapas: • la segmentación involucra gastos • las etapas pueden no estar equilibradas==> tiempo de inactividad • El diseñador debe equilibrar la duración de las etapas. Unidad 2

  4. lw Ins Ins R R Alu Alu Mem Mem W W lw 40 nseg lw Ins R Alu Ejecución de lw en la máquina uniciclo Instrucción Memoria Lect. ALU Memoria Escritura Total Registros Datos Registros Formato R 10 5 10 5 30 Load 10 5 10 10 5 40 Store 10 5 10 10 35 Beq 10 5 10 25 Unidad 2

  5. Etapas de la Segmentación • La instrucción se divide en 5 etapas: • Ifetch • Reg/Dec • Ejec • Mem • WB • Una etapa, un ciclo, debe acomodar la operación más lenta ===>> 10 nseg. • El speedup ideal debiera ser 5. Unidad 2

  6. lw Ins Ins R R Alu Alu Mem Mem W W Ins Ins Ins R R R Alu Alu Alu Mem Mem Mem W W W lw 40 nseg lw Ins R Alu 10 nseg 10 nseg 10 nseg 10 nseg 10 nseg 10 nseg Máquina uniciclo vs segmentada lw lw lw 10 nseg Unidad 2

  7. Mejora de la Segmentación • Donde están los problemas? • Hay que considerar el tiempo de llenado y vaciado del pipeline (20nseg+20nseg) • Las etapas tienen la misma duración y no realizan la misma cantidad de trabajo • La eficiencia del pipeline es mayor al considerar muchas instrucciones, porque las latencias individuales aumentan pero la productividad disminuye. Unidad 2

  8. Fetch Fetch Fetch Fetch Fetch Reg Reg Reg Reg Reg ALU ALU ALU ALU ALU Mem Mem Mem Mem Mem WB WB WB Fetch WB Uniciclo, Multiciclo vs Segmentada Store Load Ciclo 5 Ciclo 6 Ciclo 10 Ciclo 1 Ciclo 2 Ciclo 4 Ciclo 7 Ciclo 8 Ciclo 9 Ciclo 3 Load Store R Load Store R Unidad 2

  9. Mejora de la Segmentación Suponemos que ejecutamos 100 instrucciones • Uniciclo • 40nseg * 1 CPI * 100inst= 4000 nseg • Multiclo • 10nseg * 4,5 CPI * 100 inst= 4500 nseg • Segmentada • 10nseg * (1 CPI * 100 inst + 4 ciclos) = 1040 nseg Ahora ,Mejor!!! Unidad 2

  10. Inst 1 M M Reg Reg M Inst 2 Reg M Reg M M Inst 3 Reg Reg M M Reg Reg Inst 4 M M Reg Reg Inst 5 Óptimo uso de recursos 0 1 2 3 4 5 6 7 ciclos Unidad 2

  11. ¿Problemas? • No puede utilizarse el mismo recurso en el mismo momento para hacer distintas cosas. • Por ejemplo: la memoria no puede utilizarse al mismo tiempo para leer instrucciones y escribir o leer datos. • Varias instrucciones utilizan un mismo recurso en distintos momentos y se pierden los valores anteriores • Por ejemplo: la ejecución de la segunda instrucción carga la instrucción de memoria sobre el registro IR aún cuando la primera instrucción depende de la información que había guardado en IR. Unidad 2

  12. Procesador Segmentado Lineal • Todas las instrucciones tardan el mismo tiempo y atraviesan todas las etapas. • Cada unidad funcional sólo puede ser usada una vez por instrucción (el flujo de información queremos que vaya siempre hacia la derecha) • Cada unidad funcional debe ser utilizada en la misma etapa por todas las instrucciones. • Queremos evitar problemas!!!! Por ejemplo: • Lw IF Reg Eje Mem Wr • R IF Reg Eje Wr Unidad 2

  13. Uso de U.F Paso Registros ALU Memoria Fetch Todas PC<--PC+4 Todas Inst<--M[PC] Lectura Todas Eje Tipo R: operación Lw y Sw: dirección Beq: operación y dirección Mem Lw y Sw PostW Lw Tipo R Unidad 2

  14. Memoria • Se utiliza en la etapas Fetch y Memoria • Debe poder soportar al mismo tiempo : • lectura de instrucción • lectura/escritura de dato • Soluciones: • una memoria con dos ports de lectura y uno de escritura • memoria separada de instrucciones y datos Unidad 2

  15. ALU • Se utiliza en la etapas Fetch y Ejecución • Debe poder soportar al mismo tiempo : • PC + 4 (Fetch) • S=AopB o S=A+ inm16 o Z=(A=B) (Ejecución) • S=PC+inm16 (Ejecución) • Solución: • 1 ALU y 2 sumadores

  16. Banco de Registros • Se leen en Decode y se escriben en Wb • Debe poder soportar dos accesos de lectura y uno de escritura por ciclo. • Se leen en la primera mitad del ciclo. Se escriben en la segunda mitad del ciclo.

  17. Registros de Segmentación Pcsrc • Entre cada etapa y la siguiente guardaremos la información que debe acompañar a cada instrucción en su marcha por el camino de datos. MUX Z 32 IF/ID ID/EX EX/MEM MEM/WB 32 + PC+4 32 4 RegDst >>2 RegW ALUctr W_src rs Alusrc LRA 5 WE rt LRB 5 WR 32 5 Registros PC @ Memoria de Instrucciones rd inst BusW Memoria de Datos Inm16 CLK Ext

  18. Instrucción Tipo R • Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<---R[rs]; BusB<---R[rt] BusS<---BusA+BusB R[rd]<--BusS IR IF/ID ID/EX A B IRrd EX/MEM S IRrd MEM/WB S IRrd Unidad 2

  19. Instrucción Load • Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<---R[rs]; BusS<---BusA+ext(inm16); Dato<--Mem[busS]; R[rt]<--Dato IR IF/ID ID/EX A Ext(inm16) IRrt EX/MEM S IRrt MEM/WB Dato IRrt Unidad 2

  20. Instrucción Store • Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<---R[rs]; BusS<---BusA+ext(inm16); Mem[busS]<--BusB; IR IF/ID ID/EX A Ext(inm16) B EX/MEM S B MEM/WB Unidad 2

  21. PC + 4 Instrucción Beq • Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<--R[rs]; BusB<--R[rt]; dst<--- PC+4+ Signext(inm16)*4; Z<-- (BusA=BusB) ; si (Z) entonces PC<---dst; IR PC + 4 IF/ID ID/EX A Ext(inm16) B EX/MEM Z Dst MEM/WB Unidad 2

  22. A B Irrd PC + 4 Registros de Segmentación IR PC+4 IF/ID ID/EX Irrtext(inm16) S Irrd Irrt B Z Dst EX/MEM S Irrd Irrt Dato MEM/WB Unidad 2

  23. A B Irrd PC + 4 Registros de Segmentación(mejor) IR PC+4 IF/ID ID/EX Irrtext(inm16) S Reg B Z Dst EX/MEM S Reg Dato MEM/WB Unidad 2

  24. Camino de Datos con Señales de Control Salto Zero MUX 32 IF/ID ID/EX EX/MEM MEM/WB 32 + PC+4 32 4 >>2 RegW 5 W_src rs Alusrc LRA WE 5 rt LRB 5 WR 32 Registros PC @ Memoria de Instrucciones inst BusW Memoria de Datos ALUctr Inm16 Ext Control ALU rt rd Aluop RegDst

  25. Lógica de Control • El secuenciamiento de control debe viajar con la instrucción a través del Camino de Datos. • Cada ciclo de reloj se realizan escrituras en el PC, por lo tanto no hay señal especial de escritura para él. • Los 4 registros de segmentación también se actualizan en cada ciclo. • Dividimos las señales de control en 3 grupos, de acuerdo a la etapa en la que actúan. Instrucción Ejecución Memoria Wb RegDst ALUop1 ALUop0 ALUsrc Salto WE RegW W_src Formato R 1 1 0 0 0 0 1 0 Lw 0 0 0 1 0 0 1 1 Sw x 0 0 1 0 1 0 x Beq x 0 1 0 1 0 0 x Unidad 2

  26. Juntando Todo Salto ID/EX Zero W MUX EX/MEM MEM/WB Control M W 32 EX IF/ID M W 32 + PC+4 32 4 >>2 RegW Alusrc W_src $10 LRA LRB WE WR 32 Registros PC @ Memoria de Instrucciones $11 inst BusW Memoria de Datos ALUctr Ext Control ALU Aluop RegDst

  27. Identificar las instrucciones Salto ID/EX Zero 10 00 W MUX EX/MEM MEM/WB Control 00 01 M 00 W 1100 0 1 32 1 EX IF/ID 00 1 M W 0 32 + 1 PC+4 32 4 >>2 RegW 10 Alusrc W_src $10 $5 LRA 11 LRB WE 15 WR 32 Registros PC @ Memoria de Instrucciones $11 $6 inst BusW Memoria de Datos ALUctr 2090 16 Ext Control ALU 11 6 31 15 1 0 Aluop RegDst

  28. Organización del Computador I VeranoRendimiento (2 de 3)Basado en el capítulo 2 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn

  29. FIN Segmentado

More Related