Segmentación de DLX
Este ha sido mi fantásticomaravilloso plan de esta noche. Iba a explicarlo y así se me queda mejor, pero es que veo triple, especialmente los cablecillos del esquema T_T Os tendréis que conformar con la versión críptica megaguay :/
1. Ciclo de búsqueda de instrucción
IF/ID.IR ← Mem[PC];
IF/ID.NPC, PC ← ( if (Regs[IF/ID.IR6..10] op 0) {IF/ID.NPC+(IF/ID.IR16)16 ## IF/ID.IR16..31} else {PC+4});
2. Ciclo de decodificación de la instrucción/carga de registros
ID/EX.A ← Regs [IF/ID.IR6..10]; ID/EX.B ← Regs [IF/ID.IR11..15];
ID/EX.IR ← IF/ID.IR
ID/EX.Inm ← (IF/ID.IR16)16 ## IF/ID.IR16..31
3. Ciclo de ejecución / dirección efectiva
Referencia a memoria
EX/MEM.IR ← ID/EX.IR;
EX/MEM.ALUoutput ←ID/EX.A + ID/EX.Inm;
EX/MEM.cond ← 0;
EX/MEM.B ← ID/EX.B;
Instrucción ALU
EX/MEM.IR ← ID/EX.IR;
EX/MEM.ALUoutput ←ID/EX.A func ID/EX.B;
O
EX/MEM.ALUoutput ←ID/EX.A op ID/EX.Inm;
EX/MEM.Cond ← 0;
Salto/ bifurcación
EX/MEM.ALUoutput ←ID/EX.NPC + ID/EX.Inm;
EX/MEM.cond ←(ID/EX.A op 0);
4. Paso de acceso a memoria / completar salto:
Instrucción Load/Store
MEM/WB.IR←EX/MEM.IR;
MEM/WB.LMD ←Mem [EX/MEM.ALUoutput];
O
Mem[EX/MEM.ALUoutput]←EX/MEM.B,
Instrucción ALU
MEM/WB.IR←EX/MEM.IR;
MEM/WB.ALUoutput ←EX/MEM.ALUoutput;
5. Paso de postescritura (write-back)
Instrucciones ALU
Regs[MEM/WB.IR16..20] ←MEM/WB.ALUoutput;
O
Regs[MEM/WB.IR11..15] ←MEM/WB.ALUoutput;
Instrucciones load/store
Regs[MEM/WB.IR11..15] ←MEM/WB.LMD;
Disfrutad mientras podais de mis rayadas de Arquitectura de Computadores a altas horas de la madrugada (5.13 en estos momentos), mañana empiezo con Programación Orientada a Objetos y ahí si que no hay de dónde sacar... espero xD
3 comentarios
vitaka -
Levinor -
Programación Orientada a Objetos RulZ!!! xD
makore -
y no, con POO no hay donde sacar xD (y si no pon y te ayudamos :3)