-
Notifications
You must be signed in to change notification settings - Fork 0
04.ThePipelineWindow
nonodev96 edited this page Mar 10, 2022
·
5 revisions
Como se ha explicado en el manual del DLX, está ventana representa las 5 etapas que puede encontrarse una instrucción en el microprocesador.
Esto nos permite visualizar que dato se está calculando en cada momento, ver cuanto tiempo va a estar en cada etapa, etc.
| Etapa | Descripción |
|---|---|
| IF | Unidad de obtención de instrucción. Típicamente referida como la "unidad de carga" en terminología moderna. |
| ID | Unidad de decodificación de instrucción. |
| Esta unidad toma la instrucción del IF, y extrae el opcode y los operandos. | |
| También obtiene los valores en registros si es necesario. | |
| EX | Unidad de ejecución. Ejecuta la instrucción, normalmente referido como ALU en terminología moderna. |
| MEM | Unidad de acceso a memoria. Obtiene datos de la memoria, Controlada desde el ID y el EX. |
| WB | WriteBack unit. Llamada a la unidad de almacenamiento en terminología moderna. |
Hay unas etapas intermedias en EX que representan el cálculo de datos decimales como divisiones, calculus de multiplicaciones o sumas.
Debemos tener en cuenta la configuración de la máquina, ya que en función de esta configuración podremos tener una unidad o varias.
Ejemplo parcial de los datos que se responden para representar el cauce (Pipeline) en una de sus etapas.
{
"pipeline": {
"IF": {
"address": "0x00000118",
"addressRow": 6,
"draw": true
},
"ID": {
"address": "0x00000114",
"addressRow": 5,
"draw": true
},
"intEX": {
"address": "0x00000110",
"addressRow": 4,
"draw": true
},
"MEM": {
"address": "0x0000010C",
"addressRow": 3,
"draw": true
},
"WB": {
"address": "0x00000108",
"addressRow": 2,
"draw": true
},
"faddEX": [],
"fmultEX": [],
"fdivEX": [],
"arrows": []
}
}