Temario Maestro · Sistemas Digitales

1.º Grado en Ingeniería Informática · UAX · Convocatoria extraordinaria · Teoría completa desde cero, sin dar nada por sabido. Todos los ejemplos numéricos y todos los mapas están verificados con Python (_verif_sistemas.py).

1 · Conceptos básicos: cómo guarda información un ordenador

Bit (binary digit, «dígito binario»): la unidad mínima de información. Solo puede valer 0 o 1 (apagado/encendido, falso/verdadero, 0 V / 5 V).
Byte (u octeto): grupo de 8 bits. Puede tomar 2⁸ = 256 valores distintos (de 00000000 a 11111111). Medio byte (4 bits) se llama nibble y equivale exactamente a un dígito hexadecimal.
Palabra (word): número de bits que un circuito o memoria maneja «de una vez» (8, 16, 32, 64 bits…). En memorias, el ancho de palabra es el número de bits de cada posición.
Unidades de capacidad: 1 KiB (kibibyte) = 2¹⁰ = 1024 bytes; 1 MiB = 2²⁰ = 1 048 576 bytes; 1 GiB = 2³⁰ bytes. En asignaturas de sistemas digitales, «1 KB» y «1K» casi siempre significan 1024 (potencia de 2), no 1000. Análogamente Kibit = 1024 bits. ¡Ojo!: b minúscula = bit, B mayúscula = byte.
Variable lógica: símbolo (A, B, C…) que solo puede valer 0 o 1. Función lógica: regla que asigna un 0 o un 1 de salida a cada combinación de las entradas (ejemplo: F = A·B, «F vale 1 solo si A y B valen 1 a la vez»).
Mini-ejemplo. ¿Cuántos valores distintos puede representar un nibble (4 bits)? 2⁴ = 16 (del 0 al 15), justo los 16 símbolos hexadecimales 0–9, A–F.

2 · Sistemas de numeración y conversiones entre bases

Un número escrito en base b usa los dígitos 0…b−1 y cada posición vale una potencia de b. Trabajamos con cuatro bases:

BaseNombreDígitosNotación
2binario0, 1101101₂ / 0b101101
8octal0–755₈ / 0o55
10decimal0–945₁₀
16hexadecimal0–9 y A=10, B=11, C=12, D=13, E=14, F=152D₁₆ / 0x2D

2.1 · Cualquier base → decimal (método de los pesos)

Regla: multiplica cada dígito por su peso (la base elevada a la posición, empezando en 0 por la derecha) y suma.
Ejemplos resueltos.
10110111₂ = 1·128 + 0·64 + 1·32 + 1·16 + 0·8 + 1·4 + 1·2 + 1·1 = 183₁₀.
173₈ = 1·64 + 7·8 + 3·1 = 123₁₀.
0xB7 = 11·16 + 7·1 = 183₁₀ (B vale 11).

2.2 · Decimal → otra base (divisiones sucesivas)

Regla: divide una y otra vez entre la base apuntando los restos; el número se lee con los restos de abajo hacia arriba (el último resto es el dígito más significativo).
Ejemplo: 45₁₀ → binario.
45÷2 = 22 resto 1 · 22÷2 = 11 resto 0 · 11÷2 = 5 resto 1 · 5÷2 = 2 resto 1 · 2÷2 = 1 resto 0 · 1÷2 = 0 resto 1.
Leyendo de abajo arriba: 101101₂. Comprobación: 32+8+4+1 = 45 ✓.

Ejemplo: 183₁₀ → hexadecimal. 183÷16 = 11 resto 7; 11÷16 = 0 resto 11(=B) → 0xB7 ✓.

2.3 · Binario ↔ hexadecimal y binario ↔ octal (el atajo de agrupar bits)

