ARQUITECTURA DE ORDENADORES
PRUEBA DE EVALUACIÓN A DISTANCIA
CURSO 2025-26
1. Convertir el número 100101, en código Gray, a código binario natural.
111001
La solución de la IA con notebookLM
Para convertir el número $100101$ en código Gray a binario natural, debemos aplicar el procedimiento técnico descrito en las fuentes (Capítulo 3, apartado 3.5.1.4).
La regla fundamental establece que el bit más significativo se mantiene igual y los siguientes se obtienen mediante la suma modular (operación XOR) entre el bit binario recién calculado y el siguiente bit del código Gray.
Aquí tienes el desarrollo paso a paso:
1. Identificar los bits del código Gray ($G$)
Tenemos un número de 6 bits: $G_5=1, \quad G_4=0, \quad G_3=0, \quad G_2=1, \quad G_1=0, \quad G_0=1$
2. Calcular los bits del binario natural ($B$)
- Bit 5 (MSB): El bit más significativo es idéntico en ambos sistemas. $B_5 = G_5 = 1$
- Bit 4: Sumamos el bit binario anterior ($B_5$) con el bit Gray actual ($G_4$). $B_4 = B_5 \oplus G_4 = 1 \oplus 0 =$ $1$
- Bit 3: $B_3 = B_4 \oplus G_3 = 1 \oplus 0 =$ $1$
- Bit 2: $B_2 = B_3 \oplus G_2 = 1 \oplus 1 =$ $0$ (recordando que $1+1=0$ en binario sin acarreo)
- Bit 1: $B_1 = B_2 \oplus G_1 = 0 \oplus 0 =$ $0$
- Bit 0 (LSB): $B_0 = B_1 \oplus G_0 = 0 \oplus 1 =$ $1$
Resultado Final:
El código Gray $100101$ equivale al código binario natural $111001$.
Resumen del proceso visual: Para pasar de Gray a Binario, se realiza una suma en "zig-zag": bajas el primer bit y luego sumas el resultado obtenido con el siguiente bit del número original para obtener el siguiente bit binario.
¿Te gustaría que cree un set de flashcards para practicar más conversiones entre código Gray y binario, o prefieres que realicemos un quiz rápido sobre los diferentes tipos de códigos binarios (BCD, Gray, Johnson)?
2. Obtener la representación binaria del número decimal 110.592 en formato normalizado IEEE 754 para coma flotante de 32 bits.
$47D80000
La solución de la IA con notebookLM
Para obtener la representación binaria del número decimal $110,592$ en formato IEEE 754 de 32 bits, debemos seguir el procedimiento técnico de conversión de coma fija a coma flotante detallado en las fuentes.
Aquí tienes el desarrollo paso a paso:
1. Determinar el Bit de Signo ($S$)
El número es positivo, por lo tanto, el bit de signo es $S = 0$.
2. Conversión a Binario (Coma Fija)
Debemos convertir por separado la parte entera y la parte fraccionaria.
-
Parte entera ($110$): Realizando divisiones sucesivas por 2: $110 / 2 = 55$ (resto 0) $55 / 2 = 27$ (resto 1) $27 / 2 = 13$ (resto 1) $13 / 2 = 6$ (resto 1) $6 / 2 = 3$ (resto 0) $3 / 2 = 1$ (resto 1) $1 / 2 = 0$ (resto 1) Resultado: $1101110_{(2}$
-
Parte fraccionaria ($0,592$): Realizando multiplicaciones sucesivas por 2: $0,592 \cdot 2 = 1,184$ (parte entera 1) $0,184 \cdot 2 = 0,368$ (parte entera 0) $0,368 \cdot 2 = 0,736$ (parte entera 0) $0,736 \cdot 2 = 1,472$ (parte entera 1) $0,472 \cdot 2 = 0,944$ (parte entera 0) $0,944 \cdot 2 = 1,888$ (parte entera 1) $0,888 \cdot 2 = 1,776$ (parte entera 1) $0,776 \cdot 2 = 1,552$ (parte entera 1) $0,552 \cdot 2 = 1,104$ (parte entera 1) $0,104 \cdot 2 = 0,208$ (parte entera 0) $0,208 \cdot 2 = 0,416$ (parte entera 0) $0,416 \cdot 2 = 0,832$ (parte entera 0) $0,832 \cdot 2 = 1,664$ (parte entera 1) $0,664 \cdot 2 = 1,328$ (parte entera 1) $0,328 \cdot 2 = 0,656$ (parte entera 0) $0,656 \cdot 2 = 1,312$ (parte entera 1) $0,312 \cdot 2 = 0,624$ (parte entera 0) Resultado parcial: $,10010111100011010...$
Uniendo ambas partes, el número en binario es: $1101110,10010111100011010...$
3. Normalización y Exponente Real
Para normalizar, desplazamos la coma hacia la izquierda hasta que solo quede un "1" a su izquierda: $1,10111010010111100011010 \cdot 2^6$
El exponente real es $6$.
4. Calcular el Exponente Desplazado ($E$)
En el formato de 32 bits, se utiliza un exceso a 127: $E = \text{Exponente real} + 127 = 6 + 127 = \mathbf{133}$.
Convertimos 133 a binario de 8 bits: $133 = 128 + 4 + 1 \rightarrow$ $10000101_{(2}$
5. Identificar la Mantisa ($m$)
La mantisa son los bits a la derecha de la coma en el número normalizado, completando hasta 23 bits: $m = \mathbf{10111010010111100011010}$
Resultado Final
Organizando los campos según la estructura $S$ | $E$ | $m$ (Figura 3.4):
- Signo ($1$ bit):
0 - Exponente ($8$ bits):
10000101 - Mantisa ($23$ bits):
10111010010111100011010
Representación binaria completa:
01000010110111010010111100011010
(En hexadecimal, esto equivaldría a $42DD2F1A)
Nota educativa: Recuerda que el "1" a la izquierda de la coma en el formato normalizado es implícito y no se almacena físicamente en la palabra de 32 bits, lo que permite ganar un bit extra de precisión para la mantisa.
¿Te gustaría que cree un set de flashcards para practicar estos pasos de normalización y cálculo de exponente desplazado?
3. Una memoria tiene una capacidad de 1024 kbit y un tamaño de palabra de 32 bits. Indicar cuál es el número de líneas de dirección que precisa para su manejo.
15
La solución de la IA con notebookLM
Para resolver este problema, debemos aplicar los conceptos de capacidad de memoria, tamaño de palabra y la relación entre el número de palabras y las líneas de dirección detallados en el Capítulo 6 de las fuentes.
Aquí tienes la resolución paso a paso:
1. Calcular la capacidad total en bits
Según las fuentes, en el ámbito de la memoria, el prefijo kilo (k) representa $2^{10}$, es decir, 1024 unidades.
- Capacidad dada: $1024 \text{ kbit}$.
- Cálculo: $1024 \times 1024 \text{ bits} = 2^{10} \times 2^{10} \text{ bits} = \mathbf{1.048.576 \text{ bits}}$.
2. Determinar el número total de palabras
La capacidad de una memoria se define como el producto del número de palabras (o registros) por el tamaño de cada palabra. Para hallar el número de palabras ($M$), dividimos la capacidad total por el tamaño de palabra:
- Tamaño de palabra: $32 \text{ bits}$ ($2^5$ bits).
- Cálculo: $1.048.576 \text{ bits} / 32 \text{ bits} = \mathbf{32.768 \text{ palabras}}$.
- En potencias de dos: $2^{20} / 2^5 = \mathbf{2^{15} \text{ palabras}}$.
3. Calcular el número de líneas de dirección
Las fuentes indican que para poder referenciar o direccionar un número $M$ de palabras, se necesitan $m$ líneas de dirección, cumpliéndose la relación $2^m = M$.
- Tenemos $M = 32.768$ palabras ($2^{15}$).
- Buscamos $m$ tal que $2^m = 2^{15}$.
- Por lo tanto, $m = 15$.
Resultado Final:
La memoria precisa de 15 líneas de dirección para su manejo.
Nota educativa: Como se menciona en el ejemplo 6-3 de las fuentes, las líneas de dirección se suelen numerar desde $A_0$ hasta $A_{n-1}$. En este caso, las líneas irían de la $A_0$ a la $A_{14}$.
¿Te gustaría que cree un set de flashcards con estos ejercicios de cálculo de memoria o prefieres un esquema visual que explique la estructura de los buses de direcciones y datos?
4. Determinar si el dato 1000010, recibido en código Hamming, es correcto o bien corregirlo si es necesario.
1010010
La solución de la IA con notebookLM
Para determinar si el dato $1000010$ recibido en código Hamming es correcto o corregirlo, debemos aplicar el procedimiento de verificación mediante los bits de test de paridad ($T_3, T_2, T_1$) detallado en las fuentes.
Este código utiliza un formato de 7 bits donde las posiciones se numeran de izquierda a derecha como $P_7, P_6, P_5, P_4, P_3, P_2, P_1$.
1. Identificación de los bits recibidos
Asignamos cada bit a su posición correspondiente:
- $P_7 = 1$
- $P_6 = 0$
- $P_5 = 0$
- $P_4 = 0$
- $P_3 = 0$
- $P_2 = 1$
- $P_1 = 0$
2. Cálculo de los bits de test (Síndrome)
Calculamos la paridad de los grupos definidos por el estándar de las fuentes (suponiendo paridad par):
- Cálculo de $T_1$ (posiciones 1, 3, 5, 7): $T_1 = P_7 \oplus P_5 \oplus P_3 \oplus P_1$ $T_1 = 1 \oplus 0 \oplus 0 \oplus 0 =$ $1$
- Cálculo de $T_2$ (posiciones 2, 3, 6, 7): $T_2 = P_7 \oplus P_6 \oplus P_3 \oplus P_2$ $T_2 = 1 \oplus 0 \oplus 0 \oplus 1 =$ $0$
- Cálculo de $T_3$ (posiciones 4, 5, 6, 7): $T_3 = P_7 \oplus P_6 \oplus P_5 \oplus P_4$ $T_3 = 1 \oplus 0 \oplus 0 \oplus 0 =$ $1$
3. Análisis del resultado
El valor obtenido para los bits de test es $(T_3, T_2, T_1) = (101)_2$.
- Convertimos el síndrome a decimal: $1 \cdot 2^2 + 0 \cdot 2^1 + 1 \cdot 2^0 = \mathbf{5}$.
- Como el resultado es distinto de cero ($000$), el dato es incorrecto.
- El valor decimal indica la posición del bit erróneo: la posición 5 ($P_5$).
4. Corrección del dato
Para corregir el error, debemos invertir el bit situado en la posición 5 ($P_5$):
- Dato original en $P_5$: 0
- Dato corregido en $P_5$: 1
Resultado Final:
El dato recibido es incorrecto. La palabra corregida es: $$1010010$$
Nota educativa: En un sistema real, una vez corregida la palabra, se extraen los bits de datos ($P_7, P_6, P_5, P_3$) para obtener el mensaje original. En este caso, el dato original transmitido sería $1010$.
¿Te gustaría que cree un set de flashcards con las fórmulas de los bits de test de Hamming o prefieres un quiz para practicar la detección de errores en otras secuencias?
5. Indicar el rango en el que están comprendidos los valores decimales que se pueden representar en el convenio del complemento a dos con formato de 11 bits, incluido el signo.
[-1024, +1023]
La solución de la IA con notebookLM
Para determinar el rango de valores decimales que se pueden representar con 11 bits en el convenio del complemento a dos, aplicaremos la fórmula técnica proporcionada en las fuentes para este sistema de representación.
A diferencia de los convenios de signo-magnitud o complemento a uno, el complemento a dos tiene un rango asimétrico porque utiliza una única representación para el valor cero, lo que permite representar un número negativo adicional.
Pasos para la resolución:
-
Identificar el número de bits ($n$): El problema indica un formato de $n = 11$ bits (incluyendo ya el bit de signo).
-
Aplicar la fórmula del rango para complemento a dos: Según las fuentes, el intervalo de valores viene definido por la expresión: $$[-2^{n-1}, \quad 2^{n-1}-1]$$
-
Realizar los cálculos:
- Calcular el exponente ($n-1$): $11 - 1 = 10$.
- Calcular la potencia de dos ($2^{10}$): Como se indica en las fuentes en contextos de capacidad de memoria, $2^{10} = \mathbf{1024}$.
- Límite inferior: $-2^{10} = \mathbf{-1024}$.
- Límite superior: $2^{10} - 1 = 1024 - 1 = \mathbf{1023}$.
Resultado Final:
El rango de valores decimales representables con 11 bits en complemento a dos es: $$[-1024, +1023]$$
Nota comparativa según las fuentes: Si utilizaras este mismo formato de 11 bits en los convenios de signo-magnitud o complemento a uno, el rango sería simétrico y ligeramente menor: $[-1023, +1023]$. Esto se debe a que esos sistemas desperdician una combinación al tener dos representaciones para el número cero ($+0$ y $-0$).
¿Te gustaría que cree un set de flashcards centrado en las diferencias de rango entre estos tres convenios, o prefieres que realicemos un quiz sobre aritmética binaria?
6. Calcular la distancia entre la combinación binaria 10011001 y la 10101001.
2
La solución de la IA con notebookLM
El sistema no ha podido responder.
7. Dada la siguiente función lógica de cuatro variables:
f = M2 ∙ M3 ∙ M4 ∙ M6 ∙ M9 ∙ M12 ∙ M14
Determinar la primera forma canónica de la función.
Sumatorio(0, 2, 4, 5, 7, 8, 10, 14,
La solución de la IA con notebookLM (recordar que la IA se equivoca)
Para determinar la primera forma canónica de la función a partir de su segunda forma canónica, seguiremos el procedimiento técnico de conversión entre minterms y maxterms detallado en las fuentes.
1. Análisis de la función dada
La función está expresada en su segunda forma canónica (producto de maxterms), lo que indica los índices de las combinaciones para las cuales la función vale cero: $$f = M_2 \cdot M_3 \cdot M_4 \cdot M_6 \cdot M_9 \cdot M_{12} \cdot M_{14}$$ Esto significa que el conjunto de índices donde $f=0$ es: ${2, 3, 4, 6, 9, 12, 14}$.
2. Determinación del número de combinaciones
Al ser una función de cuatro variables, el número total de combinaciones posibles es $2^n = 2^4 = \mathbf{16}$. Estos índices están comprendidos en el rango del 0 al 15.
3. Obtención de la primera forma canónica
La primera forma canónica (suma de minterms) se obtiene identificando todas aquellas combinaciones para las cuales la función vale uno. Según las fuentes, estas son precisamente las combinaciones que no aparecen en la lista de maxterms de la función:
- Índices totales (0-15): ${0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}$
- Maxterms presentes ($f=0$): ${2, 3, 4, 6, 9, 12, 14}$
- Minterms resultantes ($f=1$): ${0, 1, 5, 7, 8, 10, 11, 13, 15}$
4. Resultado final
La primera forma canónica se expresa como la suma ($\sum$) de los minterms ($m_i$) correspondientes a los índices donde la función es uno:
$$f(A, B, C, D) = \sum(0, 1, 5, 7, 8, 10, 11, 13, 15)$$
También puede expresarse de forma extendida como: $$f = m_0 + m_1 + m_5 + m_7 + m_8 + m_{10} + m_{11} + m_{13} + m_{15}$$
Nota educativa: En la primera forma canónica, cada minterm $m_i$ representa una combinación donde la función es verdadera. Si tuvieras que simplificar esta función posteriormente, estos nueve miniterminos serían los que colocarías como "1" en un mapa de Karnaugh de 16 casillas.
¿Te gustaría que cree un set de flashcards para practicar la conversión entre formas canónicas o prefieres que realicemos la simplificación de esta función mediante el método de Karnaugh?
8. Obtener el equivalente decimal del número $3DC8 0000 suponiendo que se utiliza el formato normalizado IEEE 754 para coma flotante de 32 bits.
0,09765625
La solución de la IA con notebookLM
Para obtener el equivalente decimal del número hexadecimal $3DC8 0000 utilizando el formato IEEE 754 de 32 bits, debemos seguir el procedimiento de descomposición de campos (Signo, Exponente y Mantisa) detallado en las fuentes.
1. Conversión de Hexadecimal a Binario
Primero, convertimos cada dígito hexadecimal en su equivalente de 4 bits:
- 3 =
0011 - D =
1101 - C =
1100 - 8 =
1000 - 0 =
0000(repetido cuatro veces)
El número completo en binario es:
0 01111011 10010000000000000000000
2. Identificación de los campos (según Figura 3.4)
Siguiendo la estructura de almacenamiento de las fuentes:
- Bit de Signo (S): Es el bit 31 $\rightarrow$ 0. Al ser 0, el número es positivo.
- Exponente (E): Son los siguientes 8 bits (del 30 al 23) $\rightarrow$
01111011.- Convertimos a decimal: $64+32+16+8+2+1 = \mathbf{123}$.
- Mantisa (m): Son los 23 bits restantes $\rightarrow$
10010000000000000000000.
3. Aplicación de la fórmula IEEE 754
La expresión general es: $N = (-1)^S \cdot 2^{E-127} \cdot (1,m)$.
-
Cálculo del exponente real: El exponente está desplazado en exceso a 127. $E_{real} = E - 127 = 123 - 127 = \mathbf{-4}$.
-
Cálculo de la mantisa normalizada ($1,m$): Añadimos el "1" implícito que no se almacena en memoria. $(1,m) = 1,1001_{(2}$ (en binario). Pasamos a decimal: $1 \cdot 2^0 + 1 \cdot 2^{-1} + 0 \cdot 2^{-2} + 0 \cdot 2^{-3} + 1 \cdot 2^{-4} = 1 + 0,5 + 0,0625 = \mathbf{1,5625}$.
4. Resultado Final
Sustituimos todos los valores: $N = (+1) \cdot 2^{-4} \cdot 1,5625$ $N = 1,5625 \cdot \frac{1}{16}$ $N = 0,09765625$
El equivalente decimal del número es 0,09765625.
¿Te gustaría que cree un set de flashcards con los pasos clave para realizar estas conversiones de coma flotante o prefieres que resuelva un caso especial como el infinito o el NaN (Not a Number)?
9. Un computador que trabaja a una frecuencia de 160 MHz tarda en ejecutar una instrucción 250 ns. ¿Cuántos ciclos de reloj ha consumido?
Nº Ciclos = Ti / P = 250 ns / 6,25 ns = 40 ciclos de reloj
La solución de la IA con notebookLM
Para resolver este problema, debemos aplicar la relación fundamental entre la frecuencia de reloj ($f$) y el periodo de ciclo ($T$), así como el cálculo del tiempo de ejecución total detallado en las fuentes.
Aquí tienes la solución paso a paso:
1. Identificar los datos del problema
- Frecuencia ($f$): $160 \text{ MHz}$ ($160 \times 10^6 \text{ hercios}$).
- Tiempo de ejecución ($t$): $250 \text{ ns}$ ($250 \times 10^{-9} \text{ segundos}$).
2. Calcular el periodo de un ciclo de reloj ($T$)
El reloj es un oscilador de frecuencia fija donde el tiempo transcurrido entre dos flancos del mismo tipo se denomina periodo ($T$), y es la inversa de la frecuencia ($T = 1/f$).
$$T = \frac{1}{160 \text{ MHz}} = \frac{1}{160 \times 10^6 \text{ s}^{-1}} = 6,25 \times 10^{-9} \text{ s} = \mathbf{6,25 \text{ ns}}$$.
3. Calcular el número de ciclos consumidos
Según las fuentes, la ejecución de una instrucción siempre dura un número entero de periodos o ciclos de reloj. Para hallar cuántos ciclos se han consumido, dividimos el tiempo total de la instrucción entre la duración de un solo ciclo:
$$\text{Ciclos} = \frac{\text{Tiempo total de instrucción}}{\text{Periodo del reloj (T)}}$$.
$$\text{Ciclos} = \frac{250 \text{ ns}}{6,25 \text{ ns}} = \mathbf{40 \text{ ciclos}}$$.
Resultado Final:
El computador ha consumido 40 ciclos de reloj para ejecutar la instrucción.
Nota educativa: Como se observa en el ejemplo 6-6 de las fuentes, si se doblara la frecuencia del reloj, la instrucción se ejecutaría en la mitad de tiempo manteniendo el mismo número de ciclos, lo que ilustra cómo la velocidad de procesamiento depende directamente de este parámetro.
¿Te gustaría que cree un set de flashcards con estas fórmulas de rendimiento o prefieres que realicemos un quiz sobre la estructura de la unidad de control y los cronogramas de instrucciones?
10. Simplificar mediante el método de Karnaugh la siguiente función
lógica: Mapa de Karnaugh de cuatro variables (forma de minterms)
solución es !a!b + b!cd
La solución de la IA con notebookLM































