Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1) (15%) Relacione el valor de la columna izquierda con el equivalente de la derecha, teniendo en cuenta que
numéricamente son el mismo valor, pero tienen distinta representación:
Valor dado con determinada representación: Otra representación para el mismo valor:
a) -3 en signo y magnitud de 4-bits: 4’b1011 c 16’b0000_0000_1111_1011
___
b) -5 en complemento a dos de 4-bits: 4’b1011 a 16’b1000_0000_0000_0011
___
c) +251 sin signo de 8-bits: 8’hFB e 16’b0000_0000_1111_0011
___
d) -13 en complemento a dos de 8-bits: 8’hF3 b 16’b1111_1111_1111_1011
___
e) +243 en signo y magnitud de 9-bits: 9’hF3 d 16’b1111_1111_1111_0011
___
2) (15%) Una empresa de la ciudad lo quiere contratar a usted para que genere el código en SystemVerilog de
una memoria RAM con capacidad de 512 bytes y bus de datos de 16-bits. Para probar sus habilidades, se le
solicita a usted definir los puertos de entrada y salida del módulo RAM, así también como la definición del
arreglo de almacenamiento para la memoria llamado mRAM:
3) (20%) Un nuevo formato para representar números de punto flotante empleando solo 16-bits ha sido
generado. En este nuevo formato se reservó un bit para el signo, 6 bits para el exponente y 9 bits para la
fracción de la mantisa normalizada como se muestra a continuación:
Representación de punto flotante (16-bits)
S EXPONENTE FRACCIÓN
1b 6b 9b
Sabiendo lo anterior, relacione el valor de la columna izquierda con el valor en el formato de 16-bits de la
columna de la derecha.
Bonus
a) (2%) En la expresión del nuevo formato de 16-bits: 𝑁 = ± 𝑚𝑎𝑛𝑡𝑖𝑠𝑎 𝑥 2𝐸𝑋𝑃 , indique el rango de valores
para 𝐸𝑋𝑃: ________________
b) (2%) Valor máximo que se puede representar en el nuevo formato (decimal): _____________________
Electrónica Digital 2 Examen: temas 1, 2 y 3
Programa de Ingeniería Electrónica Fecha: miércoles 19 de abril de 2023
Universidad de Antioquia Duración: una hora y cuarenta y cinco minutos (1h:45m)
4) (20%) El siguiente programa en ensamblador para el procesador ARM debería inicializar todas las posiciones
del vector vec a cero; sin embargo, por un error de programación, la inicialización no es la correcta.
.text
.equ N, 4
MOV R0, #0
LDR R1, =vec // Carga la dirección en memoria de vec[0]
MOV R2, R0
For1:
CMP R0, #N
BHS EndFor1 // Si R0 >= N, salte a EndFor1
STR R1, [R1], #4 // Almacenamiento con modificación de registro base
ADD R0, R0, #1
B For1
EndFor1:
B EndFor1
.data
vec: .ds.l N // vec es igual a 0x0000_0060
a) (15%) El valor en cada posición del vector cuando el programa es ejecutado hasta encontrar por primera
vez la instrucción B EndFor1. Tenga en cuenta que el vector está ubicado a partir de la dirección
0x0000_0060.
vec[0] ___________ vec[1] ___________ vec[2] ___________ vec[3] ___________
5) (30%) Una empresa de la ciudad lo contrata a usted para que genere un pequeño programa en ensamblador
para el procesador Simple CPU implementado en la Práctica No. 2, además de la correspondiente máquina
de estados. Dicho programa deberá:
a. Esperar a que el valor disponible en la dirección de memoria 0xFA cambie de 0x00 a 0x01.
b. Cuando se produzca el cambio, leer el valor de 8-bits disponible en la dirección de memoria 0xFB y
almacenarlo en uno de los registros.
c. A continuación, obtener el complemento a dos del valor almacenado en el paso anterior, sí su bit más
significativo es igual a uno (1). En caso contrario, no realizar transformación alguna.
d. Luego, escribir el valor obtenido en el paso anterior en la dirección de memoria 0xFC.
e. Finalmente, esperar a que el valor disponible en la dirección de memoria 0xFA cambie de 0x01 a 0x00
para luego repetir al paso a).
a) (20%) El programa en ensamblador que resuelve el problema dado (no requiere codificar las
instrucciones en binario o hexadecimal). Ejemplo:
#1 MOV R0, #0
#2 ADD R1, R2, R3
#3 ... ...
Programa propuesto por usted (su programa no requiere tener el número de líneas dado aquí):
#1 _____________________________ #8 _____________________________
#2 _____________________________ #9 _____________________________
#3 _____________________________ #10 _____________________________
#4 _____________________________ #11 _____________________________
#5 _____________________________ #12 _____________________________
#6 _____________________________ #13 _____________________________
#7 _____________________________ #14 _____________________________
b) (10%) El diagrama de la máquina de estados a introducir en la unidad de control, que establece el flujo
de ejecución de las instrucciones dadas por usted en el numeral anterior (no se requiere código en
SystemVerilog).