Regla de oro: 1 dígito hexadecimal = 4 bits (porque 16 = 2⁴); 1 dígito octal = 3 bits (porque 8 = 2³). Se agrupa desde la derecha, rellenando con ceros a la izquierda si falta. No hace falta pasar por decimal.
Ejemplos resueltos.
101101₂ → hex: 0010|1101 → 2|D → 0x2D.  101101₂ → octal: 101|101 → 5|5 → 55₈.
0xB7 → binario: B=1011, 7=0111 → 10110111₂.  635₈ → binario: 6=110, 3=011, 5=101 → 110011101₂.
Hex ↔ octal: pasa por binario y reagrupa (0x3E = 00111110 → 111|110 → 76₈).
Fallo típico de examen: agrupar desde la izquierda. 1101011₂ a octal es 001|101|011 = 153₈ (correcto), no 110|101|1… Memoriza la tabla de nibbles: 8=1000, 9=1001, A=1010, B=1011, C=1100, D=1101, E=1110, F=1111.
Operaciones con bases mezcladas (p. ej. 0x2A + 110110₂): convierte TODO a decimal, opera, y convierte el resultado a la base pedida. 0x2A = 42; 110110₂ = 54; 42+54 = 96 = 01100000₂ = 0x60.

3 · Aritmética binaria y números con signo

3.1 · Suma binaria

Reglas por columna: 0+0=0 · 0+1=1 · 1+0=1 · 1+1=10 (escribo 0, me llevo 1) · 1+1+1=11 (escribo 1, me llevo 1). El «me llevo» es el acarreo (carry).
Ejemplo: 1011 + 0111 (11+7).
  1111   ← acarreos
  1011
+ 0111
 10010 = 18 ✓

3.2 · Resta binaria

Puede hacerse con «préstamos» (borrow), pero en el examen conviene el método seguro: restar es sumar el complemento a 2 (apartado 3.4).

3.3 · Complemento a 1 (Ca1)

Complemento a 1 de un número binario: invertir todos sus bits (0↔1). Ejemplo: Ca1(01011010) = 10100101.

3.4 · Complemento a 2 (Ca2): la representación estándar de los enteros con signo

Complemento a 2 con n bits: los positivos se escriben en binario normal (bit más alto 0); un número negativo −x se representa invirtiendo los bits de x y sumando 1. El bit más significativo actúa como bit de signo (0 = positivo, 1 = negativo).
Ejemplo: −45 en 8 bits.
1) |−45| = 45 = 00101101 · 2) invierto: 11010010 · 3) sumo 1: 11010011. Por tanto −45 = 11010011.
Lectura inversa (¿qué vale 11010011?): el bit alto es 1 → negativo. Atajo: lectura sin signo − 2ⁿ = 211 − 256 = −45 ✓.
Rango en Ca2 con n bits: de −2ⁿ⁻¹ a +2ⁿ⁻¹−1. Con 8 bits: −128 … +127 (asimétrico: el 0 «gasta» un hueco del lado positivo). Sin signo: 0 … 2ⁿ−1 (con 8 bits, 0…255).
Extensión de signo: para pasar un Ca2 de n bits a más bits se replica el bit de signo a la izquierda: 1011 (−5 en 4 bits) → 11111011 (−5 en 8 bits).

3.5 · Restar sumando y desbordamiento (overflow)

Ejemplo: 73 − 45 en 8 bits.
73 = 01001001; −45 = 11010011. Sumo: 01001001 + 11010011 = 1·00011100.
Sale un acarreo del bit más significativo: se descarta. Resultado: 00011100 = 28 = 73−45 ✓.
Overflow (desbordamiento): el resultado no cabe en el rango. Detección con los signos: positivo + positivo = «negativo» u negativo + negativo = «positivo» ⇒ overflow. Al sumar operandos de signos opuestos jamás hay overflow.
Acarreo ≠ overflow. El acarreo es el bit que «se sale» por la izquierda (en Ca2 se descarta sin más); el overflow es un error de rango y se detecta mirando los signos. En 73−45 hay acarreo y NO hay overflow. En 100+42 = 10001110 (parece −114) no hay acarreo pero SÍ overflow (142 > 127).

3.6 · Otras representaciones de enteros con signo

Signo-magnitud: el primer bit es el signo y el resto el valor absoluto (−45 = 1·0101101). Problemas: dos ceros (00000000 y 10000000) y las sumas no salen directamente. Complemento a 1 como sistema: negativo = inversión de bits, también con doble cero. Por eso los procesadores usan Ca2.

