Skip to content

04.ThePipelineWindow

nonodev96 edited this page Mar 10, 2022 · 5 revisions

La ventana del cauce de ejecución (Pipeline)

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.

Inicialización

Ventana del cauce

Ejecución

Ejecución en el cauce

DEBUG

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": []
  }
}

Clone this wiki locally