- Fíjate en las filas donde S=1: son las filas (0,1,1), (1,0,1), (1,1,0) y (1,1,1). ¿Qué tienen en común? En todas ellas hay al menos dos entradas que valen 1 a la vez.
- Prueba la opción b (XOR, A⊕B⊕C): da 1 cuando hay un número impar de 1s. En la fila (0,0,1) solo hay un 1 → XOR=1, pero la tabla dice S=0. Descartada.
- Prueba la opción d (A+B+C): da 1 con cualquier entrada a 1. En la fila (0,0,1) hay un 1 → daría 1, pero S=0. Descartada.
- Prueba la opción a (A·B + A·C + B·C). Para la fila (0,0,1): A·B=0, A·C=0, B·C=0 → S=0 ✓. Para la fila (0,1,1): A·B=0, A·C=0, B·C=1 → S=1 ✓. Comprueba todas las filas: coincide exactamente.
- 💭 Clave mental: esta función da 1 solo cuando al menos DOS de las tres entradas son 1 simultáneamente. Se llama «función mayoría».
La función A·B + A·C + B·C se llama función mayoría: la salida vale 1 cuando la mayoría de las entradas (al menos 2 de las 3) valen 1. Los tres términos cubren exactamente los cuatro minterms donde S=1: {3, 5, 6, 7}.
La opción b (XOR) produciría S=1 en las filas {1,2,4,7} — no coincide. La d (OR) produciría S=1 en {1,2,3,4,5,6,7} — tampoco. La c usa complementos que producen el resultado contrario.
- Lee el enunciado: «función de 3 variables». Calcula cuántos índices existen: 2³ = 8 → índices válidos: {0, 1, 2, 3, 4, 5, 6, 7}
- Los minterms dados son: {0, 1, 2, 5}. Escríbelos en un papel y táchales del conjunto completo.
- Los índices que quedan sin tachar son los maxterms: {0,1,2,3,4,5,6,7} − {0,1,2,5} = {3, 4, 6, 7}
- Mira las opciones: b, c y d contienen números como 9, 16, 36, 49… imposibles para 3 variables (el máximo es 7). Solo la opción a tiene índices válidos.
- 💭 Regla universal: ΠM siempre contiene los índices que NO están en Σm. Son complementarios.
Con n=3 variables los índices válidos son {0,1,...,7}. Los minterms ocupan {0,1,2,5}, así que los maxterms son el complemento: {3,4,6,7}.
Las opciones b, c y d contienen índices imposibles (≥8 para 3 variables), lo que las invalida directamente sin necesidad de calcular nada.
- Lee la capacidad del chip: 4 KB. Conviértela a número de localidades (bytes): 4 KB = 4 × 1024 = 4096 localidades
- Busca qué potencia de 2 da 4096. Ve probando: 2¹⁰ = 1024 (no) 2¹¹ = 2048 (no) 2¹² = 4096 ✓
- Necesitas 12 bits. Con 12 bits puedes contar de 0 a 4095, que es exactamente el rango de celdas del chip.
- Verifica el resto de opciones: 16 bits → 65536 celdas (demasiado); 8 bits → 256 celdas (demasiado poco); 2 bits → solo 4 celdas (ridículo).
- 💭 Atajo: 1 KB = 2¹⁰, 2 KB = 2¹¹, 4 KB = 2¹², 8 KB = 2¹³, 16 KB = 2¹⁴. Memoriza esta tabla.
4 KB = 4096 = 2¹², por tanto se necesitan 12 bits para las líneas de dirección que seleccionan celda dentro del chip (A₀–A₁₁).
16 bits cubriría chips de 64 KB, 8 bits solo 256 B, y 2 bits solo 4 celdas — ninguno coincide con la capacidad de 4 KB.
- Convierte el dividendo a decimal. 30₁₆ tiene dígitos «3» y «0». Posición 1 (desde derecha, empezando en 0): 30₁₆ = 3 × 16¹ + 0 × 16⁰ = 48 + 0 = 48₁₀
- Convierte el divisor a decimal. 1000₂ tiene un «1» solo en la posición 3 (contando desde 0 por la derecha): 1000₂ = 1 × 2³ + 0 × 2² + 0 × 2¹ + 0 × 2⁰ = 8 + 0 + 0 + 0 = 8₁₀
- Divide en decimal: 48₁₀ ÷ 8₁₀ = 6₁₀
- Convierte el resultado a octal. El 6 es menor que 8 (un solo dígito octal), así que no necesitas conversión: 6₁₀ = 6₈
- Comprueba las otras opciones: 1010₂=10, 10₁₀=10, 15₁₆=21. Ninguno es 6. Solo 6₈ es correcto.
- 💭 Regla de oro: ante una operación con distintas bases → todo a decimal, opera, convierte el resultado.
0x30 = 48₁₀ y 1000₂ = 8₁₀. La división 48÷8 = 6, que en octal sigue siendo 6₈ (los dígitos 0-7 son idénticos en decimal y octal).
Las otras opciones representan el valor 10 o el 21 en decimal — ninguno es el cociente correcto.
- Identifica el orden de conexión de las entradas al decoder. En la imagen: D→S0 (peso 1), C→S1 (peso 2), B→S2 (peso 4), A→S3 (peso 8). La fórmula del índice es: índice = 8·A + 4·B + 2·C + 1·D
- Calcula el índice del primer término A·B·C·D̄: A=1,B=1,C=1,D=0 8·1 + 4·1 + 2·1 + 1·0 = 8+4+2+0 = 14 → salida 14
- Calcula el índice del segundo término Ā·B̄·C̄·D: A=0,B=0,C=0,D=1 8·0 + 4·0 + 2·0 + 1·1 = 0+0+0+1 = 1 → salida 01
- Calcula el índice del tercer término Ā·B·C·D̄: A=0,B=1,C=1,D=0 8·0 + 4·1 + 2·1 + 1·0 = 0+4+2+0 = 6 → salida 06
- Las salidas 01, 06 y 14 deben conectarse a una puerta OR. Busca el circuito que tenga exactamente esas tres conexiones con OR → Circuito 2.
- 💭 Truco: cada término de un minterm con 4 variables es simplemente su índice binario. Escríbelo como 4 bits y ya tienes ABCD.
Los tres términos de la función corresponden a los minterms 1, 6 y 14 del decoder. Para salidas activas-altas, la operación OR de esas salidas implementa la función. El circuito 2 conecta exactamente las salidas 01, 06 y 14 a una puerta OR.
- Localiza todos los ceros en el K-map. Los ceros están en: {1,3,5,7} y {8,10,12,14}.
- Primer grupo {1,3,5,7}. Escríbelos en binario (4 bits ABCD): 1 = 0001 (A=0,B=0,C=0,D=1) 3 = 0011 (A=0,B=0,C=1,D=1) 5 = 0101 (A=0,B=1,C=0,D=1) 7 = 0111 (A=0,B=1,C=1,D=1) Las variables constantes son: A=0 y D=1. B y C cambian → no aparecen. Aplica regla POS: A=0 → escribe A; D=1 → escribe D̄. → Término: (A + D̄)
- Segundo grupo {8,10,12,14}. En binario: 8 = 1000 (A=1,B=0,C=0,D=0) 10 = 1010 (A=1,B=0,C=1,D=0) 12 = 1100 (A=1,B=1,C=0,D=0) 14 = 1110 (A=1,B=1,C=1,D=0) Constantes: A=1 y D=0. Aplica regla POS: A=1 → escribe Ā; D=0 → escribe D. → Término: (Ā + D)
- Multiplica los dos paréntesis: POS = (A + D̄) · (Ā + D)
- 💭 Regla POS de memoria: para los ceros, el «0 se va sin complementar, el 1 se complementa». Es el inverso de la regla SOP.
Los ceros se agrupan en {1,3,5,7} donde A=0 y D=1 → (A+D̄), y en {8,10,12,14} donde A=1 y D=0 → (Ā+D). Las variables B y C no aparecen porque cambian dentro de cada grupo.
Curioso: esta expresión POS es equivalente a la expresión SOP de la pregunta 10 — son la misma función escrita de dos formas distintas.
- Escribe la expresión que vas a implementar: (A + D̄)·(Ā + D). Necesitas las variables A y D. Descarta inmediatamente los circuitos que usen B, C u otras variables.
- Diseña mentalmente el circuito correcto:
- Puerta OR 1: entradas A (directa) y D̄ (D con inversor)
- Puerta OR 2: entradas Ā (A con inversor) y D (directa)
- Puerta AND: une las dos salidas OR
- Mira los circuitos: los que usan C y D (nº 1 y 4) → descartados (C no es la variable correcta).
- Entre los que usan A y D (nº 2 y 3), busca cuál tiene la inversión correcta: una burbuja en D para la primera OR, una burbuja en A para la segunda OR. Ese es el circuito 3.
- 💭 Método: escribe qué variables necesita la función, dibuja el esquema en papel, y luego busca el circuito que lo hace igual.
La función POS (A+D̄)·(Ā+D) solo involucra A y D, descartando los circuitos 1 y 4 (que usan C). El circuito 3 implementa correctamente la estructura OR-AND con una burbuja (inversión) en D para la primera OR y una burbuja en A para la segunda OR.
- El estado inicial es Q1=Q2=Q3=1. En binario eso es «111» = 7 en decimal. Todas las señales empiezan en ALTO.
- El circuito con realimentación T1=Q3 produce un contador descendente: cuenta 7→6→5→4→3→2→1→0→7→6→…
- Traza la secuencia estado a estado: CLK0: Q3=1 Q2=1 Q1=1 (inicio, estado 7) CLK1: Q3=1 Q2=1 Q1=0 (estado 6) CLK2: Q3=1 Q2=0 Q1=1 (estado 5) CLK3: Q3=1 Q2=0 Q1=0 (estado 4) CLK4: Q3=0 Q2=1 Q1=1 (estado 3) CLK5: Q3=0 Q2=1 Q1=0 (estado 2) CLK6: Q3=0 Q2=0 Q1=1 (estado 1) CLK7: Q3=0 Q2=0 Q1=0 (estado 0) CLK8: Q3=1 Q2=1 Q1=1 (vuelve al 7)
- De la tabla anterior se ve: Q1 cambia cada ciclo de reloj. Q2 cambia cada 2 ciclos. Q3 cambia cada 4 ciclos y permanece en 1 durante los primeros 4 pulsos.
- La captura correcta debe mostrar que todas las señales arrancan en alto (1), y Q3 es la más lenta. Eso corresponde a la captura 4.
- 💭 Cómo leer un oscilograma: el eje X es el tiempo (cada división = un pulso de CLK), el eje Y es el nivel lógico (alto=1, bajo=0). Una señal «alta» durante 4 ciclos antes de bajar indica que tiene periodo 8.
El contador arranca en 111 (=7) y cuenta descendentemente. Q1 alterna cada ciclo (periodo 2T), Q2 cada 2 ciclos (4T) y Q3 cada 4 ciclos (8T). Las tres señales comienzan en alto. La captura 4 es la única que refleja este patrón con todas las señales iniciando en 1.
- Datos del sistema: memoria total = 16 KB, tamaño de cada chip = 4 KB.
- Calcula cuántos chips hay: número de chips = 16 KB ÷ 4 KB = 4 chips
- ¿Cuántos bits necesito para distinguir 4 chips? Busca x tal que 2ˣ=4: 2¹ = 2 (no llega) 2² = 4 ✓ → necesito x = 2 bits
- Con 2 bits puedo nombrar los chips: 00→RAM0, 01→RAM1, 10→RAM2, 11→RAM3. Perfecto.
- 💭 Relación con P3: el bus de direcciones total tiene 14 bits (para 16 KB = 2¹⁴). Los 12 bits bajos (A₀–A₁₁) son dirección interna. Los 2 bits altos (A₁₂, A₁₃) son chip select. 12+2 = 14 ✓
16 KB / 4 KB = 4 chips. Para seleccionar entre 4 chips se necesita log₂(4) = 2 bits. Con esos dos bits se pueden codificar las 4 combinaciones: 00 (RAM0), 01 (RAM1), 10 (RAM2), 11 (RAM3).
- Localiza todos los unos en el K-map: {0,2,4,6,9,11,13,15}.
- Primer grupo {0,2,4,6}. En binario (ABCD): 0 = 0000 (A=0,B=0,C=0,D=0) 2 = 0010 (A=0,B=0,C=1,D=0) 4 = 0100 (A=0,B=1,C=0,D=0) 6 = 0110 (A=0,B=1,C=1,D=0) Constantes: A=0 y D=0. B y C varían → no aparecen. Regla SOP: A=0 → escribe Ā; D=0 → escribe D̄. → Término: Ā·D̄
- Segundo grupo {9,11,13,15}. En binario: 9 = 1001 (A=1,B=0,C=0,D=1) 11 = 1011 (A=1,B=0,C=1,D=1) 13 = 1101 (A=1,B=1,C=0,D=1) 15 = 1111 (A=1,B=1,C=1,D=1) Constantes: A=1 y D=1. Regla SOP: A=1 → escribe A; D=1 → escribe D. → Término: A·D
- Suma los dos términos: SOP = A·D + Ā·D̄
- 💭 Regla SOP de memoria: para los unos, el «1 se queda tal cual, el 0 se complementa».
Los unos se agrupan en {0,2,4,6} donde A=0 y D=0 → Ā·D̄, y en {9,11,13,15} donde A=1 y D=1 → A·D. Esta función es el XNOR de A y D: da 1 cuando A y D tienen el mismo valor.
- Convierte el tamaño de cada chip a hexadecimal: 4 KB = 4 × 1024 = 4096 bytes = 0x1000 (en hex)
- Rellena el mapa chip por chip, sumando 0x1000 cada vez: RAM0: inicio 0x0000, fin 0x0000 + 0x1000 - 1 = 0x0FFF RAM1: inicio 0x1000, fin 0x1000 + 0x1000 - 1 = 0x1FFF RAM2: inicio 0x2000, fin 0x2000 + 0x1000 - 1 = 0x2FFF ← respuesta RAM3: inicio 0x3000, fin 0x3000 + 0x1000 - 1 = 0x3FFF
- Suma de comprobación: 4 chips × 0x1000 = 0x4000 = 16 KB ✓
- 💭 Truco hex: 4 KB = 0x1000. Simplemente suma 0x1000 a la dirección de inicio anterior para obtener la siguiente. En hex, 0x0FFF + 1 = 0x1000, 0x1FFF + 1 = 0x2000, etc.
Cada chip ocupa 0x1000 posiciones. Contando desde 0: RAM0 (0x0000–0x0FFF), RAM1 (0x1000–0x1FFF), RAM2 (0x2000–0x2FFF), RAM3 (0x3000–0x3FFF).
- Escribe la expresión: A·D + Ā·D̄. Solo intervienen A y D. Los circuitos que usen otras variables están mal.
- Diseña el circuito correcto mentalmente:
- AND 1: entradas A (directa) y D (directa) → salida A·D
- AND 2: entradas Ā (A invertida) y D̄ (D invertida) → salida Ā·D̄
- OR final: une ambas salidas → A·D + Ā·D̄
- Descarta los circuitos 2 (usa C y D), 3 (usa B y C) y 4 (usa A y B) — variables incorrectas.
- El circuito 1 usa A y D con dos puertas AND (una con ambas entradas directas, otra con ambas invertidas) y una puerta OR final. Es la estructura correcta.
- 💭 Curiosidad: A·D + Ā·D̄ es la función XNOR(A,D) — da 1 cuando A y D son iguales.
SOP = A·D + Ā·D̄ solo usa A y D. La estructura AND-OR correcta tiene dos puertas AND (una con A,D directas; otra con A,D negadas) conectadas a una OR. El circuito 1 implementa exactamente eso.