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.
- 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