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 ____________
[Tenga en cuenta que esta era originalmente una pregunta para completar los espacios en blanco]
(A) 100
(B) 200
(C) 400
(D) 500
Respuesta: (D)
Explicación: una instrucción se divide en cinco partes,
- (1) : El código de operación: como tenemos un conjunto de instrucciones de tamaño 12, un código de operación de instrucción se puede identificar por 4 bits, como 2 ^ 4 = 16 y no podemos ir menos.
- (2) y (3) : dos identificadores de registros de origen: como hay un total de 64 registros, se pueden identificar mediante 6 bits. Como son dos, es decir, 6 bits + 6 bits.
- (4) : Un identificador de registro de destino. De nuevo, será de 6 bits.
- (5) : Un valor inmediato de doce bits – 12 bits.
Sumándolos todos obtenemos,
= 4 + 6 + 6 + 6 + 12 = 34 bit = 34/8 byte = 4.25 byte
Tal como se indica Cada instrucción debe almacenarse en la memoria de forma alineada por bytes, 4.25 no es una alineación de bytes, la dirección de la memoria debe ser 0,1,2,3,4,5,6,7… por lo que debe ser 5 bytes
Como hay 100 instrucciones, tenemos un tamaño de 5*100= 500 bytes.
Por lo tanto (D) 500 es la respuesta.
Cuestionario de esta pregunta
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