diff --git a/pages/index.js b/pages/index.js
index 1e61062..1f94fb0 100644
--- a/pages/index.js
+++ b/pages/index.js
@@ -31,39 +31,39 @@ export default function Home() {
let instructionList = [
{
operacao: "LD",
- registradorR: "F6",
+ registradorR: "R6",
registradorS: "32",
registradorT: "R2",
},
{
operacao: "LD",
- registradorR: "F2",
+ registradorR: "R2",
registradorS: "44",
registradorT: "R3",
},
{
- operacao: "MULTD",
- registradorR: "F0",
- registradorS: "F2",
- registradorT: "F4",
+ operacao: "MULT",
+ registradorR: "R0",
+ registradorS: "R2",
+ registradorT: "R4",
},
{
- operacao: "SUBD",
- registradorR: "F8",
- registradorS: "F2",
- registradorT: "F6",
+ operacao: "SUB",
+ registradorR: "R8",
+ registradorS: "R2",
+ registradorT: "R6",
},
{
- operacao: "DIVD",
- registradorR: "F10",
- registradorS: "F0",
- registradorT: "F6",
+ operacao: "DIV",
+ registradorR: "R10",
+ registradorS: "R0",
+ registradorT: "R6",
},
{
- operacao: "ADDD",
- registradorR: "F6",
- registradorS: "F8",
- registradorT: "F2",
+ operacao: "ADD",
+ registradorR: "R6",
+ registradorS: "R8",
+ registradorT: "R2",
}
];
@@ -125,15 +125,13 @@ export default function Home() {
>
-
-
-
+
-
+
-
+
diff --git a/pages/runner.js b/pages/runner.js
index bbf8b14..850aca0 100644
--- a/pages/runner.js
+++ b/pages/runner.js
@@ -174,26 +174,22 @@ export default function Home() {
console.log("getFunctionalUnity:", instr.operacao);
switch (instr.operacao) {
- case 'ADDD':
- return 'Add'
- case 'SUBD':
- return 'Add'
- case 'MULTD':
- return 'Mult'
- case 'DIVD':
- return 'Mult'
- case 'LD':
- return 'Load'
- case 'SD':
- return 'Store'
case 'ADD':
- return 'Integer'
- case 'DADDUI':
- return 'Integer'
+ return 'Add'
case 'BEQ':
return 'Integer'
case 'BNEZ':
return 'Integer'
+ case 'DIV':
+ return 'Mult'
+ case 'LD':
+ return 'Load'
+ case 'MULT':
+ return 'Mult'
+ case 'SD':
+ return 'Store'
+ case 'SUB':
+ return 'Add'
}
}
@@ -227,26 +223,22 @@ export default function Home() {
function getCycles(instrucao) {
switch (instrucao.operacao) {
- case 'ADDD':
- return 1;
- case 'SUBD':
- return 1;
- case 'MULTD':
- return 1;
- case 'DIVD':
- return 1;
- case 'LD':
- return 1;
- case 'SD':
- return 1;
case 'ADD':
return 1;
- case 'DADDUI':
- return 1;
case 'BEQ':
return 1;
case 'BNEZ':
return 1;
+ case 'DIV':
+ return 1;
+ case 'LD':
+ return 1;
+ case 'MULT':
+ return 1;
+ case 'SD':
+ return 1;
+ case 'SUB':
+ return 1;
}
}
@@ -263,13 +255,13 @@ export default function Home() {
let reg_k_inst;
if ((instrucao.operacao === 'BNEZ') || (instrucao.operacao === 'BEQ')) {
- reg_j = registerStatus[instrucao.registradorR.replace('R','').replace('F','')];
- reg_k = registerStatus[instrucao.registradorS.replace('R','').replace('F','')];
+ reg_j = registerStatus[instrucao.registradorR.replace('R', '')];
+ reg_k = registerStatus[instrucao.registradorS.replace('R', '')];
reg_j_inst = instrucao.registradorR;
reg_k_inst = instrucao.registradorS;
} else {
- reg_j = registerStatus[instrucao.registradorS.replace('R','').replace('F','')];
- reg_k = registerStatus[instrucao.registradorT.replace('R','').replace('F','')];
+ reg_j = registerStatus[instrucao.registradorS.replace('R', '')];
+ reg_k = registerStatus[instrucao.registradorT.replace('R', '')];
reg_j_inst = instrucao.registradorS;
reg_k_inst = instrucao.registradorT;
}
@@ -311,7 +303,7 @@ export default function Home() {
uf.qj = null;
if (instrucao.operacao === 'SD') {
- let UFQueTemQueEsperar = registerStatus[instrucao.registradorR.replace('R','').replace('F','')];
+ let UFQueTemQueEsperar = registerStatus[instrucao.registradorR.replace('R', '')];
if ((UFQueTemQueEsperar in functionalUnits) || (UFQueTemQueEsperar in memoryUnits)) {
uf.qi = UFQueTemQueEsperar;
@@ -321,7 +313,7 @@ export default function Home() {
}
}
- let UFintQueTemQueEsperar = registerStatus[instrucao.registradorT.replace('R','').replace('F','')];
+ let UFintQueTemQueEsperar = registerStatus[instrucao.registradorT.replace('R', '')];
if ((UFintQueTemQueEsperar in functionalUnits) || (UFintQueTemQueEsperar in memoryUnits)) {
uf.qj = UFintQueTemQueEsperar;
@@ -332,7 +324,7 @@ export default function Home() {
}
function writeRegister(instrucao, entry) {
- registerStatus[instrucao.registradorR.replace('R','').replace('F','')] = entry;
+ registerStatus[instrucao.registradorR.replace('R', '')] = entry;
setRegisterStatus(registerStatus);
}
@@ -427,7 +419,6 @@ export default function Home() {
if ((ufMem.ocupado) && (ufMem.qi === null) && (ufMem.qj === null)) {
ufMem.tempo = ufMem.tempo - 1;
- console.log("estado Instrucao", ufMem.estadoInstrucao);
if (ufMem.tempo === 0) {
ufMem.estadoInstrucao.exeCompleta = clock;
@@ -459,10 +450,10 @@ export default function Home() {
if (ufMem.tempo === -1) {
ufMem.estadoInstrucao.write = clock;
- let valorReg = registerStatus[ufMem.instrucao.registradorR.replace('R','').replace('F','')];
+ let valorReg = registerStatus[ufMem.instrucao.registradorR.replace('R', '')];
if (valorReg === ufMem.nome) {
- registerStatus[ufMem.instrucao.registradorR.replace('R','').replace('F','')] = 'VAL(' + ufMem.nome + ')';
+ registerStatus[ufMem.instrucao.registradorR.replace('R', '')] = 'VAL(' + ufMem.nome + ')';
}
releaseWaitingUnity(ufMem);
@@ -477,10 +468,10 @@ export default function Home() {
if (uf.ocupado && uf.tempo === -1) {
uf.estadoInstrucao.write = clock;
- let valorReg = registerStatus[uf.instrucao.registradorR.replace('R','').replace('F','')];
+ let valorReg = registerStatus[uf.instrucao.registradorR.replace('R', '')];
if (valorReg === uf.nome) {
- registerStatus[uf.instrucao.registradorR.replace('R','').replace('F','')] = 'VAL(' + uf.nome + ')';
+ registerStatus[uf.instrucao.registradorR.replace('R', '')] = 'VAL(' + uf.nome + ')';
}
releaseWaitingUnity(uf);
@@ -518,13 +509,11 @@ export default function Home() {
function reorderBufferValueFormat(instr) {
switch (instr.instrucao.operacao) {
- case 'ADDD':
- return {`${instr.instrucao.registradorS} + ${instr.instrucao.registradorT}`};
- case 'SUBD':
+ case 'SUB':
return {`${instr.instrucao.registradorS} - ${instr.instrucao.registradorT}`};
- case 'MULTD':
+ case 'MULT':
return {`${instr.instrucao.registradorS} * ${instr.instrucao.registradorT}`};
- case 'DIVD':
+ case 'DIV':
return {`${instr.instrucao.registradorS} / ${instr.instrucao.registradorT}`};
case 'LD':
return {`Mem[${instr.instrucao.registradorS} + ${instr.instrucao.registradorT}]`};
@@ -532,8 +521,6 @@ export default function Home() {
return {`Mem[${instr.instrucao.registradorS} + ${instr.instrucao.registradorT}]`};
case 'ADD':
return {`${instr.instrucao.registradorS} + ${instr.instrucao.registradorT}`};
- case 'DADDUI':
- return {`${instr.instrucao.registradorS} + ${instr.instrucao.registradorT}`};
case 'BEQ':
return {`${instr.instrucao.registradorR} == ${instr.instrucao.registradorS}`};
case 'BNEZ':
@@ -608,11 +595,11 @@ export default function Home() {
- F0 |
- F1 |
- F2 |
- F3 |
- F4 |
+ R0 |
+ R1 |
+ R2 |
+ R3 |
+ R4 |
@@ -624,11 +611,11 @@ export default function Home() {
- F5 |
- F6 |
- F7 |
- F8 |
- F9 |
+ R5 |
+ R6 |
+ R7 |
+ R8 |
+ R9 |
@@ -640,11 +627,11 @@ export default function Home() {
- F10 |
- F11 |
- F12 |
- F13 |
- F14 |
+ R10 |
+ R11 |
+ R12 |
+ R13 |
+ R14 |
|