RISC-V diseño básico 2: Operaciones con constantes

Felipe Machado
18 Dec 201810:45

Summary

TLDREste tutorial explica cómo implementar las instrucciones tipo I en un procesador RISC-V, específicamente aquellas que realizan operaciones con constantes. Se cubren los aspectos del diseño de hardware necesario para manejar los registros y los valores inmediatos, detallando cómo se realizan las sumas con estos valores. También se abordan los detalles técnicos del formato de las instrucciones, la extensión de signo y el uso de multiplexores para seleccionar entre los registros y los valores inmediatos. Finalmente, se resumen las instrucciones que se pueden implementar para las operaciones de tipo I y R, destacando la simplicidad que ofrece la arquitectura RISC-V.

Takeaways

  • 😀 Se explica cómo implementar las instrucciones tipo I en el diseño de un procesador RISC-V, específicamente aquellas que realizan operaciones con constantes.
  • 😀 El formato de las instrucciones tipo I difiere del tipo R, ya que en lugar de un segundo registro fuente, se utiliza un inmediato (constante).
  • 😀 Las instrucciones de tipo I incluyen un campo de inmediato de 12 bits, que está codificado en complemento a 2.
  • 😀 El inmediato se extrae de los bits 20 a 31 de la instrucción y se extiende con signo para convertirlo en 32 bits.
  • 😀 En el ejemplo mostrado, el inmediato de -45 se suma con el contenido de un registro (por ejemplo, el registro 20 con valor 31) utilizando la ALU.
  • 😀 El proceso de suma entre el inmediato y el registro fuente se realiza mediante un multiplexor que selecciona si se usa el inmediato o el registro fuente 2.
  • 😀 La unidad de control selecciona la operación a realizar en la ALU (en este caso una suma) en función del código de operación (opcode).
  • 😀 La salida de la ALU se guarda en el registro destino, seleccionado a partir de los bits 7 a 11 de la instrucción.
  • 😀 Se debe evitar la asignación de una señal a dos valores diferentes, como se ilustra con el ejemplo de las puertas AND y el manejo de señales bifurcadas.
  • 😀 Las instrucciones tipo I con operaciones como la suma de inmediato permiten realizar cálculos con registros y constantes, facilitando la implementación de instrucciones dentro del conjunto de instrucciones RISC-V.

Q & A

  • ¿Qué instrucciones se implementan en este tutorial?

    -En este tutorial se implementan las instrucciones de tipo I del conjunto de instrucciones RISC-V, especialmente aquellas que involucran operaciones con constantes, como la suma de inmediato.

  • ¿Cuál es la diferencia principal entre las instrucciones de tipo R e I en RISC-V?

    -La diferencia principal es que en las instrucciones tipo R hay dos registros fuente, mientras que en las instrucciones tipo I hay un registro fuente y un inmediato (constante), siendo el inmediato el que reemplaza al segundo registro fuente en este tipo de instrucciones.

  • ¿Cómo se maneja el inmediato en las instrucciones tipo I?

    -El inmediato es una constante de 12 bits que se codifica en complemento a 2. Se extrae de los bits de la instrucción y se extiende a 32 bits usando un módulo de extensión de signo antes de ser utilizado en la operación.

  • ¿Qué hace la unidad de control en el diseño de las instrucciones tipo I?

    -La unidad de control selecciona la operación a realizar en la ALU, determina si se está utilizando un inmediato o un registro fuente 2, y habilita la escritura en el registro destino después de completar la operación.

  • ¿Por qué se necesita un multiplexor en el diseño de las instrucciones tipo I?

    -El multiplexor es necesario para seleccionar entre el registro fuente 2 y el inmediato, ya que no se puede conectar una señal a dos fuentes diferentes al mismo tiempo. La unidad de control decide cuál de estas señales se utilizará según el tipo de operación.

  • ¿Cómo se realiza la suma en las instrucciones tipo I?

    -La suma se realiza sumando el valor del registro fuente 1 con el inmediato (después de su extensión de signo). El resultado de esta operación se guarda en el registro destino.

  • ¿Qué problema se ilustra con el ejemplo de las puertas AND?

    -El ejemplo de las puertas AND ilustra el problema de intentar conectar una señal a dos fuentes diferentes simultáneamente, lo que no es posible. Esto resalta la necesidad de un multiplexor para seleccionar entre las diferentes fuentes de datos.

  • ¿Cómo se realiza la conexión del registro fuente 1 y el inmediato?

    -El registro fuente 1 se conecta de manera similar al diseño de las instrucciones tipo R, pero en lugar de conectar el registro fuente 2, se conecta el inmediato que ha sido extraído y extendido.

  • ¿Qué pasa con el valor de la constante o inmediato en las instrucciones tipo I?

    -El valor del inmediato se extiende a 32 bits y se utiliza en la operación junto con el valor del registro fuente 1. En el ejemplo proporcionado, el resultado de la suma entre -45 (inmediato) y 31 (registro) es -14.

  • ¿Cuáles son las 19 instrucciones que se podrían implementar con ALU según este tutorial?

    -Las 19 instrucciones que se pueden implementar son aquellas que corresponden a las operaciones de tipo R y tipo I que involucran cómputos, como sumas y otras operaciones aritméticas, en el contexto del conjunto de instrucciones RISC-V.

Outlines

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Mindmap

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Keywords

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Highlights

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Transcripts

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード
Rate This

5.0 / 5 (0 votes)

関連タグ
RISC-Vprocesadorinstrucciones Idiseño hardwareoperaciones constantesarquitecturatutorial técnicosuma inmediatoarquitectura CPUprogramación hardware
英語で要約が必要ですか?