Requisito previo: instrucciones básicas de computadora , formatos de instrucción
Un formato de instrucción define los diferentes componentes de una instrucción. Los componentes principales de una instrucción son el código de operación (qué instrucción se ejecutará) y los operandos (datos sobre qué instrucción se ejecutará). Estos son los diferentes términos relacionados con el formato de instrucción:
- Tamaño del conjunto de instrucciones: indica el número total de instrucciones definidas en el procesador.
- Tamaño del código de operación: es la cantidad de bits ocupados por el código de operación que se calcula tomando el registro del tamaño del conjunto de instrucciones.
- Tamaño del operando: es el número de bits que ocupa el operando.
- Tamaño de la instrucción: se calcula como la suma de los bits ocupados por el código de operación y los operandos.
En este artículo, discutiremos diferentes tipos de problemas basados en el formato de instrucción que se solicitan en GATE. Para obtener detalles sobre los diferentes tipos de formatos de instrucción, puede consultar: Formatos de instrucción
Tipo 1: dado el tamaño del conjunto de instrucciones y el tamaño de los operandos y su conteo, encuentre el tamaño de la instrucción.
En este tipo de preguntas, se le dará el tamaño del conjunto de instrucciones, la cantidad de operandos y su tamaño, debe averiguar el tamaño de la instrucción.
Que-1. Considere un procesador con 64 registros y un conjunto de instrucciones de tamaño doce. Cada instrucción tiene cinco campos distintos, a saber, código de operación, dos identificadores de registro de origen, un identificador de registro de destino y un valor inmediato de doce bits. Cada instrucción debe almacenarse en la memoria de forma alineada con bytes. Si un programa tiene 100 instrucciones, la cantidad de memoria (en bytes) consumida por el texto del programa es ____________. (PUERTA 2016)
(A) 100
(B) 200
(C) 400
(D) 500
Solución: Se puede abordar como:
- La instrucción consta de código de operación y operandos. Dado el conjunto de instrucciones de tamaño 12, se requieren 4 bits para el código de operación (2^4 = 16).
- Como hay un total de 64 registros, se requieren 6 bits para identificar un registro.
- Como la instrucción contiene 3 registros (2 fuente + 1 designación), se requieren 3 * 6 = 18 bits para los identificadores de registro.
- Se requieren 12 bits para el valor inmediato dado.
- Bits totales para una instrucción = 4 + 18 + 12 = 34 bits
- Se requiere que las instrucciones se almacenen de forma alineada por bytes. El límite de bytes más cercano después de 34 bits está en 40 bits (5 bytes).
- Por lo tanto, para 100 instrucciones, la memoria requerida es 5 * 100 = 500 bytes y la opción correcta es (D).
Tipo 2: dado el tamaño de la instrucción, el tamaño del código de operación y el tamaño de algunos operandos, encuentre el tamaño y el valor máximo de los operandos restantes.
En este tipo de preguntas, se le dará el tamaño de la instrucción, el tamaño del código de operación, el número de operandos y el tamaño de algunos operandos, debe averiguar el tamaño o el valor máximo de los operandos restantes.
Que-2. Un procesador tiene 40 instrucciones distintas y 24 registros de propósito general. Una palabra de instrucción de 32 bits tiene un código de operación, dos operandos de registro y un operando inmediato. El número de bits disponibles para el campo de operando inmediato es _______. (PUERTA CS 2016)
Solución: Se puede abordar como:
- Como el procesador tiene 40 instrucciones, número de bits para opcode = 6 (2^6 = 64)
- Como el procesador tiene 24 registros, número de bits para un registro = 5 (2^5 = 32)
- Bits totales ocupados por 2 registros y código de operación = 6 + 5 + 5 = 16.
- Como el tamaño de instrucción dado es de 32 bits, el bit restante queda para el operando = 32-16 = 16 bits.
Que-3. Una máquina tiene una arquitectura de 32 bits, con instrucciones largas de 1 palabra. Tiene 64 registros, cada uno de los cuales tiene 32 bits de longitud. Necesita admitir 45 instrucciones, que tienen un operando inmediato además de dos operandos de registro. Suponiendo que el operando inmediato es un entero sin signo, el valor máximo del operando inmediato es ___________. (PUERTA CS 2014)
Solución: Se puede abordar como:
- Como la máquina tiene una arquitectura de 32 bits, por lo tanto, 1 palabra = 32 bits = tamaño de instrucción
- Como el procesador tiene 64 registros, número de bits para un registro = 6 (2^6 = 64)
- Como el procesador tiene 45 instrucciones, número de bits para opcode = 6 (2^6 = 64)
- Bits totales ocupados por 2 registros y código de operación = 6 + 6 + 6 = 18.
- Como el tamaño de instrucción dado es de 32 bits, el bit restante queda para el operando inmediato = 32-18 = 14 bits.
- Valor máximo sin signo usando 14 bits = 2^14 – 1 = 16383 que es la respuesta.
Tipo 3: Formato de instrucciones con diferentes categorías de instrucciones
En este tipo de preguntas, se le darán diferentes categorías de instrucciones. Tienes que encontrar el máximo posible de instrucciones de un tipo dado.
Que-4. Un procesador tiene 16 registros de enteros (R0, R1, …, R15) y 64 registros de coma flotante (F0, F1, …, F63). Utiliza un formato de instrucción de 2 bytes. Hay cuatro categorías de instrucciones: tipo 1, tipo 2, tipo 3 y tipo 4. La categoría tipo 1 consta de cuatro instrucciones, cada una con 3 operandos de registro de enteros (3R). La categoría de tipo 2 consta de ocho instrucciones, cada una con 2 operandos de registro de coma flotante (2F). La categoría de tipo 3 consta de catorce instrucciones, cada una con un operando de registro entero y un operando de registro de punto flotante (1R+1F). La categoría de tipo 4 consta de N instrucciones, cada una con un operando de registro de punto flotante (1F).
El valor máximo de N es ________. (GATE-CS-2018)
Solución: Se puede abordar como:
- Como la máquina tiene un formato de instrucción de 2 bytes = 16 bits, por lo tanto, posibles codificaciones = 2^16.
- Como el procesador tiene 16 registros de enteros, el número de bits para un registro de enteros = 4 (2^4 = 16)
- Como el procesador tiene 64 registros de coma flotante, el número de bits para un registro de coma flotante = 6 (2^6 = 64).
- Para la categoría de tipo 1 que tiene 4 instrucciones, cada una con 3 operandos de registro de enteros (4*3 = 12 bits), consumirá 4 * 2^12 = 2^14 codificaciones.
- Para la categoría de tipo 2 que tiene 8 instrucciones, cada una con 2 operandos de registro de punto flotante (2*6 = 12 bits) consumirá 8 * 2^12 = 2^15 codificaciones.
- Para la categoría de tipo 3 que tiene 14 instrucciones, cada una de las cuales tiene 1 registro entero y 1 registro de coma flotante, los operandos (4 + 6 = 10 bits) consumirán 14 * 2^10 = 14336 codificaciones.
- Para instrucciones de categoría tipo 4, número de codificaciones restantes = 2^16 – 2^14 – 2^15 – 14336 = 2048.
- Para la categoría de tipo 4 que tiene N instrucciones, cada una de las cuales tiene 1 operando de registro de coma flotante (6 bits), consumirá N* 2^6 = 2048 (calculado a partir del paso anterior). Por lo tanto, N = 32.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA