Registrar organización en CPU RISC

Procesadores RISC:
son procesadores que utilizan un pequeño conjunto de instrucciones y un modo de direccionamiento simple para que sus instrucciones se puedan ejecutar mucho más rápido dentro de la CPU con menos referencia a la memoria. Este tipo de procesador se clasifica como una computadora con conjunto de instrucciones reducido (RISC).

Para obtener una comprensión detallada del procesador RISC y sus características, consulte estas
Algunas otras características del procesador RISC son:

  • Contienen un gran número de registros.
  • Utilizan ventanas de registro superpuestas para acelerar la llamada y devolución del procedimiento.
  • Tienen una tubería de instrucción eficiente.
  • Tienen soporte de compilador para la traducción eficiente de programas de lenguaje de alto nivel a programas de lenguaje de máquina.

Instrucciones RISC:

  • Un conjunto de instrucciones de procesador RISC típico incluye principalmente las instrucciones LOAD y STORE que se utilizan para la comunicación entre la memoria y la CPU.
  • Todas las demás instrucciones se ejecutan dentro de los registros de la CPU sin hacer referencia a la memoria.
  • Un programa de una CPU RISC contiene instrucciones LOAD y STORE que tienen una memoria y una dirección de registro de CPU y las instrucciones computacionales (ADD, SUB MUL, etc.) tienen tres direcciones y las tres se refieren a registros del procesador.

Por ejemplo:
un programa que evalúa X = (A*B) + (C*D), aquí A,B,C,D son ubicaciones de memoria que contienen cuatro números y X es una ubicación de memoria que contiene el resultado de esa expresión.

Instrucción 

comentario 

CARGA R1, A

CARGA R2, B

CARGA R3, C

CARGAR R4, D

MUL R1, R1, R2

MUL R3, R3, R4

AGREGAR R1, R1, R3 

ALMACENAR X, R1 

; El registro del procesador R1 se carga con el contenido de la ubicación de memoria A.

; El registro del procesador R2 se carga con el contenido de la ubicación de memoria B.

; El registro del procesador R3 se carga con el contenido de la ubicación de memoria C.

; El registro del procesador R4 se carga con el contenido de la ubicación de memoria D.

; La multiplicación de los contenidos del registro R1 y R2 y el resultado se almacena en el registro R1 (es decir, se realiza A*B).

; La multiplicación de los contenidos del registro R3 y R4 y el resultado se almacena en el registro R1 (es decir, se realiza C*D).

; Suma del contenido del registro R1 y R3 y el resultado se almacena en el registro R1 (es decir, (A*B) + (C*D)).

; El contenido del registro R1 se almacena en la ubicación de memoria X. 

Registre la organización en la CPU RISC:

  • La característica de algunas CPU RISC es usar una ventana de registro superpuesta que proporciona el paso de parámetros al procedimiento llamado y almacena el resultado en el procedimiento que llama.
  • Para cada llamada de procedimiento, la nueva ventana de registro se asigna desde el archivo de registro utilizado por el nuevo procedimiento.
  • Cada llamada de procedimiento activa la nueva ventana de registro al incrementar un puntero y la declaración de retorno disminuye el puntero, lo que provoca la activación de la ventana anterior.
  • Las ventanas de procedimientos adyacentes tienen registros superpuestos que se comparten para permitir el paso de parámetros y el almacenamiento de resultados.

Ventana de registro superpuesta de CPU RISC

  • En esta organización, la CPU RISC contiene 74 registros. Los registros R0 a R9 son registros globales que contienen parámetros comunes a todos los procedimientos.
  • Los registros restantes (R10 a R73) se dividen en cuatro ventanas para contener los procedimientos A, B, C y D.
  • Cada ventana contiene 10 registros locales y dos conjuntos de 6 registros comunes a ventanas consecutivas. Los registros locales contienen variables locales y los registros superpuestos comunes ayudan a pasar parámetros entre procedimientos adyacentes sin movimiento real de datos.
  • Una de las ventanas de registro se activa a la vez. Los registros altos del procedimiento de llamada se superponen a los registros bajos de los procedimientos llamados, por lo tanto, los parámetros se pasan fácilmente del procedimiento de llamada al llamado.

Por ejemplo

  • El procedimiento C llamó al procedimiento D. Por lo tanto, los registros R58 a R63 son comunes a los procedimientos C y D. Por lo tanto, el procedimiento C almacena parámetros para el procedimiento D en estos registros. El procedimiento D usa los registros R64 a R73 para almacenar las variables locales.
  • Cuando el procedimiento B regresa después de realizar su cálculo, el resultado de los registros (R26 a R31) se transfiere nuevamente a la ventana A.
  • Los registros R10 a R15 son comunes a los procedimientos A y D, además las cuatro ventanas tienen una organización circular.
  • Como R0 a R9 (es decir, 10 registros) están disponibles todos los procedimientos. Por lo tanto, un procedimiento contiene 32 registros mientras el procedimiento está activo (que incluye 10 registros globales, 10 locales, 6 registros de superposición baja y 6 registros de superposición alta).
  • La organización de las ventanillas de registro tiene la relación como
  • Número de registros globales = g
  • Número de registros locales presentes en cada ventana = l
  • Número de registros comunes a dos ventanas adyacentes = c
  • Número de ventanas = w

Luego, el número de registros disponibles para cada ventana se calcula mediante 

Window size = l+2c+g

El número total de registros requeridos en el procesador es

Register file = (l + c)w+ g

Por ejemplo :

  • En la figura anterior tenemos g= 10, l= 10, c= 6, w= 4, entonces
  • el tamaño de la ventana = 10+2×6+4 = 36 y el tamaño del archivo de registro = (10+6)×4 + 10 = 74

Publicación traducida automáticamente

Artículo escrito por goutamnagpal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *