0x080486ed
0x080486ef
0x080486f1
Autor: Roberto
Cada persona tenía un examen, por lo que hubo muchas versiones de este examen. De una batería de preguntas del profesor (salía de forma aleatoria); por lo que no hay un único examen, sino muchos. No se daban las preguntas corregidas, por lo que no sabemos las resupuestas correctas.
Suponga que la micropalabra de una máquina microprogramada tiene 8 bits de ancho y se usan 16 micropalabras diferentes en un microprograma de 32 micropalabras. Si se usa nanoprogramación...
La técnica de "adelanto de registros" (register forwarding) en un cauce segmentado se usa para limitar el impacto de los riesgos...
Respecto a las unidades de control nanoprogramadas:
La ganancia de velocidad ideal en un cauce de K
etapas de igual duración T
ejecutando un programa de N
instrucciones es:
Una posible codificación en microinstrucciones de la instrucción call X
es:
En un camino de datos con un único bus, para realizar la operación de copia de un registro r1 en un registro r2, es decir r2 <- r1
, es necesario:
En la secuencia de instrucciones siguiente, siendo el primer registro el destino, ¿cuántos riesgos se dan?sub r4,r1,r3
or r8,r6,r4
En la realización de la práctica de la bomba digital compilada en 32 bits, una parte del código máquina es el siguiente:0x080486e8
0x080486ed
0x080486ef
0x080486f1
¿Cuál de los siguientes comandos de gdb cambiaría el salto condicional por un salto incondicional?
Tras dividir 0x00000000 00040000
(en EDX:EAX) entre 0x00008000
(ECX), el resultado será:
En la práctica de la bomba, el primer ejercicio consiste en ir saltando las "explosiones" mientras se depura el código, para lo cual se puede utilizar…
Una función C devuelve el valor de un elemento de un array mediante el siguiente código ensamblador:leaq (%rdi,%rdi,4), %rax
addq %rsi, %rax
movl var(,%rax,4), %eax
retq
Se puede adivinar que:
Si compilamos con -Og
la función:unsigned long f (unsigned long val) {
return val + (val >> 64);
}
Obtenemos:movq %rdi, %rax
movl $64, %ecx
shrq %cl, %rax
addq %rdi, %rax
ret
Teniendo en cuenta que las instrucciones de desplazamiento de números de 64 bits usan sólo los 6 bits menos significativos del número de desplazamientos a realizar, este código:
Respecto a la inicialización de los elementos del array:#define SIZE (1<<16)
for (i=0; i
En x86-64, una función con 10 parámetros de tipo long que devuelve el valor del 8º parámetro y no modifica el puntero de pila puede traducirse a ensamblador como:
En una bomba como las estudiadas en prácticas, del tipo...0x080486e8
0x080486ed
0x080486ef
0x080486f1
la contraseña es...
Se dispone de un procesador, con la siguiente jerarquía de memoria:
Memoria principal: 1GB
Tamaño de línea/bloque: 64B
Nivel 1 cache: 32 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 8 MB de 16 vías
Sobre la memoria cache L3, el tamaño total que ocupan las etiquetas es:
Diseñe un sistema de memoria de 128 KB direccionable por palabras de 16 bits a partir de módulos SRAM de 16Kx2 y ROM de 8Kx4. La memoria SRAM debe ocupar las direcciones 0x0000 a 0xBFFF y la ROM 0xC000 a 0xFFFF. Los módulos necesarios serían:
Se dispone de un procesador, con palabras de 64 bits, con la siguiente jerarquía de memoria:
Memoria principal: 64GB
Tamaño de línea/bloque: 8 palabras
Nivel 1 cache: 64 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 16 MB de 16 vías
Sobre la memoria cache L2, el tamaño total que ocupan las etiquetas es:
Se dispone de un procesador, con palabras de 64 bits, con la siguiente jerarquía de memoria:
Memoria principal: 64GB
Tamaño de línea/bloque: 8 palabras
Nivel 1 cache: 64 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 16 MB de 16 vías
Sobre la memoria cache L2, el campo de etiqueta tiene un tamaño de:
Diseñe un sistema de memoria de 128 KB direccionable por palabras de 16 bits a partir de módulos SRAM de 16Kx4 y ROM de 8Kx2. La memoria SRAM debe ocupar las direcciones 0x0000 a 0xBFFF y la ROM 0xC000 a 0xFFFF. Los módulos necesarios serían:
Se dispone de un procesador, con palabras de 64 bits, con la siguiente jerarquía de memoria:
Memoria principal: 64GB
Tamaño de línea/bloque: 8 palabras
Nivel 1 cache: 64 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 16 MB de 16 vías
Sobre la memoria cache L3, el tamaño total que ocupan las etiquetas es:
Diseñe un sistema de memoria de 128 KB direccionable por palabras de 16 bits a partir de módulos SRAM de 16Kx2 y ROM de 8Kx4. La memoria SRAM debe ocupar las direcciones 0x0000 a 0xBFFF y la ROM 0xC000 a 0xFFFF. Los módulos necesarios serían, respecto a la RAM, serían:
Se dispone de un procesador, con la siguiente jerarquía de memoria:
Memoria principal: 1GB
Tamaño de línea/bloque: 64B
Nivel 1 cache: 32 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 8 MB de 16 vías
Sobre la memoria cache L2, el campo de conjunto tiene un tamaño de:
Se dispone de un procesador, con la siguiente jerarquía de memoria:
Memoria principal: 1GB
Tamaño de línea/bloque: 64B
Nivel 1 cache: 32 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 8 MB de 16 vías
Sobre la memoria cache L3, tamaño total que ocupan los datos es:
Se dispone de un procesador, con la siguiente jerarquía de memoria:
Memoria principal: 1GB
Tamaño de línea/bloque: 64B
Nivel 1 cache: 32 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 8 MB de 16 vías
Sobre la memoria cache L1, el campo de conjunto tiene un tamaño de:
Diseñe un sistema de memoria de 128 KB direccionable por palabras de 16 bits a partir de módulos SRAM de 16Kx4 y ROM de 8Kx2. La memoria SRAM debe ocupar las direcciones 0x0000 a 0xBFFF y la ROM 0xC000 a 0xFFFF. Los módulos necesarios serían, respecto a la SRAM, serían:
Se dispone de un procesador, con la siguiente jerarquía de memoria:
Memoria principal: 1GB
Tamaño de línea/bloque: 64B
Nivel 1 cache: 32 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 8 MB de 16 vías
Sobre la memoria cache L3, el campo de conjunto tiene un tamaño de:
Se dispone de un procesador, con la siguiente jerarquía de memoria:
Memoria principal: 1GB
Tamaño de línea/bloque: 64B
Nivel 1 cache: 32 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 8 MB de 16 vías
Sobre la memoria cache L2, el tamaño total que ocupan las etiquetas es:
Se dispone de un procesador, con palabras de 64 bits, con la siguiente jerarquía de memoria:
Memoria principal: 64GB
Tamaño de línea/bloque: 8 palabras
Nivel 1 cache: 64 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 16 MB de 16 vías
Sobre la memoria cache L1, el campo de conjunto tiene un tamaño de:
Se dispone de un procesador, con la siguiente jerarquía de memoria:
Memoria principal: 1GB
Tamaño de línea/bloque: 64B
Nivel 1 cache: 32 KB de 8 vías
Nivel 2 cache: 256 KB de 4 vías
Nivel 3 cache: 8 MB de 16 vías
Sobre la memoria cache L2, el tamaño total que ocupan los datos es: