La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Instruction fetch cycle (IF) IR<---MEM(PC) NPC<---PC+4 Operacion: Usar el PC para buscar la instruccion de la memoria y guardarla en el IR (instruction.

Presentaciones similares


Presentación del tema: "Instruction fetch cycle (IF) IR<---MEM(PC) NPC<---PC+4 Operacion: Usar el PC para buscar la instruccion de la memoria y guardarla en el IR (instruction."— Transcripción de la presentación:

1 Instruction fetch cycle (IF) IR<---MEM(PC) NPC<---PC+4 Operacion: Usar el PC para buscar la instruccion de la memoria y guardarla en el IR (instruction register); incrementar el PC en 4 unidades para buscar la siguiente instruccion secuencial. El IR se usa para guardar la instruccion y el NPC se usa para guardar el valor de la direccion de la siguiente instruccion.

2 Instruction decode/register fetch cycle (ID) A<--- Regs[IR6..10]; B<--- Regs[IR11..15]; Imm<--((IR16)16##IR16..31) Operacion: Se decodifica la instruccion y se accede al register File para leer los registros. La salida de los registros de proposito gral se lee y se guardan en dos registros temporales (A y B) para usarlos en los ciclos de clock siguientes. A la parte baja del IR se le extiende el signo y se guarda en un registro temporal IMM para usar en el siguiente ciclo (segun el tipo de instruccion). La decodificacion se realiza en paralelo con la lectura de los registros.

3 Execution/effective address cycle (EX) La ALU opera con los registros A y B preparados en el ciclo anterior, realizando una de 4 funciones posibles dependiendo del tipo de instruccion. Memory reference: ALUOutput <-- A + Imm; Intruccion Registro-Registro: AluOutput<---A Func B; Intruccion Registro-Inmediato: AluOutput<---A op Imm; Branch: AluOutput<---NPC + Imm; Cond <--- (A op 0);

4 Memory access/branch completion cycle (MEM) Se actualiza el PC para todas las instrucciones: PC <---NPC; Memory reference: MD <--MEM(ALUOUTPUT); Or MEM(ALUOUTPUT)<-- B; Branch: if (cond) PC<---ALUOUTPUT;

5 WriteBack cycle (WB) Intruccion Registro-Registro: Regs[IR16..20]<-- ALUOutput; Intruccion Registro-Inmediato: Regs[IR11..15]<-- ALUOutput; Instruccion Load: Regs[IR11..15]<-- MD; Operacion: Escribir el resultado en el Register File, este resultado puede venir desde la salida de la ALU (AluOutput) o desde la memoria de datos (MD).

6 Implementacion del Datapath para sacar una instruccion cada 5 ciclos

7 El pipeline basico

8

9

10 Pipeline Como cada etapa del pipeline esta activa en cada ciclo de clock, todas las operaciones de una etapa del pipeline deben completarse en un solo ciclo de clock. Ademas el datapath requiere que los valores de una etapa se pasen a la etapa siguiente por medio de registros. Estos registros se muestran en la figura siguiente como pipeline Latches.

11


Descargar ppt "Instruction fetch cycle (IF) IR<---MEM(PC) NPC<---PC+4 Operacion: Usar el PC para buscar la instruccion de la memoria y guardarla en el IR (instruction."

Presentaciones similares


Anuncios Google