Rutas de Datos en Arquitectura de Procesadores: Ejecución de Instrucciones MIPS
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,49 KB
Camino de Datos: Instrucciones Tipo R (ADD, SUB, AND, OR, SLT)
El Contador de Programa (PC) se incrementa en la memoria de instrucción, y después se pasa a la siguiente instrucción a ejecutar. Se lee de la memoria de instrucciones la instrucción (ADD o SUB, etc.). Este código de instrucción pasará a la unidad de control. Los dos registros fuente pasarán al banco de registros. La señal de control RegDest activará el multiplexor a 1, ya que necesitamos un registro para escribir en él.
En el banco de registros, se leen los datos de los dos registros fuente. La señal de control Fuente ALU activará el multiplexor a 0 para que el dato leído del registro fuente 2 entre en la ALU. Con los dos datos, se realiza la operación que la señal de control ALUOp indica.
Una vez hecha la operación, la señal de control MemReg activa el multiplexor a 0 porque no se tiene que escribir en memoria, y el resultado pasará al banco de registros, que será escrito en el registro destino.
Camino de Datos: Instrucciones de Salto (J, B)
El Contador de Programa (PC) se incrementa en la memoria de instrucción, y después se pasa a la siguiente instrucción a ejecutar. Se lee de la memoria de instrucciones la instrucción J (o B).
De la memoria de instrucción sale la dirección de la etiqueta. Esta dirección será desplazada dos lugares hacia la izquierda. El valor del PC se aumenta, y la nueva dirección pasará al contador de programa e indicará la nueva instrucción a ejecutar.
Camino de Datos: Instrucción de Salto Condicional (BEQ)
El Contador de Programa (PC) se incrementa en la memoria de instrucción, y después se pasa a la siguiente instrucción a ejecutar. Se lee de la memoria de instrucciones la instrucción BEQ.
En el banco de registros entran los dos registros a comparar y la dirección de la etiqueta a la que se ramificará si se cumple la condición. Se realiza una extensión de signo y se desplaza dos lugares hacia la izquierda. Por otro lado, en la ALU se realiza la resta de los dos registros a comparar. Si el resultado de la resta es 0, significa que se cumple la condición. Entonces, la señal de control Zero activa el multiplexor a 1. Se suma a la dirección de la etiqueta el valor nuevo del PC para obtener la siguiente instrucción a ejecutar. La señal de control Fuente PC activa el multiplexor a 0 para que el contador de programa reciba una nueva instrucción a ejecutar.
Camino de Datos: Instrucción de Carga de Palabra (LW)
El Contador de Programa (PC) se incrementa en la memoria de instrucción, y después se pasa a la siguiente instrucción a ejecutar. Se lee de la memoria de instrucciones la instrucción LW.
En el banco de registros entra el registro base, y el registro destino entra debido a que el multiplexor se pone a 0 porque así lo dicta la señal de control RegDest. A la ALU pasa el registro base y el desplazamiento, que realiza una extensión de signo y entra a la ALU porque el multiplexor se pone a 1 debido a la señal Fuente ALU. Se suma el registro y el desplazamiento, y se guarda en la memoria de datos. Luego, se lee el dato y la señal MemReg activa el multiplexor a 1, escribiéndose el resultado en el registro destino.
Camino de Datos: Instrucción de Almacenamiento de Palabra (SW)
El Contador de Programa (PC) se incrementa en la memoria de instrucción, y después se pasa a la siguiente instrucción a ejecutar. Se lee de la memoria de instrucciones la instrucción SW.
Los dos registros pasan al banco de registros. A la ALU pasa el registro base y el desplazamiento, que realiza una extensión de signo y entra a la ALU porque el multiplexor se pone a 1 debido a la señal Fuente ALU.
Se suma el registro y el desplazamiento en la ALU, y el resultado pasa al registro de datos. El dato del registro fuente pasa a la memoria de datos, y en la memoria de datos se escribe ese último dato que le ha entrado en la dirección que se ha obtenido de la ALU.