3.7 · Idea de la coma flotante (complementario)

Coma flotante: para números reales muy grandes o pequeños se guardan tres campos: signo, exponente y mantisa (cifras significativas), como una «notación científica binaria»: valor = ±mantisa × 2^exponente (estándar IEEE 754: 32 bits = 1+8+23). Basta con conocer la idea de los tres campos.

4 · Álgebra de Boole

El álgebra de Boole es el conjunto de reglas para operar variables lógicas con tres operaciones básicas: NOT (negación, A o A'), AND (producto lógico, A·B) y OR (suma lógica, A+B). Prioridad de evaluación: primero NOT, luego AND, luego OR (como «por dentro» de las mates: primero paréntesis).

4.1 · Axiomas y teoremas (tabla de referencia)

NombreForma ORForma AND
Elemento neutroA + 0 = AA · 1 = A
Elemento dominanteA + 1 = 1A · 0 = 0
IdempotenciaA + A = AA · A = A
ComplementoA + A = 1A · A = 0
Doble negaciónA = A
ConmutativaA + B = B + AA·B = B·A
Asociativa(A+B)+C = A+(B+C)(A·B)·C = A·(B·C)
DistributivaA·(B+C) = A·B + A·CA + B·C = (A+B)·(A+C)
AbsorciónA + A·B = AA·(A+B) = A
Absorción 2 (¡muy preguntada!)A + A·B = A + BA·(A+B) = A·B
De Morgan(A + B) = A · B(A · B) = A + B
De Morgan con ejemplo. Simplifica (A·B + C).
Paso 1 (De Morgan sobre la suma): (A·B) · C.  Paso 2 (De Morgan sobre el producto): (A + B) · C.
Regla memorizable: «la raya se rompe y el operador se da la vuelta» (OR↔AND).
Simplificación algebraica paso a paso. F = A·B + A·B + A·B
= A·(B + B) + A·B (distributiva) = A·1 + A·B (complemento) = A + A·B (neutro) = A + B (absorción 2).

5 · Tablas de verdad

Tabla de verdad: tabla que enumera todas las combinaciones posibles de las entradas y, para cada una, el valor de la salida. Con n variables tiene 2ⁿ filas (2 vars → 4 filas, 3 → 8, 4 → 16). Es la definición completa y sin ambigüedad de una función lógica.

5.1 · Cómo se construye (método fijo, siempre igual)

5.2 · Cómo se lee

Cada fila responde una pregunta concreta: «¿cuánto vale F si A=…, B=…, C=…?». Para evaluar F(1,0,1) se busca la fila 101 (la nº 5). Dos funciones son equivalentes si sus tablas coinciden en todas las filas — así se comprueban las simplificaciones.

Ejemplo resuelto (lo usaremos en todo el tema): F = A·B + C.
Evaluamos las 8 filas; p. ej. fila 4 (A=1,B=0,C=0): A·B = 1·1 = 1 → F = 1+0 = 1.
filaABCF
00000
10011
20100
30111
41001
51011
61100
71111
Filas con F=1 (sombreadas): 1, 3, 4, 5, 7.

6 · De la tabla de verdad a la función lógica

Mintérmino (mᵢ): producto (AND) de TODAS las variables, una vez cada una, que vale 1 solo en la fila i. Receta: en la fila i, la variable que vale 1 va tal cual y la que vale 0 va negada. Ej. (3 vars): fila 5 = 101 → m₅ = A·B·C.
Maxtérmino (Mᵢ): suma (OR) de todas las variables que vale 0 solo en la fila i. Receta INVERSA: la variable que vale 0 va tal cual y la que vale 1 va negada. Ej.: fila 2 = 010 → M₂ = A + B + C. Se cumple Mᵢ = mᵢ.

6.1 · Suma de mintérminos (SOP canónica)

SOP = Sum Of Products, en español suma de productos (forma normal disyuntiva): F escrita como OR de mintérminos, uno por cada fila donde F=1. Notación compacta: F = Σm(lista de filas con 1).
Paso a paso con el ejemplo del tema (F=1 en las filas 1, 3, 4, 5, 7):
F = Σm(1, 3, 4, 5, 7) = m₁+m₃+m₄+m₅+m₇ = A·B·C + A·B·C + A·B·C + A·B·C + A·B·C.

6.2 · Producto de maxtérminos (POS canónica)

POS = Product Of Sums, producto de sumas (forma normal conjuntiva): F como AND de maxtérminos, uno por cada fila donde F=0. Notación: F = ∏M(filas con 0). Regla clave: Σm y ∏M de una misma función usan índices complementarios.
Con el mismo ejemplo (F=0 en las filas 0, 2, 6):
F = ∏M(0, 2, 6) = (A+B+C) · (A+B+C) · (A+B+C).
Comprobación rápida: {1,3,4,5,7} ∪ {0,2,6} = {0…7} y no comparten índices ✓.
Error típico: escribir ∏M con los índices de los unos. Los maxtérminos siempre se toman de las filas donde F vale cero.

7 · Mapas de Karnaugh (el corazón del examen)

Mapa de Karnaugh: la tabla de verdad redibujada como cuadrícula, colocada de forma que celdas vecinas difieren en una sola variable. Sirve para obtener a ojo la expresión mínima (con menos términos y menos letras) sin álgebra.

7.1 · Colocación de los índices y código Gray

Código Gray: ordenación 00, 01, 11, 10 en la que cada valor difiere del siguiente en un solo bit (también entre el último y el primero: 10→00). Se usa en las cabeceras del mapa precisamente para que dos celdas contiguas (también a través de los bordes) se diferencien en una única variable: al agrupar celdas, la variable que cambia dentro del grupo se elimina. Con el orden binario normal (00,01,10,11) el paso 01→10 cambia dos bits y el método no funcionaría.

Convención de esta asignatura (la de los exámenes): columnas AB en Gray (00, 01, 11, 10) y filas C (3 variables: 0, 1) o CD (4 variables: 00, 01, 11, 10). A es la variable de mayor peso: el número de mintérmino de cada celda es i = 4A+2B+C (3 vars) o i = 8A+4B+2C+D (4 vars). En los mapas de abajo, el numerito gris de cada celda es su mintérmino.

Mapa de 2 variables (filas A, columnas B):

A\B01
0m₀m₁
1m₂m₃

Mapa de 3 variables (celdas = nº de mintérmino):

C\AB00011110
0m0m2m6m4
1m1m3m7m5

Mapa de 4 variables:

CD\AB00011110
00m0m4m12m8
01m1m5m13m9
11m3m7m15m11
10m2m6m14m10
Fíjate: en el mapa de 4 variables la tercera columna es AB=11 (¡no 10!). Las celdas 3,7,15,11 forman la fila CD=11. Los bordes se «enrollan»: la columna 00 es vecina de la 10, y la fila 00 de la 10; por eso las cuatro esquinas (0, 2, 8, 10) son adyacentes entre sí.

7.2 · Reglas de agrupación (para SOP: se agrupan los UNOS)

Ejemplo 3 variables: F = Σm(0, 2, 5, 7).
C\AB00011110
010120604
101031715
Grupo 1: celdas 0 y 2 (columnas AB=00 y AB=01 de la fila C=0): constantes A=0, C=0 → término A·C (B se elimina).
Grupo 2: celdas 5 y 7: constantes A=1, C=1 → término A·C (B se elimina).
F = A·C + A·C (es la XNOR de A y C: vale 1 cuando A=C).
Ejemplo 4 variables con esquinas: F = Σm(0, 2, 5, 7, 8, 10, 13, 15).
CD\AB00011110
00100401218
01011511309
110317115011
101206014110
Las cuatro esquinas 0, 2, 8, 10 son un grupo de 4 (adyacencia por los dos bordes): constantes B=0, D=0 → B·D.
El cuadrado central 5, 7, 13, 15: constantes B=1, D=1 → B·D.
F = B·D + B·D. Un grupo de 4 elimina 2 variables (aquí A y C en ambos).
Ejemplo con el hilo del tema: F = A·B + C = Σm(1, 3, 4, 5, 7).
C\AB00011110
000020614
111131715
Grupo de 4: toda la fila C=1 (celdas 1, 3, 5, 7) → término C.  Grupo de 2: celdas 4 y 5 (A=1, B=0) → A·B.
F mínima = C + A·B: el mapa devuelve exactamente la forma simple de la función. La celda 5 está en dos grupos: solaparse es legal y gratis.

7.3 · POS: agrupar los CEROS

Para la forma producto de sumas se agrupan los ceros con las mismas reglas; cada grupo da una suma con la regla INVERSA: variable constante a 0 → sin negar, constante a 1 → negada. La función es el AND de esas sumas. (Equivale a simplificar F en SOP y aplicar De Morgan.)
Ejemplo: mismo mapa del hilo (ceros en 0, 2, 6).
C\AB00011110
000020614
111131715
Ceros 0 y 2: constantes A=0, C=0 → suma (A + C). Ceros 2 y 6 (010 y 110): constantes B=1 y C=0; regla inversa: B=1 → B, C=0 → C → suma (B + C). A cambia y se elimina.
F = (A + C)·(B + C). Comprobado por tabla de verdad: coincide con C + A·B ✓.

7.4 · Indiferencias (don't care, X)

Don't care (X): combinaciones de entrada que nunca ocurren (o cuya salida da igual), p. ej. los códigos 1010–1111 en una entrada BCD. En el mapa se marcan con X y pueden usarse como 1 o como 0, según convenga: se toman como 1 solo si agrandan un grupo. No es obligatorio cubrirlas.
Ejemplo: F = Σm(6, 7, 8, 9) con d(10, 11, 12, 13, 14, 15).
CD\AB00011110
000004X1218
010105X1319
110317X15X11
100216X14X10
Celdas 8, 9 + seis X → grupo de 8 (toda la mitad A=1) → término A.  Celdas 6, 7 + X 14, 15 → grupo de 4 → B·C.
F = A + B·C. Sin las X el resultado sería mucho peor (A·B·C + A·B·C).

7.5 · Receta completa para un problema de Karnaugh

8 · Puertas lógicas y bloques combinacionales

8.1 · Las puertas, una a una

PuertaFunciónExpresiónVale 1 cuando…Tabla (A,B → S)
NOT (inversor)niegaS = AA = 00→1 · 1→0
ANDproductoS = A·Btodas las entradas a 100→0 01→0 10→0 11→1
ORsumaS = A+Balguna entrada a 100→0 01→1 10→1 11→1
NANDAND negadaS = (A·B)NO todas a 100→1 01→1 10→1 11→0
NOROR negadaS = (A+B)todas a 000→1 01→0 10→0 11→0
XOR (⊕)o-exclusivaS = A⊕B = A·B + A·Bentradas DISTINTAS (nº impar de unos)00→0 01→1 10→1 11→0
XNORXOR negadaS = (A⊕B) = A·B + A·Bentradas IGUALES (nº par de unos)00→1 01→0 10→0 11→1

AND

OR

NOT

NAND (AND + bolita)

NOR (OR + bolita)

XOR (OR + doble curva)
La bolita ○ significa negación. NAND y NOR son «universales»: cualquier circuito puede construirse solo con NAND (o solo con NOR). XOR detecta imparidad: A⊕B⊕C vale 1 con 1 o 3 unos (base de los generadores de paridad).

8.2 · Decodificador (n → 2ⁿ)

Decodificador: n entradas y 2ⁿ salidas; activa exactamente una salida: la número i cuando la entrada vale i en binario. Es decir, cada salida Oᵢ ES el mintérmino mᵢ. Suele llevar una entrada de habilitación E (enable): si E está inactiva, ninguna salida se activa.
Diseño con decodificador + OR (cae siempre): para implementar F = Σm(1, 4, 6) con un decodificador 3→8, conecta las salidas O₁, O₄ y O₆ a una puerta OR. Traducción directa mintérmino ↔ número de salida. Con entradas A̅BC̅D etc., primero calcula el número: A̅·B·C̅·D = 0101 = salida O₅.

8.3 · Codificador (2ⁿ → n)

Codificador: el inverso del decodificador: 2ⁿ entradas y n salidas; da en binario el número de la entrada activa (I₅ activa → salida 101). Los codificadores con prioridad resuelven el caso de varias entradas activas dando la de mayor índice.

8.4 · Multiplexor (MUX 2ⁿ:1) y demultiplexor

Multiplexor: «conmutador digital»: 2ⁿ entradas de datos, n líneas de selección y 1 salida. La salida copia la entrada elegida: Y = I(S). MUX 2:1: Y = S·I₀ + S·I₁. Un MUX de 16 entradas necesita 4 líneas de selección.
Demultiplexor: lo contrario: 1 entrada de datos que se envía a una de las 2ⁿ salidas (las demás quedan a 0). Un decodificador con enable actúa de demultiplexor (el dato entra por E).
Función con MUX: para implementar F(A,B,C) = Σm(1,2,4,7) con un MUX 8:1, conecta A,B,C a la selección y pon a 1 las entradas I₁, I₂, I₄, I₇ (y 0 el resto): la tabla de verdad se «copia» en las entradas.

8.5 · Comparador

Comparador de magnitud: recibe dos números A y B y activa una de tres salidas: A>B, A=B, A<B. Se compara empezando por el bit más significativo. Para 1 bit: (A=B) es la XNOR; (A>B) = A·B; (A<B) = A·B.

8.6 · Sumadores

Semisumador (half adder): suma dos bits A y B → suma S = A⊕B, acarreo C = A·B. No admite acarreo de entrada.
Sumador completo (full adder): suma tres bits (A, B y el acarreo de entrada Cin) → S = A⊕B⊕Cin y Cout = A·B + Cin·(A⊕B). Encadenando n sumadores completos (el Cout de uno al Cin del siguiente) se construye el sumador de n bits (ripple carry).
Mini-ejemplo: A=1, B=1, Cin=1 → 1+1+1 = 3 = 11₂ → S=1, Cout=1. Truco: cuenta los unos y escríbelo en binario de 2 bits (Cout S).

9 · Memorias

9.1 · Organización y fórmulas

Una memoria se describe como 2ⁿ × m: 2ⁿ posiciones (palabras) de m bits cada una. Entonces:
· Líneas de dirección = n = log₂(nº de posiciones) — seleccionan la posición (con un decodificador interno).
· Líneas de datos = m (el ancho de palabra).
· Capacidad total = 2ⁿ × m bits (÷8 → bytes; ÷8·1024 → KiB).
Mini-ejemplos verificados.
· 12 líneas de dirección y 8 de datos → 2¹² = 4096 posiciones × 8 bits = 4096 B = 4 KiB.
· Chip 2K×4 → 2048×4 = 8192 bits = 1 KiB.
· ¿Líneas para 64 KiB (palabra de 1 byte)? 64·1024 = 65536 = 2¹⁶ → 16 líneas.
· 256K×32 → 2¹⁸ posiciones → 18 líneas de dirección, 32 de datos, 2¹⁸·32 bits = 1 MiB.

9.2 · Mapa de direcciones (en hexadecimal)

Regla: última dirección = primera + tamaño − 1. Tamaños útiles en hex: 1 KiB = 0x400, 2 KiB = 0x800, 4 KiB = 0x1000, 8 KiB = 0x2000, 16 KiB = 0x4000.
Ejemplos: bloque de 4 KiB desde 0x2000 → 0x2000 + 0x1000 − 1 = 0x2FFF. Memoria de 0x0000 a 0x7FFF → 0x8000 = 2¹⁵ posiciones = 32 KiB y 15 líneas. El error clásico es olvidar el −1.

9.3 · Ampliación de memorias (dos direcciones distintas)

Ampliar el nº de PALABRAS (más direcciones, mismo ancho): se ponen k = (total/chip) chips y las log₂(k) líneas altas de dirección van a un decodificador que activa el chip select (CS) de un solo chip; las líneas bajas van a todos.
Ampliar el ANCHO de palabra (mismas direcciones, palabra más larga): chips en paralelo, todos reciben la misma dirección a la vez y cada uno aporta un trozo de la palabra. Sin decodificador.
Ejemplos:
· 8K×8 con chips 2K×8 → 8K/2K = 4 chips; 13 líneas totales: 11 bajas a todos + 2 altas a un decodificador 2→4 (CS).
· 4K×16 con chips 4K×4 → 16/4 = 4 chips en paralelo, misma dirección, cada uno da 4 bits de la palabra.

10 · Biestables y circuitos secuenciales

Circuito combinacional: la salida depende SOLO de las entradas actuales (todo lo anterior: puertas, mux, sumadores…). Circuito secuencial: la salida depende también del estado almacenado; tiene memoria y normalmente un reloj (clock) cuyos flancos (subidas) marcan cuándo se actualiza el estado.
Biestable (flip-flop): celda de memoria de 1 bit con salida Q. Tipos que caen:
· RS: S=1 pone Q a 1 (set), R=1 lo pone a 0 (reset); R=S=1 es combinación prohibida.
· D (delay/dato): en cada flanco, Q ← D (copia lo que había en D justo antes del flanco).
· JK: J=K=0 mantiene; J=1,K=0 set; J=0,K=1 reset; J=K=1 conmuta (Q ← Q). Arregla el caso prohibido del RS.
· T (toggle): T=0 mantiene, T=1 conmuta en cada flanco.
Cronograma mini (verificado): biestable D con Q inicial 0 y D = 1, 0, 1 en tres flancos → Q pasa a 1, 0, 1 (copia el D previo a cada flanco). Regla de oro de los cronogramas: las entradas se leen con los valores ANTERIORES al flanco; el nuevo Q solo cuenta a partir del flanco siguiente.
Contador binario: n biestables (p. ej. T con T=1, en cascada) cuentan de 0 a 2ⁿ−1 y vuelven a 0 (módulo 2ⁿ). Cada biestable T con T=1 divide la frecuencia del reloj entre 2: k biestables en cascada dividen entre 2ᵏ. Registro: n biestables D en paralelo que almacenan una palabra completa.
Mini-ejemplo: 4 biestables → contador módulo 2⁴ = 16 (de 0 a 15). Reloj de 8 MHz con 2 biestables T en cascada → 8/2/2 = 2 MHz.

11 · Chuleta final (lo que hay que saber de memoria)

TemaFórmula / regla
Filas de una tabla2ⁿ
Mintérmino / maxtérminomᵢ: 1→tal cual, 0→negada (producto) · Mᵢ: al revés (suma) · Σm y ∏M: índices complementarios
KarnaughGray 00,01,11,10 · grupos 1,2,4,8,16 · grupo de 2ᵏ elimina k variables · bordes y esquinas adyacentes · SOP: unos · POS: ceros con regla inversa · X: úsala solo si agranda
Hex/octal ↔ binario1 hex = 4 bits · 1 octal = 3 bits (desde la derecha)
Ca2 de −xinvertir bits de x y sumar 1 · valor si bit alto=1: lectura − 2ⁿ
Rangos (n bits)sin signo: 0…2ⁿ−1 · Ca2: −2ⁿ⁻¹…2ⁿ⁻¹−1
Overflow(+)+(+)=(−) o (−)+(−)=(+) · con signos opuestos, nunca · acarreo se descarta
Memoria 2ⁿ×mn líneas dirección · m líneas datos · capacidad 2ⁿ·m bits · fin de bloque = inicio + tamaño − 1
Ampliaciónmás palabras → decodificador en líneas altas · más ancho → chips en paralelo
Sumador completoS = A⊕B⊕Cin · Cout = A·B + Cin·(A⊕B)
BiestablesD: Q←D · T=1: conmuta · JK=11: conmuta · RS=11: prohibido

Material de estudio generado y verificado con Python para la convocatoria extraordinaria · Sistemas Digitales · UAX.