La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn."— Transcripción de la presentación:

1 Organización del Computador I Verano Procesador Segmentado Basado 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 Procesador Segmentado 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. Procesador Segmentado Unidad 2

4 Ejecución de lw en la máquina uniciclo
Instrucción Memoria Lect ALU Memoria Escritura Total Registros Datos Registros Formato R Load Store Beq Ins R Alu Mem W 40 nseg lw Procesador Segmentado 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. Procesador Segmentado Unidad 2

6 Máquina uniciclo vs segmentada
Ins R Alu Mem W 40 nseg lw lw Ins R Alu Mem W lw Ins R Alu Mem W 10 nseg Ins R Alu Mem W lw 10 nseg 10 nseg 10 nseg 10 nseg 10 nseg 10 nseg Procesador Segmentado 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. Procesador Segmentado Unidad 2

8 Uniciclo, Multiciclo vs Segmentada
Load Store Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 Ciclo 9 Ciclo 10 Load Store R Fetch Reg ALU Mem WB Fetch Reg ALU Mem Load Fetch Reg ALU Mem WB Store Fetch Reg ALU Mem WB R Fetch Reg ALU Mem WB Procesador Segmentado 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!!! Procesador Segmentado Unidad 2

10 Óptimo uso de recursos ciclos Inst 1 Inst 2 Inst 3 Inst 4 Inst 5 1 2 3
1 2 3 4 5 6 7 M Reg Inst 1 Inst 2 Inst 3 Inst 4 Inst 5 Procesador Segmentado 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. Procesador Segmentado 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 Procesador Segmentado 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 Procesador Segmentado 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 Procesador Segmentado 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
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. Pcsrc MUX Z 32 IF/ID ID/EX EX/MEM MEM/WB 32 + 32 PC+4 4 RegDst RegW >>2 ALUctr rs Alusrc W_src 5 LRA rt WE LRB 5 32 WR PC 5 Registros Memoria de Instrucciones @ rd inst BusW Memoria de Datos Inm16 CLK Ext

18 Instrucción Tipo R IR IF/ID ID/EX A B IRrd EX/MEM S IRrd MEM/WB S IRrd
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 Procesador Segmentado Unidad 2

19 Instrucción Load IR IF/ID ID/EX A EX/MEM S IRrt MEM/WB Dato IRrt
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 Procesador Segmentado Unidad 2

20 Instrucción Store IR IF/ID ID/EX A EX/MEM S B MEM/WB
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 Procesador Segmentado Unidad 2

21 Instrucción Beq IR PC + 4 IF/ID PC + 4 ID/EX A Z Dst EX/MEM MEM/WB
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 PC + 4 ID/EX A Ext(inm16) B Z Dst EX/MEM MEM/WB Procesador Segmentado Unidad 2

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

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

24 Camino de Datos con Señales de Control
Salto Zero MUX 32 IF/ID ID/EX EX/MEM MEM/WB 32 + 32 PC+4 4 RegW >>2 5 rs Alusrc W_src LRA rt 5 WE LRB 5 32 WR PC Registros 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 Lw Sw x x Beq x x Procesador Segmentado Unidad 2

26 Juntando Todo MUX >>2 RegW Salto ID/EX Zero W EX/MEM MEM/WB
Control M W 32 IF/ID EX M W 32 + 32 PC+4 4 RegW >>2 Alusrc W_src LRA $10 LRB WE 32 WR PC Registros 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 MUX W EX/MEM MEM/WB Control 00 01 M 00 1100 W 1 32 1 IF/ID EX 00 M W 1 32 + 32 PC+4 1 4 RegW >>2 10 Alusrc W_src LRA $10 $5 11 LRB WE 15 32 WR PC Registros Memoria de Instrucciones $11 @ $6 inst BusW Memoria de Datos ALUctr 2090 16 Ext Control ALU 11 6 31 15 1 Aluop RegDst

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

29 FIN Segmentado


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

Presentaciones similares


Anuncios Google