Logo Passei Direto
Material

Esta es una vista previa del archivo. Inicie sesión para ver el archivo original

Practicas/FCpracticas4-cuaderno.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 4 / pág. 1 
Este cuaderno debe traerse relleno el día de realización 
de la práctica y debe presentarse al profesor al 
principio de la sesión. Ningún estudiante podrá montar la 
práctica si el cuaderno está incompleto o incorrecto. 
 
FUNDAMENTOS DE COMPUTADORES 
CUADERNO DE LA PRÁCTICA 4 
Diseño 
 
 
 
 
Indíquese para cada elemento y puerto el número de chip y pin correspondiente 
D
Q
Q
S C
I0
I1
S0
I2
I3 S1
E
Q2
D
Q
Q
S C
I0
I1
S0
I2
I3 S1
E
Q1
D
Q
Q
S C
I0
I1
S0
I2
I3 S1
E
Q0
Practicas/FCguionpracticas1.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 1 
 
FUNDAMENTOS DE COMPUTADORES 
PRÁCTICA 1: MONTAJE DE UN CIRCUITO 
COMBINACIONAL USANDO PUERTAS LÓGICAS 
 
El objetivo de esta primera práctica es tomar contacto con el puesto de laboratorio, 
aprender a realizar el montaje de un circuito combinacional y conseguir que funcione 
correctamente. 
Cada una de las prácticas constará de dos fases: 
1. Diseño del circuito que se pide en el enunciado. 
2. Montaje y depuración de dicho diseño hasta conseguir que funcione 
correctamente. 
 La fase de diseño consiste en realizar, en papel, el diseño (tabla de verdad, expresiones 
de conmutación,…) del problema que se plantea en el enunciado de cada una de las 
prácticas. Para realizar esta fase hay que aplicar los conocimientos de circuitos 
combinacionales explicados en las clases de teoría y problemas. 
 La fase de montaje se realizará en el entrenador que hay en cada puesto del laboratorio. 
El material que se necesita para el montaje del circuito se encuentra en el maletín de 
laboratorio. Este maletín se debe pedir una vez el alumno se haya dado de alta en 
laboratorios, a partir del 1 de noviembre. 
En esta práctica hay que diseñar y montar en el laboratorio un sistema combinacional que 
realice la conversión de código Gray de 4 bits a binario (véase figura 1). 
El Código Gray es un caso particular de código binario (patentado por Frank Gray en 
1953). Consiste en una ordenación de 2n códigos binarios de tal forma que cada código 
sólo tenga un dígito binario distinto a su predecesor. Un código Gray de 2 bits sería el de la 
figura 2: 
 
 
 
 
 
 
 
Una forma sencilla de construir un código Gray de n bits es utilizar un código Gray de n-1 
bits y añadirle un cero por la izquierda. A continuación para completar el código Gray 
Figura 2: Código Gray de 2 bits 
Figura 1 
CONVERSOR DE CODIGO
GRAY A BINARIO
X
4
Z
4
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 2 
 
añadiremos un 1 por la izquierda al código Gray de n-1 bits empezando por el último 
elemento. 
Por ejemplo, para obtener un código Gray de 3 bits partimos del código Gray de 2-bits que 
se muestra en la figura 2. Se añade un “0” a la izquierda del código Gray de 2-bits. Con 
esto tenemos los 4 primeros códigos del total de 8. Luego se añade un “1” en la columna 
de la izquierda y se colocan los códigos Gray de 2 bits en orden inverso. El resultado se 
muestra en la figura 3. En ella se puede ver que la línea roja hace de espejo para las dos 
columnas de menor peso. 
Esta técnica de codificación se originó cuando los circuitos lógicos digitales se realizaban 
con válvulas de vacío y dispositivos electromecánicos. Los contadores necesitaban 
potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits 
cambiaban simultáneamente. El uso de código Gray garantizó que en cualquier transición 
variaría tan sólo un bit. 
En la actualidad, el código Gray se sigue empleando para el diseño de cualquier circuito 
electrónico combinacional mediante el uso de un Mapa de Karnaugh, ya que el principio 
de diseño de buscar transiciones más simples y rápidas entre estados sigue vigente, a pesar 
de que los problemas de ruido y potencia se hayan reducido. 
A modo de ejemplo, a continuación se desarrolla un sistema combinacional que realiza la 
conversión de código Gray de 3 bits a binario siguiendo las fases descritas anteriormente. 
1. Fase de diseño 
Tabla de verdad: 
 
 
 
 
 
 
 
 
 
 
 
 
 
X2 X1 X0 Z2 Z1 Z0
0 0 0 0 0 0 
0 0 1 0 0 1 
0 1 0 0 1 1 
0 1 1 0 1 0 
1 0 0 1 1 1 
1 0 1 1 1 0 
1 1 0 1 0 0 
1 1 1 1 0 1 
Figura 3: Código Gray de 3 bits 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 3 
 
Mapas de Karnaugh y expresiones simplificadas: 
 
Z2 = X2 
 
Para la salida Z1: Para la salida Z0: 
 
 
 
 
 
 
 
 
 
 
Z1 = X2  X1 Z0 = X2  X1  X0 = (X2  X1)  X0 
Implementación lógica: 
La figura 4 muestra la implementación (una representación gráfica del diseño hecha 
mediante componentes lógicas, conexiones entre ellos, entradas y salidas) del conversor de 
código usando puertas XOR. 
 
 
 
En esta práctica el alumno tendrá que diseñar el conversor de código Gray de 4 bits a 
binario: obtener la tabla de verdad y la implementación del sistema usando puertas XOR 
de dos entradas. Se tiene que traer en el hecho de casa y reflejado en el 
correspondiente cuadernillo que debe presentarse al profesor de laboratorio al 
principio de la sesión. 
2. Fase de montaje y depuración 
El montaje de un circuito se realiza en el entrenador (véase figura 5) que hay en cada uno 
de los puestos del laboratorio. Dicho entrenador está compuesto de varias zonas, cada una 
de las cuales está destinada a una función. 
En las prácticas de esta asignatura se van a usar las siguientes funciones del entrenador: 
A. “DC POWER”. Es el módulo de alimentación y contiene: 
 Un generador de tensión fijo (5 V, -5 V) 
 Un generador de tensión variable (0 ~15 V, 0 ~ -15 V). Girando el potenciómetro 
“+V” en sentido horario el rango del voltaje varía entre 0 y 15 V. Girando el 
potenciómetro “-V” observamos que dicha variación se produce entre 0 y –15 V. 
X2
X1
X0
Z2
Z1
Z0
Figura 4: Implementación lógica del conversor de código 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 4 
 
 El terminal “GND” es el terminal de tierra (0 V). 
B. “8 BITS LEDS DISPLAYS” 
 Estos LEDS se van a usar para mostrar el valor de las salidas del circuito. 
 Para conectar cada salida del circuito a un led hay que pinchar un cable en el 
terminal correspondiente 
 Si el led está apagado representa salida “0” y encendido salida “1” 
C. “8 BITS DATA SWITCHES” 
 Estos switches (interruptores) se van a usar para las entradas del circuito. 
 Para conectar cada entrada del circuito a un interruptor hay que pinchar un cable en 
el terminal que hay encima 
 Con el interruptor hacia abajo la entrada vale “0” y hacia arriba “1” 
D. ZONA CENTRAL 
 Esta zona es donde se coloca la placa base (figura 6) que es el lugar donde se monta 
el circuito. 
La placa base está compuesta de terminales de conexión. En estos terminales hay que 
pinchar: 
 Las distintas componentes del circuito. 
 Cables para conectar dichas componentes. 
 Cables para conectar el circuito con la fuente de alimentación y tierra. 
 Cables para conectar las entradas del circuito con los interruptores y las salidas con 
los leds. 
Figura 5: Entrenador 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 5 
 
Para poder montar el circuito en la placa primero hay que conocer el interconexionado de 
dicha placa, es decir cuáles de sus terminales de conexión están conectados entre sí (son el 
mismo punto, están cortocircuitados). 
El interconexionado de las placas que hay en el laboratorio es como se muestra en la figura 
6. Los terminales de conexión sobre los
que se ha trazado una línea de color rojo están 
cortocircuitados. Esto implica que no se pueden poner en la misma línea dos o más 
patillas de un mismo componente. 
Para montar estos circuitos se necesitan puertas lógicas. Estas se presentan encapsuladas en 
un circuito integrado denominado coloquialmente “cucaracha” o “chip”. Estos chips se 
encuentran en el maletín del laboratorio. 
El único “chip” que se necesita en esta práctica es el 7486 que contiene 4 puertas XOR de 
2 entradas (véase figura 7). 
Para saber cómo funcionan estos “chips” y cómo están interconectados por dentro hay que 
usar las llamadas hojas de características que proporciona el fabricante, las cuales 
contienen una especificación completa del “chip”. Estas se encuentran en el laboratorio 
dentro de la carpeta de electrónica. 
A modo de ejemplo, la figura 7 muestra el interconexionado del “chip” 7486 que 
proporciona la hoja de características de este circuito integrado. 
Figura 6: Placa base 
Figura 7: Contenido del circuito integrado 7486 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 6 
 
Como se puede ver en la figura 7, este circuito integrado tiene en su interior cuatro puertas 
XOR de dos entradas cada una y en el exterior 14 patillas, cada una de las cuales tiene una 
función. 
 Las patillas 14 y 7 son las encargadas de alimentar al circuito (darle energía) para 
que funcione: Conectar Vcc a 5V (normalmente) y GND a tierra. 
 El resto de las patillas son las entradas y salidas de las cuatro puertas XOR tal y 
como indican los dibujos 
Para saber la numeración de las patillas en un “chip” hay que buscar una muesca como la 
que se ve en el dibujo de la figura 7. Colocando el “chip” en la misma dirección que en 
dicha figura, la numeración siempre empieza por la patilla inferior izquierda y continúa en 
sentido antihorario. 
Implementación física: 
Una vez se sabe qué “chips” se necesitan para montar el circuito, debe completarse el 
diseño lógico realizado con anterioridad indicando en qué “chip” se ubicará cada puerta del 
diseño (en caso de haber más de un “chip”) y qué pin del “chip” se utilizará para cada 
entrada/salida de cada puerta. Asimismo deberá indicarse qué switch/led del entrenador se 
utilizará para cada entrada/salida primaria del circuito. El resultado, que llamaremos 
implementación física, puede verse en la figura 8. 
 
 
El alumno tendrá que hacer lo mismo con el circuito que haya obtenido para el conversor 
de código Gray de 4 bits a binario. El dibujo del circuito implementado se tiene que 
hacer en casa y en el correspondiente cuadernillo. 
Montaje: 
Llegados a este punto hay que montar el circuito. Con el entrenador apagado, se pincharán 
en la placa cada uno de los chips necesarios y a continuación, tomando como base la 
implementación física, se irán pinchando los cables necesarios uno a uno. Para no olvidar 
ninguno se recomienda que cada vez que se ponga un cable se tachen del dibujo los 
correspondientes números de pin que han quedado interconectados. La figura 9 muestra 
esquemáticamente como quedaría montado el conversor de 3 bits en el entrenador. 
Para que un chip funcione adecuadamente debe tenerse en cuenta que: 
 Tiene que estar alimentado (Vcc = +5V y GND = 0V). 
 Puede tener salidas que no estén interconectadas a nada. 
 Si se está utilizando una puerta lógica todas sus entradas se utilicen o no deben estar 
conectadas a un valor. 
 Las puertas lógicas que no se estén utilizando no necesitan tener sus entradas 
conectadas a un valor. 
X2
X1
X0
Z2
Z1
Z0
SW2
SW1
SW0
LED2
LED1
LED0
1
2
3
4
5
6
A
A
lista de componentes:
‐ A: 7486 (GND – 7, +5V – 14)
Figura 8: Implementación física del conversor de código 
Prácti
 
 
Prue
Una 
entre
valor
corre
Si la 
la esp
conti
comb
Depu
Si al
salid
entra
i)
ii
icas de Fundam
Fi
eba: 
vez montad
enador y se 
res de la ta
esponde. 
tabla de ve
pecificación
inuación s
binacionale
uración de 
l comproba
das no se co
adas, se deb
) Se debe
un erro
i) Una ve
hardwa
binaria 
mentos de Co
igura 9: El
do el circui
irán introd
abla de verd
erdad calcul
n, el circuito
e explican
s. 
un circuito
ar el funcio
orresponde 
e buscar la 
e repasar el
or en la fase 
ez que se 
are o física
de entrada
omputadores (v
l conversor
ito hay que 
duciendo me
dad y se irá
lada por el c
o es correct
n los paso
o combinac
onamiento d
con el esp
causa del er
l diseño que
de diseño. 
está seguro
a del circui
a que produ
versión 08/07
r de código
comprobar
ediante los 
á comproba
circuito es l
to. En otro c
os a segui
cional 
del circuito
perado para 
rror. Para el
e se está im
En caso con
o que el er
ito, se debe
uce la salid
/13)
montado e
r que funcio
switches la
ando en los
la misma qu
caso será in
ir para en
o se detecta
la configu
llo se proce
mplementand
ntrario, se d
rror se enc
e introduci
da incorrect
en el entren
ona. Para el
as diferentes
 leds si el 
ue la tabla d
correcto y d
ncontrar err
a que el est
uración bina
ede del sigui
do para ver
debe pasar a
cuentra en 
r al circuit
ta. A contin
Práctica
nador 
llo, se ence
s combinac
resultado e
de verdad fi
deberá depu
rrores en 
tado de un
aria present
iente modo
r si se ha pr
al punto ii. 
la implem
to la config
nuación, se
a 1 / pág. 7 
enderá el 
iones de 
es el que 
ijada por 
urarse. A 
circuitos 
na de las 
te en las 
: 
roducido 
mentación 
guración 
e aísla la 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 8 
 
salida incorrecta S. Para ello se desconecta esta salida de todos los puntos del 
circuito donde estuviera conectada. En este momento pueden ocurrir dos cosas: 
a. La salida S cambia y da el valor correcto. Luego esta salida seguramente 
esté conectada a otra salida del circuito que la está “forzando”, pasar a la 
fase iii. 
b. La salida S sigue dando un valor incorrecto, luego hay un módulo que 
produce una salida incorrecta, pasar a la fase iv. 
iii) La salida S está siendo “forzada” por la salida de otro módulo, está conectada a 
tierra o está conectada a polarización. Para localizar donde está el error, hay dos 
procedimientos: 
a. Seguir en la implementación de donde viene cada uno de los cables 
conectados a la salida S. 
b. Aislar la salida S e ir conectando, uno por uno, los cables a la salida. En el 
momento en el que el valor de la salida S vuelva a ser incorrecto se habrá 
identificado la conexión errónea. Corregir la conexión errónea. 
iv) Se ha localizado un módulo M que produce una salida incorrecta. Si la salida del 
módulo lógico se corresponde con el valor de sus entradas significa que el módulo 
está funcionando correctamente. Por tanto, alguna de las entradas debe tener un 
valor lógico incorrecto. Esta entrada se corresponde con una salida de otro módulo 
lógico. Repítase el proceso a partir del paso II para esta nueva salida. Si la salida 
del módulo M no se corresponde con el de las entradas, entonces la puerta no está 
funcionando correctamente debido a que el “chip” está mal polarizado o está 
estropeado. 
El procedimiento de depuración de sistemas combinacionales se presenta 
esquemáticamente en el siguiente organigrama: 
Practicas/FCguionpracticas3.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 3 / pág. 1 
 
FUNDAMENTOS DE COMPUTADORES 
PRÁCTICA 3: DISEÑO Y MONTAJE DE UN 
RECONOCEDOR DE PATRÓN 
 
El objetivo de esta práctica es diseñar y montar en el laboratorio un circuito secuencial que 
reconozca el patrón “010”, modelando su comportamiento como una máquina de Moore. 
Un circuito tendrá los puertos mostrados en la figura: 
 Una entrada binaria, X, por la que reciben los bits en serie. 
 Una salida binaria, Z, que tomará el valor lógico
“1” cuando los últimos tres bits de 
entrada formen la secuencia “010”, y “0” en cualquier otro caso. 
 Una entrada, clk, de reloj. 
 Una entrada, clear, de inicialización asíncrona activa a baja. 
Desarrollo de la práctica 
1. Fase de diseño 
 El diseño del circuito debe realizarse en casa y quedar reflejado en el cuadernillo 
correspondiente. 
 El circuito deberá diseñarse como máquina de Moore usando biestables D, puertas 
NAND e inversores. 
2. Fase de montaje y depuración 
 Utilizar los siguientes chips para montar el circuito: 
o 7474: 2 biestables D (disparados por flanco de subida y señales de 
inicialización asíncrona a 0 ó 1 activas a baja). 
o 7400: 4 puertas NAND de 2 entradas. 
o 7410: 3 puertas NAND de 3 entradas. 
o 7404: 6 puertas NOT. 
 Conectar las entradas X y clear a switches. 
 Conectar la entrada clk a un pulsador. 
 Conectar la salida Z a un led. 
RECONOCEDOR DEL 
PATRÓN "010"
X
Z
clear
clk
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 3 / pág. 2 
 
 Comprobar que el circuito reconoce el patrón “010” con solapamiento, para ello hay 
que introducir por la entrada X una secuencia que presente varios patrones solapados 
en algún momento, como por ejemplo: 
 
 Si el circuito no funciona correctamente hay que depurarlo para encontrar los fallos 
y corregirlos. Para depurar circuitos secuenciales hay que seguir los pasos 
explicados en el siguiente apartado. 
 Cuando se haya comprobado que funciona correctamente, enseñar la práctica al 
profesor del laboratorio. 
 
Depuración de un circuito secuencial 
A continuación se va a explicar un procedimiento para determinar de un modo sistemático 
a que son debidos los errores que se producen en el comportamiento de un sistema 
secuencial que se ha diseñado e implementado. 
Para facilitar esta tarea es conveniente que los valores del estado actual (aunque NO SON 
SALIDAS del circuito) se conecten a los LEDs o al display para comprobar de manera 
rápida cual es la transición de estado que falla. 
Si al comprobar el funcionamiento del circuito se detecta que el valor de una de las salidas 
no se corresponde con el esperado para el estado del circuito y la configuración binaria 
presente en las entradas, se debe buscar la causa del error. Para ello se procede del 
siguiente modo: 
i) Repasar el diseño que se está implementando buscando errores. 
a. Si en la simulación el circuito funcionaba correctamente podemos 
asegurar que el error no se encuadra en el diseño. 
ii) Una vez que se está seguro que el error se encuentra en la implementación 
hardware o física del circuito, se debe analizar la secuencia de estados que sigue la 
máquina, para la secuencia de entradas en la que se ha detectado el error. 
a. Si la secuencia es correcta entonces el error se encuentra en la red 
combinacional que produce la salida (SC1). Aplicar los pasos de 
depuración de una red combinacional sobre este módulo. 
b. Si la secuencia no es correcta entonces falla o la red combinacional que 
genera el siguiente estado (SC2) o el conjunto de biestables. Pasar al 
punto iii. 
iii) Llevar el circuito al estado en el que se produce una transición incorrecta. 
A continuación se plantea un ejemplo de cómo depurar un circuito secuencial cuando se 
observa un error en la secuencia de las salidas: 
 
 
 
 
 
 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 3 / pág. 3 
 
En este ejemplo se aprecia que el circuito que debería haber realizado la transición de 
estados 2  3, ha efectuado en realidad la transición 2  1. Lo primero es identificar el 
biestable o biestables que han efectuado una transición de estado incorrecta. En este 
ejemplo el biestable que realiza una transición incorrecta sería Q1 (es el único biestable 
que tiene un bit incorrecto). 
Una vez identificado el biestable que falla: 
 Si teniendo en cuenta los valores actuales de las entradas y la tabla de verdad del 
biestable que falla, se deduce que el próximo estado ha de ser el de la secuencia 
incorrecta observada, entonces el biestable está funcionando correctamente. El fallo 
se encuentra en la red combinacional (SC2) que genera el estado futuro. Aplicar los 
pasos de depuración de una red combinacional sobre esta red. 
 Si las entradas del biestable que falla determinan que el próximo estado ha de ser el 
de la secuencia correcta entonces el biestable no funciona. Las posibles razones que 
no funcionen son: 
o No llega la señal de reloj. 
o Entradas asíncronas activadas. 
o Biestable sin polarizar o mal polarizado. 
o Chip estropeado. 
A continuación se resume todo este proceso en forma de organigrama: 
 
 
Practicas/FCguionpracticas2.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 2 / pág. 1 
 
FUNDAMENTOS DE COMPUTADORES 
PRÁCTICA 2: DISEÑO Y MONTAJE DE UN 
SUMADOR BINARIO DE 2 BITS 
 
El objetivo de esta práctica es diseñar y montar en el laboratorio un sumador binario de 
números de 2 bits. La práctica está dividida en dos partes: 
 
a) Diseñar un sumador completo de un bit e implementar el circuito usando puertas 
NAND y XOR. 
Figura 1: Sumador completo de un bit 
 
b) Diseñar un sumador binario de números de 2 bits e implementar el circuito 
encadenando dos sumadores completos de un bit (implementado cada uno a su vez con 
puertas NAND y XOR). 
 
Figura 2: Sumador binario de números de 2-bits 
 
Desarrollo de la práctica 
1. Fase de diseño 
 El diseño de los circuitos debe realizarse en casa y quedar reflejado en el cuadernillo 
correspondiente. 
Sumador completo
de 1 bit
A B
S
Cout Cin
Sumador completo
de 1 bit
A1 B1
S1
Cout
Sumador completo
de 1 bit
A0 B0
S0
CinCoutCin
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 2 / pág. 2 
 
 Ambos sumadores deberán diseñarse con puertas NAND de 2 entradas y XOR de 2 
entradas. 
2. Fase de montaje y depuración 
 Utilizar los siguientes chips para montar el circuito: 
o 7486: 4 puertas XOR de 2 entradas. 
o 7400: 4 puertas NAND de 2 entradas. 
 Conectar todas las entradas a switches y todas las salidas a leds, según el orden 
usado en las tablas de verdad del cuadernillo. 
 Una vez montado, comprobar toda la tabla de verdad del circuito para verificar 
que funciona correctamente. Si no es así, hay que depurarlo para encontrar los fallos 
y corregirlos. 
 Cuando se haya comprobado que funciona correctamente, enseñar la práctica al 
profesor del laboratorio. 
 
Practicas/FCpracticas3-cuaderno.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 3 / pág. 1 
Este cuaderno debe traerse relleno el día de realización 
de la práctica y debe presentarse al profesor al 
principio de la sesión. Ningún estudiante podrá montar la 
práctica si el cuaderno está incompleto o incorrecto. 
 
FUNDAMENTOS DE COMPUTADORES 
CUADERNO DE LA PRÁCTICA 3 
. 
Diagrama de estados 
 
Estado Significado 
S0 estado inicial 
S1 ha llegado el subpatrón (0) 
S2 ha llegado el subpatrón (01) 
S3 ha llegado el patrón (010) 
Codificación de estados 
Estado s1 s0 
S0 
S1 
S2 
S3 
 
 
 
Tabla de verdad de la función de 
transición de estados 
s1 s0 x s1’ s0’ 
0 0 0 
0 0 1 
0 1 0 
0 1 1 
1 0 0 
1 0 1 
1 1 0 
1 1 1 
Tabla verdad de la función de salida 
s1 s0 z 
0 0 
0 1 
1 0 
1 1 
 Mapas de Karnaugh 
 
 
 
S0
S1
S3
S2
0 1 3 2
4 5 7 6
x
s0
s1
s1’ =
0 1 3 2
4 5 7 6
x
s0
s1
s0’ = 
0 1
2 3
s0
s1
z = 
 
 Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 3 / pág. 2 
 
Diseño 
Indíquese para cada elemento y puerto el número de chip y pin correspondiente 
D
Q
Q
S C
D
Q
Q
S C
Practicas/FCpracticas5-cuaderno.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 5 / pág. 1 
Este cuaderno debe traerse relleno el día de realización 
de la práctica y debe presentarse al profesor al 
principio de la sesión. Ningún estudiante podrá montar la 
práctica si el cuaderno está incompleto o incorrecto. 
 
FUNDAMENTOS DE COMPUTADORES 
CUADERNO DE LA PRÁCTICA 5 
Diseño 
 
 
 
 
Indíquese para cada elemento y puerto el número de chip y pin correspondiente 
CONT
+ c0c4
A4 A3 A2 A1 B4 B3 B2 B1
∑4 ∑3 ∑2 ∑1
P3 P2 P1 P0
Q3Q2Q1Q0 TC
U/D
CEP
CET
Q2Q1Q0
PE
Practicas/FCpracticas1-cuaderno.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 1 
Este cuaderno debe traerse relleno el día de realización 
de la práctica y debe presentarse al profesor al 
principio de la sesión. Ningún estudiante podrá montar la 
práctica si el cuaderno está incompleto o incorrecto. 
 
FUNDAMENTOS DE COMPUTADORES 
CUADERNO DE LA PRÁCTICA 1 
. 
Código Gray de 4 bits 
N x3 x2 x1 x0 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
Tabla de verdad del conversor 
x3 x2 x1 x0 z3 z2 z1 z0 
0 0 0 0 
0 0 0 1 
0 0 1 0 
0 0 1 1 
0 1 0 0 
0 1 0 1 
0 1 1 0 
0 1 1 1 
1 0 0 0 
1 0 0 1 
1 0 1 0 
1 0 1 1 
1 1 0 0 
1 1 0 1 
1 1 1 0 
1 1 1 1 
Mapas de Karnaugh 
Diseño 
 
 
 
 
Indíquese para cada elemento y puerto el número de chip y pin correspondiente 
0 1 3 2
4 5 7 6
12 13 15 14
8 9 11 10
x0
x1
x2
x3
z3 =
0 1 3 2
4 5 7 6
12 13 15 14
8 9 11 10
x0
x1
x2
x3
z2 =
0 1 3 2
4 5 7 6
12 13 15 14
8 9 11 10
x0
x1
x2
x3
z1 =
0 1 3 2
4 5 7 6
12 13 15 14
8 9 11 10
x0
x1
x2
x3
z0 =
Practicas/FCguionpracticas5.pdf
 
Prácti
 
 
 
El ob
síncr
El cir




Tanto
indic
La sa
que i



Desa
1. F

 
Facu
Unive
icas de Fundam
PRÁ
CIR
bjetivo de e
rono que se 
rcuito tendr
 Una sali
 Una entr
 Una entr
 Una entr
o Q como X
ca la primer
alida valdrá
ini valga 1, 
 Si Q = X
se desea
 Si Q > 
ascensor
la que se
 Si Q < X
debe sub
desea ir.
arrollo de la
Fase de dise
 El diseñ
correspo
ultad de In
ersidad Complu
mentos de Co
FU
ÁCTICA
RCUITO
esta práctic
comporte c
rá los puerto
ida de 3 bits
rada de 3 bi
rada, clk, de
rada, ini, de
X codifican
a planta y a
á (000) en t
el comporta
X, la salida 
a ir y por tan
X, la salid
r debe bajar
e desea ir. 
X, la salida d
bir porque 
. 
a práctica 
eño 
ño del circu
ondiente. 
nformática 
utense de Mad
omputadores (
UNDAMEN
A 5: DI
O EMUL
ca es diseña
como el asce
os mostrado
s, Q, que ind
its, X, por la
e reloj. 
e inicializaci
la planta e
así sucesivam
odos aquell
amiento del
conservará 
nto no se mu
da debe ir c
r porque la 
debe ir ciclo
la planta en
uito debe re
 
a 
drid 
(versión 08/07
NTOS DE C
ISEÑO 
LADOR
ar y montar
ensor de un
os en la figu
dica el piso 
a que se indi
ión síncrona
en binario, e
mente hasta
los ciclos en
l sistema ser
su valor: el
ueve. 
ciclo a cicl
planta en la
o a ciclo inc
n la que se e
ealizarse en 
7/13)
COMPUTA
Y MON
R DE UN
r en el labo
na vivienda d
ura: 
en el que se
ica en binar
a a (000) act
es decir: (00
a (111) que 
n los que in
rá como sig
l ascensor se
lo decremen
a que se enc
rementándo
encuentra es
casa y que
ADORES 
NTAJE 
N ASCE
oratorio un 
de 7 plantas
e encuentra e
io el piso al 
tiva a baja. 
00) indica l
indica la sé
ni valga 0. E
gue: 
e encuentra 
ntándose ha
cuentra es su
ose hasta que
s inferior a l
edar reflejad
Práctica
DE UN
ENSOR 
circuito se
s. 
el ascensor.
l que se dese
la planta baj
éptima plant
En los ciclo
en el piso e
asta que Q 
uperior a la
ue Q = X: el 
la planta a l
do en el cua
a 5 / pág. 1 
N 
 
ecuencial 
 
ea ir. 
ja, (001) 
ta. 
os en los 
en el que 
= X: el 
planta a 
ascensor 
la que se 
adernillo 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 5 / pág. 2 
 
 Para emular el ascensor se utilizará un contador ascendente/descendente módulo 16 
con carga paralela (chip 74169). Los 3 bits menos significativos de este contador 
equivalen a la salida Q del sistema. 
 Para comparar la entrada X y la salida Q (y así determinar si el contador debe contar 
y en su caso si debe hacerlo ascendentemente o descendentemente) deberá usarse un 
sumador completo de 4 bits (chip 7483), inversores y puertas NAND de 3 entradas. 
2. Fase de montaje y depuración 
 Utilizar los siguientes chips para montar el circuito: 
o 74169: 1 contador síncrono bidireccional módulo 16 (con señal de carga 
paralela activa a baja y prioritaria a las 2 señales de capacitación de cuenta 
activas a baja). 
o 7483: 1 sumador completo de 4 bits. 
o 7410: 3 puertas NAND de 3 entradas. 
o 7404: 6 puertas NOT. 
 Conectar la salida Q a un display de 7 segmentos derecho (que internamente incluye 
un conversor de código binario a código 7 segmentos). 
 Conectar la entrada X a switches y adicionalmente al otro display de 7 segmentos 
izquierdo. 
 Conectar la entrada ini a un switch adicional. 
 Conectar la entrada clk a un pulsador. 
 Comprobar distintas combinaciones de planta solicitada y planta actual para 
verificar que el sistema funciona correctamente. Si no es así, hay que depurarlo para 
encontrar los fallos y corregirlos. 
3. Puesta en marcha 
 Regular el generador de funciones del entrenador para que genere una onda cuadrada 
de 1 Hz de frecuencia. 
 Conectar la entrada clk a la salida TTL mode del generador de funciones. 
 Conectar la entrada de ini a un pulsador 
 Cuando se haya comprobado que funciona correctamente, enseñar la práctica al 
profesor del laboratorio. 
 
 
Practicas/FCpracticas2-cuaderno.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 2 / pág. 1 
Este cuaderno debe traerse relleno el día de realización 
de la práctica y debe presentarse al profesor al 
principio de la sesión. Ningún estudiante podrá montar la 
práctica si el cuaderno está incompleto o incorrecto. 
 
FUNDAMENTOS DE COMPUTADORES 
CUADERNO DE LA PRÁCTICA 2 
. 
 
 
Tabla de verdad del 
sumador completo de 1 bit 
Cin A B Cout S 
0 0 0 
0 0 1 
0 1 0 
0 1 1 
1 0 0 
1 0 1 
1 1 0 
1 1 1 
 
Mapas de Karnaugh 
 
 
Diseño del sumador completo de 1 bit 
 
 
 
 
 
 
 
 
 
 
 
 
0 1 3 2
4 5 7 6
B
A
Cin
S =
0 1 3 2
4 5 7 6
B
A
Cin
Cout =
Indíquese para cada elemento y puerto el número de chip y pin correspondiente 
 
 Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 2 / pág. 2 
Tabla de verdad del sumador de 2 bits 
Cin A1 A0 B1 B0 Cout S1 S0 
0 0 0 0 0 
0 0 0 0 1 
0 0 0 1 0 
0 0 0 1 1 
0 0 1 0 0 
0 0 1 0 1 
0 0 1 1 0 
0 0 1 1 1 
0 1 0 0 0 
0 1 0 0 1 
0 1 0 1 0 
0 1 0 1 1 
0 1 1 0 0 
0 1 1 0 1 
0 1 1 1 0 
0 1 1 1 1 
Cin A1 A0 B1 B0 Cout S1 S0 
1 0 0 0 0 
1 0 0 0 1 
1 0 0 1 0 
1 0 0 1 1 
1 0 1 0 0 
1 0 1 0 1 
1 0 1 1 0 
1 0 1 1 1 
1 1 0 0 0 
1 1 0 0 1 
1 1 0 1 0 
1 1 0 1 1 
1 1 1 0 0 
1 1 1 0 1 
1 1 1 1 0 
1 1 1 1 1 
Diseño del sumador de 2 bits 
 
Indíquese para cada elemento y puerto el número de chip y pin correspondiente 
Practicas/FCguionpracticas4.pdf
 
Prácti
 
 
El ob
como
El cir






Desa
1. F


 
Facu
Unive
icas de Fundam
PRÁ
bjetivo de e
o el que se m
rcuito tendr
 Una sali
 Una entr
 Una en
desplaza
 Una entr
 Una entr
 Una entr
arrollo de la
Fase de dise
 El diseñ
correspo
 El circu
ultad de In
ersidad Complu
mentos de Co
FU
ÁCTICA
RE
esta práctica
muestra en 
C1 C0 
0 0 
0 1 (Q
1 0 (Q
1 1 
rá los puerto
ida paralela 
rada paralel
ntrada serie 
amiento a la
rada de 2 bi
rada, clk, de
rada, clear, 
a práctica 
eño 
ño del circu
ondiente. 
ito deberá d
nformática 
utense de Mad
omputadores (v
UNDAMEN
A 4: DI
EGISTR
a es diseñar
la figura ca
Q(t+1)
E(t)
Q0(t),Q2(t),
Q1(t),Q0(t),
Q(t)
os siguiente
de datos de
la de datos d
de datos, 
a izquierda.
its, C, para s
e reloj. 
de inicializ
uito debe re
diseñarse usa
 
a 
drid 
versión 08/07
NTOS DE C
ISEÑO 
RO MUL
r y montar 
apaz de reali
) 
Q1(t)) Ro
esi(t)) D
 
es: 
e 3 bits, Q, q
de 3 bits, E,
esi, por la
seleccionar 
zación asíncr
ealizarse en 
ando biestab
/13)
COMPUTA
Y MON
LTIFUN
en el labora
izar las func
Fun
Carga p
otación hac
Desplaza a 
Conserv
que muestra 
por la que i
a que introd
el modo de 
rona a (000)
casa y que
bles D y mu
ADORES 
NTAJE 
NCIÓN 
atorio un re
ciones descr
ción 
paralela 
cia la derec
la izquierd
a el valor 
el contenid
introducir el
ducir el bit
funcionami
) activa a ba
edar reflejad
ultiplexores 
Práctica
DE UN
 
egistro mult
ritas en la ta
cha 
da 
do del registr
l valor a car
t necesario 
iento. 
aja. 
do en el cua
4 a 1. 
a 4 / pág. 1 
N 
tifunción 
abla. 
ro. 
rgar. 
para el 
adernillo 
Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 4 / pág. 2 
 
2. Fase de montaje y depuración 
 Utilizar los siguientes chips para montar el circuito: 
o 7474: 2 biestables D (disparados por flanco de subida y señales de 
inicialización asíncrona a 0 ó 1 activas a baja). 
o 74153: 2 multiplexores 4 a 1 (con señales de control comunes y señales de 
capacitación activas a baja separadas). 
 Conectar las entradas E, C, esi y clear a switches. 
 Conectar la entrada clk a un pulsador. 
 Conectar la salida Q a leds. 
 Comprobar cada uno de los modos de funcionamiento del registro para verificar 
que funciona correctamente. Si no es así, hay que depurarlo para encontrar los fallos 
y corregirlos. 
3. Puesta en marcha 
 Regular el generador de funciones del entrenador para que genere una onda cuadrada 
de 1 Hz de frecuencia. 
 Conectar la entrada clk a la salida TTL mode del generador de funciones. 
 Conectar la entrada de clear a un pulsador 
 Cuando se haya comprobado que funciona correctamente, enseñar la práctica al 
profesor del laboratorio. 
 
Examenes finales/2012Junio_FC_parcial-1.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Examen de Fundamentos de Computadores curso 2011-12, examen final (1er. parcial) / pág. 1 
 
EXAMEN DE FUNDAMENTOS DE COMPUTADORES 
CURSO 2011-12, EXAMEN FINAL (1ER. PARCIAL), 11 DE JUNIO DE 2012 
 
1. (1.5 puntos) Dados los números A = -(25)10, B = +(101)10, C = -(64)16 y D = +(79)16 
a) (0.6 puntos) Represéntelos en complemento a 2 y usando 8 bits. 
b) (0,6 puntos) Efectúe las operaciones (A-B) y (-C+D) indicando si hay 
desbordamiento o acarreo y el por qué. 
c) (0,3 puntos) Represente (-B) en complemento a uno y en magnitud y signo ambos 
con 8 bits. 
2. (3 puntos) Un sistema combinacional recibe como entrada (X) un número del 1 al 6 
codificado usando el código Gray de 3 bits. El sistema tiene otra entrada de control 
(Inc/Dec) que indica si la salida Z es la entrada + 1 o la entrada – 1, es decir: 






11
01
Dec/IncsiX
Dec/IncsiX
Z 
La salida también está codificada en Gray de 3 bits. Se pide: 
a) (1 punto) Obtener la tabla de verdad. 
b) (2 puntos) Implementar el sistema usando multiplexores 4 a 1. 
Nota: La siguiente tabla muestra la codificación Gray de 3 bits: 
0 = (000) 1 = (001) 2 = (011) 3 = (010) 4 = (110) 5 = (111) 6 = (101) 7 = (100) 
3. (1.5 puntos) Sea el siguiente sistema secuencial: 
 


 

contrariocasoen
abbóbba=t1,t2,tx
)t(z
0
1
 
a) (0.5 puntos) Dibuje su diagrama de estados. 
b) (1 punto) Complete el siguiente cronograma: 
x
clk
estado
a
S0
z
1
0
b
 
Examen de Fundamentos de Computadores curso 2011-12, examen final (1er. parcial) / pág. 2 
4. (4 puntos) Se desea diseñar un sistema que permita fotografiar las matrículas de 
aquellos coches que circulen con exceso de velocidad por una carretera. 
El sistema tendrá 2 entradas (A y B) conectadas a sensores de presión ubicados debajo 
del pavimento y una salida (F) conectada al disparador de una cámara. En ausencia de 
coches las entradas valdrán 0 y cada vez que un coche pase por encima de un sensor la 
correspondiente entrada se activará (valdrá 1 durante un ciclo de reloj). Supóngase que 
nunca ambas entradas valdrán simultáneamente 1 y que los pulsos en A y en B se irán 
alternando (es decir, tras un pulso en A vendrá siempre un pulso en B y viceversa). 
Un coche irá a más velocidad de la permitida si el número de ciclos de reloj que 
transcurren desde la activación de A hasta la activación de B es menor que 3, en cuyo 
caso deberá ser fotografiado (véase la figura). 
 
Se pide: 
a) (2 puntos) Especificar el sistema como máquina de Mealy. 
b) (2 puntos) Implementarlo utilizando 2 biestables D y el menor número de puertas 
lógicas. 
 
 
Examenes finales/2011Junio_FC_parcial-2.pdf
Facultad de Informática UCM I.Informática 
 
 
FUNDAMENTOS DE COMPUTADORES 
13 de Junio de 2011. 2º Cuatrimestre. 
Nombre DNI . 
Apellidos Grupo . 
 
Ejercicio 1. Responde a las cuestiones suponiendo que el vector V está almacenado a partir de la 
dirección de memoria 0x00000000, que el código se encuentra a continuación de los datos y que 
las pseudoinstrucciones ocupan el mismo espacio que las instrucciones: 
 
# Codigo 1 
  .global start 
V:  .word   1,2,3,4,5,9,17,15,20,12 
N:  .word   10 
CuentaTotal:  .space    4 
 
start:   ldr  R0,=V 
         ldr  R2,=N 
    ldr  R1,[R2] 
         mov  R2,#0 
         mov  R3,#0 
bucle:   cmp   R2,R1   
beq  fin_bucle 
         ldr  R4,[R0] 
         and  R4,R4,#1 
    cmp  R4,#0 
         bne  No_contar 
         mov  R5,#1 
         b  Contar 
No_contar:  mov R5,#0 
Contar:   add  R3,R3,R5 
          add  R2,R2,#1 
          add  R0,R0,#4 
          b  bucle 
fin_bucle:   ldr R1,=CuentaTotal 
str R3,CuentaTotal 
         b . 
    .end 
 
 
 
 
 
 
 
 
 
 
 
 
 
#Código 2 
    .global start 
V:  .word   1,2,3,4,5,9,17,15,20,12 
N:  .word   10 
CuentaTotal:    .space    4 
 
start:   ldr  R0,=V 
ldr  R2,=N 
ldr   R1,[R2] 
bl  Cuenta 
ldr    R2,=CuentaTotal 
str  R0,[R2] 
    b . 
 
Cuenta:  PRÓLOGO_1 
mov  R4,#0 
   mov  R5,#0 
     mov  R6,R0 
bucle:   cmp   R4,R1 
beq  fin_bucle 
ldr  R0,[R6] 
bl  Averigua       
add  R5,R5,R0 
add  R4,R4,#1 
add  R6,R6,#4 
b  bucle 
fin_bucle:  mov  R0,R5 
EPÍLOGO_1 
mov  pc,lr 
Averigua:  PRÓLOGO_2 
mov  R4,#1   
and  R0,R0,R4 
cmp  R0,#0 
bne  No_contar 
mov  R0,#1 
b  Contar 
No_contar:  mov  R0,#0 
Contar:      EPÍLOGO_2 
mov  pc,lr 
 
Facultad de Informática UCM I.Informática 
 
 
a) (0,5 ptos.) ¿En qué dirección
de memoria del código 1 está almacenada la primera 
instrucción del bucle para el código 1? Razona la respuesta. 
b) (0,5 ptos.) ¿Cuál es el contenido final de la variable de memoria CuentaTotal en el 
código 1? ¿Y del registro R5? Razona la respuesta. 
c) (1 pto.) Supongamos que queremos estructurar el código con subrutinas, y lo 
rescribimos en código 2. Completa el prólogo y epílogo de cada una de las dos 
subrutinas, explicando por qué incluyes cada instrucción. 
Ejercicio 2. En la ruta de datos monociclo tenemos los siguientes tiempos: 
- Lectura en memoria de datos e instrucciones: 500ps 
- Acceso al banco de registros: 100ps 
- Cálculo en la ALU: 50ps 
- Sumadores: 40ps 
- Multiplexores: 10ps 
- Generación de señales de control: 
- Señales de control de los multiplexores: 20ps 
 - AluCtr y branch: 150ps 
 - RegWrite, MemWrite y MemRead: 160ps 
- Resto de elementos retardo despreciable 
 
a) (0,5 ptos) Calcular el tiempo necesario para ejecutar una instrucción de load 
b) (0,5 ptos.) Indicar el valor de las señales de control para la ejecución de una instrucción 
de salto (en el caso de salto tomado) 
c) (0,5 ptos.) ¿Qué señal de control deberíamos acelerar para que la instrucción de load se 
ejecute en menos tiempo? 
Ejercicio 3. Dado el siguiente código del MIPS: 
sub r1, r1, r1 
addi r2, r1, 4 
addi r3, r1, 16 
addi r4, r1, 24 
lw r5, 0(r3) 
lw r6, 0(r4) 
lw r2, 4(r2) 
add r7, r5, r6 
add r8, r6, r2 
sub r8, r8, r7 
sw r8, 4(r3) 
 
a) (0.25 ptos.) Indicar las dependencias de datos 
b) (0,25 ptos.) Añadir al código con las instrucciones nop necesarias 
c) (0,5 ptos.) ¿Cuántos ciclos tarda en ejecutarse? 
 
 
 
 
 
Facultad de Informática UCM I.Informática 
 
Ejercicio 4. Sea un computador con memoria cache con las características siguientes: 
Memoria principal: 16 KB; Memoria cache de 512 bytes organizada en 16 bloques. 
 
a) (0,5 ptos.) Indicar el formato de la 
dirección para MP y para la MC 
b) (0,5 ptos.) En un momento dado los 
contenidos del array de etiquetas de la cache 
(en hexadecimal) son los indicados en la 
tabla (los bloques cache no especificados se 
encontrarán vacíos). Expresar en 
hexadecimal el rango de direcciones de 
memoria principal ubicadas en cada bloque 
de la memoria cache que aparece en la tabla. 
c) (0,5 ptos.) Supongamos que un programa 
realiza la siguiente cadena de referencias en 
lectura (en hexadecimal): 3E2A, 022E, 
2411, 1AA8, 3E34. Indicar en cada acceso 
si se produce un acierto o un fallo, y 
modificar la tabla indicando como sería su 
nuevo contenido después de cada acceso. 
 
Etiqueta Bloque 
0D 0 
1F 1 
14 8 
0D 5 
 
 
 
 
 
 
 
 
 
 
 
 
Examenes finales/2011Febrero_FC.pdf
Facultad de Informática Departamento de Arquitectura de Computadores y Automática 
 
Examen de Fundamentos de Computadores 4 de febrero de 2011 
 
Apellidos ……………………………………………………………… 
 
Nombre …………………………………………D.N.I. ………………………… 
 
Puntuación: Preguntas 1 y 5: 1,25 puntos cada una; preguntas 2, 3, 4: 0,5 puntos cada una; 
pregunta 6: 2 puntos. Total: 6 puntos. 
 
1) Dados los siguientes números: A= +31 (en decimal), B= -16 (en decimal), C=+7 (en 
octal), D=+F (en hexadecimal). 
a) Exprese los cuatro números con el mismo número de bits en representación en 
complemento a dos. 
b) Efectúe las siguientes operaciones (operando en complemento a 2) indicando el 
valor decimal que se produce cuando no haya desbordamiento: A+D, B-C 
c) ¿Cuáles serían el menor y el mayor número representables usando este convenio 
y el mismo número de bits? 
 
2) Implemente la siguiente función de conmutación usando un multiplexor de 4 a 1 e 
inversores: Z(x3,x2,x1,x0) =∑m(0,1,3,11,13)+∑d(4,7,9,15). 
 
3) Dado el diagrama de estados del sistema secuencial representado en la figura, 
rellene el siguiente cronograma: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Dado el diagrama de estados del sistema secuencial representado en la figura, rellena el 
siguiente cronograma 
 
4) Implemente, usando biestables D y una ROM, el sistema descrito mediante el 
diagrama de estados de la cuestión 3. 
 
5) Sea un sistema combinacional cuya función es multiplicar por 3 un número X entero 
positivo en el rango {0 a 7}. La salida es un número Z entero positivo en el rango {0 
a 15}. Además el sistema tiene un bit de salida D que indica si hay desbordamiento. 
Cuando hay desbordamiento la salida Z queda indefinida. 
Se pide: 
a) Especificar el sistema mediante la tabla de verdad. 
b) Utilizar un decodificador de tamaño mínimo y puertas OR para implementar las 
salidas Z. 
c) Implementar la salida D con puertas NAND e inversores. 
 
6) Diseñe un sistema secuencial para controlar el funcionamiento de un lavaplatos. El 
sistema tiene 2 entradas, la tecla start/stop, y la tecla de ciclo_rápido y 5 salidas 
como muestra la figura. En el estado inicial, todas las salidas valen 0. Desde 
cualquier estado se va inmediatamente al estado inicial siempre que la tecla 
start/stop vale 0, y allí se permanece hasta que start/stop vale 1, que comienza a 
funcionar desde el principio. Durante el funcionamiento el aparato pasa por 3 
etapas: lavado (2 ó 4 ciclos dependiendo del valor de la tecla ciclo_rápido), aclarado 
(1 ó 2 ciclos dependiendo del valor de la tecla ciclo_rápido) y secado (1 ciclo). 
Después del secado se pasa siempre al estado inicial. 
 
 
Durante el lavado entra agua durante el primer ciclo, y durante el mismo se calienta. En 
el segundo ciclo se abre el cajetín del detergente. Todos los ciclos del lavado se mueven 
las aspas. 
Durante el aclarado entra agua el primer ciclo. Se mueven las aspas todos los ciclos del 
aclarado. 
Durante el secado se activa la salida secar. 
Se pide: 
a) Especifique el sistema mediante un diagrama de estados como máquina de 
Moore. 
b) Diseñe la parte de transición de estados usando un contador y el mínimo número 
de puertas posible. 
c) Diseñe la función de salida utilizando los módulos combinacionales que 
considere necesarios. 
Examenes finales/2012Junio_FC_parcial-2.pdf
Facultad de Informática UCM 
 
 
FUNDAMENTOS DE COMPUTADORES 
11 de Junio de 2012. 2º Cuatrimestre. 
Nombre DNI . 
Apellidos Grupo . 
 
Ejercicio 1 (3 puntos). Dado el siguiente código escrito en lenguaje C: 
a) Traduzca el código C de la función principal, incluyendo las directivas para 
reservar memoria y declarando las secciones (.data, .bss y .text) 
correspondientes. Para la llamada a función, respete el convenio de llamadas de 
ARM visto en clase. 
b) Complete el prólogo, epílogo y el código necesario en la rutina mult_cuatro, 
respetando el convenio de llamadas de ARM visto en clase. La rutina 
mult_cuatro devuelve un uno si el argumento recibido es múltiplo de 4 y un cero 
en caso contrario. 
 
int i=0, N=4; 
int A[4]={8,1,12,5}; 
while (i<N){ 
if(mult_cuatro(A[i])==1){ 
 A[i]=-A[i]; 
 } 
 else{ 
 A[i]=A[i]+1; 
 } 
 i++; 
} 
 
 
 
mult_cuatro: 
@ PRÓLOGO 
mov r6,#3 
mov r8,#0 
and r7,r6,r0 
cmp r7,r8 
bne no_mult 
mov r3,#1 
b salir 
no_mult: mov r3,#0 
salir: @Completar código 
@ + EPÍLOGO 
mov pc,lr 
 
Ejercicio 2 (2 puntos). Deseamos que el procesador segmentado ejecute el siguiente 
código: 
lw r1, 0(r0) 
addi r2, r1, 5 
sub r3, r10, r1 
sw r2, 20(r0) 
sw r3, 0(r0) 
lw r4, 4(r0) 
addi r5, r4, 6 
sub r6, r10, r4 
sw r5, 24(r0) 
sw r6, 4(r0) 
lw r7,8(r0) 
addi r8, r7, 7 
sub r9,r10,r7 
sw r8, 28(r0) 
sw r9,8(r0) 
 
a) Inserte las NOP necesarias para la correcta ejecución del código y determine en 
cuántos ciclos de reloj se ejecuta. 
b) Reordene el código
para que no sea necesario insertar NOPs. 
 
Facultad de Informática UCM 
 
Ejercicio 3 (3 puntos). Dado un array de enteros (representados con 4 bytes) de 20 
elementos (V[0], V[1], …, V[19]) con el elemento V[4] almacenado en la dirección 
0x124 de un sistema de memoria de 2KB de memoria principal y 64B de memoria 
cache organizados en 4 bloques. 
a) Indicar el formato de la dirección para MP y para la MC 
b) Indicar las posiciones de memoria (en hexadecimal) de cada uno de los 
elementos del vector. 
c) Supongamos que se recorre el array completo empezando por el elemento V[0]. 
Indicar si los accesos producen fallo o acierto. Determinar el contenido del array 
de etiquetas de la cache al final del proceso. Suponer la cache inicialmente 
vacía. 
Ejercicio 4 (2 puntos). 
a) Modificar la ruta de datos del procesador monociclo para poder ejecutar la 
instrucción mov ri, #inmediato (ri SignExt(inmediato)). 
b) Dados los siguientes tiempos de conmutación, calcular el tiempo de ejecución 
para esta instrucción, el tiempo de generación de las señales de control se 
considera despreciable. 
 I-Mem Add Mux ALU Reg D-Mem 
Tiempo en ps 200 50 20 50 100 200 
 
 
 
 
 
 
 
Examenes finales/2012Febrero_FC.PDF
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Examen de Fundamentos de Computadores curso 2011-12, primer parcial / pág. 1 
 
EXAMEN DE FUNDAMENTOS DE COMPUTADORES 
CURSO 2011-12, PRIMER PARCIAL, 30 DE ENERO DE 2012 
 
1. (1 punto) Dados los siguientes números A = +35 (en decimal), B = -27 (en decimal), 
C = +22 (en octal) y D = +28 (en hexadecimal): 
a) (0,4 puntos) Expréselos en representación en complemento a dos con 8 bits. 
b) (0,4 puntos) Efectué las operaciones (A-B) y (-C-D) indicando si hay 
desbordamiento o acarreo y el por qué. 
c) (0,2 puntos) Represente (-B) en complemento a uno y en magnitud y signo 
ambos con 8 bits. 
2. (1 punto) Considere las siguientes expresiones de conmutación: 
 , , , ∑ 0,1,8,10,11 	∑ 2,3,6,7 	 
 x, y, z, w 	 yz yz	
Obtenga la forma simplificada de f x, y, z, w 	AND	g x, y, z, w . 
3. (3 puntos) Se desea diseñar un sistema combinacional automático para controlar el 
funcionamiento de un aparato de calefacción y aire acondicionado. El sistema tiene 2 
entradas: D, que indica si es de día o de noche (D=0 noche, D=1 día) y T, que indica en 
qué rango de valores está la temperatura de la habitación según la tabla: 
 
 
Temp < 15 16 < Temp < 22 23 < Temp < 26 27 < Temp < 32 Temp > 33 
T 0 1 2 3 4 
El sistema tiene 3 salidas: C, que enciende la calefacción, A, que enciende el aire 
acondicionado y Turbo, que hace que la calefacción o el aire acondicionado funcionen a 
doble potencia. 
El funcionamiento del sistema es el siguiente: 
 Durante el día la calefacción se enciende en modo Turbo si la temperatura es menor 
de 15 y se enciende en modo normal si la temperatura está entre 16 y 22. 
 Durante el día el aire acondicionado se enciende en modo Turbo si la temperatura es 
superior a 33 y se enciende en modo normal si está entre 27 y 32. 
 Durante la noche no se enciende el Turbo. Sólo se enciende la calefacción si la 
temperatura es menor que 15 y el aire acondicionado si la temperatura es mayor de 
33. 
 Cuando la temperatura está entre 23 y 26 grados no se enciende nada. 
Se pide: 
a) (1 punto) La tabla de verdad del sistema. 
b) (2 puntos) Diseñarlo utilizando multiplexores 4 a 1 e inversores. 
 
Exam
4. (2
5. S
u
s
q
su
E
d
tr
fu




S
in
a/0
men de Fundam
2 puntos) E
a) (0,2 p
b) (0,2 p
c) (1,6 p
Sea un tren e
un sensor de
istema que,
que el tren 
uperior, dos
El sistema ti
durante un c
rayectos cir
función del v
 Cuando 
 Cuando 
 Cuando 
 Cuando 
Suponiendo 
ndicados en
a) (1,5 p
b) (1,5 p
de pu
S0
S3
b/0
b/0
a/1
in
mentos de Com
El diagrama 
puntos) ¿Q
puntos) ¿Q
puntos) Co
eléctrico de 
e presencia 
, leyendo el
realice ind
s vueltas por
iene como e
ciclo de rel
culares supe
valor en las 
C1=0 y C2
C1=1 y C2
C1=0 y C2
C1=1 y C2
que el tre
n la figura, s
puntos) Esp
puntos) Im
uertas lógica
S1
S2
a/0
a/0
b/0
nicial
mputadores
de estados d
ué tipo de s
ué patrón re
mplete el cr
juguete con
(P) y dos 
l valor del 
definidament
r el tramo in
entrada P y 
oj) cuando 
erior e infer
salidas C1 y
2=0, el tren r
2=1, el tren r
2=1, el tren p
2=0, el tren p
en se encue
e pide: 
pecificar el 
mplementarlo
as. 
b/0
0
entrada
clk
estado
salida
de la figura 
istema secu
econoce? 
ronograma.
n un trazado
cambios de
sensor y co
nte la siguie
nferior, una 
como salida
el tren pas
rior. Por su 
y C2: 
realiza recor
realiza recor
pasa del tram
pasa del tram
entra en la 
sistema com
o utilizando 
b
a
S0
1
0
c
representa u
uencial es: M
 
o de vías en
e agujas (C
ontrolando l
ente secuen
vuelta en oc
as C1 y C2
sa por el tra
parte el tren
rridos circul
rridos circul
mo superior
mo inferior 
posición i
mo máquina
un contado
 
curso 2011-12
un reconoce
Mealy o Moo
n forma de o
1 y C2). S
los cambios
ncia: dos vu
cho. 
. La entrada
amo de vía 
n seguirá un
lares por el t
lares por el t
r al inferior. 
al superior. 
nicial y cir
de Moore 
or módulo-7
2, primer parci
edor de patr
ore? 
ocho que dis
Se desea di
s de agujas,
ueltas por e
a P se activa
a que compa
na trayectori
tramo super
tramo inferi
rcula en el
7 y el menor
ial / pág. 2 
rón. 
spone de 
señar un 
 permita 
el tramo 
a (vale 1 
arten los 
ia que es 
rior. 
ior. 
l sentido 
r número 
Examenes finales/2011Junio_FC_parcial-1.pdf
Facultad de Informática Departamento de Arquitectura de Computadores y Automática 
 
Examen de Fundamentos de Computadores 13 de junio de 2011 
 
Apellidos ……………………………………………………………… 
 
Nombre …………………………………………D.N.I. ………………………… 
 
 
1) Dados los siguientes números: A= -28 (en decimal) y B= +3C (en hexadecimal). 
a) Exprese los dos números con el mismo número de bits en representación en 
complemento a dos. 
b) Efectúe las siguientes operaciones (operando en complemento a 2) indicando el 
valor decimal que se produce cuando no haya desbordamiento: A+B, A-B. 
(1,5 puntos) 
 
2) Un sistema combinacional tiene una entrada X, que es un dígito BCD. La salida Z 
vale 1 si el número es mayor que 1 y múltiplo de 3. 
a) Obtenga la tabla de verdad. 
b) Diseñe el sistema usando un multiplexor de 4 a 1 e inversores. 
(1,5 puntos) 
 
3) Implemente un sistema secuencial que genere cíclicamente la secuencia 1,2,3,6,7 
usando un contador módulo 8 como el que se describe en la figura y el menor 
número de puertas lógicas. 
Borrar Cargar Contar Q(t+1) 
0 - - 0 
1 1 - E(t) 
1 0 1 Q(t)+1 
1 0 0 Q(t) 
 
(1 punto) 
 
 
 
4) Un sistema secuencial síncrono tiene una entrada serie X y una salida de un bit Z. 
La salida vale 1 cuando detecta el tercer 0 consecutivo en la entrada. Desde el 
momento en que detecta el 000 la salida vale 1 durante dos ciclos de reloj, 
independientemente del valor de la entrada durante esos dos ciclos. Después se pasa 
al estado inicial. 
Se pide: 
a) Especifique el sistema mediante un diagrama de estados como máquina de 
Moore. 
b) Implemente el sistema usando un descodificador, puertas y biestables D. 
(2 puntos) 
 
Examenes finales/2011Septiembre_FC_parcial-2.pdf
Facultad de Informática UCM I.Informática 
 
 
FUNDAMENTOS DE COMPUTADORES 
6 de septiembre de 2011 
Nombre DNI . 
Apellidos Grupo . 
 
Ejercicio 1.- (1’5 ptos.) Dado el siguiente código
escrito en lenguaje C 
 
int v[16]; // Dirección de comienzo 0x0000. 
Cada entero ocupa 4 bytes. 
int mask[4]; // Dirección de comienzo 0x0040 
 
1 for(i=0; i<12; i++) { 
2 tmp = 0; 
3 for(j=0; j<4; j++){ 
4 tmp = tmp+mask[j]*v[i]; 
5 } 
6 v[i]=tmp; 
7 } 
 
Programe una subrutina en lenguaje ensamblador del ARM que implemente el bucle 
interno (líneas 2-5). Esta rutina recibirá como parámetros de entrada la dirección del 
vector mask y la posición i-ésima del vector v y devolverá el valor de tmp: 
 
int for2(int mask[], int vi[]); 
 
Nota: Respete el convenio estándar de paso de parámetros de entrada y salida, así como 
de salvaguarda de registros utilizados. 
 
Ejercicio 2.- Suponga los siguientes tiempos de conmutación para los elementos funcionales de 
la ruta de datos mono-ciclo: 
 
I-Mem Add Mux ALU BReg D-Mem Control 
450 150 35 140 210 380 90 
 
a) (1 pto.) Determine, justificando la respuesta, el tiempo de ciclo mínimo para ejecutar 
la instrucción beq (salta si igual). 
 
b) (1 pto.) Considere la instrucción add $13, $2, $3. Indique cuál es el valor de las 
señales de control RegDst, MemWrite, ALUSrc y MemtoReg; así como el valor de las 
entradas RA, RB y RW del Banco de Registros y la salida del extensor de signo. 
 
Ejercicio 3.- Dado el siguiente código del MIPS: 
lw r2,4(r4) 
Facultad de Informática UCM I.Informática 
lw r6,8(r0) 
subi r5,r0,12 
slt r7,r10,r11 
add r4,r2,r3 
lw r9,0(r5) 
add r1,r7,r4 
sw r5,12(r1) 
 
a) (0’5) Considerando la implementación del procesador segmentada, determine los 
conflictos de datos. 
 
b) (0’5) Reescriba el programa introduciendo operaciones NOP para eliminar los 
posibles conflictos. 
 
Ejercicio 4.- Se va a ejecutar el código del ejercicio 1 en una máquina con direcciones de 
16 bits que dispone de una memoria cache de acceso directo con 4 bloques de 16 bytes cada 
uno. 
a) (0’75) Indique en qué (marco de) bloque de la memoria cache se encontrará el 
elemento v[1]. ¿Qué etiqueta tendrá el (marco de) bloque 2 de la cache tras la ejecución 
del código? Justifique las respuestas. 
 
b) (0’75) Ignorando los accesos a la variable tmp, ¿cuántos fallos de cache se 
producirán? Justifique la respuesta, indicando además cuántos reemplazamientos se 
producen (y en qué iteraciones). 
 
 
Examenes finales/2011Septiembre_FC_parcial-1.pdf
Facultad de Informática Departamento de Arquitectura de Computadores y Automática 
 
Examen de Fundamentos de Computadores 6 de Septiembre de 2011 
 
Apellidos ……………………………………………………………… 
 
Nombre …………………………………………D.N.I. ………………………… 
 
 
1) (1,5) Dados los siguientes números: A=+35 (en decimal) y B=-2D (en hexadecimal). 
a) Exprese los dos números con el mismo número de bits en representación en 
complemento a dos. 
b) Efectúe las siguientes operaciones (operando en complemento a 2) indicando el 
valor decimal que se produce cuando no haya desbordamiento: A+B, A-B. 
 
2) (1,5) Un sistema combinacional tiene como entrada un número positivo del 0 al 15. 
La salida Z vale 1 si el número de la entrada cumple alguno de estos requisitos: 
o Es un número primo 
o Es menor de 4 y par (considerar el 0 como par) 
o Es mayor de 8 e impar. 
Se pide: 
a) Especifique el sistema mediante la tabla de verdad. 
b) Implemente el sistema con un multiplexor de 4 a 1 e inversores. 
 
3) (2) Diseñe un sistema secuencial para controlar el funcionamiento de un túnel de 
lavado de coches. El sistema tiene 2 entradas, la tecla start/stop (asíncrona) y la 
tecla DarCera que permite la opción de encerar el coche, y 5 salidas como muestra 
la figura. En el estado inicial, todas las salidas valen 0. Desde cualquier estado se va 
inmediatamente al estado inicial siempre que la tecla start/stop vale 0. El túnel de 
lavado empieza a funcionar cuando start/stop vale 1. 
El funcionamiento es el siguiente: durante 1 ciclo rocía el coche con jabón, luego 
activa los rodillos durante 2 ciclos, después activa el agua para aclarar (1 ciclo) y el 
aire para secar (1 ciclo). Si la tecla DarCera está activada, antes de acabar está 2 
ciclos dando cera. En caso contrario vuelve al estado inicial. 
 
 
Se pide: 
a) Especifique el sistema mediante un diagrama de estados como máquina de 
Moore. 
b) Diseñe la parte de transición de estados usando un contador y el mínimo número 
de puertas posible. 
c) Diseñe la función de salida utilizando los módulos combinacionales que 
considere necesarios. 
FClabs.pdf
José Manuel Mendías Cuadros
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Laboratorios 1er. cuatrimestre
Fundamentos de computadores
2
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
los 5 orificios de cada
columna están conectados
los orificios de columnas 
contiguas no están conectados
ídem para las filas, que
se usan para distribuir
alimentación/tierra
los chips se colocan a
caballo de este hueco
5
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
1. Solicitar por internet una cuenta de usuario de laboratorios: 
http://informatica.ucm.es/cuenta‐labs/
2. Solicitar individualmente por internet el material de prácticas 
de FC: http://informatica.ucm.es/prestamo‐material‐labs/ 
3. Recoger el material en la Sala de técnicos 2.
4. Revisar en el laboratorio que todos chips funcionan.
o Se cambian el primer día de prácticas.
o Si se rompen con posterioridad, el alumno debe comprar nuevos.
o El cable entregado no se repone: reúsalo
5. El material se devuelve al finalizar el cuatrimestre.
o Los cables y los chips defectuosos no.
6
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
8 switches
(entrada de datos)
8 leds
(salida de datos)
2 displays BCD
(salida de datos)
2 pulsadores
(reloj manual)
generador
de funciones
(reloj)
fuente de 
alimentación
encendido
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
Pelacables Multímetro Chip Tester
8
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
 Uso del chip tester:
o Encender el tester
o Mover la palanca para abrir el zócalo
o Insertar el chip justificado abajo y con la marca hacia arriba
o Mover la palanca para cerrar el zócalo
o Pulsar AUTO para que detecte el chip
o Pulsar TEST
 Uso del multímetro para medir voltajes
o Encender el multímetro y alimentar el circuito.
o Situar la rueda en medida de voltaje (corriente continua) para un 
rango justo superior a 5V.
o Conectar la sonda NEGRA a TIERRA (GND, terminal – de la pila).
o Usar la sonda ROJA para tomar medidas:
• Para TTL: '0' = (V < 0,5V) y '1' = (V > 2.7)
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
Pinzas de cocodrilo
Multímetro
Pila de petaca
(opcional)
Alicates de corte
–+
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
Especificación binaria
Implementación lógica
Implementación física
Montaje
Prueba
Depuración
¿Correcto?
NO
en
 c
as
a
en
 c
as
a 
y/
o 
la
bs
 Estudiar el enunciado
 Rellenar el cuadernillo
 Enseñar al profesor de labs:
o El cuadernillo
o El circuito funcionando
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
Especificación binaria
Implementación lógica
Implementación física
Montaje
Prueba
Depuración
¿Correcto?
NO
CONVERSOR DE CODIGO
GRAY A BINARIOx
3
z
3
Gray de 3 bits
0 000
1 001
2 011
3 010
4 110
5 111
6 101
7 100
Binario de 3 bits
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
Especificación binaria
Implementación lógica
Implementación física
Montaje
Prueba
Depuración
¿Correcto?
NO
x2 x1 x0 z2 z1 z0
0 0 0 0 0 0 0
1 0 0 1 0 0 1
2 0 1 0 0 1 1
3 0 1 1 0 1 0
4 1 0 0 1 1 1
5 1 0 1 1 1 0
6 1 1 0 1 0 0
7 1 1 1 1 0 1
CONVERSOR DE CODIGO
GRAY A BINARIOx
3
z
3
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
x1x0
1 23
0
1
00 01
4 5 67
11 10x2
0
x2
x0 x1x1x0
1 23
0
1
00 01
4 5 67
11 10x2
0
x2
x0 x1x1x0
1 23
0
1
00 01
4 5 67
11 10x2
0
x2
x0 x1
⨁
⨁ ⨁
Especificación binaria
Implementación lógica
Implementación física
Montaje
Prueba
Depuración
¿Correcto?
NO
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
Especificación binaria
Implementación lógica
Implementación física
Montaje
Prueba
Depuración
¿Correcto?
NO
⨁
⨁ ⨁
x2
x1
x0
z2
z1
z0
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
Especificación binaria
Implementación lógica
Implementación física
Montaje
Prueba
Depuración
¿Correcto?
NO
x2
x1
x0
z2
SW2
SW1
SW0
LED2
LED1
LED0
1
2
3
4
5
6
A
A
Lista de componentes:
‐ A: 7486 (GND – 7, +5V – 14)
z0
z1
FC
ve
rs
ió
n 
12
/0
9/
14
La
bo
ra
to
rio
s
Especificación binaria
Implementación lógica
Implementación física
Montaje
Prueba
Depuración
¿Correcto?
NO SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW0
8 BITS DATA SWITCHES
+5V
GND
‐5V
DC POWER
4
5
6
7
0
1
2
3
8 BITS LED DISPLAYS
FCpresentacion.pdf
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Fundamentos de computadores
Presentación
2
FC
Pr
es
en
ta
ci
ón
Teoría y problemas
 1er. cuatrimestre
o José Manuel Mendías Cuadros
• Despacho 3.31 (Facultad de Informática)
• teléfono: 91 394 76 13
• e‐mail: mendias@dacya.ucm.es 
• Web: www.dacya.ucm.es/mendias
• Tutorías (se recomienda pedir cita): LM 11:30‐12:30, V:12‐13
 2do. cuatrimestre
o Julio Septién del Castillo
• Despacho 3.35 (Facultad de Informática)
• teléfono: 91 394 76 17
• e‐mail: jseptien@dacya.ucm.es 
• Tutorías: véase web de la Facultad
3
FC
Pr
es
en
ta
ci
ón
Laboratorio
 1er. cuatrimestre
o Rafael Moreno Vozmediano
• Despacho 3.33 (Facultad de Informática)
• teléfono: 91 394 76 15
• e‐mail: rmoreno@dacya.ucm.es
 2do. cuatrimestre
o Katzalin Olcoz Herrero
• Despacho 3.18 (Facultad de Informática)
• teléfono: 91 394 76 55
• e‐mail: katzalin@dacya.ucm.es
4
FC
Pr
es
en
ta
ci
ón
 Funciones del computador:
o Procesamiento de datos
o Almacenamiento de datos / instrucciones (programa)
o Transferencia de datos entre el computador y el exterior
o Control programado de las anteriores operaciones
 La especialización funcional de un computador ocurre 
cuando se programa y no cuando se diseña.
Máquina de cálculo electrónica de alta velocidad que
acepta información digitalizada, la procesa atendiendo a
una lista de instrucciones que almacena internamente, y
produce la correspondiente información de salida
Hamacher, Vranesic y Zaky. Organización de computadores
5
FC
Pr
es
en
ta
ci
ón
 Sus principales componentes estructurales son:
o Procesador: controla el funcionamiento del computador y procesa 
los datos según las instrucciones de un programa almacenado
o Subsistema de memoria: almacena datos/instrucciones (programa)
o Subsistema de entrada/salida: transfiere datos entre el 
computador y el entorno externo
o Subsistema de interconexión: proporciona un medio de 
comunicación entre el procesador, la memoria y la E/S. 
E/S
Bus
CPU
Periféricos
Memoria
FC
Pr
es
en
ta
ci
ón
Micro‐
electrónica
Sistema Digital
Estructura del
computador
Arquitectura del 
computador
Sistema Operativo
Lenguaje de alto nivel
Aplicación
Registros
Registro Estado
Contador Programa
R0
R7
•••
Loop move #$10, R0
load R1(dir1), R2
add R2, R0
sub #1, R1
beq Loop
Gestión de memoria, de procesos, de 
ficheros, intérprete de comandos, etc.
Ofimática, Comunicaciones, Juegos,  
Multimedia...
E/S
Bus
CPU
Periféricos
Memoria
Programación estructurada, orientada 
a objetos, complejidad, etc.
7
FC
Pr
es
en
ta
ci
ón
 Mostrar los fundamentos del funcionamiento, estructura y 
diseño de un computador.
o Todos los computadores, con independencia de su tipo, se basan en un 
conjunto de conceptos básicos comunes.
 Aproximación ascendente (bottom‐up)
o Partiendo de puertas lógicas, estudiaremos sistemas de complejidad 
creciente hasta alcanzar un computador elemental completo.
o Estudiaremos la estructura básica de un computador y aprenderemos 
a programarlo a nivel máquina. 
o Estudiaremos cómo un programa en un lenguaje de alto nivel (C) 
termina ejecutándose como una serie de instrucciones máquina.
 En otras asignaturas de este y sucesivos cursos: 
o Se estudiarán el computador en mayor profundidad y a otros niveles.
8
FC
Pr
es
en
ta
ci
ón
Tema teoría labs
1 Representación digital de la información  4 h ‐‐‐
2 Especificación de sistemas combinacionales 4 h ‐‐‐
3 Implementación de sistemas combinacionales 4 h 2 h
4 Módulos combinacionales básicos 4 h 2 h
5 Especificación de sistemas secuenciales síncronos  2 h ‐‐‐
6 Implementación de sistemas secuenciales síncronos 4 h 2 h
7 Módulos secuenciales básicos  4 h 4 h
8 Diseño del procesador 8 h ‐‐‐
9 Lenguaje máquina y ensamblador 14 h 8 h
10 Sistema de memoria de un computador 5 h ‐‐‐
11 El subsistema de entrada/salida 3 h 2 h
2d
o.
 c
ua
tr
im
es
tr
e
Ar
qu
ite
ct
ur
a/
es
tr
uc
tu
ra
de
 c
om
pu
ta
do
re
s
1e
r. 
cu
at
rim
es
tr
e
Si
st
em
as
 d
ig
ita
le
s
9
FC
Pr
es
en
ta
ci
ón
 Asistencia obligatoria
 Clases:
o Teoría en aula (30h/cuatrimestre)
o Problemas en aula (20h/cuatrimestre)
o Prácticas en laboratorio (10h/cuatrimestre)
 Elementos evaluables:
o Prácticas: 25% de la nota
• 1er. cuatrimestre: 5 sesiones de 2 horas (no recuperables)
• 2do. cuatrimestre: 5 sesiones de 2 horas (no recuperables)
o Exámenes: 75% de la nota
• Febrero (temario del 1er. cuatrimestre) 
• Junio (temario del 2do. cuatrimestre o temario completo) 
• Septiembre (temario del 1er./2do. cuatrimestre o temario completo)
10
FC
Pr
es
en
ta
ci
ón
 En jun/sep el alumno/a puede elegir evaluarse:
o Por exámenes parciales liberatorios (temario cuatrimestral)
o Por examen final (temario completo)
 Según el caso, la calificación final se calcula, a elegir:
o Evaluación por exámenes parciales:
• Notafinal = (Nota1er cuatrimestre + Nota2do cuatrimestre) / 2
• Notacuatrimestre = 0,75∙Notaexamen parcial + 0,25∙Notaprácticas 
• La nota de ambos cuatrimestres debe ser mayor que 4. 
• La nota del cuatrimestre se guarda hasta septiembre.
o Evaluación por examen final:
• Notafinal = 0,75∙Notaexamen final + 0,25∙Notaprácticas
11
FC
Pr
es
en
ta
ci
ón
1er. cuatrimestre
Octubre 2014 Noviembre 2014
29 30 1 2 3 4 5 1 2
6 7 8 9 10 11 12 3 4 5 6 7 8 9
13 14 15 16 17 18 19 10 11 12 13 14 15 16
20 21 22 23 24 25 26 17 18 19 20 21 22 23
27 28 29 30 31 24 25 26 27 28 29 30
Diciembre 2014 Enero 2015
1 2 3 4 5 6 7 1 2 3 4
8 9 10 11 12 13 14 5 6 7 8 9 10 11
15 16 17 18 19 20 21 12 13 14 15 16 17 18
22 23 24 25 26 27 28 19 20 21 22 23 24 25
29  30  31 26 27 28 29 30 31
TEORIA LABORATORIO PROBLEMAS
Tabla sistemas de bases.docx
		Decimal
		Binario
		0ctal (
		Hexadecimal (
		0
		0
		0
		0
		1
		1
		1
		1
		2
		10
		2
		2
		3
		11
		3
		3
		4
		100
		4
		4
		5
		101
		5
		5
		6
		110
		6
		6
		7
		111
		7
		7
		8
		1000
		10
		8
		9
		1001
		11
		9
		10
		1010
		12
		A
		11
		1011
		13
		B
		12
		1100
		14
		C
		13
		1101
		15
		D
		14
		1110
		16
		E
		15
		1111
		17
		F
		16
		10000
		20
		10
		suma
		
		resta
		
		Multiplicación
		0+0=0
		
		0 -0=0
		
		0x0=0
		0+1=1
		
		0-1=1
		Me llevo 1
		0x1=0
1+0=1
		
		1-0=1
		
		1x0=0
		1+1=0
		Me llevo 1
		1-1=0
		
		1x1=1
Laboratorios Mesas.pdf
Laboratorio de Fundamentos de Computadores
Grupo B
Laboratorio 7                                             Laboratorio 8                                               Laboratorio 9
Prof. José Jaime Ruz Ortiz  Prof.  Rafael Moreno Vozmediano Prof.  Mª Carmen Molina Prego
Alumno Mesa
AMBITE VARONA, DIEGO 1
BRAOJOS GARCÍA, DAVID 2
CAMPOS DELGADO, MIGUEL ANGEL 3
CARRERES RIOS SAMUEL 4
Alumno Mesa
GOMEZ AMADOR, CARLOS 1
GOMEZ HERRERA, TOMAS 2
GÓMEZ MOCHALES, DAVID 3
GONZALEZ ALVAREZ SALVADOR 4
Alumno Mesa
LOPEZ CARRION, FERNANDO 1
LOPEZ MILLAN, GUILLERMO 2
LORENZO FERNANDEZ, BORJA 3
MAESTRE VIDAL DIEGO 4CARRERES RIOS, SAMUEL 4
CASAS TORRES, LAURA 5
CORTINA FERNANDEZ, GUILLERMO 6
DATO CARDO, JESUS 7
DE LA FUENTE COSGAYA, PABLO 8
DIETTAMARTÍN ALEJANDRO 9
GONZALEZ ALVAREZ, SALVADOR 4
GONZALEZ AREVALO, JUAN 5
GONZALEZ PEREZ, MARCO 6
GU , RAN 7
GUOFENG , LI 8
GURDON BALLEN LUIS ALEJANDRO 9
MAESTRE VIDAL, DIEGO 4
MARTÍN GUTIÉRREZ, CARLOS 5
MARTIN VELASCO, DARIO 6
MEIROMENDOZA, GERARDO 7
MENA FERNANDEZ, ALBERTO 8
MENDOZA REYNA LUIS ALBERTO 9DIETTAMARTÍN, ALEJANDRO 9
ESPINOZAMELENDEZ, JULIO 10
FAJARDO VIZUETE, JORGE 11
FERNÁNDEZ SAN SOTERO, HÉCTOR 12
FIRA , CATALIN EMANUEL 13
FUERTES FRANCO ENRIQUE 14
GURDON BALLEN, LUIS ALEJANDRO 9
GUTIERREZ FERNANDEZ, PEDRO JESUS 10
HARJANI RAMCHANDANI, ARUN 11
HERNÁNDEZ CAÑAVATE, DIEGO 12
HERNANDEZ GARCIA, FRANCISCO 13
HERNANDEZ JIMENEZ SERGIO 14
MENDOZA REYNA, LUIS ALBERTO 9
MENÉNDEZ LÓPEZ, ADRIÁN 10
MORA GOMEZ, MIGUEL 11
MORAIS MANRIQUE, SWAMY 12
MORAL CASTILLO, ALFREDO 13
MOUCHILI LARDIN ADRIEN EPHREM 14FUERTES FRANCO, ENRIQUE 14
GALLARDOMUÑOZ, MARIAM 15
GARCIA BAAMEIRO, DANIEL 16
GARCIA HERNANDEZ, PABLO 17
GARCÍA ROS, JOSÉ RAMÓN 18
GARCIA TOLEDO ALVARO 19
HERNANDEZ JIMENEZ, SERGIO 14
HERVAS RODRIGUEZ, DAVID 15
HUERTAS SMOLIS, MARTA 16
KALOYANOVA POPOVA, ELENA 17
LABORDA GARCÍA, DAVID 18
LALAGUNA SANCHEZ JAVIER 19
MOUCHILI LARDIN, ADRIEN EPHREM 14
MUDARRA CASTAÑO, HECTOR DANIEL 15
MUÑOZ GARCÍA, DANIEL 16
MUÑOZMARIA, LUIS 17
RODRIGUEZMARTINEZ, GONZALO 18
SANTIYAN GARCÍA LISON JUAN 19GARCIA TOLEDO, ALVARO 19
GARRIDO ROMAN, VICTOR MANUEL 20
LALAGUNA SANCHEZ, JAVIER 19
LIEBANA CABELLO, JORGE 20
SANTIYAN GARCÍA‐LISON, JUAN 19
TORRES ALONSO, ALEJANDRO 20
karnaugh interactivo.txt
http://www.ee.calpoly.edu/media/uploads/resources/KarnaughExplorer_1.html
Ejercicios/FCproblemas3.pdf
 
Proble
 
Prob
1. Im
c
in
d
d
(p
m
e
u
2. A
 
 
 
 
 
 
Prob
3. D
s
4. U
c
c
c
2
5. E
h
n
m
in
d
s
u
D
p
fi
s
 
Facu
Unive
emas de Fund
P
blemas bá
mplemente 
controle el m
ndicando el
de monedas 
dos salidas, u
p.ej. cambia
monedas deb
el retardo de
utilizando lo
Analice el s
blemas ad
Demuestre 
iguiente exp
Un sistema c
complement
complement
codificar la s
2 entradas. 
El sistema n
hecho de cé
neurona tien
muestra en 
nhibición. U
de sinapsis d
inapsis de i
umbral de la
Determine l
pulsos a trav
figura, para 
alida 1 si e
ultad de In
ersidad Complu
damentos de C
PROBLEMA
ásicos: 
con el me
mecanismo d
l tipo de mo
que se dese
una de error
ar una mon
be entregar 
e propagaci
os datos de la
iguiente circ
dicionales
que el blo
presión de c
combinacion
to a 2, en el 
to a 2 de for
salida. Impl
nervioso hu
élulas espec
ne sinapsis 
la figura ad
Una neurona
de excitació
nhibición co
a neurona. 
a función b
vés del cana
un valor de
l número d
a
c
nformática 
utense de Mad
Computadores
AS DE FU
enor número
de una máqu
oneda introd
ea obtener: 0
r que se acti
eda de 0.50
la máquina 
ión (máxim
a biblioteca 
cuito y dé u
s: 
oque combi
conmutación
nal tiene po
rango -3≤x≤
rma que z(x
lemente el s
umano, incl
cializadas ll
(puntos de 
djunta) de 
a produce u
n con pulso
on pulsos 1 
booleana f(
l de salida (
e umbral 1. 
e sinapsis d
a 
b 
c 
a 
c 
b 
 
a 
drid 
(versión 7-10
NDAMENT
 TEMA
o de puerta
uina de cam
ducida: 0.20
0.05€, 0.10€
ivará cuand
0€ en mone
a a cambio d
mo) y el reta
a de celdas p
una descripc
inacional cu
n es conjunt
or entrada un
≤3. La salid
x) = -2x. D
sistema usan
luyendo el 
lamadas ne
interconex
excitación 
una salida 1
os 1 excede 
 por al men
(a,b,c,d,e) d
(axón) en el
Es decir, se
de excitació
c
b
a
0-14)
TOS DE C
A 3 
as NAND u
mbio de mon
0€, 0.50€, 1€
€, 0.20€, 0.5
o la operaci
das de 0.20
de la moned
ardo contam
presentada e
ión de alto n
uyo compo
to universal:
n número bi
da del sistem
etermine el 
ndo el meno
cerebro, es
euronas. Ca
xión, como 
y sinapsis 
 si el núme
el número 
nos el valor 
de emisión 
l modelo de 
e produce u
ón a 1, exce
OMPUTAD
un sistema 
nedas. Posee
€, 2€ y otra
50€. A su ve
ión solicitad
0€), y otra q
da introducid
minación (m
n teoría. 
nivel de la f
ortamiento 
: xxyP 
inario de 3 b
ma es tambié
número de
or número d
stá 
da 
se 
de 
ero 
de 
de 
de 
la 
na 
de 
f
Tema
DORES 
combinacio
erá dos entra
a para indica
ez, el sistem
da no se pue
que indicará
da. Calcule 
mínimo) del
función que 
viene dado
x . 
bits represe
én un núme
e bits necesa
de puertas N
a 3 / pág. 1 
onal que 
adas, una 
ar el tipo 
ma tendrá 
eda hacer 
á cuántas 
el coste, 
l circuito 
realiza: 
o por la 
ntado en 
ero (z) en 
ario para 
NAND de 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 3 / pág. 2 
 
por al menos en uno el número de sinapsis de inhibición a 1. Minimice f(a,b,c,d,e) y 
obtenga una implementación usando el menor número de puertas lógicas de no más de 3 
entradas. Calcule el coste, el retardo de propagación (máximo) y el retardo 
contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas 
presentada en teoría. 
6. Sea un sistema de seguridad para 2 puertas, tal que para que una de ellas se abra, el 
usuario debe haber insertado una tarjeta válida que identifique a la puerta y tecleado un 
cierto código de acceso. 
El sistema lee la información generada por un lector de tarjetas y por un lector de 
teclado. El sistema generará como salida las señales de apertura de cada una de las 
puertas y de activación de una alarma. Las salidas del lector de tarjetas son: no se ha 
insertado tarjeta, tarjeta válida para puerta 1, tarjeta válida para la puerta 2, tarjeta no 
válida. La salida del lector de teclado es el código introducido codificado con 2 bits. Los 
códigos autorizados para la puerta 1 son 01 y 10 y los códigos autorizados para la puerta 
2 son 01 y 11. El código 00 indica que no se ha tecleado nada. 
La alarma deberá sonar si la tarjeta insertada no es válida o si la tarjeta insertada es 
válida, pero el código tecleado no está autorizado para la correspondiente puerta. Una 
puerta se abrirá cuando la tarjeta y el código tecleado asociados a ella sean válidos. En el 
resto de casos, las puertas permanecerán cerradas y la alarma sin activar. 
Implemente el sistema usando el menor número de puertas AND y NAND de no más de 
3 entradas. Calcule el coste, el retardo de propagación (máximo) y el retardo 
contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas 
presentada en teoría. 
7. Utilizando el menor número de puertas NAND implemente un sistema combinacional 
que tiene dos entradas de 2 bits cada una X{0,1,2,3} e Y{1,2}, y una salida Z que 
realiza la función: Z = 2*(X + Y - 1)/Y. 
8. Se quiere un diseñar un radar. El sistema recibirá como entrada el ángulo que forma el 
objeto con la horizontal. Los ángulos se miden en sentido antihorario a partir de las 3 
horas con una resolución de 30º. Si un objeto se encuentra en la frontera entre dos 
cuadrantes se considera que pertenece al mayor de los dos. 
La salida del radar estará compuesta por 3 bits (A,B,C): 
 A se activa cuando la entrada está en el 1er o en el 3er cuadrante, no se activa en 
caso contrario. 
 B se
activa cuando la entrada está entre 0 y 29º o entre 60º y 119º o entre 210º y 
299º, no se activa en caso contrario. 
 C se activa cuando sólo se activa una de las salidas anteriores y sólo una. 
Se pide: 
a) Obtener la tabla de verdad de A, B, C. 
b) Sintetizar la expresión de conmutación de cada una de las salidas del sistema 
requerido, mediante una red NAND de 2 niveles con el menor número de puertas. 
c) Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación 
(mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en 
teoría. 
9. Utilizando el mínimo número posible de puertas NAND de 2 entradas, implemente las 
siguientes funciones de conmutación: 
 f(a,b,c,d)=Σm(0,1,6,7,9,13) 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 3 / pág. 3 
 
 g(a,b,c,d)=Σm(0,3,5,6,8,11,13,14) 
 h(a,b,c,d)=Σm(4,5,6,7,9,11,12,14) 
10. Se desea implementar el mecanismo de control y aviso de una presa. El sistema tiene una 
entrada L que indica la cantidad de lluvia que está cayendo (ver tabla) y dos entradas 
provenientes de sensores: uno ubicado a mitad de la presa M, que devolverá 1 cuando la 
presa esté completa al 50% o más y 0 en caso contrario; y otro R, que devolverá 1 
cuando el 90% de la presa o más esté completa. Se desea implementar un sistema de 
alarma con una salida A codificada (según tabla) que se comporte de la siguiente manera: 
 Siempre que el nivel de la presa esté por debajo de la mitad y la lluvia no sea fuerte 
estaremos en alerta amarilla, y en caso de lluvia fuerte estaremos en el alerta naranja. 
 Siempre que el nivel este por encima del 50% pero por debajo del 90% esteremos en 
alerta naranja si y sólo si la lluvia es moderada o fuerte, en cualquier otro caso 
estaremos en alerta amarilla. 
 Siempre que el nivel esté por encima del 90% y haya lluvia estaremos en el alerta 
roja, si no, estaremos en alerta naranja. 
Además el sistema tiene un tiene una salida C que será igual a 1 cuando las compuertas 
de la presa estén abiertas, estas compuertas se abrirán siempre que estemos en las 
condiciones de la entrada que generan alerta roja, se abrirán también siempre que 
estemos por encima del 50%, con condiciones de alerta naranja y haya lluvia. Además en 
caso de que los sensores de nivel de la presa den señales inconsistentes se abrirán las 
compuertas y se fijará el nivel de alerta a amarillo. 
Se pide: 
a) Escribir la tabla de verdad que describe el sistema. 
b) Implementar la salida C utilizando el menor número de puertas lógicas de 2 
entradas. 
c) Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación 
(mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en 
teoría. 
 
Entrada L1L0 Salida A1A0
No llueve 00 Amarilla 01 
Débil 01 Naranja 10 
Moderado 10 Roja 11 
Fuerte 11 
11. En un restaurante de la compañía FAST-FOOD se elaboran distintos platos de comida a 
partir de los componentes: ensalada de lechuga (E), patatas fritas (F), pescado (P) y carne 
(C). Estos componentes pesan 100, 150, 250 y 200 gramos, respectivamente. Las 
comidas se transportan por medio de una banda hasta una báscula. Si el peso indicado en 
la báscula es más de 350 gramos, entonces el cliente deberá pagar 3 euros de suplemento. 
No es posible que lleguen a la báscula ni platos vacíos, ni platos que sólo contengan 
ensalada y patatas, ni platos que contengan pescado y carne. Todas las demás 
combinaciones sí pueden llegar hasta la báscula. 
El sistema tiene 2 salidas: Suplemento (S), que vale 1 cuando debe pagar suplemento, y 
Báscula (B), que indica el peso del plato medido por la báscula medido en múltiplos de 
50 gramos. Por ejemplo, si un plato pesa 300gr la salida Báscula vale 6. Se pide: 
a) Obtenga la tabla de verdad de la salida S, que calcula el suplemento y de la salida 
B, que indica el peso. 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 3 / pág. 4 
 
b) Realice el circuito usando el menor número de inversores y puertas NAND. 
c) Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación 
(mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en 
teoría. 
12. Se desea diseñar un sistema combinacional para controlar el motor de un reproductor de 
cintas de audio. El circuito dispone de 5 entradas y 3 salidas. 
Las señales de entrada son las siguientes: 
 PL, vale 1 cuando se pulsa el botón de reproducción. 
 RE, vale 1 cuando se pulsa el botón de rebobinado. 
 FF, vale 1 cuando se pulsa el botón de avance rápido. 
 ST, vale 1 cuando se pulsa el botón de parada. 
 M es una señal que proviene de un sensor especial de música que detecta música en 
la actual posición de la cinta. 
Las salidas son: 
 P, si vale 1 la cinta avanza 
 R, si vale 1 se rebobina 
 F, si vale 1 se avanza rápido. 
Sólo puede haber una salida activa y cuando las 3 valen 0, el motor está parado. 
Especificaciones de diseño: 
 Si se pulsa el botón de reproducción, el reproductor reproduce la cinta. 
 Si estando pulsado el botón de reproducción se pulsa el de rebobinado, el 
reproductor de cintas rebobinará si estamos en medio de una canción. Si no, 
reproducirá la cinta 
 Si estando pulsado el botón de reproducción se pulsa el de avance rápido, el 
reproductor de cintas avanzará rápido si estamos en medio de una canción. Si no, 
reproducirá la cinta 
 Si se presiona el botón de avance rápido o el de rebobinado estando el botón de 
reproducción sin apretar, el reproductor rebobinara o avanzara rápido. 
 Si se pulsa el botón de parada, se detiene el reproductor de cintas 
Se pide: 
a) Obtener una implementación simplificada con puertas NOT, AND, OR de 2 
entradas. 
b) Ídem con puertas NAND y AND de 2 entradas. 
c) Calcule en ambos casos el coste, el retardo de propagación (máximo) y el retardo 
contaminación (mínimo) del circuito utilizando los datos de la biblioteca de 
celdas presentada en teoría. 
13. Un operador de avionetas para rutas turísticas desea instalar un climatizador inteligente, 
para lo cual añade a los aeroplanos un sistema de calefacción (C) y un sistema de 
refrigeración (R) y los siguientes sensores: un sensor de temperatura (T) con la 
codificación que muestra la tabla, un altímetro que indica si la altura es superior a 350 
metros (A = 1) y un interruptor que enciende la calefacción (I=1). El operador encarga al 
fabricante las siguientes especificaciones: 
 La calefacción se encenderá automáticamente cuando haya temperaturas inferiores a 
15º y el altímetro sea superior a 350 metros. 
 La refrigeración se encenderá automáticamente cuando haya temperaturas superiores 
a 25º si el avión vuela con una altura inferior a 350 metros. 
 El interruptor de calefacción deshabilita la refrigeración (en su caso) y enciende la 
calefacción si la temperatura es inferior a 25º. 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 3 / pág. 5 
 
Temperatura Menos de 5º De 5º a 15º De 16º a 25º Más de 25º 
T 00 01 10 11 
 
a) Halle la tabla de verdad que describe el funcionamiento del circuito. 
b) Implemente el sistema utilizando el menor número posible de puertas lógicas. 
c) Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación 
(mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en 
teoría. 
14. Sea un sistema que controla el riego automático de un parque. El sistema tiene como 
entradas las señales E y D que provienen de un reloj-calendario y la señal L que viene de 
un sensor de lluvia, tales que: 
 E D L 
verano 1 mañana 0 llueve 1 
no verano 0 mediodía 1 no llueve 0 
 tarde 2 
noche 3 
 El sistema tiene una única salida Z que vale 1 cuando el riego debe activarse y 0 cuando 
debe desactivarse. Dicha salida viene determinada de la siguiente manera: 
 Si es invierno y mediodía, el riego se activa 
 Si es verano, el riego
se activa por la mañana, mediodía y noche 
 Si llueve, el riego se desactiva 
Implemente el sistema utilizando el menor número de puertas lógicas de no más de 3 
entradas. Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación 
(mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 
15. Un sistema combinacional que controla una carrera de regatas tiene 4 entradas y 2 
salidas. Las entradas indican las características del barco: 
 B (1=extranjero; 0=nacional) 
 E (1=eslora mayor de 8 metros; 0=eslora menor o igual a 8 metros) 
 M (1=manga mayor de 5 metros; 0=manga menor o igual a 5 metros) 
 S (1=equipamiento superior; 0=equipamiento convencional) 
Las dos salidas indican la categoría en la que participa el barco en función de sus 
características: 
 C (1=clase I; 0=clase II) 
 I (1=instrucciones de tipo A; 0=instrucciones de tipo B) 
Para organizar a los barcos se usan las siguientes condiciones: 
 Los barcos de bandera extranjera y eslora mayor de 8 metros navegan en Clase II 
junto a los de bandera española. Los demás, en Clase I. 
 Para los barcos pertenecientes a Clase II el conjunto de instrucciones depende del 
tipo de equipamiento: los barcos con equipamiento superior usan el conjunto de 
instrucciones A, mientras que los de equipamiento convencional usan el conjunto de 
instrucciones B. 
 Todos los barcos de Clase I usan el conjunto de instrucciones B, salvo que tengan 
una manga mayor de 5 metros o equipamiento superior, en cuyo caso usan el 
conjunto de instrucciones A. 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 3 / pág. 6 
 
Se pide: 
a) Obtenga una especificación del sistema en forma de tabla de verdad. 
b) Obtenga la implementación con puertas de su suma de productos mínima. 
c) Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación 
(mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en 
teoría. 
16. Obtenga una circuito con el menor número de puertas lógicas equivalente al circuito 
mostrado en la figura, siendo M un bloque combinacional cuya salida vale 1 cuando en 
sus entradas hay más unos que ceros (función mayoría). 
Problemas de examen: 
17. (Febrero 2013) Se desea realizar un circuito combinacional que permita clasificar, según 
su forma, las piezas que se sitúan en un receptáculo. 
Para ello, las entradas del sistema están conectadas a una matriz de 4 células 
fotoeléctricas dispuestas como se muestra en la figura. 
 Cuando no hay pieza en el receptáculo, todas las células generan valor 0. 
 Cuando la hay, unas células generan valor 0 y otras 1 según la forma de la pieza 
(véanse algunos ejemplos en la figura). 
El sistema generará un vector de 2 bits indicando si la pieza es cuadrada (00), triangular 
(01), en forma de L (10) o defectuosa (11), es decir, no es una de las anteriores. 
Considérese que todas las piezas encajan en el receptáculo pero que podrán estar rotadas 
90º, 180 ó 270º. 
Se pide: 
a) Indicar la tabla de verdad del sistema. 
b) Diseñarlo utilizando el menor número de puertas NAND e inversores. 
18. (Febrero 2014) Se desea implementar un sistema combinacional que regule el tiempo que 
debe estar en funcionamiento una secadora industrial. La secadora funcionará durante 
más o menos tiempo de acuerdo con la cantidad de ropa introducida y el nivel de 
humedad que tenga. 
A = 0
D = 0
C = 0
B = 0
A B
C D
A = 1
D = 0
C = 1
B = 1
A B
C D
A = 0
D = 1
C = 1
B = 0
A B
C D
A = 1
D = 1
C = 1
B = 1
A B
C D
clasificador F
A
D
C
B 2
A B
C D
M M
M M
A
B
1
A
D
C
D
C
F
Proble
 
E
d
b
S
E
s



S
 
 
 
 
 
 
emas de Fund
El sistema re
de volumen:
baja (0), med
Si, por ejemp
El sistema, d
ecado codif
 Menor o
 Mayor d
 Mayor o
Se pide: 
a) Indic
b) Diseñ
damentos de C
ecibe estos 
 poca ropa 
dia (1), alta 
tiempo( vo
plo, hay poc
tiem
de acuerdo 
ficado en bin
o igual que 3
de 30’ y men
o igual a 60’
car la tabla d
ñarlo utiliza
Computadores 
datos codifi
(0), cantida
(2). El tiem
olumen, hum
ca ropa y su
mpo( 0, 2 ) = 
con el tiem
nario que de
30’, program
nor que 60’
’, programa 
de verdad de
ando el men
(versión 7-10
ficados en b
ad media (1)
mpo de secad
medad ) = 30
u humedad e
30’ + (0+2)
mpo calculad
ebe realizar 
ma corto (0)
, programa 
a largo (2). 
el sistema. 
nor número d
0-14)
binario por 2
), mucha rop
do se calcula
0’ + (volume
es alta, el tie
)×10’ = 30’
do, indicará 
la secadora
); 
normal (1) 
de puertas N
2 entradas q
pa (2); y el 
a con la sigu
en+humedad
mpo de seca
+ 20’ = 50’
por una sa
. Si el tiemp
NAND e inv
Tema
que indican 
tramo de h
uiente funció
d)×10’ 
ado será: 
’ 
alida el prog
po es: 
versores. 
a 3 / pág. 7 
el tramo 
humedad: 
ón: 
grama de 
Ejercicios/FCproblemas2.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
 
 
Problemas de Fundamentos de Computadores Tema 2 / pág. 1 
 
 
 
PROBLEMAS DE FUNDAMENTOS DE COMPUTADORES 
TEMA 2 
Problemas básicos: 
1. Usando los mapas de Karnaugh, obtenga expresiones como mínima SDP de las 
funciones: 
 a) f(A,B,C,D) = m(0,4,6,10,11,13) 
b) f(w,x,y,z) = m(3,4,7,11,12,14,15) 
c) f(V,W,X,Y,Z) = m(0,2,3,4,5,11,18,19, 20, 23, 24,28 ,29,31) 
2. Empleando los mapas de Karnaugh, encuentre expresiones como suma de minterms de 
las funciones: 
f1(a,b,c,d) = f(a,b,c,d) . f(a,b,c,d) 
f2(a,b,c,d) = f(a,b,c,d) + f(a,b,c,d) 
f3(a,b,c,d) = f1(a,b,c,d) . f2(a,b,c,d) 
siendo: 
 
 
3. Un sistema combinacional tiene una entrada X, que es un dígito BCD. La salida Z vale 1 
si el número es mayor que 1 y múltiplo de 3. Obtenga la tabla de verdad. 
4. Se desea diseñar el control de un detector de situaciones de alarma en el hogar. El 
sistema tiene como entradas: 
 FU (se activa cuando el detector de humos reconoce un fuego) 
 IN (se activa cuando el detector de agua reconoce una inundación) 
 AT (se activa cuando el detector de intrusos identifica movimiento en la terraza) 
 AP (se activa cuando el detector de intrusos identifica movimiento en la puerta) 
Las salidas que debe proporcionar el sistema son: 
 PO (llama a la policía) 
 BO (llama a los bomberos) 
El comportamiento de la alarma es: 
 El sistema debe llamar a la policía cuando se detecta movimiento en la terraza o en 
la puerta pero no hay inundación ni fuego (ya que en estos casos los detectores de 
movimiento no son fiables) 
 El sistema debe llamar a los bomberos cuando se detecte inundación o fuego 
Describa el sistema mediante expresiones de conmutación simplificadas. 
 cb a+bd+ab = f 
db+ba = f 
Problemas de Fundamentos de Computadores Tema 2 / pág. 2 
 
 
 
Problemas adicionales: 
5. Obtenga una SDP simplificada equivalente a cada una de las siguientes expresiones de 
conmutación: 
 a) 
 b) 
6. Dadas las funciones de conmutación: 
 g1(a,b,c,d) = m(0,1,2,4,6,8,10,13,15) 
g2(b,c,d) = m(2,4,5,6,7) 
 g3(a,b,c,d) = m(0,2,3,4,6,10,11,12,14) 
g4(a,b,c,d) = m(1,2,4,6,12) 
 g5(a,b,c,d) = m(2,3,5,6,13) 
 complete las siguientes cadenas de igualdades: 
 a) f1(a,b,c,d) = g1 . g2 = m(.....) 
b) f2(a,b,c,d) = g1  g3 = m(.....) 
 c) f3(a,b,c,d) = g4 NAND g5 = m(.....) 
7. Dadas las funciones de conmutación 
 f1(a,b,c,d) = m(0,2,4,5,7,12,13,15) 
 f2(a,b,c,d) = m(0,3,6,7,10,11,12,13) 
obtenga expresiones como sumas de mintérminos de las siguientes funciones: 
a) f3 = f1 . f2 
b) f4 = f1  f2 
8. Obtenga expresiones de conmutación como sumas de minterms de las funciones: 
a) f3 (x,y,z,w) = f1  f2 
b) f4 (x,y,z,w) = f1 NOR f2 
siendo: 
 
 
9. Obtenga la suma de productos canónica equivalente a la expresión de conmutación: 
Z(x3, x2, x1, x0) = )xx(x)xx( 10123  
10. Obtenga una especificación mediante
una EC simplificada de un sistema combinacional 
que acepta como entrada dos números binarios de dos bits, X e Y, y da salida uno si y 
solo si XY. 
11. Obtenga la especificación mediante ECs simplificadas de un conversor de código BCD a 
Exceso-3. 
12. Especifique mediante ECs simplificadas un sistema combinacional capaz de detectar 
números primos. El sistema admite como entrada números enteros en el rango 0 a 31. 
13. Un sistema combinacional tiene una entrada, X, que representa un dígito decimal. La 
salida, Z, es la entrada dividida entre 2 si X>4. En caso contrario, la salida es el doble de 
ecdbadbaceecedcbaf )())((),,,,( 
)()()(),,,( zyzxxwzyxwf 
w)zz)(xy)(xy(xf1 
w)zx)(yzx)(wzyz)(xy(xf2 
Problemas de Fundamentos de Computadores Tema 2 / pág. 3 
 
 
 
la entrada. Obtenga una especificación mediante ECs simplificadas del sistema 
suponiendo: 
a) que la entrada y la salida se codifican en BCD 
b) ídem en Exceso-3. 
14. Una escalera tiene cuatro pisos y un conmutador por piso para controlar la luz. Si todos 
los conmutadores están apagados la luz está apagada, pero cualquier cambio en un con-
mutador modifica el estado de la luz. Describa mediante una EC simplificada el sistema 
combinacional necesario para controlar la luz. 
15. Un estudiante será seleccionado para participar en un programa experimental si 
pertenece, al menos, a uno de los grupos siguientes: 
 Varón, no de 2º ciclo, español 
 De 2º ciclo, español, no sabe programar 
 Varón, de 2º ciclo, español 
 Mujer, de 2º ciclo, sabe programar 
 No de 2º ciclo, español, no sabe programar 
 Mujer, no de 2º ciclo, española 
 Se pide: 
a) Especifique mediante una función de conmutación un sistema digital tal que 
conocidas las características de un estudiante permita determinar 
automáticamente si será seleccionado para el programa. 
b) Halle un conjunto de requerimientos equivalente, pero más simple, para ser 
seleccionado. 
16. El ayuntamiento de Madrid quiere eliminar el peligro que suponen las fuentes 
ornamentales los días de fuerte viento para el tráfico que circula por los alrededores, para 
lo cual ha encargado un sistema digital con dos entradas T y V y una salida F, que 
cumpla las siguientes especificaciones: 
 Sensor de tráfico (T1, T0): codificado según la tabla adjunta 
 Sensor de viento (V1, V0): codificado según tabla adjunta. 
Siempre que la fuerza del viento sea alta se apaga la fuente (F = 0). Siempre que no haya 
viento o la fuerza de éste sea pequeña se mantendrá la fuente encendida (F = 1). Sólo en 
el caso de viento moderado y densidad de tráfico media o alta se apagará la fuente. 
Escribir la tabla de verdad que refleja el funcionamiento del sistema. 
T1 T0 Tráfico V1 V0 Fuerza del Viento 
0 0 Bajo 0 0 Sin viento 
0 1 Medio 0 1 Pequeña 
1 0 Alto 1 0 Moderado 
 1 1 Alta 
 
17. Un sistema para el control de un paso a nivel de la vía férrea Madrid-Segovia tiene tres 
salidas: B indica si la barrera del paso a nivel está bajada o subida, y las otras dos indican 
si está verde o rojo el semáforo que permite pasar trenes en cada uno de los dos sentidos 
(si Pm es 1 pasan trenes desde Madrid y si Ps es 1 pasan trenes desde Segovia). El 
sistema debe garantizar que sólo pasa un tren a la vez y nunca está subida la barrera 
cuando pasa un tren. 
Problemas de Fundamentos de Computadores Tema 2 / pág. 4 
 
 
 
El sistema tiene como entrada dos conjuntos de tres variables: las variables Mt, Mm y Mr 
valen 1 cuando viene un talgo procedente de Madrid, viene un mercancías procedente de 
Madrid y cuando el tren que viene de Madrid está retrasado respectivamente (sólo vale 1 
si viene algún tren y además está retrasado). Las variables St, Sm y Sr tienen el mismo 
significado pero para los trenes procedentes de Segovia. 
El funcionamiento del sistema cuando más de un tren quiere pasar es el siguiente: si sólo 
uno de los trenes lleva retraso pasa ese en primer lugar y espera el otro. En caso 
contrario, si sólo uno de los trenes es talgo, el talgo pasa primero; si ninguno es talgo, 
pasa primero el que va a Madrid y si ambos son talgo, primero pasa el que viene de 
Madrid. 
Obtenga una especificación binaria del sistema. 
18. Se desea diseñar un sistema que descodifique el rumbo de un barco. El sistema recibe el 
rumbo actual por cuatro entradas, N, S, E y W, que se activan cuando el barco lleva el 
rumbo correspondiente, de manera que, por ejemplo, la entrada NSEW=1010 se 
corresponde con el rumbo noreste (NE). La salida del sistema debe mostrar el rumbo de 
la siguiente forma codificado en binario puro: 
0 
7        1 
6          2 
5        3 
  4   
Especifique el sistema mediante una tabla de verdad y obtenga las expresiones de 
conmutación simplificadas como suma de productos. 
19. Un sistema combinacional para controlar el aparcamiento de una empresa de transportes 
tiene 4 entradas y 3 salidas. Las entradas indican las características del vehículo: C 
(1=Camión; 0=Furgoneta), F (1=Aislamiento con cámara frigorífica; 0=Aislamiento 
convencional), R (1 = Remolque mayor de 5 metros de longitud; 0=Remolque reducido o 
no remolque), P (1=mercancías peligrosas; 0=mercancías convencionales). Las salidas 
indican la seguridad, lugar de aparcamiento y turno en función de estas características 
descritas: Z (1=Zona amplia; 0=Zona convencional), S (1=Seguridad reforzada; 
0=Seguridad convencional). T (1=Turno de salida prioritario, 0=Turno de acuerdo al 
programa). Las condiciones que debe de cumplir el sistema son las siguientes: 
 Los vehículos pesados (camiones con o sin remolque y furgonetas con remolque 
mayor de 5 metros) se aparcan en zona amplia siempre que no transporten 
mercancías peligrosas. El resto en zona convencional. 
 Para los vehículos que transporten mercancías peligrosas la seguridad se verá 
reforzada. También si el vehículo considerado es un camión y lleva un remolque 
mayor de 5 metros, además de cámara frigorífica. El resto llevará seguridad 
convencional. 
 Todos los vehículos cuya seguridad esté reforzada, estén aparcados en zona 
convencional y tengan cámara frigorífica saldrán de forma prioritaria. El resto de 
vehículos saldrá de acuerdo al programa. 
 
Problemas de Fundamentos de Computadores Tema 2 / pág. 5 
 
 
 
Se pide: 
a) Obtenga una especificación del sistema en forma de tabla de verdad. 
b) Obtenga la implementación como suma de productos mínima. 
20. Un sistema combinacional que controla una carrera de regatas tiene 4 entradas y 2 
salidas. Las entradas indican las características del barco: 
 B (1=extranjero; 0=nacional) 
 E (1=eslora mayor de 8 metros; 0=eslora menor o igual a 8 metros) 
 M (1=manga mayor de 5 metros; 0=manga menor o igual a 5 metros) 
 S (1=equipamiento superior; 0=equipamiento convencional) 
Las dos salidas indican la categoría en la que participa el barco en función de sus 
características: 
 C (1=clase I; 0=clase II) 
 I (1=instrucciones de tipo A; 0=instrucciones de tipo B) 
Para organizar a los barcos se usan las siguientes condiciones: 
 Los barcos de bandera extranjera y eslora mayor de 8 metros navegan en Clase II 
junto a los de bandera española. Los demás, en Clase I. 
 Para los barcos pertenecientes a Clase II el conjunto de instrucciones depende del 
tipo de equipamiento: los barcos con equipamiento superior usan el conjunto de 
instrucciones A, mientras que los de equipamiento convencional usan el conjunto de 
instrucciones B. 
 Todos los barcos de Clase I usan el conjunto de instrucciones B, salvo que tengan 
una manga mayor de 5 metros o equipamiento superior, en cuyo caso usan el 
conjunto de instrucciones A. 
Se pide: 
a) Obtenga una especificación del sistema en forma de tabla de verdad. 
b) Obtenga la implementación como suma de productos mínima. 
21. Obtener las expresiones de conmutación que especifican un sistema para controlar la 
temperatura de una sala de computadores.
El sistema tiene las siguientes entradas: 
 Temperatura ºC T1 T0 V D Modo M
de 5 a 14º 0 0 Verano 1 Día 1 Ahorro 1 
de 15 a 24º 0 1 Invierno 0 noche 0 Normal 0 
de 25 a 34º 1 1 
de 35 a 44º 1 0 
El sistema tiene dos salidas: Una enciende el aire acondicionado y otra enciende la 
calefacción. La salida Enfriar (E) sólo puede valer 1 en verano y la salida Calentar (C) 
sólo en invierno. 
El funcionamiento del sistema es el siguiente: 
 Si está en modo ahorro de energía sólo enfría si T * 35º y sólo calienta si es de día y 
T < 15º. 
 Si no está en modo ahorro de energía, el sistema debe garantizar que la temperatura 
se mantiene entre 5 y 34º por la noche y entre 15 y 24º por el día. 
Problemas de Fundamentos de Computadores Tema 2 / pág. 6 
 
 
 
Problemas de examen: 
22. (Febrero 2011) Considere las siguientes expresiones de conmutación: 
 f x, y, z, w ∑ m 0,1,8,10,11 
 g x, y, z, w yz yz 
Obtenga la forma simplificada de f x, y, z, w AND g x, y, z, w . 
23. (Junio 2012) Un sistema combinacional recibe como entrada (X) un número del 1 al 6 
codificado usando el código Gray de 3 bits. El sistema tiene otra entrada de control 
(Inc/Dec) que indica si la salida Z es la entrada + 1 o la entrada – 1, es decir: 






11
01
Dec/IncsiX
Dec/IncsiX
Z 
La salida también está codificada en Gray de 3 bits. Se pide: 
a) Obtener la tabla de verdad. 
b) Obtener expresiones simplificadas de las salidas. 
Nota: La siguiente tabla muestra la codificación Gray de 3 bits: 
0 = (000) 1 = (001) 2 = (011) 3 = (010) 4 = (110) 5 = (111) 6 = (101) 7 = (100) 
 
Ejercicios/FCproblemas1.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 1 / pág. 1 
 
PROBLEMAS DE FUNDAMENTOS DE COMPUTADORES 
 TEMA 1 
Problemas básicos: 
1. Usando aritmética binaria, realice las siguientes operaciones (todos los operandos están 
expresados en decimal): 
 695 + 272 695 – 272 272 × 23 159  10 
Compruebe que el resultado binario concuerda con el que se obtendría operando en 
decimal. 
2. Realice los siguientes cambios de base: 
(10110110)2 a hexadecimal, a decimal y a octal 
(73)8 a hexadecimal, a decimal y a binario 
(137)10 a hexadecimal, a octal y a binario 
(AF3)16 a decimal, a octal y a binario 
3. Exprese en octal y hexadecimal las siguientes secuencias de 16 bits: 
A = 0000 0110 0000 0111 B = 0000 0000 1101 0110 
C = 1100 0001 1111 0011 D = 1001 0000 0000 1010 
Calcule también el número que representan suponiendo que lo codifican en binario puro, 
en MyS, en C2 y en C1. 
4. Dados los números A = (+36)10 y B = (+54)10 determine el número de bits mínimo para 
representar ambos en el convenio C2. Realice las operaciones A+B y A-B usando 
aritmética en C2. En cada caso indique razonadamente si se produce desbordamiento. 
Exprese el resultado de la operación A-B en hexadecimal de 8 bits. 
5. Extienda a 16 bits las siguientes secuencias de 8 bits: 
A = 01110010 B = 11010110 C = 00001101 D = 11110101 
suponiendo que representan números codificados en binario puro, MyS, C2 o C1. 
Exprese en hexadecimal el resultado de cada una de las extensiones. 
6. Considere las siguientes secuencias de 8 bits: 
A = 01001001 B = 00010001 C = 10111101 D = 11110011 
a) Suponiendo que codifican números en C2, represéntelos en MyS de 8 bits. 
b) Suponiendo que codifican números en MyS, represéntelos en C2 de 8 bits. 
7. Exprese los siguientes números decimales en códigos BCD y EX-3 de 16 bits. 
 A = 1486 B = 0 C = 349 D = 37 
Problemas adicionales: 
8. Halle el valor decimal de los siguientes secuencias de 8 bits: 
A = 11100111 B = 10111111 C = 00010110 D = 11111111 
suponiendo que representan números codificados en binario puro, MyS, C2 o C1. 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 1 / pág. 2 
9. Considere las siguientes secuencias de 8 bits: 
A = 00101101 B = 00011011 C = 11101101 D = 11010000 
c) Suponiendo que representan números codificados en C2, realice las operaciones: A–
B, -C–D, -A–B+C indicando si se produce desbordamiento. Calcule también el valor 
decimal de los resultados 
d) Ídem, suponiendo que representan números codificados en MyS. 
10. Calcule el número mínimo de bits necesarios para representar en binario puro, MyS, C2 
y C1 cada uno de los números siguientes, así como su representación binaria en dichas 
codificaciones: 
A = -100 B = +240 C = +15 D = +16 E = -16 
11. Usando aritmética en C2, primero, y en MyS, después, realice las siguientes operaciones: 
10110111 – 10000111 
00001000 + 11100001 
Indique para cada caso si se produce desbordamiento. 
12. Halle el valor decimal de las siguientes secuencias de 16 bits suponiendo que codifican 
números en BCD: 
A = 0000 0100 1000 0010 B = 1001 0101 0111 0000 
Problemas de examen: 
13. (Febrero 2011) Dados los siguientes números A = +35 (en decimal), B = -27 (en 
decimal), C = +22 (en octal) y D = +28 (en hexadecimal): 
a. Expréselos en representación en complemento a dos con 8 bits. 
b. Efectué las operaciones (A-B) y (-C-D) indicando si hay desbordamiento o 
acarreo y el por qué. 
c. Represente (-B) en complemento a uno y en magnitud y signo ambos con 8 bits. 
14. (Septiembre 2012) Dados los números A = (11101010)C2, B = (00111101)C2, C = -(523)8 
y D = +(543)8 
a. Determinar el valor de los números en decimal. 
b. Representar C y D en notación en complemento a 2 de 10 bits. 
c. Utilizando únicamente notación en complemento a 2 de 10 bits efectuar las 
operaciones (A-B) y (-C+D), indicando si hay desbordamiento o acarreo y el por 
qué. 
 
Ejercicios/FCproblemas5.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 1 
 
PROBLEMAS DE FUNDAMENTOS DE COMPUTADORES 
 TEMA 5 
Problemas básicos: 
1. Especifique como máquina de Moore un sistema secuencial cuya salida z se comporta, 
en función del valor su entrada x, de la forma siguiente: 
 Si x = ‘1’, entonces z sigue cíclicamente la siguiente secuencia de 4 valores: 0, 3, 7, 
7. La salida pasa de un valor de la secuencia al siguiente cada vez que el sistema 
recibe un pulso de reloj. 
 Si x = ‘0’, entonces la llegada de un pulso de reloj no altera el valor de la salida. Por 
tanto, z(t+1) = z(t). 
Obtenga una descripción binaria del sistema codificando las salidas en binario puro y 
exprese las funciones de transición de estados y salida en forma de sumas de productos 
mínimas. 
2. Sea un sistema secuencial con una entrada binaria x, una salida binaria z y el siguiente 
comportamiento temporal: 
	 		1 	 3… "0111"
		0 	 	
 
Especifique el sistema como máquina de Mealy, y exprese las funciones de transición de 
estados y salida en forma de sumas de productos mínimas. 
3. Considere el diagrama de estados del sistema secuencial especificado como máquina de 
Mealy mostrado en la figura. Se pide: 
a) Obtener el diagrama de estados equivalente como máquina de Moore. 
b) Completar el cronograma. 
 
4. Sea un sistema secuencial con una entrada x{a,b}, una salida z{s,n} y el siguiente 
comportamiento temporal: 
	 		 	 3… 	 1 " "	 	" "	
		 	 	
 
 
S0
S1
S2
b/n
a/n
a/n
b/n
a/mb/ninicial
entrada
clk
estado
a
S0
salida
s
n
b
estado S0
salida
s
n
m
á
q
u
in
a
d
e 
M
o
o
re
m
á
q
u
in
a
d
e 
M
ea
ly
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 2 
 
 Se pide: 
a) Completar el cronograma 
b) Expresar las funciones de transición de estados y salida en forma de sumas de 
productos mínimas. 
 
Problemas adicionales: 
5. Un contador reversible módulo p, es un sistema secuencial capaz de contar en sentido 
ascendente o descendente, en función del valor de una entrada de control que 
denominamos "Sentido". Especifique un contador
reversible módulo 6 tal que: 
 Si Sentido = ‘0’, entonces cuente en sentido ascendente. 
 Si Sentido = ‘1’, entonces cuente en sentido descendente. 
Exprese las funciones de transición de estados y salida en forma de sumas de productos 
mínimas. 
6. Obtenga el diagrama de estados como máquina de Mealy de un sistema secuencial con 
una entrada x{a,b} y una salida z{m,n}, tal que z(t)=m, si y solo si la secuencia 
formada por x(t-2), x(t-1), x(t) comienza o termina con "aa". 
7. Un sistema secuencial posee una entrada x{0,1,2} y una salida z{0,1}. La salida toma 
el valor ‘1’ si y sólo si la secuencia de entradas contiene un número impar de ceros y un 
número par de unos. Se pide: 
a) Especificar el sistema como una máquina de Mealy usando un diagrama de 
estados. 
b) Realizar una implementación del sistema con un registro de estado y una ROM. 
8. Especifique como máquina de Mealy un sistema secuencial con una entrada x{a,b,c} y 
una salida z{0,1}, de forma que la salida toma el valor ‘1’ si por la entrada se reciben 
secuencialmente un número impar de ‘a’, una ‘c’ y un número par de ‘b’. La salida toma 
valor ‘0’ en cualquier otro caso. Por ejemplo, para la secuencia de entrada 
“aaacbbbbaccbb...”, la salida toma los valores “0000010100000...”. 
9. Especifique como máquina de Mealy un sistema secuencial con una entrada binaria x y 
una salida binaria z. Inicialmente la salida vale ‘0’ y pasa a valer ‘1’ cuando el sistema 
detecta el tercer ‘0’ consecutivo en la entrada. Desde ese momento, la salida sigue 
valiendo ‘1’ hasta que se reciben por la entrada dos 1 consecutivos. Una vez recibido el 
par de ‘1’ el sistema vuelve a su estado inicial. 
x
clk
estado
a
S0
z
s
n
b
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 3 
 
10. Especifique como máquina de Mealy un sistema secuencial con una entrada binaria y 
una salida binaria, tal que la salida vale ‘1’ siempre que, tomando las entradas en bloques 
de 3 bits consecutivos, el sistema detecta el patrón “111” en uno de dichos bloques. Por 
ejemplo: 
x(t) = 011 111 101 110 111 111 011 
z(t) = 000 001 000 000 001 001 000 
 
11. El funcionamiento de un semáforo está regulado por un sistema secuencial cuyas 
entradas y salidas se muestran en la figura y tiene el comportamiento siguiente: 
 Inicialmente el sistema se encuentra en el estado S0 y continúa en él mientras que no 
se detecte la presencia de un peatón dispuesto a cruzar la calle, es decir, mientras 
peatón valga ‘0’. La salida del sistema en el estado S0 es “100” (en correspondencia 
a las señales Verde, Ámbar y Rojo). Cuando la señal peatón vale ‘1’ el sistema pasa 
al estado S1. 
 En el estado S1 la salida es “010”. Del estado S1 el sistema pasa al estado S3 si la 
señal de parpadeo vale ‘1’, en caso contrario el sistema pasa al estado S2. 
 En el estado S3 la salida es “000”, e independientemente de los valores de las 
señales de entrada el sistema vuelve al estado S1. 
 En S2 la salida del sistema es “001”. El sistema permanece en el estado S2 mientras 
que la señal peatón valga ‘1’. En caso contrario vuelve al estado inicial S0. 
Considerando la especificación anterior: 
a) Especifique el sistema anterior mediante su diagrama de estados. 
b) Obtenga expresiones de conmutación mínimas para las funciones de transición 
de estados y de salida. 
12. Mi perro puede estar contento (C), tranquilo (T), nervioso (N) o asustado (A). Si está 
contento y le doy un hueso lo agradece moviendo el rabo (r). Cuando está tranquilo si le 
doy un hueso (h) se pone contento y lo indica moviendo el rabo; sin embargo si está 
nervioso o asustado se tranquiliza y ladra (l). Si le tocan (t) estando tranquilo o contento 
se pone nervioso y ladra, estando nervioso se asusta y ladra, pero si está asustado muerde 
(m). Modele el comportamiento del animal como una máquina de Mealy. 
13. Realice el diagrama de estados como máquina de Moore del sistema de apertura de una 
puerta de garaje controlada por un mando a distancia. 
El sistema tiene 3 entradas binarias, M, S1 y S2. M vale ‘1’ cuando recibe la orden del 
mando, y ‘0’ en caso contrario. Las entradas S1 y S2 valen ‘1’ cuando la puerta está, 
respectivamente, completamente cerrada o completamente abierta y valen ‘0’ durante las 
operaciones de apertura o cierre. 
Controlador 
de un semáforo 
Peatón 
Parpadeo 
Verde
Ámbar
Rojo
r 
h 
l 
h/t 
 
PERRO 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 4 
 
El sistema tiene 2 salidas, F1 y F2. Si F1 vale ‘1’ el motor se pone en marcha, mientras 
que si vale ‘0’ se detiene. Si el motor está en marcha, lo hace en sentido apertura cuando 
F2 vale ‘1’ y en sentido contrario cuando F2 vale ‘0’. 
El sistema de apertura tiene el siguiente comportamiento: 
 Cuando la puerta está cerrada y recibe una orden del mando, el motor se pone en 
marcha abriendo la puerta hasta que la entrada S2 indique que está totalmente 
abierta. 
 Cuando la puerta está abierta y recibe una orden del mando, el motor se pone en 
marcha cerrando la puerta hasta que la entrada S1 indique que está totalmente 
abierta. 
 Si durante la apertura o cierre de la puerta, y antes de que se haya completado la 
operación, se recibe una nueva orden del mando, ésta será ignorada. 
14. En una estación de tren se va a instalar una máquina automática de venta de billetes con 
el siguiente modo de funcionamiento: 
 Sólo existen dos tipos de billetes: sencillo e ida-y-vuelta, cuyos precios son 
respectivamente 1 y 2 euros. El usuario pulsa el botón correspondiente al tipo de 
billete que desea y, a continuación, aparece en un display la cantidad de monedas de 
1 euro necesarias para su adquisición. 
 Esta cantidad va disminuyendo a medida que el usuario introduce monedas de 1 
euro. Cuando se completa el importe, la máquina emite el billete correspondiente. 
 Una vez elegido el tipo de billete no se puede cambiar a otro. Si se introduce una 
moneda antes de seleccionar el tipo de billete, la máquina devuelve la moneda. 
El sistema que implementa este dispositivo tiene 1 entrada y 4 salidas. 
La entrada, X, vale 
 “00” cuando no hay ningún botón pulsado ni se introduce moneda 
 “01” cuando se introduce una moneda de 1 euro 
 “10” cuando se pulsa el botón de billete sencillo 
 “11” cuando se pulsa el botón de billete de ida-y-vuelta. 
Las salidas son las siguientes: 
 IS – Imprime billete sencillo 
 IV – Imprime billete ida-y-vuelta 
 DM – Devuelve moneda de 1 euro 
 P – Cantidad pendiente (codificada en binario) 
Se pide: 
a) Especificar el sistema como una máquina de Mealy. 
b) Especificar el sistema como una máquina de Moore. 
15. Especifique un sistema secuencial que controle los intermitentes de un coche. El vehículo 
dispone de dos bombillas, una izquierda (BI) y otra derecha (BD), que lucen de forma 
intermitente cuando se activan. El sistema se controla a partir de una palanca con tres 
posiciones, izquierda (I), derecha (D) y centro (C) y la llave de encendido (LL). El 
intermitente de cada lado debe activarse cuando el usuario indique dicha dirección con la 
palanca, siempre y cuando se haya accionado la llave de encendido del vehículo. 
Además, el sistema incorporará un botón de emergencia (E), que hará que las luces de los 
lados izquierdo y derecho parpadeen de forma simultánea mientras esté pulsado. El 
sistema de emergencia funcionará incluso si se retira la llave de encendido. 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 5 
 
16. Obtener el diagrama de estados como máquina de Moore de un sistema secuencial que 
controla el funcionamiento de un coche teledirigido. 
El sistema tiene 2 entradas de 1 bit: izquierdo (I) y derecho (D) que valen ‘1’ cuando se 
presionan los correspondientes pulsadores del mando a distancia. El sistema tiene una 
salida, Z, de 2 bits para indicar al coche el tipo de movimiento que
debe hacer: 
 “00” parar 
 “01” girar a la derecha 
 “10” girar a la izquierda 
 “11” avanzar recto. 
Si el coche está parado y se pulsa cualquier botón empieza a moverse: si se presiona I, va 
hacia la izquierda; si se presiona D, va a la derecha y si se presionan ambos pulsadores a 
la vez, avanza recto. 
Si el coche va en una dirección no cambia su movimiento cuando se presiona el pulsador 
correspondiente a esa dirección o no se presiona ningún pulsador. En cambio, cambia el 
movimiento en los siguientes casos: 
 Si el coche va hacia la derecha y se pulsa I, el coche avanzará recto. 
 Si el coche va hacia la izquierda y se pulsa D, el coche avanzará recto. 
 Si el coche avanza recto y se pulsan I o D el coche girará hacia la izquierda o 
derecha respectivamente. 
 El coche se parará independientemente de la dirección que llevara si apretamos I y D 
simultáneamente. 
Problemas de examen: 
17. (Febrero 2012) El diagrama de estados de la figura representa un reconocedor de patrón. 
a) ¿Qué tipo de sistema secuencial es: Mealy o Moore? 
b) ¿Qué patrón reconoce? 
c) Complete el cronograma. 
 
 
18. (Junio 2012) Sea el siguiente sistema secuencial: 
 


 

contrariocasoen
abbóbba=t1,t2,tx
)t(z
0
1
 
a) Dibuje su diagrama de estados. 
S0 S1
S2S3
a/0
b/0
b/0
a/0
b/0
a/1
a/0
b/0
inicial
entrada
clk
estado
b
a
S0
salida
1
0
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 6 
 
b) Complete el siguiente cronograma: 
 
 
19. (Septiembre 2012) Sea el siguiente sistema secuencial: 
 


 

contrariocasoen
bbbóaaa=ttx
tz
0
t1,2,1
)( 
a) Dibuje su diagrama de estados como máquina Mealy. 
b) Complete el siguiente cronograma: 
 
 
 
x
clk
estado 
a
S0
z
1
0
b
x
clk
estado
a
S0
z
1
0
b
Ejercicios/FCproblemas4.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 4 / pág. 1 
FUNDAMENTOS DE COMPUTADORES 
 TEMA 4 
Problemas básicos: 
1. Los computadores disponen de un circuito 
combinacional capaz de realizar las ope-
raciones más elementales AND, OR, Suma 
Aritmética, etc. sobre dos configuraciones 
binarias de n bits. Dicho circuito se denomi-
na Unidad Aritmético Lógica (UAL). 
Diseñe una UAL como la mostrada en la 
figura, capaz de realizar las siguientes 
funciones: A AND B, A OR B, C1 B, A+B 
(suma aritmética), desplazamiento de B un 
bit a la derecha, desplazamiento de B un bit 
a la izquierda. 
El diseño se realizará para n=4 bits. La función que en cada caso realiza la UAL se selec-
ciona mediante las entradas de control s2, s1, s0. 
2. Diseñe un multiplexor de 8 a 1 usando: 
a) 4 multiplexores de 2 a 1 y el mínimo número de puertas. 
b) 1 decodificador 3 a 8 y el menor número de puertas. 
3. Considere la implementación en una ROM de un sumador de números naturales 
codificados en binario puro con 3 bits que codifica el resultado en BCD. Discuta 
razonadamente el tamaño mínimo de la ROM e indique el contenido de la ROM en las 
direcciones (3E)16 y (1D)16. 
4. Usando un sumador y puertas lógicas diseñe un conversor de MyS a C2 de 8 bits. Ídem 
para un conversor de C2 a MyS. Usando un multiplexor vectorial 2 a 1 adicional haga 
que el tipo de conversión sea seleccionable por una entrada de control binaria. 
Problemas adicionales: 
5. Para la construcción de un teclado de 24 teclas (T0, T1, ... T23) se dispone de 
codificadores de prioridad de 8 entradas. Diseñe el circuito de codificación del teclado 
usando dichos codificadores más las puertas lógicas que se consideren necesarias, 
teniendo en cuenta que el circuito funcionará de la siguiente forma: 
 Si sólo se pulsa la tecla Ti, entonces la salida tomará el valor i. 
 Si se pulsan simultáneamente varias teclas, entonces la salida tomará el valor 
correspondiente al mayor subíndice de las teclas pulsadas. 
6. Implemente un sistema que tiene 6 entradas de datos (x5…x0), 2 entradas de control 
(s1,s0), 4 salidas de datos (z3...z0) y cuyo comportamiento viene descrito de la forma 
siguiente: 
(z3…z0) = (x5…x2) si (s1,s0) = (01) 
 = (x3…x0) si (s1,s0) = (10) 
 = (x4…x1) si (s1,s0) = (11) 
 = (0000) si (s1,s0) = (00) 
n bits n bits
n bits
carry
UAL
s2
s1
s0
A B
F(A,B)
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 4 / pág. 2 
 
7. Diseñe un conversor de código BCD a código Exceso-3 usando: 
a) Un codificador y un descodificador. 
b) Un descodificador y puertas OR. 
c) Multiplexores de 16 a 1. 
d) Multiplexores de 4 a 1 y puertas lógicas. 
e) Una ROM de tamaño mínimo. 
8. Un sistema combinacional tiene una entrada X de 4 bits y una salida Z de 4 bits. Los 
datos, tanto a la entrada como a la salida, son números enteros codificados en C2. El 
sistema tiene otra entrada de control C que determina la función del sistema de acuerdo 
con la siguiente tabla: 
 
C Z 
0 X+1 
1 X+2 
2 X-1 
3 X-2 
 
Diseñe el circuito que tenga la estructura mostrada en la figura y use únicamente un 
sumador binario de 4 bits, multiplexores e inversores. Se valorará que el número y 
tamaño de los multiplexores sea el menor posible. 
9. Se desea implementar un conversor de números de 8 bits en binario puro a números en 
BCD mediante una memoria ROM: 
a) Determine el tamaño mínimo necesario de la memoria, y el esquema de 
implementación. Indicando claramente el significado de las líneas de 
direcciones y salida de la ROM. 
b) Obtenga el contenido de la ROM en las direcciones (41)10 y (2F)16 
10. Dado el circuito de la figura, obtenga la especificación de Z en función de X. Justifique 
la respuesta. 
 
11. Calcule el número de puertas AND, OR y NOT necesarias para diseñar 
implementaciones directas de un: 
a) Decodificador 3 a 8. 
b) Multiplexor 8 a 1. 
c) Codificador de prioridad 16 a 4. 
12. Calcule el número de: 
a) Multiplexores 4 a 1 necesarios para implementar en árbol uno de 256 a 1. 
b) Multiplexores 2 a 1 necesarios para implementar en árbol uno de 16 a 1. 
0
1
2
E
0
1x0
x
1
x
2
2
3
4
5
7
6
1
0
1
2
E
z
0
z
1
z
2
0
1
2
3
4
5
7
6
1
0
1
2
E
0
1x0
x
0
x
1
x
1
x
2
x
2
2
3
4
5
7
6
1
0
1
2
E
z
0
z
0
z
1
z
1
z
2
z
2
0
1
2
3
4
5
7
6
0
1
2
3
4
5
7
6
1
Z 
+ 
X 
C
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 4 / pág. 3 
 
c) Multiplexores 2 a 1 necesarios para implementar uno vectorial de 4 a 1 de 8b. 
d) Decodificadores 1 a 2 necesarios para implementar en árbol uno de 4 a 16. 
e) Decodificadores 2 a 4 necesarios para implementar en árbol uno de 8 a 256. 
13. Diseñe una ROM de 210×16 bits (2 KiB) usando un decodificador 2 a 4 y el número de 
módulos ROM de 28×8 bits (256 B) que estime necesarios. 
14. Diseñe 3 módulos combinacionales que calculen el máximo de 2 números de 8 bits 
considerando, en cada caso, que ambos números están codificados: 
a) En binario puro. 
b) En MyS. 
c) En C2. 
En todos ellos se utilizará un multiplexor vectorial 2 a 1, un restador binario y el menor 
número posible de puertas lógicas. 
15. Diseñe un multiplicador combinacional de números binarios sin signo de 4 bits. El 
multiplicador tiene 2 entradas de 4 bits para los operandos y una salida de 8 bits para el 
resultado. Use únicamente puertas AND de 2 entradas para calcular los productos 
parciales y sumadores completos de 4 bits para sumar en cascada dichos productos. 
16. Diseñe un conversor de códigos BCD y EX3 usando un sumador/restador de 4 bits, un 
multiplexor 2 a 1 y las puertas que estime necesarias. El conversor tendrá una entrada de 
datos de 4 bits, una señal de control para seleccionar si el dato a la entrada debe 
convertirse de BCD a EX3 o de EX3 a BCD, una salida de datos de 4 bits y una salida de 
error para indicar
si el código que hay a la entrada no puede convertirse por ser inválido. 
Es decir, esta salida de error deberá activarse cuando habiendo seleccionado una 
conversión BCD a EX3, en la entrada de datos haya, por ejemplo, 1011 (dado que no es 
un código BCD válido), sin embargo no deberá hacerlo si la conversión EX3 a BCD ha 
sido seleccionada (dado que representa a un 8 en EX3). 
17. Diseñe un módulo combinacional que ordene 3 números enteros codificados en binario 
puro con 8 bits. El modulo tendrá 3 entradas de 8 bits para los operandos y 3 salidas de 8 
bits para los resultados (por una de ellas siempre saldrá el mayor de los tres operandos, 
por otra siempre el intermedio y por la última siempre el menor). Utilice el menor 
número posible de comparadores de magnitud, multiplexores vectoriales 2 a 1 de 8 bits y 
puertas lógicas. 
18. Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación 
(mínimo) de un sumador binario de 4 bits utilizando los datos de la biblioteca de celdas 
presentada en teoría. Ídem para un sumador de 8 bits. Obtenga expresiones genéricas de 
coste y retardo para un sumador de n bits. 
 
Ejercicios/FCproblemas6.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 1 
 
PROBLEMAS DE FUNDAMENTOS DE COMPUTADORES 
 TEMA 6 
 
Problemas básicos: 
1. Los dispositivos USB transmiten los datos en serie utilizando un formato denominado 
non-return-to-zero inverted (NRZI). Se desea diseñar un circuito secuencial con una 
entrada, x, y una salida, z, ambas de 1 bit, que convierta una secuencia binaria en una 
secuencia equivalente en formato NRZI. Lo hará de la siguiente manera: 
 Si x vale ‘1’, la salida conservará su valor anterior. 
 Si x vale ‘0’, la salida cambiará de polaridad, es decir, si valía ‘1’ pasará a ‘0’ y si 
valía ‘0’ pasará a ‘1’. 
Por ejemplo, asumiendo que el valor inicial de la salida es ‘1’, la secuencia de entrada 
“10001110011010...” deberá transformarse en la secuencia “10100001000110...” 
Se pide: 
a) Especificar el sistema como máquina de Mealy. 
b) Implementar el conversor usando biestables D y puertas lógicas. 
c) Encontrar una implementación equivalente como máquina de Moore. 
2. Un sistema secuencial síncrono tiene una entrada, x, y una salida, z, ambas de 1 bit. 
Inicialmente la salida vale ‘0’ y no pasa a valer ‘1’ hasta que no recibe tres ‘0’ 
consecutivos. Desde ese momento, la salida vale 1 durante dos ciclos de reloj con 
independencia del valor que tome la entrada. Después vuelve al estado inicial. 
Implemente el sistema como máquina de Moore usando el menor número de puertas y 
biestables D. Calcule el coste y la frecuencia de reloj máxima a la que podría funcionar el 
circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 
3. Implemente un sistema secuencial que realice el complemento a 2 de números de 
longitud variable recibidos en serie y en orden creciente de pesos (primero el bit menos 
significativo). El sistema tiene una entrada de datos, x, una salida de datos, z, y una 
entrada de control, inicio, que se pone a 1 para indicar el comienzo y el final del número 
a complementar. El comportamiento esperado es el siguiente: 
t 0 1 2 3 4 5 6 7 8 9 10 11 12 
inicio(t) 1 1 0 0 0 0 0 1 0 0 0 0 1 
x(t) - - 0 0 1 0 1 - 0 1 1 1 - 
z(t) 0 0 0 0 1 1 0 0 0 1 0 0 0 
4. Usando el menor número de puertas lógicas y series de biestables D encadenados, diseñe 
como máquina de Mealy un reconocedor de secuencias que responda a las siguientes 
especificaciones: 
 Tiene una entrada, x de 3 bits, por la que en cada ciclo de reloj llega un dígito 
decimal del conjunto {0,1,...,7} codificado en binario. 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 2 
 
 La salida binaria, z de 1 bit, toma el valor ‘1’ si y solo si los últimos 4 dígitos 
recibidos forman la secuencia (0,3,4,7). 
Problemas adicionales: 
5. Un circuito secuencial con dos biestables D, dos entradas, x e y, y una salida, z, está 
definido por las siguientes ecuaciones lógicas: 
 ⋅ ⋅ 
 ̅ ⋅ ⋅ 
 ̅ ⋅ 
Se pide: 
a. Dibuje el circuito. 
b. Obtenga la tabla de transición de estados. 
c. Dibuje el diagrama de estados que lo define. 
d. Convierta el diagrama Mealy a un diagrama Moore equivalente. Obtenga la tabla 
de transición de estados y el circuito resultante. 
6. Diseñe un circuito secuencial síncrono que genere la secuencia “00000001” cada vez que 
su entrada, x, valga ‘1’. Una vez que la secuencia comienza, debe completarse con 
independencia del valor que tome la entrada. Si la entrada vale 0, la salida debe 
mantenerse constantemente a ‘1’. 
Se pide: 
a. Especificar el sistema como máquina de Moore. 
b. Diseñe el circuito utilizando biestables D y puertas lógicas. No olvide distribuir 
adecuadamente la señal de reset para que el circuito se inicialice al estado inicial 
(en donde lee el valor de la entrada para determinar si debe comenzar a generar la 
secuencia o debe mantener a ‘1’ la salida). 
7. Usando el menor número de puertas lógicas y series de biestables D encadenados, diseñe 
un circuito con una entrada de 4 bits, x, por la que en cada ciclo de reloj recibe un dígito 
BCD y una salida, z, que puede tomar, codificados en binario, los siguientes valores: 
 0 si {x(t-2), x(t-1), x(t)} forman un número múltiplo de 5. 
 1 si {x(t-2), x(t-1), x(t)} forman un número mayor o igual que 400. 
 2 si se cumplen las dos anteriores condiciones a la vez. 
 3 en cualquier otro caso. 
Para el diseño se utilizarán biestables y puertas lógicas. Calcule el coste y la frecuencia 
de reloj máxima a la que podría funcionar el circuito utilizando los datos de la biblioteca 
de celdas presentada en teoría. 
8. Se desea diseñar un sistema secuencial síncrono con una entrada x{Norte, Sur, Este, 
Oeste} y una salida z{0,1}. La salida z(t) tomará el valor ‘1’ si: 
{ x(t-2), x(t-1), x(t) } = { Norte, Este, Este } o { Sur, Este, Este } 
En todos los demás casos el valor de z(t) será ‘0’. Se pide: 
a) Construir el diagrama de estados del sistema en la forma de una máquina 
Mealy. Explique el significado de cada estado. 
b) Implemente el sistema con el menor número posible de biestables D y puertas 
lógicas. 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 3 
 
9. Implemente un sistema secuencial que realice la suma de 2 de números de longitud 
variable recibidos en serie y en orden creciente de pesos (primero el bit menos 
significativo). El sistema tiene dos entradas de datos, x e y, una salida de datos, z, y una 
entrada de control, inicio, que se pone a ‘1’ para indicar el comienzo y el final de los 
números sumar. El comportamiento esperado es el siguiente: 
t 0 1 2 3 4 5 6 7 8 9 10 11 12 
inicio(t) 1 1 0 0 0 0 0 1 0 0 0 0 1 
x(t) - - 0 0 1 0 1 - 0 1 1 1 - 
y(t) - - 0 1 1 0 1 - 0 1 1 1 - 
z(t) 0 0 0 1 0 1 0 1 0 0 1 1 1 
10. Diseñe un comparador para números de números binarios de n bits sin signo, A y B, 
según el esquema mostrado en la figura. Los números llegan en serie por las entradas x e 
y, comenzando por el bit menos significativo. El circuito es capaz de analizar diversas 
relaciones de comparación entre A y B, mediante las entradas de control (a, b, c) de 
acuerdo con la tabla. La salida, z, toma el valor ‘1’ si la relación es cierta y ‘0’ en otro 
caso. Use puertas y biestables D. Calcule el coste y la frecuencia de reloj máxima a la 
que podría funcionar el circuito utilizando los datos de la biblioteca de celdas presentada 
en teoría. 
11. Un sistema secuencial tiene una entrada, x, de 2 bits y dos salidas, z y m. La salida z vale 
‘1’ cuando el valor actual de la entrada es igual al valor anterior de la misma. Cuando el 
valor actual y anterior de x no coinciden, la salida m vale ‘1’ si el valor actual de la 
entrada es mayor que el anterior. En el resto de casos z y m valen ‘0’. Implemente
el 
sistema como máquina de Mealy usando el menor número de biestables D y puertas 
lógicas. Ídem como máquina de Moore. Calcule en cada caso el coste y la frecuencia de 
reloj máxima a la que podría funcionar el circuito utilizando los datos de la biblioteca de 
celdas presentada en teoría. 
12. Se desea diseñar el sistema de control de una escalera mecánica bidireccional que puede 
estar parada, subiendo o bajando. 
El sistema tiene 2 entradas conectadas a dos 
sensores de presión, P1 y P2, situados en las 
posiciones mostradas en la figura. Cuando se 
activa un sensor, la escalera empieza a moverse en 
sentido al otro sensor y no para hasta que dicho 
sensor se active. No se considera la situación de 
que se activen simultáneamente ambos sensores ya 
que cuando se activa uno, se desactiva 
automáticamente y no vuelve a activarse hasta que 
se ha activado el contrario y viceversa. 
x
y
Ck
a b cClear
z
abc
relación
analizada
000
001
010
011
100
101
A=B
A#B
A>B
A>=B
A<B
A<=B
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 4 
 
El sistema tiene 2 salidas: encendido, E, (si E vale ‘1’ la escalera se mueve) y sentido, S, 
(si S vale ‘1’ la escalera sube y si vale ‘0’ la escalera baja). 
Diseñe el sistema como máquina de Moore usando el menor número de biestables D y 
puertas lógicas. 
13. Diseñe como máquina de Moore un sistema capaz de detectar los flancos de una señal 
digital que transmite a baja velocidad datos en serie (es decir, el tiempo transcurrido entre 
dos cambios sucesivos de polaridad es bastante superior al periodo del reloj del sistema). 
El sistema tendrá una entrada, x, y dos salidas, up y down. La salida up valdrá 1 durante 
un ciclo de reloj cada vez que detecte una transición de 0 a 1 en la entrada. La salida 
down valdrá 1 durante un ciclo de reloj cada vez que detecte una transición de 1 a 0 en la 
entrada. 
14. Despreciando los retardos, complete el cronograma mostrado en la figura para un latch D 
(biestable D síncrono por nivel en alta) y un flip-flop D (biestable D síncrono por flanco 
de subida). Suponga que el valor inicial de la salida de ambos biestables es ‘0’. 
 
15. Usando un biestable D disparado por flanco y las puertas necesarias, implemente un 
biestable T cuyo comportamiento coincida con el de la tabla siguiente: 
 
T(t) Q(t+1)
0 Q(t) 
1 Q(t) 
16. Usando un biestable D disparado por flanco y las puertas necesarias, implemente un 
biestable JK cuyo comportamiento coincida con el de la tabla siguiente: 
J(t) K(t) Q(t+1)
0 0 Q(t) 
0 1 0 
1 0 1 
1 1 Q(t) 
Problemas de examen: 
17. (Junio 2012) Se desea diseñar un sistema que permita fotografiar las matrículas de 
aquellos coches que circulen con exceso de velocidad por una carretera. 
El sistema tendrá 2 entradas (A y B) conectadas a sensores de presión ubicados debajo 
del pavimento y una salida (F) conectada al disparador de una cámara. En ausencia de 
D
Q
QG
D
Q
Q
D
clk / G
QA
QB
B
A
Proble
 
c
c
n
a
U
tr
c
S
a
b
18. (F
fu
e


S
c
e
S
emas de Fund
coches las en
correspondie
nunca ambas
alternando (e
Un coche ir
ranscurren d
caso deberá 
Se pide: 
a) Especific
b) Impleme
Febrero 201
fuentes (llam
encienden de
 Si el va
encendi
encendi
 Si el val
Siempre que
correspondie
están apagad
Se pide: 
a) Espe
b) Indic
estad
c) Impl
mínim
damentos de C
ntradas vald
ente entrada
s entradas v
es decir, tras
rá a más v
desde la act
ser fotograf
car el sistem
entarlo utiliz
13) Se quier
madas a, b, 
epende de u
alor de S e
das; c y d
das; a y b: a
lor de S es ‘
e cambia el
ente. El sist
das y desde 
ecificar el sis
car las tablas
dos del sistem
ementar el 
mo. 
Computadores 
drán ‘0’ y ca
a se activará
valdrán simu
s un pulso e
velocidad de
tivación de 
fiado (véase 
ma como má
zando 2 bies
re diseñar el
c y d) que h
una señal de 
es ‘1’, la se
d: apagadas
apagadas)...
0’, la secuen
l valor de 
tema tiene a
el que salta 
stema media
s de verdad 
ma. 
sistema me
(versión 7-10
ada vez que
á (valdrá ‘1’
ultáneament
en A vendrá 
e la permit
A hasta la 
 la figura).
áquina de M
stables D y e
l sistema qu
hay en un p
control S. 
ecuencia es
s), (b y c: 
ncia es: ad, 
S, se empie
además un 
a la corresp
ante un diag
que especif
ediante biest
0-14)
e un coche p
’ durante un
te ‘1’ y que
siempre un 
tida si el n
activación 
Mealy. 
el menor nú
ue controla e
parque. La s
: ab, bc, cd
encendidas
bc, ad, bc…
eza por el 
estado inic
pondiente se
grama de est
fican las fun
tables D y u
pase por enc
n ciclo de re
e los pulsos 
pulso en B 
número de 
de B es me
úmero de pu
el encendido
ecuencia en
d, ab, bc…
s; a y d: 
… 
primer esta
ial en el qu
ecuencia seg
tados como 
nciones de sa
una memor
Tema
cima de un s
eloj). Supón
en A y en B
y viceversa
ciclos de r
enor que 3, 
uertas lógica
o y apagado
n la que se a
… Es decir
apagadas), 
ado de la s
ue todas las
gún el valor 
máquina de
alida y trans
ria ROM de
a 6 / pág. 5 
sensor la 
gase que 
B se irán 
a). 
reloj que 
en cuyo 
as. 
o de las 4 
apagan y 
r (a y b: 
(c y d: 
ecuencia 
s fuentes 
de S. 
e Moore. 
sición de 
e tamaño 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 6 
 
19. (Junio 2013) Se quiere diseñar un circuito digital que controle el funcionamiento de una 
máquina expendedora de caramelos. Dicho controlador recibe una señal de entrada S 
procedente de un sensor que toma el valor (00)2 mientras no se introduzca ninguna 
moneda en la máquina, o la moneda introducida no sea de 5 o 10 céntimos. Cuando se 
introduce una moneda de 5 o 10 céntimos la señal S toma los valores (01)2 y (10)2 
respectivamente. Para expender un caramelo el controlador deberá activar la señal de 
salida z. La máquina se comporta de la siguiente manera: 
 Cada caramelo cuesta 15 céntimos. 
 El cliente puede ir introduciendo monedas en el orden que quiera. 
 Cuando el saldo introducido alcanza o supera los 15 céntimos la máquina expende 
un caramelo, quedando almacenado el saldo restante por si el cliente quiere comprar 
otro caramelo. Por ejemplo, si un cliente introduce dos monedas de 10 céntimos 
seguidas, al introducir la segunda moneda la máquina expende un caramelo y deja 
almacenados los 5 céntimos sobrantes por si el cliente quiere seguir comprando. 
 El cliente puede pulsar en cualquier momento un botón de reinicio, la máquina le 
devolverá entonces el saldo actual y quedará a la espera de que algún nuevo cliente 
comience a usar la máquina. 
Se pide: 
a) Especificar el sistema mediante un diagrama de estados como máquina de Moore. 
b) Indicar las tablas de verdad que especifican las funciones de salida y transición de 
estados del sistema. 
c) Implementar el sistema mediante biestables D y una memoria ROM de tamaño 
mínimo. 
20. (Septiembre 2013) Se quiere diseñar un circuito digital para arbitrar el acceso de tres 
dispositivos a un bus, con el interfaz indicado en la figura. El árbitro recibirá una señal de 
petición por cada canal, X = (x2, x1, x0): si xi vale ‘1’ hay petición por el canal i, si vale ‘0’ 
no la hay. El canal 0 es más prioritario que el 1, que a su vez es más prioritario que el 2. 
El árbitro concederá el bus activando la correspondiente señal de grant: G = (g2, g1, g0): 
si gi vale ’1’ se concede el uso del bus al dispositivo conectado al canal i, si vale ‘0’ el 
dispositivo no puede hacer uso del bus. El comportamiento del árbitro debe ser el 
siguiente: 
 Mientras no haya petición por ninguno de los canales el árbitro permanece Inactivo, 
dejando las tres señales de grant a ‘0’. 
 Si estando Inactivo se recibe petición por alguno de los canales (puede haber varias 
peticiones simultáneas), el árbitro debe conceder el uso del bus al canal más 
prioritario, activando su señal de grant. 
 Una vez
concedido el bus a un dispositivo, la señal de grant correspondiente debe 
permanecer activa hasta que el dispositivo que está siendo atendido desactive la 
petición (incluso si otro dispositivo más prioritario solicita el uso del bus). Por 
ejemplo, si se ha concedido el bus al dispositivo del canal 1, la señal g1 debe 
permanecer activa hasta que x1 se ponga a ‘0’. Cuando el dispositivo desactiva la 
petición el árbitro pasará a estado Inactivo para iniciar un nuevo ciclo de bus. 
 Se pide: 
a) Especificar el sistema mediante un diagrama de estados como máquina de Moore. 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 7 
 
b) Indicar las tablas de verdad que especifican las funciones de salida y transición de 
estados del sistema. 
c) Implementar el sistema usando biestables D y puertas. 
21. (Febrero 2014) Se desea diseñar un sistema secuencial para controlar la velocidad de 
circulación en un túnel por el que únicamente pueden circular coches y camiones (ambos 
vehículos de dos ejes). Para ello se instala un sensor de presión que ofrece tres lecturas: 
eje de coche detectado, eje de camión detectado y eje no detectado. 
Para comprobar si un vehículo circula a la velocidad permitida el sistema mide los ciclos 
de reloj que transcurren entre la detección del eje delantero y el trasero aplicando las 
siguientes reglas: 
 En caso de que se haya detectado el eje delantero de un coche, deberá transcurrir al 
menos 1 ciclo de reloj hasta la detección del trasero. 
 En caso de detección de eje delantero de un camión, deberán transcurrir al menos 2 
ciclos de reloj hasta la detección del eje trasero. 
En caso de que no se cumplan los márgenes de tiempo el sistema activará una señal de 
salida multa (M) y volverá al estado inicial. En caso de que la detección del eje trasero no 
corresponda al mismo tipo de vehículo que el delantero activará una señal de error (E) y 
volverá al estado inicial. La figura muestra un ejemplo del comportamiento esperado. 
Se pide: 
a) Especifique el sistema mediante un diagrama de estados como máquina de 
Mealy, definiendo las entradas, salidas y estados. 
b) Implemente el sistema utilizando biestables D y una memoria ROM. 
 
clk
sensor
M
1
0
no
eje
eje
coche
no
eje
no
eje
no
eje
no
eje
eje
coche
eje
coche
eje
coche
detectado
eje delantero
coche 1
detectado
eje trasero
coche 1
detectado
eje delantero
coche 2
detectado
eje trasero
coche 2
ha transcurrido
1 ciclo: no hay multa
no ha transcurrido
1 ciclo: hay multa
Ejercicios/FCproblemas7.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 7 / pág. 1 
 
PROBLEMAS DE FUNDAMENTOS DE COMPUTADORES 
 TEMA 7 
Problemas básicos: 
1. Utilizando un contador con carga paralela módulo 8 y el menor número de puertas 
lógicas, diseñe un dado electrónico cuyo diagrama de bloques se muestra en la figura 
siguiente: 
El sistema tiene una entrada, J, conectada a un pulsador. Cuando esta entrada vale ‘1’, el 
contador sigue cíclicamente una secuencia de 6 valores distintos cada uno codificando 
una cara diferente del dado; cuando vale ‘0’, el contador se detiene. La salida del 
contador está conectada a un conversor que, para cada valor de la secuencia, enciende los 
leds que correspondan según la cara del dado representada. Para evitar que el usuario 
pueda averiguar cuál es el valor que está marcando el dado mientras mantiene presionado 
el pulsador, la frecuencia de la señal de reloj debe ser lo suficientemente alta (por 
ejemplo, 1 KHz). Así, como el valor final del dado está determinado por el tiempo que la 
entrada permanece a ‘1’ y este no puede ser controlado con exactitud por un humano, se 
consigue la deseada sensación de aleatoriedad. 
2. Complete un cronograma, como el mostrado en la figura, para cada uno de los diseños 
basados en contadores mostrados en la misma. 
3. Utilizando un contador con carga en paralelo y el mínimo número de puertas lógicas, 
implemente un sistema secuencial cuya salida repita la secuencia: 0, 1, 4, 4, 7, 7. 
4. Utilizando un contador con carga en paralelo y el menor número de puertas lógicas, 
implemente un sistema secuencial con una entrada binaria que se comporte de acuerdo 
con el diagrama de la figura siguiente: 
S
clk
ld
cl
1
0
1
0
5 6
4
CONT MOD 16
ld
cl
0
4
3
0
4
CONT MOD 16
ld
cl
0
4
3
1
conversor
de código
contadorJ
3 7
0 1 4 5 6
0
7
2 3
1
0
1
 
Proble
 
5. U
p
v
1
6. D
e
re
7. D
ti
s





S
 
emas de Fund
Usando pue
paralela cone
vale 1 duran
1 KHz. 
Diseñar un r
en paralelo, E
ealizar segú
Diseñe un si
iene las 2 e
iguientes es
 En el est
inicial si
‘1’, mom
 Durante 
dependie
del valor
siempre 
 Durante 
En el seg
mueven 
 Durante 
del aclar
 Durante 
Se pide: 
a) Esp
Mo
b) Dis
damentos de C
rtas lógicas
ectados a un
nte un ciclo d
registro de d
E1 y E2. El
ún la siguien
stema secue
entradas y 
specificacion
tado inicial, 
iempre que 
mento en com
su funcion
endo del va
r de la tecl
al estado ini
el lavado en
gundo ciclo
las aspas. 
el aclarado 
ado. 
el secado se
pecifique el
oore. 
señe el sistem
Computadores 
s y contado
n reloj de 60
de cada 60).
desplazamie
l registro ten
nte tabla: 
S
000
00
010
01
100
10
110
11
encial que c
5 salidas m
nes: 
todas las sa
la tecla on/
mienza desd
namiento, e
lor de la te
a ciclo rápi
icial. 
ntra agua du
o se abre el 
entra agua 
e activa la sa
 sistema m
ma usando u
(versión 7-10
ores módulo
0 Hz, diseñ
. Ídem para 
ento bidirec
ndrá una en
 Q(t+
0 Q(t
1 Q(t)
0 Q(t)
1 C1( Q
0 E1(
1 E2(
0 Q(t) and
1 not Q
ontrole el fu
mostradas en
alidas valen 
/off vale ‘0’
de el princip
el aparato p
cla ciclo rá
ido) y seca
urante el pr
cajetín del 
el primer c
alida secar.
mediante un
un contador
0-14)
o 16 con c
ñe un tempor
el caso de q
ccional de 3
ntrada de con
+1) 
t) 
× 2 
 2 
Q(t) ) 
(t) 
(t) 
d E2(t)
Q(t) 
uncionamien
n la figura 
‘0’. Desde 
, y allí se p
pio el ciclo d
pasa por 3 
ápido), aclar
ado (1 ciclo
imer ciclo, 
detergente. 
ciclo. Se mu
 
n diagrama 
r y el mínim
apacitación 
rizador de 1
que la frecue
bits con do
ntrol, S, que
nto de un la
y debe com
cualquier es
ermanece h
de lavado. 
etapas: lav
rado (1 ó 2 
). Después 
y durante el
Todos los 
ueven las as
de estados 
mo número d
Tema
n de cuenta 
1 segundo (
encia de rel
os entradas 
e indica la f
avaplatos. El
mportarse s
stado se va a
hasta que on
vado (2 ó 
ciclos depe
del secado
l mismo se 
ciclos del la
spas todos lo
como máq
de puertas po
a 7 / pág. 2 
y carga 
su salida 
oj sea de 
de datos 
función a 
l sistema 
egún las 
al estado 
n/off vale 
4 ciclos 
endiendo 
o se pasa 
calienta. 
avado se 
os ciclos 
quina de 
osible. 
 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 7 / pág. 3 
 
Problemas adicionales: 
8. Utilizando como bloque básico un contador con carga paralela módulo 16, implemente 
un contador ascendente programable módulo m (siendo 1 < m < 16). El sistema tendrá 
una entrada de capacitación de cuenta, una entrada de 4 bits por la que se indicará el 
valor máximo alcanzable en la cuenta y una salida de saturación que tomará el valor ‘1’ 
cuando el contador alcance dicho valor máximo y adicionalmente su entrada de 
capacitación valga ‘1’. 
9. Diseñe un cronómetro digital que visualiza sobre 5 displays 7-segmentos los minutos, 
segundos y décimas de segundo transcurridos. El cronómetro tiene una entrada 
asíncrona, reset, para puesta a cero y una entrada, stop, que cuando toma el valor ‘0’ 
detiene la cuenta y cuando vale ‘1’ la reanuda. En su diseño use contadores como los 
desarrollados en el ejercicio anterior y conversores de BCD a 7-segmentos. Suponga que
la frecuencia del reloj del sistema es de 100 Hz. 
10. Se desea implementar un sistema secuencial que controle un rótulo luminoso formado 
por 8 leds. El sistema tendrá una señal de control C. Si C vale ‘0’, los 4 leds 
permanecerán apagados. Si C vale ‘1’, el sistema hará que los leds se iluminen siguiendo 
cíclicamente la secuencia mostrada en la figura, al ritmo fijado por la frecuencia del reloj 
del sistema. 
Se pide: 
a) Implemente el sistema usando un contador y una ROM 16×8. 
b) Amplíe el sistema para que los leds puedan iluminarse siguiendo 4 secuencias 
distintas, seleccionables a través de una entrada de 2 bits. 
c) Amplíe el sistema para que el usuario, a través de un entrada de 2 bits, pueda 
seleccionar la velocidad a la que se sigue la secuencia (normal, ×2, ×4 y ×8). 
11. La luminosidad de un led puede regularse digitalmente mediante la técnica conocida 
como led dimming. Dado que la intensidad suministrada por la salida de un sistema 
digital es fija para encender un led y nula para apagarlo, esta técnica consiste modificar al 
porcentaje de tiempo durante el que sistema digital suministra intensidad al led cuando 
éste debe estar encendido. Así, el sistema digital en lugar de enviar una señal constante 
para encender el led (que daría lugar a un encendido de máxima luminosidad) envía una 
señal periódica de anchura de pulso variable cuyo factor de trabajo (el tiempo que está a 
‘1’) determina la luminosidad del led. Diseñe un circuito con una señal de carga paralela, 
una entrada para el valor de luminosidad (0-100) codificado en binario y una salida por la 
que generar la señal que regula la luminosidad de un led. Para diseñar el circuito 
t
t+1
t+2
t+8
t+9
t+10
...
t+13
t+14
t+15
...
control de
luces
C leds
8
 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 7 / pág. 4 
 
utilícese un contador, un registro y un comparador. La frecuencia de reloj es de 100 Hz 
(frecuencias inferiores hacen que el ojo humano detecte el parpadeo). 
12. Diseñe un circuito secuencial que elimine los rebotes de un pulsador. El circuito 
funcionará a 1 MHz, tendrá una entrada, x, por la que entra la señal con rebotes y una 
salida, z, por la que sale la señal filtrada. Su comportamiento, que se muestra en la figura, 
será el siguiente: 
 En reposo, mientras la entrada valga ‘1’ (es decir, mientras el pulsador no se 
presione), la salida debe valer ‘1’. 
 Tras la detección del primer flanco de bajada (provocado por la presión del 
pulsador), la salida debe permanecer estable a ‘0’ durante 100 ms con independencia 
de los valores que tome la entrada durante ese intervalo. 
 Transcurridos los 100 ms y mientras que la entrada valga ‘0’ (es decir, mientras se 
mantenga el pulsador presionado), la salida debe valer ‘0’. 
 Tras la detección del primer flanco de subida (provocado por la depresión del 
pulsador), la salida debe permanecer estable a ‘1’ durante 100 ms con independencia 
de los valores que tome la entrada durante ese intervalo. 
 Transcurridos los 100 ms, el sistema volverá al estado de reposo. 
Para medir un intervalo de 100 ms utilícese un temporizador formado por un contador y 
un comparador. El sistema constará de una máquina de estados que convenientemente 
lea la entrada, escriba la salida, arranque el temporizador y espere su finalización. 
13. Se desea ampliar la funcionalidad de un banco de 4 registros de 8 bits añadiéndole una 
función de copia. Para ello, dispondrá de una entrada de control adicional, copy. Cuando 
vale ‘0’ el banco de registros debe comportarse normalmente y cuando vale ‘1’ (y we 
también vale ‘1’) debe copiar el contenido del registro indicado por ra en el registro 
indicado por rw ignorando el valor presente en di. 
14. Un watchdog es un temporizador que se utiliza para la detección y recuperación de 
posibles errores de funcionamiento en un computador. Durante un funcionamiento 
normal, el computador reinicia regularmente el watchdog para evitar que este consuma 
su tiempo. Si el watchdog alcanza el time-out, activa una señal que dispara una acción 
correctiva (típicamente el reinicio del computador). Diseñe un watchdog con time-out 
REG FILE
di
do
8
8
we
clk
ra
2
wa
2
copy
< 100 ms
x
< 100 ms
z
 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 7 / pág. 5 
 
seleccionable (1s, 500ms, 250ms, 125ms) a través de una entrada de 2 bits. Además el 
sistema tendrá una entrada para reiniciar la cuenta y una salida que se activará al alcanzar 
el time-out. El sistema funcionará a 50 KHz y se diseñará usando un contador, un 
comparador y un multiplexor 4 a 1. 
15. Diseñe el sistema para controlar la apertura y cierre de una caja fuerte mostrado en la 
figura. Las entradas, code y newCode, están conectadas a un teclado, la salida trials a un 
display y la salida lock al motor del cerrojo. El sistema debe comportarse según las 
siguientes especificaciones: 
 El cerrojo permanece abierto mientras lock vale ‘0’ y cerrado en caso contrario. 
 Inicialmente la caja fuerte debe estar abierta. 
 Cada vez que el usuario teclee una clave de 4 dígitos, el teclado pondrá en code un 
código de 16 bits (codificando en BCD las 4 teclas pulsadas) y pondrá la señal 
newCode a ‘1’ durante un único ciclo de reloj para que el sistema lea en paralelo la 
clave introducida. 
 El primer código enviado hará que el sistema almacene la clave y cierre el cerrojo. 
 Los sucesivos códigos permitirán abrir el cerrojo siempre y cuando la clave leída 
coincida con la clave almacenada. 
 Se tendrán un máximo de 3 intentos para acertar la clave almacenada. 
 Tras fallar los 3 intentos el cerrojo quedará indefinidamente cerrado. 
 El sistema indicará a través de trials el número de intentos restantes hasta el bloqueo 
del cerrojo. 
Para diseñar el sistema utilícese un registro de 16 bits, un comparador de igualdad de 
16 bits y una máquina de estados. 
16. Una UART (Universal Asynchronous Receiver-Transmitter) es uno de los dispositivos 
de E/S serie más comunes. Consta de un transmisor que serializa los datos paralelos que 
se quieren enviar, un receptor que paraleliza los datos serie que se reciben y un 
controlador que comunica ambos elementos con el computador. Se desea diseñar el 
circuito que efectúa la transmisión serie asíncrona de datos de 8 bits. El circuito tiene las 
entradas y salidas mostradas en la figura y debe comportarse según las siguientes 
especificaciones: 
 En inactividad, la señal Tx debe valer ‘1’. 
 Los datos se transmitirán en una trama de 11 bits que comenzará con un bit de start a 
‘0’, los 8 bits de datos comenzando por el bit menos significativo, un bit de paridad 
impar (el patrón formado por este bit y los 8 bits de datos debe tener siempre un 
número impar de ‘1’) y un bit de stop a ‘1’. 
 El sistema, cada vez que detecte que la señal start vale ‘1’, cargará de data el dato a 
transmitir y comenzará a transmitirlo en serie. 
 La señal ready debe valer ‘0’ mientras que se esté transmitiendo el dato y ‘1’ en caso 
contrario 
La frecuencia de reloj es de 5 MHz y los datos deberán transmitirse a 9600 baudios 
(bits/segundo). Para diseñar el circuito utilícese un registro de desplazamiento de 11 
bits (para la conversión paralelo-serie de los datos), un contador 0-11 (para la cuenta 
controlador de 
caja fuerte
newCode lock
trials
2
code
16
 
Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 7 / pág. 6 
 
del número de bits desplazados), un contador del tamaño que considere oportuno (para 
la cuenta del número de ciclos que deben transcurrir entre un desplazamiento y otro 
calculados como el cociente entre la frecuencia de reloj y la velocidad de transmisión) 
y las puertas lógicas que estime necesarias. 
17. Un buffer LIFO (last in, first out) es un almacén de datos no accesibles por dirección sino 
legibles en orden inverso al orden en que se escribieron
(es decir, el primer dato que se 
puede leer es siempre el último que se ha escrito). Usando un contador 
ascendente/descendente, 2 RAM 256×8 bits y otros componentes que estime necesarios, 
diseñe una LIFO capaz de almacenar un máximo de 256 datos de 16 bits. El sistema 
tendrá una entrada/salida de datos, d, de 16 bits, 3 señales de control, ce, we y oe, para 
capacitar el módulo, la escritura y la lectura respectivamente y 2 señales de estado, full y 
empty, para indicar cuándo la LIFO está llena y cuándo está vacía. 
18. Usando un sumador/restador y un registro, diseñe un acumulador genérico que opere con 
números enteros con signo codificados en C2 con n bits. El sistema acepta un operando, 
y lo suma/resta al resultado calculado en con anterioridad. El sistema tiene un puerto de 
datos de entrada, x, un puerto de datos de salida, z, dos entradas de control, ld y op, y una 
salida de estado, ov. Si ld vale ‘1’, el dato en la entrada x debe acumularse; si vale ‘0’, 
no. Si la entrada op vale ‘0’, el dato debe sumarse; si vale ‘1’, restarse. La salida ov debe 
activarse cuando el resultado no sea representable en C2 con n bits. 
19. Usando multiplicadores, sumadores, multiplexores y registros, diseñe 3 rutas de datos sin 
controlador tal que cada una pueda realizar una de las siguientes expresiones, donde x, a 
y b son puertos de entrada de n bits y z es un puerto de salida de n bits: 
a) z 	∑ a ∙ x ≡ 1 a ∙ x 
b) z 	∑ a ∙ x b 	≡ 1 a ∙ x b 
c) z 	∑ x x b 	≡ 1 x x b 
Rediseñe las rutas de datos b) y c) de modo que utilicen un único sumador. Discuta por 
qué estos diseños con solo un sumador requieren tener controlador y no pueden aceptar 
datos nuevos y generar resultados en todos los ciclos. 
20. Diseñar un circuito secuencial capaz de calcular iterativamente el elemento i-ésimo de la 
serie de Fibonacci. El circuito tendrá una entrada, i de 5 bits, para indicar el elemento de 
la serie; una entrada, inicio, para indicar el comienzo del cálculo; una salida, fin, para 
indicar el fin del cálculo y una salida z de 20 bits, para indicar el valor del elemento de la 
serie indicado. La serie de Fibonacci se define recursivamente de la siguiente manera: 
fib(0)=0, fib(1)=1, fib(i)=fib(i-1) + fib(i-2). El sistema deberá diseñarse usando circuito 
realizará el cálculo iterativamente. Tendrá 1 sumador de 20 bits, 2 registros para 
almacenar los 2 últimos elementos de la serie y un contador que llevará la cuenta del 
índice. 
transmisor
serie
start
ready
data
8
Tx
LIFO
d
16
empty
we
full
oe
ce
 
Proble
 
21. D
c
E
p
s
fi
Prob
22. (F
q
d
p
tr
E
d
tr
fu




S
in
emas de Fund
Diseñar un s
codificados e
begin 
Div
Div
Co
 wh
 end
 C :
 R :
end; 
El sistema te
para indicar 
alidas, c y 
figura y utili
blemas de
Febrero 201
que dispone 
diseñar un si
permita que 
ramo superi
El sistema ti
durante un c
rayectos cir
función del v
 Cuando 
 Cuando 
 Cuando 
 Cuando 
Suponiendo 
ndicados en
a) Espe
damentos de C
sistema secu
en binario u
videndo := D
visor := Dvs
ociente := 0;
hile Dividen
Dividendo
Cociente 
d while; 
:= Cociente
:= Dividend
endrá dos en
el comienzo
r de 8 bits,
izará 2 regis
e examen:
12) Sea un t
de un senso
istema que, 
el tren rea
ior, dos vuel
ene como e
ciclo de rel
culares supe
valor en las 
C1=’0’ y C
C1=’1’ y C
C1=’0’ y C
C1=’1’ y C
que el tre
n la figura, s
ecificar el sis
Computadores 
uencial que 
utilizando el 
Dvnd; 
sr; 
 
ndo >= Divis
o := Dividen
:= Cociente
; 
do; 
ntradas, dvn
o del cálcul
 para result
stros, 1 cont
: 
tren eléctric
or de presen
leyendo el 
alice indefin
ltas por el tr
ntrada P y c
oj) cuando 
erior e infer
salidas C1 y
C2=’0’, el tre
C2=’1’, el tre
C2=’1’, el tre
C2=’0’, el tre
en se encue
e pide: 
stema como
(versión 7-10
implemente
 algoritmo d
sor do begin
ndo - Diviso
e + 1; 
d y dvsr de 
lo; una salid
tados. El si
ntador y 1 re
co de juguet
ncia (P) y do
valor del se
nidamente l
ramo inferio
como salida
el tren pas
rior. Por su 
y C2: 
en realiza re
en realiza re
en pasa del 
en pasa del 
entra en la 
o máquina d
0-14)
e la división
de restas suc
n 
or; 
8 bits, para
da, fin, para 
stema tendr
estador. 
e con un tra
os cambios 
ensor y cont
la siguiente
or, una vuelt
as C1 y C2. 
sa por el tra
parte el tren
ecorridos cir
ecorridos cir
tramo super
tramo infer
posición i
de Moore 
D
n entera de 2
cesivas sigu
operandos;
indicar el f
rá los puert
azado de vía
de agujas (
trolando los
secuencia:
ta en ocho. 
La entrada P
amo de vía 
n seguirá un
rculares por
rculares por
rior al inferi
ior al superi
nicial y cir
Divisor
Dvnd
C
8
8
Tema
2 números n
uiente: 
; una entrad
fin del cálcu
tos mostrad
as en forma
C1 y C2). 
s cambios de
 dos vuelta
P se activa 
a que compa
na trayectori
r el tramo su
r el tramo in
ior. 
ior. 
rcula en el
r
Dvsr
8
R
8
a 7 / pág. 7 
naturales 
da, inicio, 
ulo y dos 
dos en la 
a de ocho 
Se desea 
e agujas, 
as por el 
(vale ‘1’ 
arten los 
ia que es 
uperior. 
nferior. 
l sentido 
inicio
fin
 
Proble
 
23. (
s
h
p
ig
U
e
c
“
te
“
m
“
S
emas de Fund
b) Impl
lógic
Septiembre 
istema tiene
haya ruido y
parte, la salid
gual a ‘1’) o
Una vez enc
estímulos, n
chupete (hay
“dormida”. 
ener el chu
“asustada”. 
mantenga. C
“tranquila” e
Se pide: 
a) Esp
b) Imp
lógi
damentos de C
ementarlo u
cas. 
2012) Se d
e 2 entradas
y la entrada C
da G habilit
o bien algun
cendida, la 
i habla, ni l
ya o no ruid
En el estad
upete puesto
En el est
Cuando el r
en función d
pecificar el s
plementarlo 
icas. 
Computadores 
utilizando u
desea diseña
s y 2 salidas
C lo hará cu
ta un genera
nas palabras 
muñeca se
llora. Si se h
do), dejará d
do “dormida
o, se escuch
tado “asust
ruido desapa
de si tiene o
sistema com
utilizando 
(versión 7-10
un contador 
ar el sistema
s, todas ella
uando haya u
ador de soni
(si L es igu
e encontrará
hace ruido, 
de hablar (s
a” no hace 
he un ruido
tada” perm
arezca deja
o no el chup
mo máquina 
un contado
0-14)
módulo-8
a de control
as binarias. L
un chupete 
idos que rep
ual a ‘0’). 
á en estado
sigue “tran
i lo estuvier
nada y per
o. En ese c
manecerá llo
ará de llorar
pete puesto.
de Mealy. 
or mod-4 y
y el menor 
l de una mu
La entrada R
en la boca d
produce o bi
o “tranquila
nquila” y hab
ra haciendo
rmanecerá e
caso llorará 
orando mie
r y pasará a
y el menor 
Tema
r número de
uñeca intera
R valdrá ‘1
de la muñec
ien un llanto
a” donde, si
abla. Si se le
o) y pasará a
en él hasta 
y pasará a
entras el r
a estar “dor
número de
a 7 / pág. 8 
e puertas 
activa. El 
’ cuando 
a. Por su 
o (si L es 
i no hay 
e pone el 
al estado 
que, sin 
al estado 
ruido se 
rmida” o 
e puertas 
Chips/74LS83(SUMADOR-7483).pdf
5-81
FAST AND LS TTL DATA
4-BIT BINARY FULL ADDER
WITH FAST CARRY
The SN54 /74LS83A is a high-speed 4-Bit binary Full Adder with internal
carry lookahead. It accepts two 4-bit binary words (A1–A4, B1–B4) and a
Carry Input (C0). It generates the binary Sum outputs ∑1–∑4) and the Carry
Output (C4) from the most significant bit. The LS83A operates with either
active HIGH or active LOW operands (positive or negative logic). The
SN54/74LS283 is recommended for new designs since it is identical in
function with this device and features standard corner power pins.
14 13 12 11 10 9
1 2 3 4 5 6
B4
7
16 15
8
Σ4 C4 C0 GND B1 A1 Σ1
A4 Σ3 A3 Σ2 B2 A2
CONNECTION DIAGRAM DIP (TOP VIEW)
B3 VCC
NOTE:
The Flatpak version has the
same pinouts (Connection
Diagram) as the Dual In-Line
Package.
PIN NAMES LOADING (Note a)
HIGH LOW
A1–A4
B1–B4
C0
Σ1–Σ4
C4
Operand A Inputs
Operand B Inputs
Carry Input
Sum Outputs (Note b)
Carry Output (Note b)
1.0 U.L.
1.0 U.L.
0.5 U.L.
10 U.L.
10 U.L.
0.5 U.L.
0.5 U.L.
0.25 U.L.
5 (2.5) U.L.
5 (2.5) U.L.
NOTES:
a) 1 TTL Unit Load (U.L.) = 40 µA HIGH/1.6 mA LOW.
b) The Output LOW drive factor is 2.5 U.L. for Military (54) and 5 U.L. for Commercial (74)
Temperature Ranges.
SN54/74LS83A
4-BIT BINARY FULL ADDER
WITH FAST CARRY
LOW POWER SCHOTTKY
J SUFFIX
CERAMIC
CASE 620-09
N SUFFIX
PLASTIC
CASE 648-08
16
1
16
1
ORDERING INFORMATION
SN54LSXXJ Ceramic
SN74LSXXN Plastic
SN74LSXXD SOIC
16
1
D SUFFIX
SOIC
CASE 751B-03
LOGIC SYMBOL
10 11 8 7 3 4 1 16
9 6 2 15 14
13 14C0
B1 A2 B2 A3 B3 A4 B4
C4
∑1∑2 ∑3∑4 C4
LOGIC DIAGRAM
VCC = PIN 5
GND = PIN 12
 = PIN NUMBERS
C1 C2 C3
C0 A1 B1 A2 B2 A3 B3 A4 B4
C4∑1 ∑2 ∑3 ∑4
15
3 410 11 161
26
7
9
13 8
14
5-82
FAST AND LS TTL DATA
SN54/74LS83A
FUNCTIONAL DESCRIPTION
The LS83A adds two 4-bit binary words (A plus B) plus the incoming carry. The binary sum appears on the sum outputs (∑1–∑4)
and outgoing carry (C4) outputs.
C0 + (A1+B1)+2(A2+B2)+4(A3+B3)+8(A4+B4) = ∑1+2∑2+4∑3+8∑4+16C4
Where: (+) = plus
Due to the symmetry of the binary add function the LS83A can be used with either all inputs and outputs active HIGH (positive
logic) or with all inputs and outputs active LOW (negative logic). Note that with active HIGH Inputs, Carry Input can not be left open,
but must be held LOW when no carry in is intended.
Example:
C0 A1 A2 A3 A4 B1 B2 B3 B4 ∑1 ∑2 ∑3 ∑4 C4
Logic Levels L L H L H H L L H H H L L H
Active HIGH 0 0 1 0 1 1 0 0 1 1 1 0 0 1 (10+9 = 19)
Active LOW 1 1 0 1 0 0 1 1 0 0 0 1 1 0 (carry+5+6 = 12)
Interchanging inputs of equal weight does not affect the operation, thus C0, A1, B1, can be arbitrarily assigned to pins 10, 11,
13, etc.
FUNCTIONAL TRUTH TABLE
C (n–1) An Bn ∑n Cn
L L L L L
L L H H L
L H L H L
L H H L H
H L L H L
H L H L H
H H L L H
H H H H H
C1 — C3 are generated internally
C0 — is an external input
C4 — is an output generated internally
GUARANTEED OPERATING RANGES
Symbol Parameter Min Typ Max Unit
VCC Supply Voltage 54
74
4.5
4.75
5.0
5.0
5.5
5.25
V
TA Operating Ambient Temperature Range 54
74
–55
0
25
25
125
70
°C
IOH Output Current — High 54, 74 –0.4 mA
IOL Output Current — Low 54
74
4.0
8.0
mA
5-83
FAST AND LS TTL DATA
SN54/74LS83A
DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified)
Symbol Parameter
Limits
Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions
VIH Input HIGH Voltage 2.0 V
Guaranteed Input HIGH Voltage for
All Inputs
VIL Input LOW Voltage
54 0.7
V
Guaranteed Input LOW Voltage for
All InputsVIL Input LOW Voltage 74 0.8
V
Guaranteed Input LOW Voltage for
All Inputs
VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA
VOH Output HIGH Voltage
54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIH
 per Truth TableVOH Output HIGH Voltage
54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIH
 per Truth TableVOH Output HIGH Voltage 74 2.7 3.5 V
VCC = MIN, IOH = MAX, VIN = VIH
 per Truth Table
VOL Output LOW Voltage
54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN,
VIN = VIL or VIH
per Truth Table
VOL Output LOW Voltage
74 0.35 0.5 V IOL = 8.0 mA
VIN = VIL or VIH
per Truth Table
IIH
Input HIGH Current
C0
A or B
20
40
µA VCC = MAX, VIN = 2.7 V
IIH
C0
A or B
0.1
0.2 mA VCC = MAX, VIN = 7.0 V
IIL
Input LOW Current
C0
A or B
–0.4
–0.8
mA VCC = MAX, VIN = 0.4 V
IOS Output Short Circuit Current (Note 1) –20 –100 mA VCC = MAX
ICC Power Supply Current
All Inputs Grounded
All Inputs at 4.5 V, Except B
All Inputs at 4.5 V
39
34
34
mA VCC = MAX
Note 1: Not more than one output should be shorted at a time, nor for more than 1 second.
AC CHARACTERISTICS (TA = 25°C)
Symbol Parameter
Limits
Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions
tPLH
tPHL
Propagation Delay, C0 Input
to any Σ Output
16
15
24
24
ns
VCC = 5.0 V
CL = 15 pF
Figures 1 and 2
tPLH
tPHL
Propagation Delay, Any A or
B Input to Σ Outputs
15
15
24
24
ns
VCC = 5.0 V
CL = 15 pF
Figures 1 and 2tPLH
tPHL
Propagation Delay, C0 Input
to C4 Output
11
15
17
22
ns
CL = 15 pF
Figures 1 and 2
tPLH
tPHL
Propagation Delay, Any A or
B Input to C4 Output
11
12
17
17
ns
Figure 1 Figure 2
AC WAVEFORMS
VIN
VOUT
1.3 V
tPHL
1.3 V
1.3 V 1.3 V
tPLH
VIN
VOUT
1.3 V
tPLH
1.3 V
1.3 V 1.3 V
tPHL
This datasheet has been download from:
www.datasheetcatalog.com
Datasheets for electronics components.
http://www.datasheetcatalog.com
http://www.datasheetcatalog.com
http://www.datasheetcatalog.com
Chips/74LS74(BIESTABLES-7474).pdf
5-72
FAST AND LS TTL DATA
DUAL D-TYPE POSITIVE
EDGE-TRIGGERED FLIP-FLOP
The SN54/74LS74A dual edge-triggered flip-flop utilizes Schottky TTL cir-
cuitry to produce high speed D-type flip-flops. Each flip-flop has individual
clear and set inputs, and also complementary Q and Q outputs.
Information at input D is transferred to the Q output on the positive-going
edge of the clock pulse. Clock triggering occurs at a voltage level of the clock
pulse and is not directly related to the transition time of the positive-going
pulse. When the clock input is at either the HIGH or the LOW level, the D input
signal has no effect.
LOGIC DIAGRAM (Each Flip-Flop)
SET (SD)
4 (10)
CLEAR (CD)
1 (13)
CLOCK
3 (11)
D
2 (12)
Q
5 (9)
Q
6 (8)
MODE SELECT — TRUTH TABLE
OPERATING MODE
INPUTS OUTPUTS
OPERATING MODE
SD SD D Q Q
Set
Reset (Clear)
*Undetermined
Load “1” (Set)
Load “0” (Reset)
L
H
L
H
H
H
L
L
H
H
X
X
X
h
l
H
L
H
H
L
L
H
H
L
H
* Both outputs will be HIGH while both SD and CD are LOW, but the output states are unpredictable
if SD and CD go HIGH simultaneously. If the levels at the set and clear are near VIL maximum then
we cannot guarantee to meet the minimum level for VOH.
H, h = HIGH Voltage Level
L, I = LOW Voltage Level
X = Don’t Care
i, h (q) = Lower case letters indicate the state of the referenced input (or output) one set-up time
i, h (q) = prior to the HIGH to LOW clock transition.
SN54/74LS74A
DUAL D-TYPE POSITIVE
EDGE-TRIGGERED FLIP-FLOP
LOW POWER SCHOTTKY
J SUFFIX
CERAMIC
CASE 632-08
N SUFFIX
PLASTIC
CASE 646-06
14
1
14
1
ORDERING INFORMATION
SN54LSXXJ Ceramic
SN74LSXXN Plastic
SN74LSXXD SOIC
14
1
D SUFFIX
SOIC
CASE 751A-02
LOGIC SYMBOL
VCC = PIN 14
GND = PIN 7
2
3
5D Q
CP
QCD
1
4
6
12
11
9D Q
CP
QCD
13
10
8
SD SD
5-73
FAST AND LS TTL DATA
SN54/74LS74A
GUARANTEED OPERATING RANGES
Symbol Parameter Min Typ Max Unit
VCC Supply Voltage 54
74
4.5
4.75
5.0
5.0
5.5
5.25
V
TA Operating Ambient Temperature Range 54
74
–55
0
25
25
125
70
°C
IOH Output Current — High 54, 74 –0.4 mA
IOL Output Current — Low 54
74
4.0
8.0
mA
DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified)
Symbol Parameter
Limits
Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions
VIH Input HIGH Voltage 2.0 V
Guaranteed Input HIGH Voltage for
All Inputs
VIL Input LOW Voltage
54 0.7
V
Guaranteed Input LOW Voltage for
All InputsVIL Input LOW Voltage 74 0.8
V
Guaranteed Input LOW Voltage for
All Inputs
VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA
VOH Output HIGH Voltage
54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIH
or VIL per Truth Table
VOH Output HIGH Voltage
74 2.7 3.5 V
VCC = MIN, IOH = MAX, VIN = VIH
or VIL per Truth Table
VOL Output LOW Voltage
54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN,
VIN = VIL or VIH
per Truth Table
VOL Output LOW Voltage
74 0.35 0.5 V IOL = 8.0 mA
VIN = VIL or VIH
per Truth Table
IIH
Input High Current
Data, Clock
Set, Clear
20
40
µA VCC = MAX, VIN = 2.7 V
IIH
Data, Clock
Set, Clear
0.1
0.2 mA VCC = MAX, VIN = 7.0 V
IIL
Input LOW Current
Data, Clock
Set, Clear
–0.4
–0.8
mA VCC = MAX, VIN = 0.4 V
IOS Output Short Circuit Current (Note 1) –20
–100 mA VCC = MAX
ICC Power Supply Current 8.0 mA VCC = MAX
Note 1: Not more than one output should be shorted at a time, nor for more than 1 second.
AC CHARACTERISTICS (TA = 25°C, VCC = 5.0 V)
Symbol Parameter
Limits
Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions
fMAX Maximum Clock Frequency 25 33 MHz Figure 1
VCC = 5.0 V
CL = 15 pF
tPLH
tPHL
Clock, Clear, Set to Output
13 25 ns
Figure 1
VCC = 5.0 V
CL = 15 pF
tPLH
tPHL
Clock, Clear, Set to Output
25 40 ns
Figure 1 CL = 15 pF
AC SETUP REQUIREMENTS (TA = 25°C)
Symbol Parameter
Limits
Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions
tW(H) Clock 25 ns Figure 1
VCC = 5.0 V
tW(L) Clear, Set 25 ns Figure 2
VCC = 5.0 V
ts
Data Setup Time — HIGH
Data Setup Time — LOW
20 ns
Figure 1
VCC = 5.0 V
ts
Data Setup Time — HIGH
Data Setup Time — LOW 20 ns
Figure 1
CC = 5.0 V
th Hold Time 5.0 ns Figure 1
5-74
FAST AND LS TTL DATA
SN54/74LS74A
Figure 1. Clock to Output Delays, Data
Set-Up and Hold Times, Clock Pulse Width
Figure 2. Set and Clear to Output Delays,
Set and Clear Pulse Widths
AC WAVEFORMS
tW
1.3 V 1.3 V
tW
1.3 V 1.3 V
1.3 V
1.3 V1.3 V
1.3 V
tPLH tPHL
tPLHtPHL
SET
CLEAR
Q
Q
*The shaded areas indicate when the input is permitted to change for predictable output performance.
D *
CP
Q
Q
1.3 V 1.3 V
1.3 V1.3 V
1.3 V
1.3 V1.3 V
tPLH
tPHL
tPLH
tPHL
th(L)
ts(L) tW(H)
tW(L)
ts(H)
th(H)
1
fMAX
1.3 V
This datasheet has been download from:
www.datasheetcatalog.com
Datasheets for electronics components.
http://www.datasheetcatalog.com
http://www.datasheetcatalog.com
http://www.datasheetcatalog.com
Chips/74LS153(MULTIPLEXOR-74153).pdf
5-1
FAST AND LS TTL DATA
DUAL 4-INPUT MULTIPLEXER
The LSTTL/MSI SN54/74LS153 is a very high speed Dual 4-Input
Multiplexer with common select inputs and individual enable inputs for each
section. It can select two bits of data from four sources. The two buffered
outputs present data in the true (non-inverted) form. In addition to multiplexer
operation, the LS153 can generate any two functions of three variables. The
LS153 is fabricated with the Schottky barrier diode process for high speed and
is completely compatible with all Motorola TTL families.
• Multifunction Capability
• Non-Inverting Outputs
• Separate Enable for Each Multiplexer
• Input Clamp Diodes Limit High Speed Termination Effects
CONNECTION DIAGRAM DIP (TOP VIEW)
NOTE:
The Flatpak version
has the same pinouts
(Connection Diagram) as
the Dual In-Line Package.
14 13 12 11 10 9
1 2 3 4 5 6 7
16 15
8
VCC
Ea
Eb S0 I3b I2b I0bI1b Zb
S1 I3a I2a I1a I0a Za GND
PIN NAMES LOADING (Note a)
HIGH LOW
S0
E
I0, I1
Z
Common Select Input
Enable (Active LOW) Input
Multiplexer Inputs
Multiplexer Output (Note b)
0.5 U.L.
0.5 U.L.
0.5 U.L.
10 U.L.
0.25 U.L.
0.25 U.L.
0.25 U.L.
5 (2.5) U.L.
NOTES:
a) 1 TTL Unit Load (U.L.) = 40 µA HIGH/1.6 mA LOW.
b) The Output LOW drive factor is 2.5 U.L. for Military (54) and 5 U.L. for Commercial (74)
Temperature Ranges.
LOGIC DIAGRAM
Ea I0a I1a I2a I3a S1 S0 I0b I1b I2b I3b Eb
Za Zb
141 26
7
345
9
11 1210 13 15
VCC = PIN 16
GND = PIN 8
 = PIN NUMBERS
SN54/74LS153
DUAL 4-INPUT MULTIPLEXER
LOW POWER SCHOTTKY
J SUFFIX
CERAMIC
CASE 620-09
N SUFFIX
PLASTIC
CASE 648-08
16
1
16
1
ORDERING INFORMATION
SN54LSXXXJ Ceramic
SN74LSXXXN Plastic
SN74LSXXXD SOIC
16
1
D SUFFIX
SOIC
CASE 751B-03
LOGIC SYMBOL
VCC = PIN 16
GND = PIN 8
1 6 5 4 3 10 11 12 13 15
14
2
7 9
Za Zb
Sa
S0
Ea I0a I1a I2a I3a I0b I1b I2b I3b Eb
5-2
FAST AND LS TTL DATA
SN54/74LS153
FUNCTIONAL DESCRIPTION
The LS153 is a Dual 4-input Multiplexer fabricated with Low
Power, Schottky barrier diode process for high speed. It can
select two bits of data from up to four sources under the control
of the common Select Inputs (S0, S1). The two 4-input multi-
plexer circuits have individual active LOW Enables (Ea, Eb)
which can be used to strobe the outputs independently. When
the Enables (Ea, Eb) are HIGH, the corresponding outputs (Za,
Zb) are forced LOW.
The LS153 is the logic implementation of a 2-pole, 4-posi-
tion switch, where the position of the switch is determined by
the logic levels supplied to the two Select Inputs. The logic
equations for the outputs are shown below.
Za = Ea ⋅ (I0a ⋅ S1 ⋅ S0 + I1a ⋅ S1 ⋅ S0 + I2a ⋅ S1 ⋅ S0 +
I3a ⋅ S1 ⋅ S0)
Zb = Eb ⋅ (I0b ⋅ S1 ⋅ S0 + I1b ⋅ S1 ⋅ S0 + I2b ⋅ S1 ⋅ S0 +
I3b ⋅ S1 ⋅ S0)
The LS153 can be used to move data from a group of regis-
ters to a common output bus. The particular register from
which the data came would be determined by the state of the
Select Inputs. A less obvious application is a function genera-
tor. The LS153 can generate two functions of three variables.
This is useful for implementing highly irregular random logic.
TRUTH TABLE
SELECT INPUTS INPUTS (a or b) OUTPUT
S0 S1 E I0 I1 I2 I3 Z
X X H X X X X L
L L L L X X X L
L L L H X X X H
H L L X L X X L
H L L X H X X H
L H L X X L X L
L H L X X H X H
H H L X X X L L
H H L X X X H H
H = HIGH Voltage Level
L = LOW Voltage Level
X = Don’t Care
GUARANTEED OPERATING RANGES
Symbol Parameter Min Typ Max Unit
VCC Supply Voltage 54
74
4.5
4.75
5.0
5.0
5.5
5.25
V
TA Operating Ambient Temperature Range 54
74
–55
0
25
25
125
70
°C
IOH Output Current — High 54, 74 –0.4 mA
IOL Output Current — Low 54
74
4.0
8.0
mA
5-3
FAST AND LS TTL DATA
SN54/74LS153
DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
VIH Input HIGH Voltage 2.0 V
Guaranteed Input HIGH Voltage for
All Inputs
VIL Input LOW Voltage
54 0.7
V
Guaranteed Input LOW Voltage for
VIL Input LOW Voltage
74 0.8
V
p g
All Inputs
VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA
VOH Output HIGH Voltage
54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage
74 2.7 3.5 V
CC , OH , IN IH
or VIL per Truth Table
VOL Output LOW Voltage
54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN,
VIN = VIL or VIHVOL Output LOW Voltage
74 0.35 0.5 V IOL = 8.0 mA
VIN = VIL or VIH
per Truth Table
IIH Input HIGH Current
20 µA VCC = MAX, VIN = 2.7 V
IIH Input HIGH Current
0.1 mA VCC = MAX, VIN = 7.0 V
IIL Input LOW Current –0.4 mA VCC = MAX, VIN = 0.4 V
IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX
ICC Power Supply Current 10 mA VCC = MAX
Note 1: Not more than one output should be shorted at a time, nor for more than 1 second.
AC CHARACTERISTICS (TA = 25°C)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
tPLH
tPHL
Propagation Delay
Data to Output
10
17
15
26 ns Figure 2
V 5 0 VtPLH
tPHL
Propagation Delay
Select to Output
19
25
29
38 ns Figure 1
VCC = 5.0 V
CL = 15 pF
tPLH
tPHL
Propagation Delay
Enable to Output
16
21
24
32 ns Figure 2
AC WAVEFORMS
Figure 1 Figure 2
VIN
VOUT
1.3 V
tPHL
1.3 V
1.3 V
1.3 V
tPLH
VIN
VOUT
1.3 V
tPHL
1.3 V
1.3 V
tPLH
1.3 V
Chips/74LS169(CONTADOR-74169).pdf
5-1
FAST AND LS TTL DATA
BCD DECADE/MODULO
16 BINARY SYNCHRONOUS
BI-DIRECTIONAL COUNTERS
The SN54/74LS168 and SN54/74LS169 are fully synchronous 4-stage
up/down counters featuring a preset capability for programmable operation,
carry lookahead for easy cascading and a U/D input to control the direction
of counting. The SN54/74LS168 counts in a BCD decade (8, 4, 2, 1)
sequence, while the SN54/74LS169 operates in a Modulo 16 binary
sequence. All state changes, whether in counting or parallel loading, are
initiated by the LOW-to-HIGH transition of the clock.
• Low Power Dissipation 100 mW Typical
• High-Speed Count Frequency 30 MHz Typical
• Fully Synchronous Operation
• Full Carry Lookahead for Easy Cascading
• Single Up/Down Control
Input
• Positive Edge-Trigger Operation
• Input Clamp Diodes Limit High-Speed Termination Effects
NOTE:
The Flatpak version
has the same pinouts
(Connection Diagram) as
the Dual In-Line Package.
14 13 12 11 10 9
1 2 3 4 5 6 7
16 15
8
VCC
U/D
TC Q0 Q1 Q2 CETQ3 PE
CP P0 P1 P2 P3 CEP GND
CONNECTION DIAGRAM DIP (TOP VIEW)
PIN NAMES LOADING (Note a)
HIGH LOW
CEP
CET
CP
PE
U/D
P0–P3
Q0–Q3
TC
Count Enable Parallel (Active LOW) Input
Count Enable Trickle (Active LOW) Input
Clock Pulse (Active positive going edge) Input
Parallel Enable (Active LOW) Input
Up-Down Count Control Input
Parallel Data Inputs
Flip-Flop Outputs
Terminal Count (Active LOW) Output
0.5 U.L.
1.0 U.L.
0.5 U.L.
0.5 U.L.
0.5 U.L.
0.5 U.L.
10 U.L.
10 U.L.
0.25 U.L.
0.5 U.L.
0.25 U.L.
0.25 U.L.
0.25 U.L.
0.25 U.L.
5 (2.5) U.L.
5 (2.5) U.L.
NOTES:
a. 1 TTL Unit Load (U.L.) = 40 µA HIGH/1.6 mA LOW.
b. The Output LOW drive factor is 2.5 U.L. for Military (54) and 5 U.L. for Commercial (74)
b. Temperature Ranges.
SN54/74LS168
SN54/74LS169
BCD DECADE/MODULO
16 BINARY SYNCHRONOUS
BI-DIRECTIONAL COUNTERS
LOW POWER SCHOTTKY
J SUFFIX
CERAMIC
CASE 620-09
N SUFFIX
PLASTIC
CASE 648-08
16
1
16
1
ORDERING INFORMATION
SN54LSXXXJ Ceramic
SN74LSXXXN Plastic
SN74LSXXXD SOIC
16
1
D SUFFIX
SOIC
CASE 751B-03
LOGIC SYMBOL
9 3 4 5 6
7
10
2
15
14 13 12 11
PE P0 P1 P2 P3
CEP
CET
CP
Q0 Q1 Q2 Q3
TC
VCC = PIN 16
GND = PIN 8
1 U/D
5-2
FAST AND LS TTL DATA
SN54/74LS168 • SN54/74LS169
STATE DIAGRAMS
SN54/74LS168
UP/DOWN DECADE COUNTER
0 1 2 3 4
5
6
7
89101112
13
14
15
0 1 2 3 4
5
6
7
89101112
13
14
15
SN54/74LS169
LOGIC DIAGRAMS
 TC
PE
CEP
CET
U/D
CP
P0 P1 P2 P3
Q0 Q1 Q2 Q3
CP D
SN54/74LS168
SN54/74LS168
UP: TC = Q0 ⋅ Q3 ⋅ (U /D)
DOWN: TC = Q0 ⋅ Q1 ⋅ Q2 ⋅ Q3 ⋅ (U /D)
SN54/74LS169
UP: TC = Q0 ⋅ Q1 ⋅ Q2 ⋅ Q3 ⋅ (U /D)
DOWN: TC = Q0 ⋅ Q1 ⋅ Q2 ⋅ Q3 ⋅ (U /D)
Count Up
Count Down
5-3
FAST AND LS TTL DATA
SN54/74LS168 • SN54/74LS169
LOGIC DIAGRAMS (continued)
SN54/74LS169
 TC
PE
CEP
CET
U/D
CP
P0 P1 P2 P3
Q0 Q1 Q2 Q3
CP D
GUARANTEED OPERATING RANGES
Symbol Parameter Min Typ Max Unit
VCC Supply Voltage 54
74
4.5
4.75
5.0
5.0
5.5
5.25
V
TA Operating Ambient Temperature Range 54
74
–55
0
25
25
125
70
°C
IOH Output Current — High 54, 74 –0.4 mA
IOL Output Current — Low 54
74
4.0
8.0
mA
5-4
FAST AND LS TTL DATA
SN54/74LS168 • SN54/74LS169
DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
VIH Input HIGH Voltage 2.0 V
Guaranteed Input HIGH Voltage for
All Inputs
VIL Input LOW Voltage
54 0.7
V
Guaranteed Input LOW Voltage for
VIL Input LOW Voltage
74 0.8
V
p g
All Inputs
VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA
VOH Output HIGH Voltage
54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage
74 2.7 3.5 V
CC , OH , IN IH
or VIL per Truth Table
VOL Output LOW Voltage
54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN,
VIN = VIL or VIHVOL Output LOW Voltage
74 0.35 0.5 V IOL = 8.0 mA
VIN = VIL or VIH
per Truth Table
IIH
Input HIGH Current
Other Inputs
CET Input
20
40
µA VCC = MAX, VIN = 2.7 V
IIH
Other Input
CET Input
0.1
0.2 mA VCC = MAX, VIN = 7.0 V
IIL
Input LOW Current
Other Input
CET Input
–0.4
–0.8
mA VCC = MAX, VIN = 0.4 V
IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX
ICC Power Supply Current 34 mA VCC = MAX
Note 1: Not more than one output should be shorted at one time, nor for more than 1 second.
FUNCTIONAL DESCRIPTION
The SN54/74LS168 and SN54/74LS169 use edge-
triggered D-type flip-flops that have no constraints on
changing the control or data input signals in either state of the
Clock. The only requirement is that the various inputs attain
the desired state at least a set-up time before the rising edge of
the clock and remain valid for the recommended hold time
thereafter.
The parallel load operation takes precedence over the other
operations, as indicated in the Mode Select Table. When PE is
LOW, the data on the P0–P3 inputs enters the flip-flops on the
next rising edge of the Clock. In order for counting to occur,
both CEP and CET must be LOW and PE must be HIGH. The
U/D input then determines the direction of counting.
The Terminal Count (TC) output is normally HIGH and goes
LOW, provided that CET is LOW, when a counter reaches zero
in the COUNT DOWN mode or reaches 15 (9 for the
SN54/74LS168) in the COUNT UP mode. The TC output state
is not a function of the Count Enable Parallel (CEP) input level.
The TC output of the SN54/74LS168 decade counter can also
be LOW in the illegal states 11, 13 and 15, which can occur
when power is turned on or via parallel loading. If illegal state
occurs, the SN54/74LS168 will return to the legitimate
sequence within two counts. Since the TC signal is derived by
decoding the flip-flop states, there exists the possibility of
decoding spikes on TC. For this reason the use of TC as a
clock signal is not recommended.
MODE SELECT TABLE
PE CEP CET U/D Action on Rising Clock Edge
L X X X Load (Pn → Qn)
H L L H Count Up (increment)
H L L L Count Down (decrement)
H H X X No Change (Hold)
H X H X No Change (Hold)
H = HIGH Voltage Level 
L = LOW Voltage Level 
X = Immaterial
5-5
FAST AND LS TTL DATA
SN54/74LS168 • SN54/74LS169
AC CHARACTERISTICS (TA = 25°C, VCC = 5.0 V)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
fMAX Maximum Clock Frequency 25 32 MHz
V 5 0 V
tPLH
tPHL
Propagation Delay,
Clock to TC
23
23
35
35 ns
V 5 0 V
tPLH
tPHL
Propagation Delay,
Clock to any Q
13
15
20
23 ns
VCC = 5.0 V
CL = 15 pF
tPLH
tPHL
Propagation Delay,
CET to TC
15
15
20
20 ns
CL = 15 pF
tPLH
tPHL
Propagation Delay,
U /D to TC
17
19
25
29 ns
AC SETUP REQUIREMENTS (TA = 25°C)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
tW Clock Pulse Width 25 ns
V 5 0 V
ts
Setup Time,
Data or Enable 20 ns
V 5 0 V
ts
Setup Time
PE 25 ns VCC = 5.0 V
ts
Setup Time
U/D 30 ns
th
Hold Time
Any Input 0 ns
5-6
FAST AND LS TTL DATA
SN54/74LS168 • SN54/74LS169
AC WAVEFORMS
Figure 1. Clock to Output Delays,
Count Frequency, and Clock Pulse Width
Figure 2. Count Enable Trickle Input
To Terminal Count Output Delays
Figure 3. Clock to Terminal Delays Figure 4. Setup Time (t s) and Hold (t h)
for Parallel Data Inputs
1.3 V 1.3 V
1.3 V 1.3 V
1.3 V 1.3 V
1.3 V 1.3 V
CP
Q OR TC
tPHL
tPLH
tPLH tPHL
CET
TC
1/fmax
tW
1.3 V
1.3 V 1.3 V 1.3 V
1.3 V 1.3 V
1.3 V 1.3 V
ts(H) ts(L) th(L) = 0th(H) = 0
Q0 • Q1 • Q2 • Q3
CP
TC
tPLH tPHL
1.3 V 1.3 V1.3 V1.3 VP0 • P1 • P2 • P3
1.3 V 1.3 V
1.3 V 1.3 V 1.3 V 1.3 V 1.3 V
1.3 V 1.3 V
SR OR PE
CP
U/D
TC
ts(L)
ts(H)
th(L) = 0th(H) = 0
ts(H)
th(H) = 0 th(L) = 0
ts(H) ts(L)
tPLH tPHL
1.3 V 1.3 V
1.3 V 1.3 V
1.3 V1.3 V
1.3 V 1.3 V
1.3 V 1.3 V1.3 V1.3 V
ts(L)
th(L) = 0 th(H) = 0
Figure 5. Setup Time and Hold Time for
Count Enable and Parallel Enable Inputs,
and Up-Down Control Inputs
Figure 6. Up-Down Input to
Terminal Count Output Delays
The shaded areas indicate when the
input is permitted to change for
predictable output performance.
CP
CEP
CET
CP
Chips/74LS10(NAND-7410).pdf
5-1
FAST AND LS TTL DATA
TRIPLE 3-INPUT NAND GATE
14 13 12 11 10 9
1 2 3 4 5 6
VCC
8
7
GND
GUARANTEED OPERATING RANGES
Symbol Parameter Min Typ Max Unit
VCC Supply Voltage 54
74
4.5
4.75
5.0
5.0
5.5
5.25
V
TA Operating Ambient Temperature Range 54
74
–55
0
25
25
125
70
°C
IOH Output Current — High 54, 74 –0.4 mA
IOL Output Current — Low 54
74
4.0
8.0
mA
SN54/74LS10
TRIPLE 3-INPUT NAND GATE
LOW POWER SCHOTTKY
J SUFFIX
CERAMIC
CASE 632-08
N SUFFIX
PLASTIC
CASE 646-06
14
1
14
1
ORDERING INFORMATION
SN54LSXXJ Ceramic
SN74LSXXN Plastic
SN74LSXXD SOIC
14
1
D SUFFIX
SOIC
CASE 751A-02
5-2
FAST AND LS TTL DATA
SN54/74LS10
DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
VIH Input HIGH Voltage 2.0 V
Guaranteed Input HIGH Voltage for
All Inputs
VIL Input LOW Voltage
54 0.7
V
Guaranteed Input LOW Voltage for
VIL Input LOW Voltage
74 0.8
V
p g
All Inputs
VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA
VOH Output HIGH Voltage
54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage
74 2.7 3.5 V
CC , OH , IN IH
or VIL per Truth Table
VOL Output LOW Voltage
54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN,
VIN = VIL or VIHVOL Output LOW Voltage
74 0.35 0.5 V IOL = 8.0 mA
VIN = VIL or VIH
per Truth Table
IIH Input HIGH Current
20 µA VCC = MAX, VIN = 2.7 V
IIH Input HIGH Current
0.1 mA VCC = MAX, VIN = 7.0 V
IIL Input LOW Current –0.4 mA VCC = MAX, VIN = 0.4 V
IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX
ICC
Power Supply Current
Total, Output HIGH 1.2 mA VCC = MAXICC p
Total, Output LOW 3.3
mA VCC MAX
Note 1: Not more than one output should be shorted at a time, nor for more than 1 second.
AC CHARACTERISTICS (TA = 25°C)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
tPLH Turn-Off Delay, Input to Output 9.0 15 ns VCC = 5.0 V
tPHL Turn-On Delay, Input to Output 10 15 ns
CC
CL = 15 pF
Chips/74LS86(XOR-7486).pdf
5-88
FAST AND LS TTL DATA
QUAD 2-INPUT
EXCLUSIVE OR GATE
14 13 12 11 10 9
1 2 3 4 5 6
VCC
8
7
GND
TRUTH TABLE
IN OUT
A B Z
L L L
L H H
H L H
H H L
GUARANTEED OPERATING RANGES
Symbol Parameter Min Typ Max Unit
VCC Supply Voltage 54
74
4.5
4.75
5.0
5.0
5.5
5.25
V
TA Operating Ambient Temperature Range 54
74
–55
0
25
25
125
70
°C
IOH Output Current — High 54, 74 –0.4 mA
IOL Output Current — Low 54
74
4.0
8.0
mA
SN54/74LS86
QUAD 2-INPUT
EXCLUSIVE OR GATE
LOW POWER SCHOTTKY
J SUFFIX
CERAMIC
CASE 632-08
N SUFFIX
PLASTIC
CASE 646-06
14
1
14
1
ORDERING INFORMATION
SN54LSXXJ Ceramic
SN74LSXXN Plastic
SN74LSXXD SOIC
14
1
D SUFFIX
SOIC
CASE 751A-02
5-89
FAST AND LS TTL DATA
SN54/74LS86
DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified)
Symbol Parameter
Limits
Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions
VIH Input HIGH Voltage 2.0 V
Guaranteed Input HIGH Voltage for
All Inputs
VIL Input LOW Voltage
54 0.7
V
Guaranteed Input LOW Voltage for
All InputsVIL Input LOW Voltage 74 0.8
V
Guaranteed Input LOW Voltage for
All Inputs
VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA
VOH Output HIGH Voltage
54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIH
or VIL per Truth Table
VOH Output HIGH Voltage
74 2.7 3.5 V
VCC = MIN, IOH = MAX, VIN = VIH
or VIL per Truth Table
VOL Output LOW Voltage
54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN,
VIN = VIL or VIH
per Truth Table
VOL Output LOW Voltage
74 0.35 0.5 V IOL = 8.0 mA
VIN = VIL or VIH
per Truth Table
IIH Input HIGH Current
40 µA VCC = MAX, VIN = 2.7 V
IIH Input HIGH Current
0.2 mA VCC = MAX, VIN = 7.0 V
IIL Input LOW Current –0.8 mA VCC = MAX, VIN = 0.4 V
IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX
ICC Power Supply Current 10 mA VCC = MAX
Note 1: Not more than one output should be shorted at a time, nor for more than 1 second.
AC CHARACTERISTICS (TA = 25°C)
Symbol Parameter
Limits
Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions
tPLH
tPHL
Propagation Delay,
Other Input LOW
12
10
23
17 ns VCC = 5.0 V
CL = 15 pFtPLH
tPHL
Propagation Delay,
Other Input HIGH
20
13
30
22 ns
VCC = 5.0 V
CL = 15 pF
This datasheet has been download from:
www.datasheetcatalog.com
Datasheets for electronics components.
http://www.datasheetcatalog.com
http://www.datasheetcatalog.com
http://www.datasheetcatalog.com
Chips/74LS00(NAND-7400).pdf
5-2
FAST AND LS TTL DATA
QUAD 2-INPUT NAND GATE
• ESD > 3500 Volts
14 13 12 11 10 9
1 2 3 4 5 6
VCC
8
7
GND
GUARANTEED OPERATING RANGES
Symbol Parameter Min Typ Max Unit
VCC Supply Voltage 54
74
4.5
4.75
5.0
5.0
5.5
5.25
V
TA Operating Ambient Temperature Range 54
74
–55
0
25
25
125
70
°C
IOH Output Current — High 54, 74 –0.4 mA
IOL Output Current — Low 54
74
4.0
8.0
mA
SN54/74LS00
QUAD 2-INPUT NAND GATE
LOW POWER SCHOTTKY
J SUFFIX
CERAMIC
CASE 632-08
N SUFFIX
PLASTIC
CASE 646-06
14
1
14
1
ORDERING INFORMATION
SN54LSXXJ Ceramic
SN74LSXXN Plastic
SN74LSXXD SOIC
14
1
D SUFFIX
SOIC
CASE 751A-02
5-3
FAST AND LS TTL DATA
SN54/74LS00
DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
VIH Input HIGH Voltage 2.0 V
Guaranteed Input HIGH Voltage for
All Inputs
VIL Input LOW Voltage
54 0.7
V
Guaranteed Input LOW Voltage for
VIL Input LOW Voltage
74 0.8
V
p g
All Inputs
VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA
VOH Output HIGH Voltage
54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage
74 2.7 3.5 V
CC , OH , IN IH
or VIL per Truth Table
VOL Output LOW Voltage
54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN,
VIN = VIL or VIHVOL Output LOW Voltage
74 0.35 0.5 V IOL = 8.0 mA
VIN = VIL or VIH
per Truth Table
IIH Input HIGH Current
20 µA VCC = MAX, VIN = 2.7 V
IIH Input HIGH Current
0.1 mA VCC = MAX, VIN = 7.0 V
IIL Input LOW Current –0.4 mA VCC = MAX, VIN = 0.4 V
IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX
ICC
Power Supply Current
Total, Output HIGH 1.6 mA VCC = MAXICC
Total, Output LOW 4.4
mA VCC MAX
Note 1: Not more than one output should be shorted at a time, nor for more than 1 second.
AC CHARACTERISTICS (TA = 25°C)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
tPLH Turn-Off Delay, Input to Output 9.0 15 ns VCC = 5.0 V
tPHL Turn-On Delay, Input to Output 10 15 ns
CC
CL = 15 pF
Chips/74LS04(INVERSORES-7404).pdf
5-1
FAST AND LS TTL DATA
HEX INVERTER
14 13 12 11 10 9
1 2 3 4 5 6
VCC
8
7
GND
GUARANTEED OPERATING RANGES
Symbol Parameter Min Typ Max Unit
VCC Supply Voltage 54
74
4.5
4.75
5.0
5.0
5.5
5.25
V
TA Operating Ambient Temperature Range 54
74
–55
0
25
25
125
70
°C
IOH Output Current — High 54, 74 –0.4 mA
IOL Output Current — Low 54
74
4.0
8.0
mA
SN54/74LS04
HEX INVERTER
LOW POWER SCHOTTKY
J SUFFIX
CERAMIC
CASE 632-08
N SUFFIX
PLASTIC
CASE 646-06
14
1
14
1
ORDERING INFORMATION
SN54LSXXJ Ceramic
SN74LSXXN Plastic
SN74LSXXD SOIC
14
1
D SUFFIX
SOIC
CASE 751A-02
5-2
FAST AND LS TTL DATA
SN54/74LS04
DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
VIH Input HIGH Voltage 2.0 V
Guaranteed Input HIGH Voltage for
All Inputs
VIL Input LOW Voltage
54 0.7
V
Guaranteed Input LOW Voltage for
VIL Input LOW Voltage
74 0.8
V
p g
All Inputs
VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA
VOH Output HIGH Voltage
54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage
74 2.7 3.5 V
CC , OH , IN IH
or VIL per Truth Table
VOL Output LOW Voltage
54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN,
VIN = VIL or VIHVOL Output LOW Voltage
74 0.35 0.5 V IOL = 8.0 mA
VIN = VIL or VIH
per Truth Table
IIH Input HIGH Current
20 µA VCC = MAX, VIN = 2.7 V
IIH Input HIGH Current
0.1 mA VCC = MAX, VIN = 7.0 V
IIL Input LOW Current –0.4 mA VCC = MAX, VIN = 0.4 V
IOS Short Circuit
Current (Note 1) –20 –100 mA VCC = MAX
ICC
Power Supply Current
Total, Output HIGH 2.4 mA VCC = MAXICC p
Total, Output LOW 6.6
mA VCC MAX
Note 1: Not more than one output should be shorted at a time, nor for more than 1 second.
AC CHARACTERISTICS (TA = 25°C)
S b l P
Limits
U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions
tPLH Turn-Off Delay, Input to Output 9.0 15 ns VCC = 5.0 V
tPHL Turn-On Delay, Input to Output 10 15 ns
CC
CL = 15 pF
Temas/FCtema3-imprimible.pdf
José Manuel Mendías Cuadros
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Tema 3:
Implementación de sistemas 
combinacionales
Fundamentos de computadores
2
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Puertas lógicas. 
 Conjuntos universales de puertas.
 Síntesis con puertas AND‐OR‐NOT.
 Síntesis con puertas NAND.
 Análisis de redes de puertas.
 Aspectos tecnológicos.
 Espacio de diseño y trade‐offs.
Transparencias basadas en los libros: 
• R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores.
• D. Gajsky. Principios de diseño digital.
3
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Dispositivo que realiza físicamente una función de 
conmutación sencilla.
Puerta NOR
A
B
Z = A + B
A
B
Z = A ∙ B 
Puerta NAND Puerta XOR
A
B
Z = A B
Puerta XNOR
A
B
Z = A B
Puerta NAND
(símbolo alternativo)
A ∙ B = A + B 
A
B
Z = A ∙ B
A
B
Z = A + B
Puerta NOR
(símbolo alternativo)
A + B = A ∙ B
Puerta OR
A
B
Z = A + B
A
B
Z = A ∙ B
Puerta AND
A
Puerta NOT (Inversor)
Z = A
4
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Existen puertas con mayor número de entradas:
Puerta OR de n entradas
xn‐1
x0
z = xn‐1 ∙ ... ∙ x0
Puerta AND de n entradas
...
xn‐1
x0
... z = xn‐1 + ... + x0
Puerta NOR de n entradas
xn‐1
x0
z = xn‐1 ∙ ... ∙ x0
Puerta NAND de n entradas
...
xn‐1
x0
... z = xn‐1 + ... + x0
Puerta XNOR de n entradas
(z=1 si el número de xi=1 es par)
xn‐1
x0
... z = xn‐1 ...  x0
Puerta XOR de n entradas
(z=1 si el número de xi=1 es impar)
xn‐1
x0
... z = xn‐1 ...  x0
5
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Todas ellas son conmutativas:
 AND, OR, XOR y XNOR son asociativas:
X
Y
Z = X ∙ Y
Y
X
Z = Y ∙ X =
x2
x1
x0
z = (x2 ∙ x1) ∙ x0
x2
x1
x0
z = x2 ∙ (x1 ∙ x0)
x2
x1
x0
z = x2 ∙ x1 ∙ x0
=
6
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Pero NAND y NOR no son asociativas.
x2
x1
x0 z = (x2 ∙ x1) ∙ x0 = (x2 ∙ x1) + x0 = ∑ m(0,2,4,6,7) 
x2
x1
x0 z = x2 ∙ (x1 ∙ x0) = x2 + (x1 ∙ x0) = ∑ m(0,1,2,3,7) 
x2
x1
x0
z = x2 ∙ x1 ∙ x0 = x2 + x1 + x0 = ∑ m(0,1,2,3,4,5,6) 
≠
7
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 En la práctica no es común encontrar puertas con 
un número elevado de entradas.
o Solución: implementaciones en árbol.
Implementación en árbol
Puerta AND de 8 entradas
Implementación en árbol
Puerta NAND de 8 entradas
8
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14  Existen puertas compuestas:
y algunas más...
A
B
Puerta AOI 2/2
C
D
Z = (A∙B) + (C∙D) 
Puerta OAI 2/2
Z = (A + B) ∙ (C + D)
A
B
C
D
A
B
Puerta AO 2/2
C
D
Z = (A∙B) + (C∙D) 
A
B
Puerta AOI 2/1
C Z = (A∙B) + C 
C
D
Puerta AOI 2/2/2
E
F
Z = (A∙B) + (C∙D) + (E∙F) 
A
B
9
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Existen otros dispositivos sin funcionalidad lógica:
o Buffer no inversor: permite compensar la atenuación 
eléctrica de una señal.
o Buffer triestado: permite desconectar selectivamente una 
señal.
A
Buffer no inversor
Y = A A
Buffer triestado
Y 
E
E A Y
0 0 Z
0 1 Z
1 0 0
1 1 1
A Y
0 0
1 1
Alta impedancia
(desconecta Y de A)
10
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Módulo:  dispositivo que realiza físicamente una función 
conocida de cualquier complejidad.
o Los hay combinacionales y secuenciales
 Puerto: cada una de las líneas de entrada/salida que 
comunica un módulo con el exterior.
 Interconexión: unión de 2 o más puertos entre sí.
 Red: colección de módulos interconectados de manera que 
toda entrada solo está conectada a una salida (una salida sí 
puede estar conectada a varias entradas).
o Las interconexiones 1:1 y 1:n están permitidas. 
o Las interconexiones n:1 están prohibidas (a menos que se utilicen 
buffers triestado).
11
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Red combinacional: red de módulos combinacionales en 
las que no existen realimentaciones.
o no hay ningún camino dentro de la red que pase 2 veces por el 
mismo punto.
o toda red combinacional es un módulo combinacional.
 Nivel de una red: número máximo de módulos que 
atraviesa cualquier camino que conecte una entrada con 
una salida
o cuando la red es de puertas no se suelen contar los inversores.
12
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Al dibujar el esquema de un circuito usaremos 
alguna notación adicional para las interconexiones:
n interconexiones en paralelo
se dividen en 2 ramas
n y m interconexiones en paralelo se 
unen en una única rama
interconexión de 1 bit
A
interconexión de 1 bit con 
un terminal desconectado
A
n interconexiones
de 1 bit en paralelo
n
A
n
n+m
m
+
–
C = (An‐1..0, Bm‐1..0)
A
B
n-m
n
m
+
–
la parte más significativa
de A viene por aquí
B = An‐m‐1..m
C = Am‐1..0
A
13
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Se dice que un conjunto de módulos combinacionales es 
universal si permite implementar cualquier FC
o Un conjunto lo es, si con sus módulos pueden implementarse 
todos los operadores del algebra de conmutación.
o El conjunto de puertas {AND, OR, NOT} es universal.
 Otros conjuntos universales de puertas :
o { AND, NOT }
∙
o { NAND }
∙ ↑
∙ ∙ ↑ ↑ 	 ↑ 	 ↑ 	
	 ∙ ↑ =  ↑ ↑ ↑ 	
o { OR, NOT }, { NOR }, { XOR, AND } ...
X
Y Z = X ∙ Y
X
X
Z = X + YY
X
14
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14  Dada una especificación de una conducta combinacional 
implementarla usando puertas.
 Implementaciones a 2 niveles
o Implementación canónica: implementa la SPC con 2 niveles AND‐OR.
o Implementación mínima: implementa una ECmin con 2 niveles AND‐OR.
• La red resultante  tiene un número mínimo de puertas y éstas tienen un número 
mínimo de entradas.
 Implementaciones multinivel
o Tienen un número arbitrario de niveles y se reutilizan cálculos intermedios.
o Para obtenerlas, se parte de un conjunto de SP y se factorizan heurísticamente .
CodificaciónEspecificación de alto nivel Simplificación
Descripción 
binaria Proyección
EC 
simplificada
Red de 
puertas
15
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
comparadorz c
a b a,	b	 	0,	1	 c,	z	 	aM,	IG,	bM
aM si	 a b 	o	 a b	y	c aM
z	 	 IG	 si	 a b 	y	 c ig
bM
si	 a b 	o	 a b	y	c bM
Codificación:	aM 	 100 ,	IG	 	 010 ,	bM 	 001 	
comparadorz c
a b
3 3
16
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z2
z1
c2
a b
c1
z0
c0
Implementación 
a 2 niveles
17
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z2
z0
z1
c2
c1
c0
a
b
	
Implementación 
multinivel
18
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 2 niveles AND‐OR equivalen a 2 niveles NAND‐NAND
 Método:
o Obtener una red AND‐OR.
o Añadir pares de inversores a las salidas de las puertas AND (o a las 
entradas de las puertas OR).
o Uniformizar la notación de las puertas NAND.
o Eliminar dobles inversores donde sea posible.
o Remplazar inversores por su implementación con NAND.
==
19
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z2
z0
z1
c2
c1
c0
a
b
20
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z2
z0
z1
c2
c1
c0
a
b
21
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z2
z0
z1
c2
c1
c0
a
b
22
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Dada una red de puertas obtener una descripción de su 
conducta
 Método:
o Dar nombre a cada una de las interconexiones intermedias.
o En dirección de entradas a salidas, obtener una EC de cada una de 
dichas interconexiones como función de las entradas.
o Simplificar las expresiones obtenidas.
Análisis
Red de 
puertas
Expresión de 
conmutación
23
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z0
z1
x3
x4
x1
x2
T4
T2
T1
T3
T5
T6
T7
T8 T9
	
	
24
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z0
z1
x3
x4
x1
x2
T4
T2
T1
T3
T5
T6
T7
T8 T9
	
25
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 2 niveles NAND‐NAND equivalen a 2 niveles AND‐OR
 Método:
o Cambiar al símbolo alternativo las puertas NAND de los niveles 
pares de la red. 
o Eliminar dobles inversores donde sea posible.
o Analizar la red AND‐OR normalmente.
==
26
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z
x0
x1
x2
x3
x4
x5
x6
x4
27
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z
x0
x1
x2
x3
x4
x5
x6
x4
28
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z
x0
x1
x2
x3
x4
x5
x6
x4
29
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z
x0
x1
x2
x3
x4
x5
x6
x4
30
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Implementación de puertas lógicas
 Un inversor CMOS está formado por un transistor pmos en 
serie con un transistor nmos con sus puertas unidas:
o la entrada del inversor es la puerta común y la salida, el punto de unión de 
los transistores.
o el transistor pmos (pull‐up) tiene un terminal conectado a Vdd y se encarga 
de poner la salida a ‘1’ cuando conduce (cuando la entrada vale ‘0’).
o el transistor nmos (pull‐down) tiene un terminal conectado a Vss y se 
encarga de poner la salida a ‘0’ cuando conduce (cuando la entrada vale ‘1’).
‘0’ ‘1’ ‘1’ ‘0’X Z = X
transistor
pMOS
transistor 
nMOS
alimentación
tierra
31
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Implementación de puertas lógicas
 Puertas más complejas tienen una estructura análoga:
o Dos árboles de transistores duales con entradas comunes y salida común:
o Árbol de pull‐up, formado únicamente por transistores pMOS, que 
conectan condicionalmente (en función de las entradas) la salida a Vdd.
o Árbol de pull‐down, formado únicamente por transistores nMOS, que 
conectan condicionalmente (en función de las entradas) la salida a Vss.
x0 x1
10 xxy 
Puerta NAND CMOS
‘0’ ‘1’
‘1’
‘1’ ‘1’
‘0’
32
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Señalización
 Niveles lógicos:  el comportamiento de un sistema digital 
electrónico se expresa en términos de niveles de tensión 
medidos en voltios.
o Físicamente las puertas se implementan para que solo puedan 
generar 2 niveles de tensión: alta (H) y baja (L)
• Los sistemas lógicos positivos asignan el valor '0' a 'L' y '1' a 'H'
• Los sistemas lógicos negativos asignan el valor '1' a L y '0' a 'H'
o CMOS y TTL son sistemas de lógica positiva.
 Márgenes de ruido: las puertas se diseñan para tolerar 
variaciones en los voltajes de las entradas/salidas.
o El máximo nivel se denomina margen de ruido.
33
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Señalización
rangos de 
voltajes de salida
rango garantizado 
de voltajes nivel‐alto
VOH (min) = 2.7 V
VIH (min) = 2 V
VOL (max) = 0.5 V
VIL (max) = 0.8 V 
Vdd = 5.0 V
Vss = 0.0 V
rango de voltajes
reconocibles como 
nivel‐alto
rango garantizado de 
voltajes nivel‐bajo
rango de voltajes
reconocibles como 
nivel‐bajo
margen nivel‐alto
rangos de 
voltajes de entrada
margen nivel‐bajo
márgenes
de ruido
74LSXX
'1'
'0'
re
gi
ón
in
de
fin
id
a
34
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Conectividad
 Conectividad de salida (fan‐out): indica el número máximo de 
puertas que pueden conectarse a una salida sin degradar los 
niveles de tensión
o cociente entre la intensidad máxima que puede suministrar/absorber 
un puerto de salida y la intensidad máxima que absorbe/suministra 
un puerto de entrada.
• 74LSXX (TTL) = 20
• CMOS teóricamente ilimitado (impedancia de entrada muy alta), pero 
mucha conectividad degrada el retardo de conmutación.
0
IOH IIH
1 1
IOL IIL
0
IOH / IIH = 400 A / 20 A = 20 IOL / IIL = 8 mA / 0,4 mA = 2074LSXX
35
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Retardo
 El retardo de conmutación de una puerta es proporcional a 
su impedancia y a las capacidades parásitas de los elementos 
que estimula (otras puertas e interconexiones).
o Mayor cuanto menos intensidad pueda circular por los transistores.
o Mayor cuanto mayor sea la carga que tiene que circular.
• más elementos conectados, interconexiones más largas, etc..
1  0 0  1
se carga
0  1 1  0
se descarga
36
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Retardo
 En una conmutación, las señales no cambian de voltaje 
instantáneamente.
VX
VZ
retardo de H a L
50%
retardo de L a H
retardo de bajada retardo de subida
X Z
90%
50%
10%
50%
37
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Retardo
 El retardo es distinto según:
o la entrada que provoca la conmutación de la salida.
o la polaridad de la conmutación.
o del valor del resto de entradas.
o factores ambientales.
 El máximo se denomina retardo de propagación y el 
mínimo, retardo de contaminación.
o Periodo de incertidumbre: intervalo comprendido entre ambos
retardo de contaminación
retardo de propagación
periodo de incertidumbre
X Z
X
Z
38
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Retardo
 La salida solo cambia dentro del periodo de incertidumbre 
y puede tomar valores inconsistentes con la FC/EC que 
implementa.
o Fuera de ese periodo las salidas permanecen estables.
x
y
z 1
0
0 1
1
1
1
0
0
1
1
1
1
1
glitches
39
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Consumo
 El consumo de una puerta depende de 
o la cantidad de corriente que por ella circule
o el voltaje de alimentación
 Consumo estático: ocurre con el dispositivo en régimen 
permanente (conectado pero en reposo)
o En tecnología CMOS es muy pequeño
 Consumo dinámico: ocurre con el dispositivo en régimen 
transitorio (realizando cálculos)
o Por conmutación: al cargar y descargar los condensadores de carga.
o Por cortocircuito: a través del camino directo que momentáneamente 
existe entre alimentación y tierra cada vez que el dispositivo conmuta
• los transistores no son conmutadores perfectos.
• las señales no cambian instantáneamente.
40
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Coste
 El coste de un circuito depende del área que ocupe:
o el área de las difusiones de los transistores.
o el área del interconexionado.
z
x VssVdd
Layout de un inversor CMOS
Vista cenital
Sección verticalpolisilicio
óxido fino
silicio cristalizadosilicio dopado 
aluminio
óxido grueso
X Z = X
transistor
pMOS
transistor 
nMOS
X Z
41
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Fabricación
 El proceso de fabricación de un circuito VLSI:
o Parte de un lingote (ingot) de silicio cristalizado.
o Que se corta en discos (wafer) que se pulen.
o Sobre el que se depositan distintos materiales 
mediante una serie de procesos fotolitográficos:
• Difunden materiales sobre la oblea.
• Protegen secciones de material usando máscaras trazadas por el diseñador.
• Eliminan, dopan o metalizan las secciones no protegidas.
silicio cristalizado
Óxido grueso
polímero  fotosensible
O2
Oxide GrowthWafer (tipo p)  Photoresist Coating
42
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Fabricación
Luz ultravioleta Ácido
Chemical EtchingPhotolitography (mask #1)
solubleinsoluble
Soluble Photoresist Removing
Si / H2O2
Chemical Vapor Deposition
óxido fino polisicilicio
(SiH4)
Acetona
Photoresist Removing Oxide Growth
43
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Fabricación
Photoresist Coating Photolitography (mask #2)
Ácido
Soluble Photoresist Removing
Plasma Etching Photoresist Removing Photoresist Coating
Acetona
44
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Fabricación
Photolitography (mask #3)
Ácido
Soluble Photoresist Removing Chemical Etching
Iones n+
n+ n+
Ion Implantation (mask #4) 
Acetona
Photoresist Removing Chemical Etching
45
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Fabricación
O2
Oxide Growth Photolitography (mask #5)Photoresist Coating
Acetona
Photoresist Removing
Ácido
Soluble Photoresist Removing Chemical Etching
46
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Fabricación
Al
Metal Vapor Deposition Photoresist Coating Photolitography (mask #6)
Ácido
Soluble Photoresist Removing Chemical Etching
Acetona
Photoresist Removing
47
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Fabricación
 El fabricante extrae las máscaras a usar durante el proceso 
de fabricación a partir del layout trazado por el diseñador.
Mask #1, #3, #4
Layout de un inversor CMOS
transistor n‐mos
Mask #5 Mask #6
Mask #2
48
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Fabricación
 El trazado del layout (forma y ubicación de cada capa de 
material) es un proceso muy complejo que puede hacerse:
o Desde  cero: diseño full‐custom
o Ubicando y/o interconectando celdas prediseñadas a nivel físico o 
incluso ya prefabricadas: diseño semi‐custom
 Existen distintas tecnologías semi‐custom
• Standard cells, Gate arrays, Sea of gates, FPGA, etc.
 Pero una muy popular es la basada en standard cells:
o El fabricante facilita bibliotecas de celdas prediseñadas a nivel físico.
• Cada celda realiza una función lógica simple. 
• Geométricamente es un rectángulo de altura fija y anchura variable (+ancha 
cuanto +compleja es su función lógica).
o El diseñador implementa circuitos usando solo celdas de la biblioteca.
o El layout se traza ubicando las celdas en filas e interconectándolas.
49
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Fabricación
 La geometría de un layout se define en términos de un 
único parámetro λ
 Su valor absoluto disminuye en cada generación tecnológica:
o 2004: 90nm , 2006: 65nm, 2008: 45nm, 2010: 32nm, 2012: 22nm
 Conforme λ disminuye, la densidad de integración aumenta.
o Evolución de las NAND Flash (Samsung):  
• 2 Gb (90nm), 8 Gb (65nm), 16 Gb (50nm), 32Gb (32nm), 64 Gb (22nm)
o Representa la dimensión más pequeña definible 
en un proceso tecnológico, típicamente es la 
mitad de la longitud mínima de canal.
o Todas las dimensiones se expresan como 
múltiplos enteros de λ, permitiendo el escalado 
proporcional de todo el circuito. 2λ
50
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Puerta # transistores Área 
(m2)
Retardo 
(ps)
Consumo
estático
(nW)
Consumo
dinámico
(nW/MHz)
2 6.4512 100 52 618
6 7.3728  180 56 6545 
6 7.3728  171 58 6859 
4 5.5296 132 78 5208
4 6.4512  132  49 6190 
14 13.8240  237  89  8702 
12 13.8240  136  82 16372
Biblioteca de celdas: CMOS 90 nm
fu
en
te
: S
yn
op
sy
s 
(S
A
E
D
 E
D
K
 9
0 
nm
)
Vdd = 1.2V, T=25ºC, CL = 13 fF
51
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Biblioteca de celdas: CMOS 90 nm
Puerta # transistores Área 
(m2)
Retardo 
(ps)
C. estático
(nW)
C. dinámico
(nW/MHz)
8 8.2944  206 59 8222 
10 10.1376  214 63 8557
8 9.2160 184  62  7396 
10 10.1376  199  64  7698 
6 11.9808  192 102  12200 
8 12.9024  178 161 15214 
6 11.9808  153 104  16521 
8 15.6672  126  119  14991
fu
en
te
: S
yn
op
sy
s 
(S
A
E
D
 E
D
K
 9
0 
nm
)
52
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Biblioteca de celdas: CMOS 90 nm
Puerta # transistores Área 
(m2)
Retardo 
(ps)
Consumo
estático
(nW)
Consumo
dinámico
(nW/MHz)
6 11.9808  181 86 13912 
8 12.9024  204 89  13290 
12 15.6672  221  109 13982 
10 11.9808  238  63 10662 
8 12.9024  174 98 10666 
fu
en
te
: S
yn
op
sy
s 
(S
A
E
D
 E
D
K
 9
0 
nm
)
53
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Biblioteca de celdas: CMOS 90 nm
2,88 m
2,24 m
8 m
CMOS 90nm
(2002)
CMOS 32nm
(2010)
 Área de un inversor: 6.4512 m2 (CMOS 90 nm), 1.27072 m2 (CMOS 32 nm)
o Área de un glóbulo rojo ( 8m): 50.26 m2
 Anchura de una interconexión: 140 nm
o Longitud de un cromosoma X: 7000 nm, diámetro de un virus de gripe: 130 nm
 Retardo medio de un inversor: 100 ps (CMOS 90 nm), 38 ps (CMOS 32 nm)
o La luz en 100 ps recorre 3 cm
 Consumo de un inversor: 670 nW (CMOS 90 nm, conmutando a 1 MHz)
o Una pila alcalina AA (2890 mAh) alimentando al inversor duraría 740 años
fu
en
te
: L
ea
rn
.G
en
et
ic
s
(U
TA
H
 U
ni
v.
)
virus de gripe
vs. interconexión
54
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Evolución tecnológica
fu
en
te
s:
 N
V
D
IA
, I
N
TE
L
24 mm
24
 m
m
Intel 4004 (1971)
2.300 transistores
(full custom, MOSFET 10 m)
1.400.000.000 transistores
(standard cells, CMOS 65 nm) 
NVIDIA GT200 GPU (2008)
55
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Entrada/salida elemental
 Un LED (Light‐Emitting Diode) es el dispositivo más simple 
por el que un sistema digital puede mostrar su estado.
o Típicamente se ilumina cuando entre cátodo (‐) y ánodo (+) hay 
una diferencia de potencial superior a 1.7 V.
o La máxima luminosidad se consigue cuando por él circula una 
intensidad de entre 10 y 20 mA.
o Se conecta a un puerto de salida de un circuito a través de una 
resistencia limitadora.
R
x
R (TTL) = (5V ‐ 1.7V) / 10 mA = 330 
lógica inversa 
(se ilumina con X=0)
+‐
56
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Entrada/salida elemental
 Un display 7‐segmentos es un banco de 7/8/9 leds que 
comparten uno de los terminales.
o Cada led debe disponer de su propia resistencia limitadora.
 Existen un gran número de displays basados en leds
8x
ánodo común, lógica inversa 
R
57
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Entrada/salida elemental
 Un switch/pulsador es el dispositivo más simple por el que 
introducir datos a un sistema digital.
o Se conecta a un puerto de entrada de un circuito a través de una 
resistencia de pull‐up (o pull‐down)
• Asegura un nivel lógico por defecto cuando no hay pulsación.
• Evita el cortocircuito se crearía en su ausencia cuando hay pulsación.
• Debe ser alta para limitar la corriente que circula por el pulsador (y así reducir 
el consumo) cuando este se cierra. lógica inversa
(al pulsar, X=0)
R
x
R ≥ 10 K
I (TTL) = 5 V / 10 K = 0.5 mA
58
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Entrada/salida elemental
 No obstante, cuando un sistema digital lee el estado de un 
interruptor encuentra los siguientes problemas:
o Cada cambio de estado del interruptor, genera un vaivén transitorio 
en la señal de entrada (rebote).
• Una pulsación puede interpretarse erróneamente como una serie de ellas
o Los cambios de estado del interruptor son asíncronos.
 Por ello, los sistemas digitales incorporan mecanismos de 
sincronización y filtrado de rebotes en sus entradas externas.
10‐100 ms
~ µs 
100 ms (min)
rebote de depresiónrebote de presión
x
10‐100 ms
59
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 El diseño digital es un proceso de ingeniería:
o Debe elegirse el mejor circuito posible que realice una función.
o Pero ... ¿cuál es el mejor cuando infinidad hacen lo mismo?
 Las métricas de calidad permiten tomar la decisión:
o Coste, velocidad, consumo, robustez, reusabilidad, time‐to‐market...
o Dado que la mejora en una métrica afecta al resto, hay que llegar a 
un compromiso (trade‐off).
• por ejemplo, típicamente una mejora en velocidad implica un aumento del coste
o La importancia relativa de las mismas varía en cada producto.
• por ejemplo, una misma funcionalidad se implementará de forma distinta si se 
integra en una lavadora o si lo hace en un satélite
 El conjunto de implementaciones posibles de una misma 
especificación se denomina espacio de diseño
o el diseño digital es un problema de optimización multi‐objetivo
60
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 1: coste (CMOS 90 nm) 
z2
z1
c2
a b
c1
z0
c0
2 2
8
8
6
8
8
8
8
6
8
8
6
núm. transistores:
2×2 + 6×8 + 2×6 + 2×8 + 1×6 = 86
área: 
2×6.4512 + 6×8.2944 + 2×7.3728 + 
+ 2×9.21.60 + 1×7.3728 = 103.2 m2
61
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 1: retardo (CMOS 90 nm) 
z2
z1
c2
a b
c1
z0
c0
100 100
206
206
180
184
206
206
206
180
206
184
171
td = 100+206+184 = 490 ps
tc = 180 + 184 = 364 ps
td = 100+206+171 = 477 ps
tc = 206+171 = 377 ps
td = 100+206+184 = 490 ps
tc = 180 + 184 = 364 ps
62
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 2: coste (CMOS 90 nm)
c2
a b
c1
c0
6
6
4
8
6
6
6
4
6
6
6
4
86
núm. transistores:
5×4 + 8×6 = 68
área: 
5×5.5296 + 8×11.9808 = 123.3 m2
4 4
z2
z1
z0
63
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 2: retardo (CMOS 90 nm)
c2
a b
c1
c0
192
192
132
8
192
192
192
132
192
6
192
132
8192
132 132
td = 132+192+192 = 516 ps
tc = 132+192 = 324 ps
td = 132+192+132= 456 ps
tc = 192+132 = 324 ps
td = 132+192+192 = 516 ps
tc = 132+192 = 324 ps
z2
z1
z0
64
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 3: coste (CMOS 90 nm)
z2
z0
z1
c2
c1
c0
a
b 2
2
6
6
6
6
6
6
6
6
6
6
núm. transistores: 7×6 + 3×6 + 2×2 = 64
área: 7×7.3728 + 3×7.3728 + 2×6.4512 = 86.63 m2
65
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 3: retardo (CMOS 90 nm)
z2
z0
z1
c2
c1
c0
a
b 100
100
180
180
171
180
180
171
180
180
171
180
z2: td = 100+180+171+180+171 = 802 ps tc = 180 + 171 = 315 ps
z1: td = 100+180+171+180 = 631 ps tc = 180 ps
z0: td = 100+180+171+180+171 = 802 ps tc = 180 + 171 = 315 ps
66
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 3: retardo (CMOS 90 nm)
z2
z0
z1
c2
c1
c0
a
b
z2: td = 100+180+171+180+171 = 802 ps tc = 180 + 171 = 315 ps
z1: td = 100+180+171+180 = 631 ps tc = 180 ps
z0: td = 100+180+171+180+171 = 802 ps tc = 180 + 171 = 315 ps
100
100
180
180
171
180
180
171
180
180
171
180
67
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
z2
z0
z1
c2
c1
c0
a
b 2
2
6
6
6
6
6
6
6
12
diseño 4: coste (CMOS 90 nm)
núm. transistores:
1×12 + 5×6 + 2×6 + 2×2 = 58
área: 1×13.824 + 5×7.3728 + 2×7.3728 + 2×6.4512 = 78.35 m2
68
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 4: retardo (CMOS 90 nm)
z2
z0
z1
c2
c1
c0
a
b
z2: td = 100+180+171 = 451ps tc = 180 + 171 = 315 ps
z1: td = 132+180 = 312 ps tc = 180 ps
z0: td = 100+180+171 = 451ps tc = 180 + 171 = 315 ps
100
100
180
180
171
180
180
171
180
132
69
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 5: coste (CMOS 90 nm)
z2
z0
z1
c2
c1
c0
a
b
4
4
4
4
4
4
4
4
4
4
4
4 4
núm. transistores: 13×4 = 52
área: 13×5.5296 = 71.88 m2
70
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 5: retardo (CMOS 90 nm)
z2
z0
z1
c2
c1
c0
a
b
132
132
132
132
132
132
132
132
132
132
132
132 132
z2: td = 5×132 = 660 ps tc = 2×132 = 264 ps
z1: td = 5×132 = 660 ps tc = 2×132 = 264 ps
z0: td = 5×132 = 660 ps tc = 2×132 = 264 ps
71
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 6: coste (CMOS 90 nm)
z2
z0
z1
c2
c1
c0
a
b 2
2
6
10
10
10
núm. transistores: 3×10 + 6 + 2×2 = 40
área: 3×11.9808 + 7.3728 + 2×6.4512 = 56.22 m2
72
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
diseño 6: retardo (CMOS 90 nm)
z2
z0
z1
c2
c1
c0
a
b
180
238
238
238
100
100
z2: td = 100+238+238 = 576 ps tc = 238 ps
z1: td = 100+238+180 = 518 ps tc = 180 ps
z0: td = 100+238+238 = 576 ps tc = 238 ps
73
FC
te
m
a 
3:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Espacio de diseño (CMOS 90 nm)
100 200 300 400 500 600 700 800
10
0
50
15
0
retardo (ps)
ár
ea
 (
m
2 )
1
2
3
4 5
6
implementaciones
subóptimas
óptimos de Pareto
para cualquier métrica 
hay algún circuito mejor 
son los mejores según alguna métrica 
(según las restantes pueden ser peores)
Temas/FCpensar1.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Cuestiones para pensar de Fundamentos de Computadores Tema 1 / pág. 1 
 
CUESTIONES PARA PENSAR DE FUNDAMENTOS DE COMPUTADORES 
 TEMA 1 
1. La notación posicional no se limita a representar cantidades enteras sino que puede 
extenderse fácilmente para representar números racionales. La notación posicional que 
permite incluir un punto decimal en una cadena de dígitos (para distinguir la parte entera 
de la parte fraccionaria) se denomina notación de punto fijo. Investiga: 
a. La expresión matemática que permite calcular el valor de un número 
representado en punto fijo (Pista: los dígitos a la derecha del punto tienen pesos 
que son potencias negativas de la base). 
b. El procedimiento para sumar 2 números que tienen el punto en distintas 
posiciones de la cadena de dígitos (Pista: tal como lo haces en decimal). 
c. ¿Seguirían siendo válidas las notaciones de MyS y C2 en el caso de que 
incluyeran un punto decimal? 
2. Encuentra una expresión polinomial que permita calcular el valor de un número 
representado en C2 (Pista: el peso del bit de signo es negativo). 
3. La suma binaria (y en general la aritmética binaria) no es directamente aplicable cuando 
se opera con números codificados en decimal, por ejemplo: 
(12+18)10 = (30)10 
(00010010 + 00011000)BCD = (00110000)BCD 
Sin embargo: (00010010 + 00011000)2 = (00101010)2 
a. Investiga el algoritmo para sumar 2 cantidades codificadas en BCD (Pista: las 
cadenas de bits deben sumarse en binario en bloques de 4 bits y el resultado de 
la suma de cada bloque corregirse cuando no representa a un dígito decimal 
válido). 
b. Ídem para sumar 2 cantidades codificadas en decimal Ex3. 
4. Las representaciones redundantes tienen por objetivo la detección y/o recuperación de la 
información codificada frente a errores de almacenamiento o transmisión. El código 
detector de errores más simple es el que añade a cada dato un bit adicional de paridad. 
Investiga en qué consiste. ¿Cómo generalizarías la idea para que además se pudieran 
corregir los errores simples (en donde solo un bit cambia)? (Pista: tras cada cierto 
número de datos se añade una palabra de paridad) 
5. Una de las codificaciones más comunes del color de un pixel en un sistema digital es la 
RGB. Investiga en qué consiste. ¿Cómo convertirías una imagen cuyos píxeles están 
codificados en escala de grises a RGB? 
6. Las codificaciones convencionales suelen ser de longitud fija, es decir, todo dato se 
representa con el mismo número de bits. Sin embargo, cuando han de 
transmitirse/almacenarse un gran volumen de datos y estos no son equiprobables estas 
codificaciones dan lugar a un gran desperdicio de ancho de banda/espacio. La 
codificación de Huffman, es una representación de longitud variable que cuanto más 
frecuente es un dato, lo codifica con un código más corto. Investiga cómo funciona. 
Temas/FCtemario.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Temario de Fundamentos de Computadores 1er. cuatrimestre / pág. 1 
 
FUNDAMENTOS DE COMPUTADORES 
TEMARIO – 1ER. CUATRIMESTRE 
 
1 Representación digital de la información (4 clases) 
 Introducción de conceptos. 
 Sistemas de numeración: binario, octal y hexadecimal. 
 Aritmética binaria. 
 Conversión entre bases. 
 Representación de números enteros: Magnitud y signo, complemento a 1, 
complemento a 2. 
 Aritmética entera: Magnitud y signo, complemento a 2. 
 Otras codificaciones. 
2 Especificación de sistemas combinacionales (4 clases) 
 Especificación de alto nivel, especificación binaria. 
 Codificación. 
 Funciones de conmutación. Tablas de verdad. 
 Expresiones de conmutación. 
 Algebra de Boole. Transformaciones algebraicas. 
 Forma canónica. Suma de productos. 
 Mapas de Karnaugh. Simplificación. 
3 Implementación de sistemas combinacionales (4 clases + 1 lab) 
 Puertas lógicas. 
 Conjuntos universales de puertas. 
 Síntesis con puertas AND-OR-NOT. 
 Síntesis con puertas NAND. 
 Análisis de redes de puertas. 
 Aspectos tecnológicos (no entra en examen). 
 Espacio de diseño y trade-offs (no entra en examen). 
4 Módulos combinacionales básicos (4 clases + 1 lab) 
 Descodificador. 
 Multiplexor. 
 Bus. 
 Codificador. 
 ROM (Read Only Memory). 
 Sumador/restador. Comparador. 
 ALU (Arithmetic Logic Unit). 
 Temario detallado de Fundamentos de Computadores 1er. cuatrimestre / pág. 2 
 
5 Especificación de sistemas secuenciales síncronos (2 clases) 
 Especificación basada en estados. 
 Diagramas de estados. 
 Máquinas de Mealy y Moore. 
6 Implementación de sistemas secuenciales síncronos (4 clases + 1 lab) 
 Biestable RS. 
 Biestable D. 
 Síntesis con biestables D. 
 Inicialización de sistemas secuenciales. 
 Aspectos tecnológicos (no entra en examen). 
7 Módulos secuenciales básicos (4 clases + 2 labs) 
 Registro. 
 Registro de desplazamiento. 
 Contadores. 
 Banco de registros. 
 RAM (Ramdom-Access Memory) 
 Rutas de datos y controladores. 
Temas/FCtema5-imprimible.pdf
José Manuel Mendías Cuadros
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Tema 5:
Especificación de sistemas 
secuenciales síncronos
Fundamentos de computadores
2
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Especificación basada en estados.
 Diagramas de estados.
Máquinas de Moore y Mealy.
Transparencias basadas en los libros:
• R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores.
• D. Gajsky. Principios de diseño digital.
3
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 La salida en cada instante depende del valor de la 
entrada en ese instante y de todos los valores que la 
entrada ha tomado con anterioridad.
o En ocasiones, a misma entrada, distinta salida.
 Para especificar su comportamiento deberán definirse:
o Los conjuntos discretos de valores de entrada/salida: E, S  
o ¿Cómo especificar la función F?
z(ti) = F( x( [0, ti] ) ), con x(ti)E, z(ti)S
Fx(t) z(t)
4
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Estado: clase de equivalencia formada por todas las 
secuencias de valores de entrada que producen una 
misma salida actual y futura.
x(t)  E = { A, B, C }, z(t)  S = { 0, 1 }
x(t) A B C B B A C B A A C C A B B
z(t) 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0
Fx(t) z(t)
tiempo
5
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
A
B
C
z(t+t)x(t+t)
1
0
0
z(t)
0
0
0
B B A B
C C C B A
A B A A B C
x( [0...t] )
A A C B
A B A A A
A C A
x( [0...t] ) z(t)
1
1
1
A
B
C
z(t+t)x(t+t)
0
1
1
Estado IMPAR: 
Han llegado un 
número impar de Aes
Estado PAR: 
Han llegado un 
número par de Aes
6
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Especificación del dominio: E
o Conjunto discreto de valores que puede tomar la entrada.
 Especificación del codominio: S
o Conjunto discreto de valores que puede tomar la salida.
 Especificación del conjunto de estados: Q
o Conjunto discreto de estados en los que puede estar el sistema.
 Función de transición de estados:  G: Q×E  Q
o Define cuál será el estado siguiente del sistema para cada posible par 
(estado del sistema, valor de la entrada). 
 Función de salida: H: Q×E  S
o Define cuál será la salida para cada posible par (estado del sistema, 
valor de la entrada)
7
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
x(t)  E = { A, B, C }, z(t)  S = { 0, 1 }
q(t)  Q = { par, impar }
Fx(t) z(t)
q x q'
par A impar
par B par
par C par
impar A par
impar B impar
impar C impar
q x z
par A 0
par B 1
par C 1
impar A 1
impar B 0
impar C 0
Función de transición
de estados Función de salida
8
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
C/1
par
B/1
impar
A/0
A/1
C/0
B/0
q x q' z
par A impar 0
par B par 1
par C par 1
impar A par 1
impar B impar 0
impar C impar 0
 Representa un de sistema secuencial mediante un grafo:
o Cada estado se representa por un nodo.
o Cada transición de estado por un arco dirigido y etiquetado:
• Cada arco une un estado origen con estado destino.
• La etiqueta indica el valor de entrada que provoca la transición y el 
valor de la salida para el par (estado origen, entrada).
• Esto NO quiere decir que la salida se calcule durante la transición.
9
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 La entrada es un vector de n bits
o x  { 0, 1 }n es decir, x = (xn‐1... x0) con xi  {0, 1}
 La salida es un vector de m bits
o z  { 0, 1 }m es decir, z = (zm‐1... z0) con zi  {0, 1}
 El estado es un vector de p bits
o q  { 0, 1 }p es decir, q = (qp‐1... q0) con qi  {0, 1}
 Función de transición de estados:
o p funciones de conmutación de p+n variables 
o G = { gi : { 0, 1 }p+n { 0, 1 } / qi = gi(q, x), con 0 ≤ i  ≤ p‐1 }
 Función de salida:
o m funciones de conmutación de p+n variables 
o H = { hi : { 0, 1 }p+n { 0, 1 } / zi = hi(q, x), con 0 ≤ i  ≤ m‐1 }
10
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Codificación domino:  { A (00), B  (01), C  (10) }
 Codificación codomino:  { 0 0, 1  1 }
 Codificación estados:  { par 0, impar  1 }
q x1 x0 q'
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 ‐
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 ‐
q x1 x0 z
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 ‐
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 ‐
Función de transición
de estados Función de salida
11
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Sistema secuencial asíncrono: 
o El estado del sistema puede cambiar en cualquier instante en 
respuesta a un cambio de la entrada.
 Sistema secuencial síncrono: 
o El estado del sistema solo puede cambiar en un conjunto discreto 
de instantes indicados por una señal de reloj.
o Un cambio en la entrada no provoca por sí mismo un cambio de 
estado.
o Sólo el valor existente en la entrada en los instantes marcados por 
el reloj afectan al estado.
clk
La señal de reloj es cuadrada y periódica de frecuencia, fclk, fija.
Los cambios de 1 a 0 (flanco subida) ó 0 a 1 (flanco de bajada) marcan los instantes.  
12
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
G H
lógica combinacional de 
generación del estado siguiente
x(t)
z(t)
q'(t)
lógica combinacional 
de generación de salidas registro de estado
q(t)
n
mp p
Estructura de una Máquina de Moore
La salida en todo instante depende exclusivamente del estado 
en que se encuentra el sistema.
clk
13
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
G H
lógica combinacional de 
generación del estado siguiente
x(t)
z(t)
q'(t)
registro de estado
q(t)
n
mp p
Estructura de una Máquina de Mealy
La salida en cada instante depende del estado en que se encuentra el 
sistema y del valor de la entrada en ese instante.
clklógica combinacional 
de generación de salidas
14
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Mealy:
 Moore:
q x q'
par A impar
par B par
par C par
impar A par
impar B impar
impar C impar
q z
par 1
impar 0
C
par
1
B
impar
0
A
A
C
B
q x q'
par A impar
par B par
par C par
impar A par
impar B impar
impar C impar
C/1
par
B/1
impar
A/0
A/1
C/0
B/0
q x z
par A 0
par B 1
par C 1
impar A 1
impar B 0
impar C 0
15
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
A B A C A
impar par impar par impar par
parimparpar impar imparpar par par imparimpar
clk
x(t)
q'(t)
q(t)
z(t)
q x q'
par A impar
par B par
par C par
impar A par
impar B impar
impar C impar
q z
par 1
impar 0G Hx(t) z(t)q'(t) q(t)
16
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
A B A C A
impar par impar par impar par
parimparpar impar imparpar par par imparimpar
clk
x(t)
q'(t)
q(t)
z(t)
C
par
1
B
impar
0
A
A
C
B
17
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
A B A C A
impar par impar par impar par
parimparpar impar imparpar par par imparimpar
G Hx(t) z(t)q'(t) q(t)
q x q' z
par A impar 0
par B par 1
par C par 1
impar A par 1
impar B impar 0
impar C impar 0
clk
x(t)
q'(t)
q(t)
z(t)
18
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
A B A C A
impar par impar par impar par
parimparpar impar imparpar par par imparimpar
clk
x(t)
q'(t)
q(t)
z(t)
C/1
par
B/1
impar
A/0
A/1
C/0
B/0
19
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Las salidas de las máquinas Moore y Mealy son notablemente diferentes.
o Pero como, típicamente, son leídas por otro sistema sincronizado con el 
mismo reloj, solo son relevantes los valores existentes en los flancos de reloj.
 Por ello, a efectos prácticos, la salida de la máquina de Moore equivale a  
la de Mealy pero con un ciclo de retraso.
A B A C A
impar par impar par impar par
clk
x(t)
q(t)
z(t)
Mealy
z(t)
Moore
1 0 1 1 1 1 0 1
A A A B C C A A
0 1 0 1 1 1 1 0
20
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Estado S0: no ha llegado ningún elemento del patrón
 Estado S1: ha llegado el subpatrón "a"
 Estado S2: ha llegado el subpatrón "ab"
a/NO
b/NO
S1S0
Máquina de Mealy
a/NO
S2
b/NO
b/SI
a/NO
z(t) =
SI si x(t‐2)=a y x(t‐1)=b y x(t)=b
NO en caso contrario
Estado
inicial
21
FC
te
m
a 
5:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Estado S0: no ha llegado ningún elemento del patrón
 Estado S1: ha llegado el subpatrón "a"
 Estado S2: ha llegado el subpatrón "ab"
 Estado S3: ha llegado el patrón "abb"
Máquina de Moorez(t) =
SI si x(t‐3)=a y x(t‐2)=b y x(t‐1)=b
NO en caso contrario
a
b
S0
a
bEstado
inicial
b b
a
a
NO
S1
NO
S2
NO
S3
SI
Temas/FCpensar2.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Temas para pensar de Fundamentos de Computadores Tema 2 / pág. 1 
 
TEMAS PARA PENSAR DE FUNDAMENTOS DE COMPUTADORES 
 TEMA 2 
1. La especificación de una FC mediante una suma de mintérminos tiene una formulación 
dual en forma de producto de maxtérminos. Mientras que un mintérmino de n variables 
es un término producto de n literales en donde cada variable aparece una única vez y 
representa a una FC que vale 0 en todos los puntos de su dominio menos en uno, un 
máxtermino de n variables es un término suma de n literales en donde cada variable 
aparece una única vez y representa una FC que vale 1 en todos los puntos de su dominio 
menos en uno. Así, si una FC genérica puede expresarse como la suma de un conjunto de 
mintérminos (que determinan los 1s de la FC), esa misma función también puede 
expresarse como el producto de un conjunto de maxtérminos (que determinan los 0s de la 
función). Investiga: 
a. Cuál es el valor de un maxtérmino Mi para una asignación de variables dada. 
b. Cómo obtener la EC que representa un maxtérmino de n variables Mi. 
c. Cómo obtener el producto de sumas canónico (PSC) equivalente a una SPC dada. 
2. El método de simplificación usando mapas de Karnaugh permite tanto obtener EC 
simplificadas en forma de suma de términos producto, como EC simplificadas en forma 
de producto de términos suma (un término suma es una EC compuesta únicamente por 
una suma de literales). Mientras que para obtener los términos producto que sumados 
forman la EC simplificada agrupamos los 1s, para obtener los términos suma que 
multiplicados forman la EC dual agrupamos los 0s. Investiga cómo obtener la EC de los 
términos suma que forman una cobertura de un MK. 
3. Los mapas de Karnaugh solo son un medio eficaz para simplificar FC de conmutación de 
pocas variables, ya que cuando el número de variables crece la representación gráfica 
deja de ser manejable. Un método alternativo es el conocido como Quine-McCluskey 
que reproduce tabularmente y de manera más sistemática un método análogo al que se 
sigue informalmente al simplificar por MK. Investiga cómo funciona. 
4. Los métodos de simplificación exactos (encuentran siempre EC mínimas) tipo Quine-
McCluskey adolecen de tener una complejidad exponencial (el tiempo requerido para 
encontrar la EC mínima crece exponencialmente conforme aumenta el número de 
variables de la FC a simplificar), por ello, si el número de variables es demasiado 
elevado es necesario utilizar métodos de simplificación heurísticos (encuentran EC 
“razonablemente” simplificadas pero no mínimas) de menor complejidad. Uno de los 
primeros y más conocidos métodos heurísticos de simplificación es el algoritmo 
Espresso. Investiga cómo funciona. 
Temas/FCtema6-imprimible.pdf
José Manuel Mendías Cuadros
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Tema 6:
Implementación de sistemas 
secuenciales síncronos
Fundamentos de computadores
2
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Biestable SR. 
 Biestable D.
 Síntesis con biestables D.
 Inicialización de sistemas secuenciales.
 Aspectos tecnológicos.
Transparencias basadas en los libros: 
• R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores.
• D. Gajsky. Principios de diseño digital.
3
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Dispositivo capaz de almacenar  físicamente un bit de 
información (tener 2 estados estables).
o mediante un circuito combinacional realimentado 
R
S
Q
Q
Biestable SR asíncrono
R(t) S(t) Q(t+t)
0 0 Q(t)
0 1 1
1 0 0
1 1 prohibido
R
S
Q
Q
4
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
R(t)
S(t)
Q(t)
Q(t)
R(t) S(t) Q(t+∆t)
0 0 Q(t)
0 1 1
1 0 0
1 1 prohibido
R
S
Q
Q
132 ps
264 ps
264 ps
132 ps
132
132
5
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
R
S
Q
Q
Biestable SR asíncrono
(implementación con NOR)
R
S
Q
Q
Biestable SR asíncrono
(implementación con NAND)
R
S Q
R
S Q
Q
Q
R(t) S(t) Q(t+t)
0 0 Q(t)
0 1 1
1 0 0
1 1 prohibido
R(t) S(t) Q(t+t)
0 0 prohibido
0 1 0
1 0 1
1 1 Q(t)
R
S Q
Q
6
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
G(t) R(t) S(t) Q(t+t)
0 X X Q(t)
1 0 0 Q(t)
1 0 1 1
1 1 0 0
1 1 1 prohibido
R
S
Q
Q
G
Biestable SR síncrono disparado por nivel
(Latch SR)
R
S
Q
QG
Rb
Sb
Q
Q
G R Rb
0 0 0
0 1 0
1 0 0
1 1 1
G S Sb
0 0 0
0 1 0
1 0 0
1 1 1
Rb = G·R Sb = G·S
R
S
G
Rb/Sb =
0 si G=0
R/S si G=1
7
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
R
S
Q
Q
G
Biestable SR síncrono disparado por nivel
(Latch SR)
R
S
Q
Q
G
G(t) R(t) S(t) Q(t+t)
0 X X Q(t)
1 0 0 Q(t)
1 0 1 1
1 1 0 0
1 1 1 prohibido
R
S
Q
QG
8
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
R(t) S(t) G(t) Q(t+t)
X X 0 Q(t)
0 0 1 Q(t)
0 1 1 1
1 0 1 0
1 1 1 prohibido
R
S
Q
Q
G
G(t)
S(t)
R(t)
Q(t)
444 ps
312 ps
444 ps
312 ps
180
132
132
180
9
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
R
S
Q
Q
D
D R
0 1
1 0
R = D S = D
D
Q
QG
G(t) D(t) Q(t+t)
0 X Q(t)
1 0 0
1 1 1
Q
Q
Biestable D síncrono disparado por nivel
(Latch D)
D
G
D S
0 0
1 1G
10
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
G(t)
D(t)
Q(t)
Q
Q
D
G
444 ps
312 ps
444 ps
412 ps
G(t) D(t) Q(t+t)
0 X Q(t)
1 0 0
1 1 1
180
132
100
180
132
11
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
D
Q
Q
D(t) CLK Q(t+1)
0  0
1  1
resto Q(t)
Biestable D síncrono disparado por flanco de subida
(Flip‐flop D, implementación con NAND)
Q
Q
S
R
CLK
D
Latch de salida
Latch de puesta a 1
Latch de puesta a 0
Q
Q
S
R
Q
Q
Q
QR
S
12
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
CLK(t)
D(t)
Q(t)
264ps
396 ps
264 ps
Q
Q
D
0→1
1→0 0→1
1→01
CLK
1
0
1
Q
D
0→1
1 1→0
0→11→0
CLK
0
1
0
132
132
132
132
132 Q
13
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
D
Q
Q
D(t) CLK Q(t+1)
0  0
1  1
resto Q
Q
Q
CLK
D
Biestable D síncrono disparado por flanco de bajada
(Flip‐flop D, implementación con NOR)
14
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Dada una especificación de una conducta secuencial 
implementarla como una red de módulos combinacionales y 
biestables D, en donde:
o Todos los biestables se conectan a una señal de reloj periódica.
o Todos los biestables se disparan por flancos de la misma polaridad.
o Toda realimentación incluye al menos un biestable.
 Implementación canónica: realización directa de un diagrama 
de estados:
o El registro de estado se implementa como un array de biestables D 
disparados por flanco (todos de la misma polaridad) con reloj común.
o 2 bloques de lógica combinacional implementan las funciones de salida 
y de transición de estados.
15
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Este método de síntesis sigue un modelo de temporización 
síncrona por flanco de reloj global, en donde:
o Los cálculos que realiza el sistema se realizan ciclo a ciclo.
o Las fronteras del ciclo están marcadas por las transiciones de igual 
polaridad en el reloj común.
o Al comienzo del ciclo, el sistema hace un cambio de estado mediante 
la actualización simultánea de todos los biestables.
o El nuevo estado provoca transiciones en las entradas de los módulos 
combinacionales que a su vez provocarán transiciones en sus salidas.
o El cálculo a realizar en el ciclo finaliza cuando todos los sistemas 
combinacionales han alcanzado su régimen permanente.
o Los valores permanentes a la salida de los módulos combinacionales
son utilizados para actualizar los biestables al comienzo del ciclo 
siguiente.
16
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
a
b
S0
a
bEstado
inicial
b b
a
a
NO
S1
NO
S2
NO
S3
SI
reconocedor del 
patrón "abb"x z
 Codificación domino:  { a 0, b  1 }
 Codificación codominio:  { NO 0, SI  1 }
 Codificación estados:  { S0  (00), S1  (01), S2  (10), S3  (11)  }
x q1 q0 q1' q0'
0 0 0 0 1
0 0 1 0 1
0 1 0 0 1
0 1 1 0 1
1 0 0 0 0
1 0 1 1 0
1 1 0 1 1
1 1 1 0 0
q1 q0 z
0 0 0
0 1 0
1 0 0
1 1 1
Fu
nc
ió
n 
de
 tr
an
si
ci
ón
de
 e
st
ad
os
Fu
nc
ió
n 
de
 s
al
id
a
Máquina de Moore
′ ̅
′ ⊕
17
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
D
Q
Q
D
Q
Q
CLK
x
z
′
′
Función de
salida
Función de transición de estados
′ ̅
′ ⊕
18
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 Codificaciones distintas dan lugar a implementaciones 
diferentes de la misma máquina de estados.
o Por ello es interesante elegir aquella codificación que reduzca al 
máximo el coste/retardo de los circuitos de transición y salida.
x q1 q0 q1' q0'
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 0 0
1 0 0 1 0
1 0 1 0 1
1 1 0 1 1
1 1 1 0 1
q1 q0 z
0 0 0
0 1 0
1 0 0
1 1 1
Fu
nc
ió
n 
de
 tr
an
si
ci
ón
de
 e
st
ad
os
Fu
nc
ió
n 
de
 s
al
id
a
′
′
 Codificación domino:  { a 0, b  1 }
 Codificación codominio:  { NO 0, SI  1 }
 Codificación estados:  { S0  (01), S1  (00), S2  (10), S3  (11)  }
requiere 2 puertas menos
19
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
D
Q
Q
D
Q
CLK
′
′
Función de transición de estados
′
′
Q
x z
Función de
salida
20
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
 ¿Cual es el estado de un biestable al encenderlo?
o Cualquiera de los 2 posibles.
 ¿Cual es el estado de un sistema secuencial al encenderlo?
o Cualquiera de los posibles (incluyendo prohibidos).
 Todos los sistemas secuenciales tienen una entrada de 
inicialización para llevarlos asíncronamente a un estado 
inicial.
o Esta entrada global de reset deberá conectarse según la 
codificación del estado inicial a la entrada de inicialización que 
corresponda de cada uno de los biestables del circuito.
21
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Q
Q
D
G
CL
ST
D
G
Q
QST
CL
G(t) D(t) CL(t) ST(t) Q(t+t)
X X 0 0 prohibido
X X 0 1 0
X X 1 0 1
0 X 1 1 Q(t)
1 0 1 1 0
1 1 1 1 1
Biestable D síncrono disparado por nivel
con inicialización asíncrona
22
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Q
Q
CLK
D
ST
CL
D CLK CL ST Q'
X X 0 0 prohibido
X X 0 1 0
X X 1 0 1
0  1 1 0
1  1 1 1
resto 1 1 Q
D Q
QST
CL
Biestable D síncrono disparado por flanco de subida
con inicialización asíncrona
23
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14  El reset se distribuye según la codificación del estado inicial:
D
Q
Q
D
Q
Q
CLK
x
z
′
′ CL
CL
RST
S0
Estado
inicial
NO
Codificación: { S0  (00)... }
ST
1
ST
1
′ ̅
′ ⊕
24
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14  El reset se distribuye según la codificación del estado inicial.
D
Q
Q
D
Q
CLK
′
′
′
′
Q
x z
S0
Estado
inicial
NO
Codificación: { S0  (01)... }
1
1
CL
CL
ST
ST
RST
25
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Implementación de biestables
 Un biestable CMOS suele implementarse realimentando 
parejas de inversores a través de puestas de paso.
D
Q
CLK = ‘1’
D
CLK = ‘0’
Qs
s
x y = x
D
QCLK
x y = x
Latch D CMOS
26
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Retardo
 En un biestable disparado por flanco, las salidas cambian en 
respuesta al flanco del reloj y NO al cambio de la entrada.
o los retardos se miden desde dicho flanco, el máximo se denomina 
retardo de propagación y el mínimo, retardo de contaminación.
 Además, para que tenga un comportamiento predecible, la 
entrada debe estar estable en las proximidades del flanco:
o Como mínimo debe estar estable durante el tiempo de setup (antes 
del flanco) y durante tiempo de hold (después
del flanco).
D
Q
clk
x
x
retardo de contaminación
retardo de propagación
tiempo de setup
tiempo de hold
D Q
27
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Metaestabilidad
 Cuando se viola el tiempo de hold o el de setup, el biestable 
entra en un estado metaestable caracterizado por:
o El retardo de propagación del biestable no está acotado.
o El valor de salida del biestable es impredecible y, por tanto, se 
propagan en cadena valores inconsistentes por todo el circuito.
D
Q
clk
t
periodo de apertura (hold+setup) 
el voltaje inicial alcanzado se 
amplifica exponencialmente 
La salida del biestable 
todavía no es ni 0 ni 1
la salida hace un cambio de 
voltaje  proporcional a la 
anchura de este intervalo
La salida converge a 0 ó a 1 
en un tiempo no predecible
28
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Reglas de diseño
 Por tanto, un sistema secuencial con temporización por 
flanco tendrá un comportamiento correcto si:
o El tiempo de ciclo del reloj es lo suficientemente largo para que todos los 
sistemas combinacionales alcancen su régimen permanente. 
o Las entradas de todos los biestables permanecen estables durante su 
periodo de apertura (hold+setup). 
ligadura de retardo máximo:
)ttt(t ffs
lc
d
ff
dCLK
21 
ligadura de retardo mínimo:
21 ff
h
lc
c
ff
c t)tt( 
ff1 ff2
Dff2
Qff1
clk D QD Q
lógica 
combinacional
2ff
st 2
ff
ht
lc
c
ff
c tt 1
lc
d
ff
d tt 1
x
f(x)
CLKt
f
x f(x)
El ff2 carga f(x)
clk
29
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Reglas de diseño
 No obstante, un sistema correctamente temporizado puede 
fallar si la señal de reloj no se distribuye adecuadamente:
o Si la señal de reloj llega con retraso (skew) a las entradas de reloj de 
algunos flip‐flops, el sistema se desincroniza.
o Ídem si la frecuencia del reloj no es perfectamente regular (jitter).
ff1 ff2
Dff2
Qff1
clkff1 D QD Q
CLKt
clkff2
skewt
x
Los valores que carga ff2 son impredecibles
lógica 
combinacional
f
tskew
f(x)
f(x)
• Distinta longitud de cable
• Ruido (interferencias)
• Diferente carga local
• Variaciones locales de temperatura
• etc...
clk
30
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Reglas de diseño
 Asimismo, un sistema también puede fallar si sus entradas 
cambian asíncronamente porque están conectadas a:
o Las salidas de otro sistema con distinto reloj.
o Un dispositivo puramente asíncrono (i.e pulsador)
 En ambos casos es necesario utilizar sincronizadores.
o El más básico consiste en conectar varios biestables D en cascada.
R
pulsador
D QD Q
sistema 
secuencial
sincronizador de 2 etapas
clk
entrada asíncrona entrada síncrona
31
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Generación de reloj
 La señal de reloj primaria se genera externamente usando: 
o Cristal de cuarzo
o Oscilador integrado con frecuencia fija o programable
 Dentro del chip esta señal se acondiciona y se 
multiplica/divide para obtener la frecuencia deseada. 
XTAL
C
C
clk
R
clkOSC clkOSC
n
32
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Generación de reloj
 La frecuencia (periodo) de reloj aumenta (disminuye) en 
cada generación tecnológica
 Evolución de las frecuencia de reloj de procesadores Intel
o 4004 (1971): 108 KHz  (periodo 9.25 s)
o 8086 (1978): 4.77 MHz (periodo 0.21 s)
o 80386 (1985): 16 MHz (periodo 62.5 ns)
o Pentium (1993): 66 MHz (periodo  15.2 ns)
o Pentium 4 (2000): 1.5 GHz (periodo 667 ps)
o Intel Core 2 Quad (2007): 2.4 GHz (periodo 417 ps)
o Intel Core I7‐4770 (2013): 3.4 GHz (periodo 294 ps)
 Si la velocidad de los coches hubiera crecido tan rápido:
o Coche (1971): 100 Km/h (Madrid‐Barcelona 6h aprox.)
o Coche (2013): 3 150 000 Km/h (Madrid‐Barcelona en menos de 1s)
33
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Generación de reloj
 El diseño (físico) de una la red de distribución de reloj en un 
chip es un proceso complejo:
o La señal de reloj tiene mucha conectividad (tiene mucha carga) y las 
interconexiones son largas (muy resistivas y vulnerables al ruido).
o Requiere trazar un árbol /red equilibrada de interconexiones, buffers 
y otros elementos correctores de desfase (PLL, DLL).
 En general es mala práctica que el reloj atraviese lógica:
o Introduce un skew variable debido a la incertidumbre de la red.
o Puede producir glitches que provoquen cambios espurios de estado.
• Esto también es aplicable al reset, si se desea evitar inicializaciones espurias.
D Qf
NOclk
x
34
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Generación de reset
 La señal de reset se genera externamente usando:
o Un circuito RC
o Generador de reset integrado
rst
R
C
power‐onmanual
rstRST
35
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Biblioteca de celdas: CMOS 90 nm
Biestable Área 
(m2)
Retardo 
(ps)
Consumo
estático
(nW)
Consumo
dinámico
(nW/MHz)
10.1376  221 (Q)386 (QN) 621 2359
22.1184 219 (Q)234 (QN) 144 463
24.8832  217 (Q)193 (QN) 140 284
32.2560 167 (Q)326 (QN) 164 281
31.3344 412 (Q)372 (QN) 152 161
35.0208 212 (Q)365 (QN) 167 215
fu
en
te
: S
yn
op
sy
s 
(S
A
E
D
 E
D
K
 9
0 
nm
)
R Q
QS
D Q
QG
D Q
Q
D Q
Q
CL
D Q
QST
D Q
QST
CL
36
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Cálculo de la frecuencia máx. de reloj (CMOS 90 nm)
D
Q
Q
D
Q
Q
CLK
x
z
′
′ CL
CL
RST
180 180
180
237
171
100
167
326
167
326
suponiendo:
thold = tsetup = 0
camino retardo
xD1 180 ps
xD0 271 ps
CLK1z 347 ps
CLK0z 347 ps
CLK1D1 584 ps
CLK1D0 518 ps
CLK0D1 584 ps
CLK0D0 677 ps
max 	 677 ps ⇒ 	
1 1
677 ∙ 10 s .
37
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Cálculo de la frecuencia máx. de reloj (CMOS 90 nm)
+167
+271
0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps
+417
584
clk
(1.43 MHz)
x(t)
q1(t)
q0(t)
z(t)
q1'(t)
q0'(t)
38
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Cálculo de la frecuencia máx. de reloj (CMOS 90 nm)
clk
(1.43 MHz)
x(t)
q1(t)
q0(t)
z(t)
q1'(t)
q0'(t)
271
+167
+167
+180
+271
0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps
39
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Cálculo de la frecuencia máx. de reloj (CMOS 90 nm)
518
+167
+167
+180
+351
x(t)
q1(t)
q0(t)
z(t)
q1'(t)
q0'(t)
clk
(1.43 MHz)
0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps
40
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Cálculo de la frecuencia máx. de reloj (CMOS 90 nm)
677
+167
+167
+510
x(t)
q1(t)
q0(t)
z(t)
q1'(t)
q0'(t)
clk
(1.43
MHz)
0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps
41
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Cálculo de la frecuencia máx. de reloj (CMOS 90 nm)
347
+167
+347
+180
clk
(1.43 MHz)
x(t)
q1(t)
q0(t)
z(t)
q1'(t)
q0'(t)
0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps
42
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Cálculo de la frecuencia máx. de reloj (CMOS 90 nm)
584
+167
+347
+417
+271
clk
(1.43 MHz)
x(t)
q1(t)
q0(t)
z(t)
q1'(t)
q0'(t)
0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps
43
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Cálculo de la frecuencia máx. de reloj (CMOS 90 nm)
+167
+167
clk
(1.43 MHz)
x(t)
q1(t)
q0(t)
z(t)
q1'(t)
q0'(t)
0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps
44
FC
te
m
a 
6:
Im
pl
em
en
ta
ci
ón
 d
e 
si
st
em
as
 s
ec
ue
nc
ia
le
s 
sí
nc
ro
no
s
ve
rs
ió
n 
12
/0
9/
14
Cálculo de la frecuencia máx. de reloj (CMOS 90 nm)
clk
x(t)
q(t)
z(t)
q'(t)
0
1
(00)
0
1Estado
inicial
1 1
0
0
0
(01)
0
(10)
0
(11)
1
00 01 10 01 10 11 01 10
01 00 10 00 01 11 10 11 01 00 10
0 10 0 0 0 0
0 1 0 1 1 0 1
(00) (01) (10) (01) (10) (11) (01)
Temas/FCtema1-imprimible.pdf
José Manuel Mendías Cuadros
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Tema 1:
Representación digital de la 
información
Fundamentos de computadores
2
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Introducción de conceptos. 
 Sistemas de numeración: binario, octal y hexadecimal.
 Aritmética binaria.
 Conversión entre bases.
 Representación de números enteros: MyS, C1 y C2.
 Aritmética entera: MyS y C2.
 Otras codificaciones.
Transparencias basadas en los libros: 
• R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores.
• D. Gajsky. Principios de diseño digital.
3
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Sistema: caja "negra" que a lo largo del tiempo:
o Recibe información por sus entradas, x(t).
o Procesa dicha información según una cierta función, F.
o Genera información por sus salidas, z(t).
Fx(t) z(t)
z(t) = F( x(t) )
z(ti)
x(ti)
ti
4
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Sistema analógico
o Los valores que pueden tomar las entradas/salidas 
pertenecen  a un espectro continuo de valores.
 Sistema digital
o Los valores que pueden tomar las entradas/salidas 
están restringidos a un conjunto discreto de valores.
Los sistemas analógicos 
establecen semejanzas, 
los digitales numerizan
5
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14  Sistema combinacional
o La salida en cada instante depende exclusivamente del 
valor de la entrada en ese instante.
 Sistema secuencial
o La salida en cada instante depende del valor de la 
entrada en ese instante y de todos los valores que la 
entrada ha tomado con anterioridad.
z(ti) = F( x(ti) )
z(ti) = F( x(t) ), con t[0, ti]
C
om
bi
na
ci
on
al Caudal deentrada
Caudal
de salidaMemoria
Se
cu
en
ci
al
Ángulo del 
volante
Ángulo de 
las ruedas
6
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Asíncronos
o Las entradas/salidas pueden cambiar en cualquier 
momento.
 Síncronos
o Las entradas/salidas solo pueden cambiar en un 
conjunto discreto de instantes definidos por una señal 
de reloj. 
asíncrono síncrono
7
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Especificación (¿qué hace?)
o Descripción del comportamiento de un sistema sin 
precisar cómo está constituido.
 Implementación (¿cómo está hecho?)
o Descripción de un sistema en base a un conjunto de 
elementos más simples interconectados.
Coche (RAE):Vehículo automóvil de 
tamaño pequeño o mediano, destinado 
al transporte de personas y con 
capacidad no superior a nueve plazas.
8
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Síntesis (o diseño)
o Proceso de obtener una implementación que tenga el 
comportamiento definido por una especificación dada.
 Análisis
o Proceso de obtener el comportamiento de una 
implementación dada.
Para una especificación dada 
existen multitud de 
implementaciones válidas. 
9
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
1. Representación digital de la información.
2. Especificación de sistemas combinacionales.
3. Implementación de sistemas combinacionales.
4. Módulos combinacionales básicos.
5. Especificación de sistemas secuenciales síncronos.
6. Implementación de sistemas secuenciales síncronos.
7. Módulos secuenciales básicos.
10
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Mecanismo que permite dar una representación 
gráfica a cada número.
 Se define por:
o Un conjunto discreto de símbolos (dígitos) cada uno de los 
cuales representa directamente un número.
• la cardinalidad de este conjunto se llama BASE.
o Un conjunto discreto de reglas de generación (notación) 
que permiten representar números mayores usando más 
de un dígito.
o Un conjunto de reglas de manipulación de símbolos 
(aritmética) que permite realizar coherentemente 
operaciones con números.
11
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Cada cantidad se representa utilizando una cadena 
de dígitos distinta
(an‐1, an‐2.... a1, a0)r
• an‐1 es el dígito más significativo
• a0 es el dígito menos significativo
• r es la base del sistema de numeración
 El valor de cada dígito es función de la posición que 
ocupa en la cadena (peso). El peso de la posición i en 
un sistema de base r es ri
(valor dígito)i = (valor digito) × ri
 El valor de una cadena es la suma del valor de cada 
uno de los dígitos que la forman.
12
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Cada cantidad se representa por un polinomio cuya 
resolución permite conocer el valor representado
Notación 
posicional
Notación 
polinomial
Cantidad
representada
(17)10 1×101 + 7×100 17
(10001)2 1×24 + 0×23 + 0×22 + 0×21 + 1×20 17
(21)8 2×81 + 1×80 17
(11)16 1×161 + 1×160 17
13
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14 Decimal Binario Octal Hexadecimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
computadores binario compacto
14
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Aritmética de símbolos
o Las tablas de sumar, restar, multiplicar... dígitos.
 Aritmética de notación
o El mecanismo para sumar, restar, multiplicar... cadenas 
de dígitos.
Suma
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 y me llevo 1
Multiplicación
0 × 0 = 0
0 × 1 = 0
1 × 0 = 0
1 × 1 = 1
Resta
0 ‐ 0 = 0
0 ‐ 1 = 1  y me llevo 1
1 ‐ 0 = 1
1 ‐ 1 = 0
15
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
1 1 1 1 acarreos
9 1 0 0 1 sumando 1
+ 1 1 1 0 1 1 sumando 2
2 0 1 0 1 0 0 suma
S = 9 + 11
16
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
R = 83 - 21
8 3 1 0 1 0 0 1 1 minuendo
2 1  1 0 1 0 1 sustraendo
1 1 1 1 acarreos
6 2 0 1 1 1 1 1 0 diferencia
17
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
1 1 1 0 1 1 multiplicando
 5  1 0 1 multiplicador
5 5 1 0 1 1
0 0 0 0 productos parciales
1 0 1 1
1 1 0 1 1 1 resultado
P = 11 x 5
18
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
dividendo divisor
1 1 1 0 1 0 1 1 0 0 1
 1 0 0 1 1 1 0 1
0 1 0 1 1 cociente
 1 0 0 1
0 0 1 0 0 1
 1 0 0 1
0 0 0 0 resto
C = 117 / 9
19
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Sustitución en serie
base R → base S, usando la aritmé ca de base S
otra → base 10
o Se evalúa la representación polinomial del número 
usando la aritmética de base S.
(2A)16 = 2×161 + 10×160 = 32 + 10 = (42)10
(1010)2 = 1×23 + 0×22 + 1×21 + 0×20
= 8 + 0 + 2 + 0 = (10)10
20
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 División por la base
base R → base S, usando la aritmética en base R
base 10 → otra
o Se divide sucesivamente el número por S reservando 
los restos hasta que el cociente sea menor que S.
1 2 7 0 1 6
‐ 1 1 2 7 9 1 6
1 5 0 ‐ 6 4 4
‐ 1 4 4 1 5
6
(1270)10 = (4F6)16
+ peso
(12)10 = (1100)2
1 2 2
‐1 2 6 2
0 ‐ 6 3 2
0 ‐2 1
1 + peso
21
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Conversión entre potencias de la misma base
base R → base S=Ri
base 2→ base 8=23 o base 16=24
o Los dígitos de base R se agrupan de derecha a izquierda 
en de bloques de i elementos. 
o Cada bloque se remplaza por el correspondiente dígito 
de base S.
(10011110110)2 = (2366)8
(100111101)2 = (13D)16
22
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Conversión entre potencias de la misma base
base R=Si → base S
base 8=23 o base 16=24 → base 2
o Cada dígito de base R se remplaza por el 
correspondiente bloque de dígitos en base S. 
(713)8 = (111001011)2
(A5C)16 = (101001011100)2
23
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14  Un sistema digital solo procesa información digital 
codificada en binario.
o Una codificación es un convenio que asocia a cada elemento de 
información una representación binaria diferente.
o Un mismo dato puede tener distintas representaciones en distintos 
códigos.
 Cada código usa un número de dígitos binarios fijo (bits de 
anchura) que limita el número de datos representable.
o Con n bits como máximo se representan 2n datos diferentes.
 El problema del desbordamiento:
o En las codificaciones numéricas, se produce cuando el resultado de 
una operación aritmética no es representable (no hay un código 
que represente al resultado).
o Deben detectarse porque el resultado es incorrecto.
24
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Codifica números naturales
 Notación n bits:
o n bits codifican la magnitud en binario.
 Rango representable: [ 0, 2n‐1 ]
 Aritmética:
o Extensión (pasar n a m bits, con m>n)
• Completar con ceros por la izquierda.
610 = (00110)2-5bits
1 0 1 1
+ 0 1 1 1
1 0 0 1 0
(11)
(7)
(2≠18)
o Suma
• Suma binaria
• Hay desbordamiento si al sumar el 
bit más significativo se produce un 
acarreo.
25
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Codifica números enteros
 Notación n bits:
o 1 bit codifica el signo (el bit más significativo, bit de signo)
o n‐1 codifican la magnitud en binario.
• Positivos:   + N = 0 (N)2
• Negativos:   – N = 1 (N)2
 Rango representable: [–(2n‐1‐1), +(2n‐1‐1)]
o el cero tiene doble representación (000..00) y (100..00)
(+ 610) = (00110)MyS-5bits
(– 610) = (10110)MyS-5bits
610 = (0110)2 
26
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Procedimiento de codificación (n bits)
o Codificar el signo '+' ≡ '0' , ' – ' ≡ '1' 
o Codificar la magnitud en binario de n‐1 bits usando división por la base.
 Procedimiento de decodificación:
o Decodificar el signo '0' ≡ '+', '1' ≡ '‐'
o Decodificar la magnitud usando sustitución en serie.
–2610 → MyS de 8 bits
signo ≡ (1) 
magnitud ≡ (0011010) –2610 = (10011010)MyS
+11510 → MyS de 8 bits
signo ≡ (0) 
magnitud ≡ (1110011) +11510 = (01110011)MyS
(10010010)MyS→ decimal
signo ≡ '–' 
magnitud ≡ 1810
(10010010)MyS = –1810
(01011010)MyS→ decimal
signo ≡ '+' 
magnitud ≡ 9010
(01011010)MyS = +9010
27
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14  Cambio de signo (cambiar un número por su opuesto)
o Cambiar el bit de signo 
 Extensión (pasar n a m bits, con m>n)
o Manteniendo el signo, completar la magnitud con ceros por la 
izquierda.
 Suma / Resta
o Signo y magnitud de manipulan por separado.
o El signo del resultado depende de las magnitudes y signos de los 
operandos. 
o Las magnitudes se suman o restan en función de la magnitud y 
signo de los operandos.
(– 610) = (10110)MyS-5bits = (10000110)MyS-8bits 
– (00110)MyS-5bits = (10110)MyS-5bits
28
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14  Signo (A) = signo (B)
o Signo (R) = signo (A) = signo (B)
o Magnitud (R) = magnitud (A) + magnitud (B)
 Signo (A) = positivo, signo (b) = negativo, |A| ≥ |B|
o Signo (R) = signo (A) = positivo
o Magnitud (R) = magnitud (A) ‐magnitud (B)
0 1 0 0
+ 0 0 1 0
0 1 1 0
1 1 0 0
+ 1 0 1 0
1 1 1 0
+ 4
+ + 2
+ 6
- 4
+ - 2
- 6
4
- 2
2
0 1 0 0
+ 1 0 1 0
0
1 0 0
- 0 1 0
0 1 0
+ 4
+ - 2
+
29
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Signo (A) = positivo, signo (b) = negativo, |A| < |B|
o Signo (R) = signo (B) = negativo
o Magnitud (R) = magnitud (B) ‐magnitud (A)
 Resto de casos / Resta
o Equivalente a alguno de los anteriores si se aplica conmutatividad.
 Desbordamiento
o Hay desbordamiento si al operar con el bit más significativo de la 
magnitud se produce un acarreo.
+ 2
+ - 4
-
0 0 1 0
+ 1 1 0 0
1
4
- 2
2
1 0 0
- 0 1 0
0 1 0
30
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Codifica números enteros
 Notación n bits:
o Positivos: + N = 0 (N)2
o Negativos:   – N = (2n – N)2 = C2( (N)2)
• el bit más significativo se denomina bit de signo
 Rango representable: [–(2n‐1), +(2n‐1‐1) ]
o el cero tiene una única representación (000..00)
o el rango es asimétrico, hay un negativo de más (100..00)
610 = (0110)2  (+ 610) = (00110)C2-5bits
(25 – 6)10 = (26)10 = (11010)2  (– 610) = (11010)C2-5bits
31
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Procedimiento de codificación (n bits)
o Si el número es positivo, codificar en binario de n bits usando el método 
de división por la base.
o Si el número es negativo, codificar el número prescindiendo del signo en 
binario de n bits usando el método de división por la
base y realizar el 
complemento a dos del resultado.
+9310 → C2 de 8 bits +9310 = (01011101)C29310 = (01011101)2
–7810 → C2 de 8 bits –7810 = (10110010)C2
7810 = (01001110)2
C2(01001110) = (10110010)
32
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Procedimiento de decodificación:
o Si el bit de signo es positivo (vale '0'), decodificarlo usando el método de 
sustitución en serie.
o Si el bit de signo es negativo (vale '1'), realizar su complemento a dos y 
decodificar el resultado usando el método de sustitución en serie.
(01110001)C2 → decimal (01110001)C2 = +11310(01110001)2 = (113) 10
(10110100)C2 → decimal (10110100)C2 = –7610
C2(10110100) = (01001100) 
(01001100)2 = (76)10
33
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14  Cambio de signo (cambiar un número por su opuesto)
o Complementar a dos el número
o Para realizar la operación C2 hay varias opciones:
• Restar el número a 2n
• Invertir todos los bits y sumar 1
• Copiar los bits de derecha a izquierda hasta encontrar el 
primer 1, invertir el resto.
 Extensión (pasar n a m bits, con m>n)
o Replicar el bit de signo hacia la izquierda
(– 610) = (11010)C2-5bits = (11111010)C2-8bits 
– (00110)C2-5bits = C2(00110) = (11010)C2-5bits
34
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14  Signo (A) = signo (B)
o R = A + B
 Signo (A) = positivo, signo (b) = negativo, |A| ≥ |B|
o R = A + B
0 1 0 0
+ 0 0 1 0
0 1 1 0
1 1 0 0
+ 1 1 1 0
1 1 0 1 0
+ 4
+ + 2
+ 6
- 4
+ - 2
- 6
+ 4
+ - 2
+ 2
0 1 0 0
+ 1 1 1 0
1 0 0 1 0
35
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Signo (A) = positivo, signo (b) = negativo, |A| < |B|
o R = A + B
 Resto de casos / Resta
o Equivalente a alguno de los anteriores si se aplica conmutatividad.
 Resumen suma/resta
o Para sumar/restar números en C2 basta con hacerlo en binario, 
ignorando el acarreo del bit más significativo.
o No obstante, es común realizar la resta como la suma del opuesto
• A – B = A + (– B) =C2 A + C2( B)
+ 2
+ - 4
- 2
0 0 1 0
+ 1 1 0 0
1 1 1 0
36
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Desbordamiento
o En la suma, solo puede producirse si ambos operandos son del mismo 
signo. En la resta, solo si son de distinto signo.
o Se detecta chequeando si el signo del resultado es coherente con el 
signo de los operandos.
o NO se tiene en cuenta el acarreo del bit más significativo.
0 0 1 1
+ 0 1 1 0
1 0 0 1
(+3)
(+6)
(-7≠+9)
1 0 1 1
+ 1 0 1 0
1 0 1 0 1
(-5)
(-6)
(+5≠-11)
el rango representable con 4 bits es: [ ‐8, +7 ]
37
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Codifica números enteros
 Notación n bits:
o Positivos: + N = 0 (N)2
o Negativos:   – N = (2n – 1 – N)2 = C1( (N)2)
• el bit más significativo se denomina bit de signo
 Rango representable: [–(2n‐1‐1), +(2n‐1‐1) ]
o el cero tiene doble representación (000..00) y (111..11)
610 = (0110)2  (+ 610) = (00110)C1-5bits
(25 – 1 – 6)10 = (25)10 = (11001)2  (– 610) = (11001)C1-5bits
38
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Procedimiento de codificación (n bits)
o Si el número es positivo, codificar en binario de n bits usando el método 
de división por la base.
o Si el número es negativo, codificar el número prescindiendo del signo en 
binario de n bits usando el método de división por la base y realizar el 
complemento a uno del resultado.
+4010 → C1 de 8 bits +4010 = (00101000)C14010 = (00101000)2
–6210 → C1 de 8 bits –6210 = (11000001)C1
6210 = (00111110)2
C1(00111110) = (11000001)
39
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 Procedimiento de decodificación:
o Si el bit de signo es positivo (vale '0'), decodificarlo usando el método de 
sustitución en serie.
o Si el bit de signo es negativo (vale '1'), realizar su complemento a uno y 
decodificar el resultado usando el método de sustitución en serie.
(00100010)C1 → decimal (00100010)C1 = +3410(00100010)2 = (34)10
(11001001)C1 → decimal (11001001)C1 = –5410
C1(11001001) = (00110110) 
(00110110)2 = (54)10
40
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14  Cambio de signo (cambiar un número por su opuesto)
o Complementar a uno el número
o Para realizar la operación C1 hay varias opciones:
• Restar el número a 2n ‐ 1
• Invertir todos los bits
 Extensión (pasar n a m bits, con m>n)
o Replicar el bit de signo hay la izquierda
(– 610) = (11001)C1-5bits = (11111001)C2-8bits 
– (00110)C1-5bits = C1(00110) = (11001)C1-5bits
41
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14 Decimal MyS C2 C1
+7 0111 0111 0111
+6 0110 0110 0110
+5 0101 0101 0101
+4 0100 0100 0100
+3 0011 0011 0011
+2 0010 0010 0010
+1 0001 0001 0001
+0 0000 0000 0000
‐0 1000 ‐‐‐‐ 1111
‐1 1001 1111 1110
‐2 1010 1110 1101
‐3 1011 1101 1100
‐4 1100 1100 1011
‐5 1101 1011 1010
‐6 1110 1010 1001
‐7 1111 1001 1000
‐8 ‐‐‐‐ 1000 ‐‐‐‐
42
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 BCD (Binary Coded Decimal)
o Cada dígito decimal se representa por un bloque de 4 
bits (nibble) que lo codifica en binario.
 Exceso‐3
o Cada dígito decimal se representa por un bloque de 4 
bits que codifica en binario el valor del dígito + 3.
(375)10 = (001101110101)BCD
(375)10 = (011010101000)EX-3
Simplifican la conversión decimal-binario y evitan pérdidas de 
precisión en la conversión de números con parte fraccionaria
43
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
 ASCII (American Standard Code for Information
Interchange)
o Codifica el alfabeto latino occidental con 7 bits.
o Los códigos 00h‐1Fh (0‐31) y el 7Fh (127) son de control.
o Los códigos 20h‐7Eh (32‐126) son imprimibles.
o Hay diferentes extensiones de 8 bits (1 byte) para soportar 
más caracteres imprimibles.
 EBCDIC (Extended Binary Coded Decimal 
Interchange Code) 
o Codifica el alfabeto latino occidental con 8 bits
44
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
45
FC
te
m
a 
1:
Re
pr
es
en
ta
ci
ón
 d
ig
ita
l d
e 
la
 in
fo
rm
ac
ió
n
ve
rs
ió
n 
12
/0
9/
14
es la codificación usada la que le da sentido
10001001
¿?
89
‐9137
ê
‐119
BCD
bin MyS
ASCII8‐bits
C2
Una cadena de bits por sí misma no significa nada
Temas/FCtema2-imprimible.pdf
José Manuel Mendías Cuadros
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Tema 2:
Especificación de sistemas 
combinacionales
Fundamentos de computadores
2
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Especificación de alto nivel / binaria. 
 Codificación.
 Funciones de conmutación. Tablas de verdad.
 Expresiones de conmutación. 
 Algebra de Boole. Transformaciones algebraicas.
 Forma canónica. Suma de productos.
Mapas de Karnaugh. Simplificación.
Transparencias basadas en los libros: 
• R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores.
• D. Gajsky. Principios de diseño digital.
3
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n
12
/0
9/
14
 La salida en cada instante depende exclusivamente del 
valor de la entrada en ese instante.
o En todo momento, a misma entrada, misma salida.
 Para especificar su comportamiento deberán definirse:
o Los conjuntos discretos de valores de entrada/salida: E, S  
o La función F: E  S
z(ti) = F( x(ti) ), con x(ti)E, z(ti)S
Fx(t) z(t)
4
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
x(t)  E = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
z(t)  S = { 0, 1, 2 }
F: E  S / z(t) = f( x(t) ) = x(t) mod 3
x(t) 0 1 5 1 1 2 8 1 9 0
z(t) 0 1 2 1 1 2 2 1 0 0
Fx(t) z(t)
Simulación de su comportamiento:
tiempo
5
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Especificación del dominio:
o Conjunto discreto de valores que puede tomar la entrada.
 Especificación del codominio: 
o Conjunto discreto de valores que puede tomar la salida.
 Función de entrada/salida:
o Definición del comportamiento del sistema: qué valor 
toma la salida para cada posible valor de la entrada
o Mediante tabla, expresión aritmética, condicional, lógica... 
o una composición de todas ellas.
Sin embargo, la información debe estar codificada en binario
para que sea implementable en un sistema digital
6
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 La entrada es un vector de n bits
o x  { 0, 1 }n es decir, x = (xn‐1... x0) con xi  {0, 1}
 La salida es un vector de m bits
o z  { 0, 1 }m es decir, z = (zm‐1... z0) con zi  {0, 1}
 Función de entrada/salida
o m funciones de conmutación de n variables definiendo 
cada una el comportamiento de un bit de la salida 
o F = { fi : { 0, 1 }n  { 0, 1 } / zi = fi(x), con 0 ≤ i ≤ m‐1 }
Fx(t) z(t)
n m
7
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14  Proceso de obtener una especificación binaria partiendo de 
una especificación de alto nivel:
1. Codificar el dominio (elegir una representación binaria de cada elemento).
2. Codificar el codominio.
3. Traducir la función de E/S.
 Para una misma especificación de alto nivel existen infinidad
de especificaciones binarias válidas.
o Cada una con distinta codificación del dominio/codominio
 La cardinalidad del dominio/codomino determina la longitud 
mínima del vector de bits x / z
o Para que todos los puntos del dominio/codominio puedan estar 
representados por una cadena de bits distinta:
• n ≥ log2( |E| ) y m ≥ log2( |S| ) [ log2(x) = ln(x) / ln(2) ]
• casi siempre quedarán codificaciones sin usar 
8
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Codificación domino: BCD (4 bits) – usando solo 10 códigos
 Codificación codominio: one‐hot (3 bits)
o { 0 (001), 1  (010), 2  (100) }
 Traducción de la función de E/S
o F = { (0000)  (001), (0001)  (010), (0010)  (100),  
(0011)  (001), (0100)  (010), (0101)  (100),
(0110)  (001), (0111)  (010), (1000)  (100),
(1001) (001)  }
x(t) 0000 0001 0101 0001 0001 0010 1000 0001 1001 0000
z(t) 001 010 100 010 010 100 100 010 001 001
Simulación de su comportamiento:
tiempo
9
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14  Una función de conmutación de n variables es una aplicación
f : { 0, 1 }n  { 0, 1 }
 Cuando es total (todo punto del dominio está asociado a uno 
del codominio) se dice que está completamente especificada
x2 x1 x0 f(x2,x1,x0)
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 0
6 1 1 0 0
7 1 1 1 1
 Se suele definir mediante una 
tabla de verdad que indica el 
valor que toma la función en 
cada punto del dominio.
10
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 El número de funciones de conmutación distintas 
de n variables es finito: 
o Para 2 variables existen únicamente 16 distintas
x1 x0 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
nula
and
x
1
x
0
xor
or
nor
nxor
notx
0
notx
1
nand
unidad
11
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 A veces las funciones de conmutación son parciales (no están 
definidas para ciertos puntos del dominio).
o Típicamente porque existen códigos que no representan ningún valor 
de alto nivel.
 Una función de conmutación incompletamente especificada 
de n variables es una aplicación:
f : { 0, 1 }n  { 0, 1, ‐ }
o Donde '‐' (don´t care) denota indiferencia: da igual que la función 
valga 0 ó 1 en aquellos puntos del dominio asociados a este valor.
12
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14 x3 x2 x1 x0 z2 z1 z0
0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0
2 0 0 1 0 1 0 0
3 0 0 1 1 0 0 1
4 0 1 0 0 0 1 0
5 0 1 0 1 1 0 0
6 0 1 1 0 0 0 1
7 0 1 1 1 0 1 0
8 1 0 0 0 1 0 0
9 1 0 0 1 0 0 1
10 1 0 1 0 ‐ ‐ ‐
11 1 0 1 1 ‐ ‐ ‐
12 1 1 0 0 ‐ ‐ ‐
13 1 1 0 1 ‐ ‐ ‐
14 1 1 1 0 ‐ ‐ ‐
15 1 1 1 1 ‐ ‐ ‐
E = { 0, ..., 9 }
la codificación es BCD 
nunca aparecerán estos
códigos 
13
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Forma alternativa de definir FC completamente especificadas
o Compacta, manipulable y directamente sintetizable.
 Alfabeto: { xi, 0, 1, +, ∙, —, (, ) }
o Variables lógicas: xi (puede usarte cualquier letra con o sin subíndice)
o Constantes: 0, 1
o Operadores : +, ∙, —
o Símbolos auxiliares: (, )
 Reglas de generación:
1. Toda variable lógica es una EC válida.
2. 0 y 1 son EC válidas.
3. Si A es una EC válida, A también lo es.
4. Si A y B son EC válida, (A), A+B y A∙B también lo son.
5. Solo son EC válidas las generadas usando las reglas 1 a 4.
14
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Semántica:  el álgebra de conmutación { {0,1}, and, or, not)
 Valor de una EC, E, para una asignación, a: v( E, a )
o Resultado de sustituir las variables de E por los valores indicados en a
y realizar las operaciones de acuerdo con el álgebra de conmutación.
x y x · y
0 0 0
0 1 0
1 0 0
1 1 1
x x
0 1
1 0
x y x + y
0 0 0
0 1 1
1 0 1
1 1 1
operador and operador or operador not
v( x2 + x2·x1 + x1·x0, (0,1,0) ) = 0 + 0·1 + 1·0 = 0 + 1·1 + 1·0 = 1
— —
15
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Para una expresión de conmutación dada, el conjunto de 
todos los pares
f = { ( a, v( E, a ) ) / a  {0,1}n }
es una función de conmutación.
 En ese caso diremos que E representa a f
 Dos EC son equivalentes si representan a la misma función 
de conmutación.
o Toda FC tiene infinitas EC equivalentes que la representan.
o Habrá unas más convenientes que otras, en particular las más 
simples.
16
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
x1 x0 f(x1, x0)
0 0 0 1
1 0 1 1
2 1 0 0
3 1 1 1
∙
v( ∙ , (0,0) ) = 0 0 ∙ 0	=	1
v( ∙ , (0,1) ) = 0 0 ∙ 1	=	1
v( ∙ , (1,0) ) = 1 1 ∙ 0	=	0
v( ∙ , (1,1) ) = 1 1 ∙ 1	=	1
v( , (0,0) ) = 0 0	=	1
v( , (0,1) ) = 0 1	=	1
v( , (1,0) ) = 1 0	=	0
v( , (1,1) ) = 1 1 = 1
x1 x0 f(x1, x0)
0 0 0 1
1 0 1 1
2 1 0 0
3 1 1 1
SON EQUIVALENTES
17
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 El álgebra de conmutación es un álgebra de Boole por lo que 
dadas 2 EC, A y B, se cumplen las siguientes propiedades:
Propiedad Versión “+” Versión “∙”
Conmutativa A B B A A ∙ B B ∙ A
Distributiva A B ∙ C A B ∙ A C A ∙ B C A ∙ B A ∙ C
Elemento neutro 0 A A 1 ∙ A A
Elem. complementario A A 1 A ∙ A 0
Idempotencia A A A A ∙ A A
Asociativa A B C A B C A ∙ B ∙ C A ∙ B ∙ C
Elemento dominante 1 A 1 0 ∙ A 0
Involución A A
Absorción A A ∙ B A A ∙ A B A
Leyes de Morgan A B A ∙ B A ∙ B A B
18
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Las anteriores propiedades permiten transformar 
algebraicamente una EC en otra/s equivalente/s.
distributiva
elem. complementario
distributiva
elem. dominante 
elem. neutro
19
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Además de los operadores primitivos del álgebra de 
conmutación es muy común referirse a otros operadores 
derivados:
 Todos ellos son conmutativos.
 NAND y NOR no son asociativos. XOR y NXOR sí lo son.
x y ↑
	 ⋅
0 0 1
0 1 1
1 0 1
1 1 0
x y ↓ x
0 0 1
0 1 0
1 0 0
1 1 0
operador nand operador nor
x y ⨁∙ ∙
0 0 0
0 1 1
1 0 1
1 1 0
operador xor
x y ⨁∙ ∙
0 0 1
0 1 0
1 0 0
1 1 1
operador nxor
20
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 En muchos casos es posible obtener directamente una EC 
desde un enunciado en lenguaje natural 
o Codificando los sucesos en "lógica directa"
• L=1  Se detecta luz (es de día)
• P=1  Se detecta coche
• A=1  Se ha presionado el pulsador
• M=1  Se activa el motor que abre la barrera
o La formulación del enunciado queda:
Sistema
digital
L (sensor de luz)
A (pulsador de apertura)
P (sensor de presencia)
M (al motor)
La barrera debe abrirse si es de día y hay un coche
esperando o si el vigilante presiona un pulsador 
M = 
1  si L=1 y P=1 o A=1
0  en caso contrario M = L∙P + A 
21
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Hasta el momento tenemos:
o Dada una FC, existen infinidad de EC que la representan.
o Dada una FC, no sabemos cómo obtener una EC que la represente.
o Dada una EC, es tedioso obtener la tabla de verdad de la FC que 
representa.
o Dada una EC, es complejo obtener una EC simplificada equivalente.
 La definición de una forma canónica permitirá:
o Que toda FC tenga asociada una única EC normalizada.
o Que ésta pueda obtenerse fácilmente a partir de una tabla de verdad. 
o Que el mecanismo de obtención de la tabla de verdad de la FC que 
representa una cierta EC sea más simple.
o Abrir las puertas a un mecanismo de simplificación de EC.
22
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14  Literal: EC compuesta por una única variable natural o 
complementada.
 Término producto: EC compuesta únicamente por un 
producto de literales.
 Mintérmino de n variables: termino producto de n literales, 
en donde cada variable aparece una y solo una vez.
 Suma de productos: EC compuesta únicamente por sumas 
de términos producto.
23
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Notación: Un mintérmino de n variables se representará por mi o 
m(i), siendo i el número cuya representación binaria se obtiene 
sustituyendo en el mintérmino ordenado (variables de mayor a menor 
peso):
o Cada variable complementada por un 0.
o Cada variable sin complementar por un 1
3 2 1 0 		m5 	m 5
( 0 1 0 1 )2 = 510
3 2 1 0 		m7 	m 7
( 0 1 1 1 )2 = 710
24
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Propiedad: El valor de un mintérmino para una asignación dada es:
o es decir, el mintérmino mi representa a una FC que vale 0 en todos 
sus puntos del dominio excepto en el i, en donde vale 1.
v( mi, a ) =  
1 si i = (a)10
0 en otro caso
v( ∙ , (0,0) ) = 0 ∙ 0	=	0
v( ∙ , (0,1) ) = 0 ∙ 1	=	1
v( ∙ , (1,0) ) = 1 ∙ 0	=	0
v( ∙ , (1,1) ) = 1 ∙ 1	=	0
x1 x0 f(x1, x0)
0 0 0 0
1 0 1 1
2 1 0 0
3 1 1 0
e 	x1,	x0 	 	 ∙ = m1
25
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Suma de productos canónica (SPC): EC compuesta 
únicamente por sumas de mintérminos en la que no hay 
mintérminos repetidos.
 Propiedad: Toda SPC representa a una FC que vale 1 en cada uno de 
los puntos del dominio asociados a cada uno de los mintérminos que 
forman la SPC y 0 en el resto.
o Y viceversa, toda FC de n variables puede representarse como una SPC 
compuesta por la suma de todos los mintérminos de n variables asociados 
a cada uno de los puntos del dominio para los cuales la FC vale 1.
o Además, toda FC, tiene una y solo una representación como SPC (por eso 
se llama canónica).
2 1 0
7 3 1
26
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
2 1 0
x2 x1 x0 m7 m3 m1 m7 + m3 + m1
0 0 0 0 0 0 0 0
1 0 0 1 0 0 1 1
2 0 1 0 0 0 0 0
3 0 1 1 0 1 0 1
4 1 0 0 0 0 0 0
5 1 0 1 0 0 0 0
6 1 1 0 0 0 0 0
7 1 1 1 1 0 0 1
27
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Notación: La comodidad de la notación compacta de una SPC como 
sumatorio de mintérminos suele usarse para describir FC 
incompletamente especificadas.
e 	x2,	x1,	x0 	 	∑m 7,3,1 	 	∑d 5,6
x2 x1 x0 f(x2,x1,x0)
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 ‐
6 1 1 0 ‐
7 1 1 1 1
Téngase en cuenta que es un abuso 
de notación, ya que las EC solo 
pueden representar FC 
completamente especificadas.
28
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Dos EC son equivalentes si representan a la misma FC.
o Dado que toda FC tiene una única SPC que la representa: dos EC 
son equivalentes si ambas son equivalentes a una misma SPC.
 Método 1:
o Evaluando la EC punto a punto hasta obtener la tabla de verdad de 
la FC que representa.
 Método 2:
o Trasformando la EC en una suma de productos:
• Aplicando ley de Morgan
• Aplicando la distributividad del producto
o Multiplicando cada término producto que no contenga una cierta 
variable  por  1 y aplicando distributividad.
o Eliminando los mintérminos repetidos.
29
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
x2 x1 x0
0 0 0 0 0 1 0 0
1 0 0 1 0 1 0 0
2 0 1 0 0 1 0 0
3 0 1 1 1 0 0 1
4 1 0 0 0 1 1 1
5 1 0 1 0 1 1 1
6 1 1 0 0 1 1 1
7 1 1 1 1 0 0 1
∑ m(3, 4, 5, 6, 7) 
e( x2, x1, x0 )
30
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
ley de Morgan
distributiva
elem. neutro e idempotencia
m5 + m4 + m6 + m4 + m7 + m3 eliminación de repetidos 
∑ m(3, 4, 5, 6, 7) 
distributiva
31
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Mapa de Karnaugh: tabla de verdad de doble entrada que 
permite obtener de manera gráfica una EC mínima en 
forma de suma de productos que la represente.
o EC mínima que tenga el menor número de términos producto y 
éstos el menor número de literales.
 Un mapa de Karnaugh de n variables tiene
las siguientes 
propiedades:
o Como la tabla de verdad que es, tiene 2n casillas cada una de ellas 
asociada a un mintérmino.
o Los mintérminos asociados a casillas adyacentes solo se 
diferencian en la polaridad de una de las variables.
• Dos mintérminos adyacentes pueden representarse por un término 
producto en donde no aparece la variable con diferente polaridad.
32
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
0 1
2 3
x
x1
0
(00) (01)
(10) (11)
0
1
0 1
x1
x 0
1 23
0
1
00 01x 2
4 5 67
11 10
x1x 0
0
x2
x 0 x 1
2 variables 3 variables
33
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
0 1 23
00
01
00 01
4 5 67
11 10
x1x0
x3x2
11
10
12 13 1415
8 9 1011
4 variables x 0 x 1
x 2
x 3
34
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
1 23
00
01
00 01
4 5 67
11 10
x1 x0
x3 x2
11
10
12 13 1415
8 9 1011
16 17 1819
00 01
20 21 2223
11 10
28 29 3031
24 25 2627
x = 14x = 04
0
x 0 x 1
x 0 x 1
x 4
x 2
x 3
5 variables
35
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
1 23
00
01
00 01
4 5 67
11 10
x1x0
x3x2
11
10
12 13 1415
8 9 1011
16 17 1819
00 01
20 21 2223
11 10
28 29 3031
24 25 2627
x = 04 x = 14
32 33 3435
00
01
36 37 3839
11
10
44 45 4647
40 41 4243
48 49 5051
52 53 5455
60 61 6263
56 57 5859
x = 05
x = 15
0
¡6 variables!
36
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Para obtener el mapa de Karnaugh de una SPC basta con 
marcar los mintérminos que la forman.
1 23
0
1
00 01
4 5 67
11 10
x2 x1x0m = 0 x2 x1x0m = 3
x2
x1x0
0
f(x2,x1,x0) = m(0,3,7)
m3 + m7 =  =  = 
 m3 y m7 son adyacentes luego:
x2
x 0 x 1
x2 x1x0m = 7
37
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Procedimiento de simplificación:
o Construir el mapa de Karnaugh de la FC
o Cubrir todos los mintérminos con el menor número 
posible de rectángulos de tamaño en casillas múltiplo 
de 2 (1, 2, 4, 8, 16...)
• Cada rectángulo se corresponde con un término producto, más 
simple conforme mayor es el rectángulo.
• La EC simplificada será la suma de los términos producto 
obtenidos.
o Si hay don't cares, pueden tomarse como 0 ó 1 según 
convenga
38
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Estrategias:
o Los rectángulos deberán ser lo mayor posible, así los 
términos producto tendrán un menor número de literales.
o Si es necesario, una misma casilla puede ser cubierta 
varias veces por distintos rectángulos (para que éstos 
puedan ser más grandes).
o Si una casilla puede cubrirse de distintos modos, empezar 
cubriendo aquellas que solo puedan hacerlo de una 
manera.
o Las casillas frontera pueden cubrirse junto con las del otro 
extremo. 
o Las casillas de las esquinas pueden cubrirse todas juntas.
39
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
f(x3,x2,x1,x0) = m(0,2,6,7,8,9,10,14,15)
0 1 23
00
01
00 01
4 5 67
11 10
x1x0
x3x2
11
10
12 13 1415
8 9 1011
x 0 x 1
x 2
x 3
= 
40
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
f(x2,x1,x0) = m(1,3,4,5)
0 1 23
0
1
00 01
4 5 67
11 1
0
x2
x1x0x1x0
1 23
0
1
00 01
4 5 67
11 10x2
0
x2
x 0 x 1
x2
x 0 x 1
= =   
41
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14 f(x3,x2,x1,x0) = m (5,6,8,12,14) + d (0,1,2,9,10,11)
1 23
00
01
00 01
4 5 67
11 10
x1x0
x3x2
11
10
12 13 1415
8 9 1011
0
x 0 x 1
x 2
x 3
= m (1,2,5,6,8,10,12,14)
= 
42
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Las distintas EC obtenidas al simplificar una misma FC incompletamente 
especificada pueden no ser equivalentes entre sí.
 Dos EC son equivalentes algebráicamente si representan a la misma FC en todos 
los puntos del dominio.
 Dos EC son equivalentes lógicamente si representan a la misma FC en todos los 
puntos del dominio para los que está definida.
fA =  	 = m (0,1,2,3,7,11,15) 
1 23
00
01
00 01
4 5 67
11 10
x1x0
x3x2
11
10
12 13 1415
8 9 1011
0
x 0 x 1
x 2
x3
1 23
00
01
00 01
4 5 67
11 10
x1x0
x3x2
11
10
12 13 1415
8 9 1011
0
x 0 x 1
x 2
x3
f(x3,x2,x1,x0) = m (1,3,7,11,15) + d (0,2,5)
fB =  = m (1,3,5,7,11,15)
43
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14 f(x4,x3,x2,x1,x0) = m (5,8,9,10,11,18,21,22,24,25,26,27)
1 23
4 5 67
12 13 1415
8 9 1011
16 17 1819
20 21 2223
28 29 3031
24 25 2627
x 0 x 1
x 0 x 1
x 4
x 2
x 3
= 
0
44
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
 Adicionalmente los mapas de Karnaugh pueden usarse 
para obtener:
o La SPC de una EC (en forma de suma de productos).
o Una EC mínima equivalente a una EC dada.
∑ m(3, 4, 5, 6, 7) 
1 23
4 5 67
0
x2
x 0 x 1
45
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
Especificación
de alto nivel
SPC FC MK SP EC
SPmínima
Red de puertasROM
álgebra
sim
plificar
equivalentes
álgebra
46
FC
te
m
a 
2:
Es
pe
ci
fic
ac
ió
n 
de
 s
is
te
m
as
 c
om
bi
na
ci
on
al
es
ve
rs
ió
n 
12
/0
9/
14
FC de n variablesEC de n variablesCircuitos de n entradas
22 n
EC equivalentes

SPC
SPmínima
circuitos
equivalentes 
+ rápido
+ barato
+ fiable
+ eco
Temas/FCtema7-imprimible.pdf
José Manuel Mendías Cuadros
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Tema 7:
Módulos secuenciales básicos
Fundamentos de computadores
2
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
 Registro.
 Registro de desplazamiento.
 Contadores.
 Banco de registros.
 RAM (Random‐Access Memory).
 Rutas de datos y controladores.
Transparencias basadas en los libros: 
• R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores.
• D. Gajsky. Principios de diseño digital.
3
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
REG
Registro de n bits
si la entrada ld vale 1, almacena la entrada, 
si no, conserva el valor almacenado
x 1 entrada de datos de n bits
q 1 salida de datos de n bits
ld 1 entrada de carga paralela
cl 1 entrada de inicialización asíncrona
clk 1 entrada de reloj
x
q
cl
n
n
ld
clk
si cl(t) = 1  q(t+t) = 0
si cl(t) = 0  q(t+1) =
q(t) si ld(t)=0
x(t) si ld(t)=1
4
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
q3
cl
clk
D
Q
10
x3
q2
D
Q
10
x2
q1
D
Q
10
x1
q0
D
Q
ld
10
x0
Implementación directa
Registro de 4 bits
5
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
x FF 8A 17 23
ld
cl
z XX 8A 17 00 23
clk
REG
x
q
cl
8
8
ld
clk
6
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
SHIFT REG
Registro de desplazamiento de n bits
x 1 entrada paralela de datos de n bits
q 1 salida de datos de n bits
srsi 1 entrada serie de datos para desplazamiento a la derecha
slsi 1 entrada serie de datos para desplazamiento a la izquierda
op 1 entrada de selección de operación
cl 1 entrada de inicialización asíncrona
clk 1 entrada de reloj
x
q
cl
n
n
op
clk
si cl(t) = 1  q(t+t) = 0
q(t+1) =
q(t) si op(t)=(00) sin cambio
si cl(t) = 0 
(srsi, qn‐1(t)... q1(t)) si op(t)=(01) desplaza a la derecha
(qn‐2(t)... q0(t), slsi) si op(t)=(10) desplaza a la izquierda
x(t) si op(t)=(11) carga paralela
slsisrsi
2
7
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
D Q D Q D Qsrsi
clk
cl
qn-1 qn-2 q0
DQDQDQ slsi
clk
cl
q0q1qn-1
Desplazamiento
a la derecha
Desplazamiento
a la izquierda
8
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
q3
cl
clk
D
Q
30
x3
q2
D
Q
x2
q1
D
Q
x1
q0
D
Q
op
x0
1 2
srsi
30 1 230 1 2 30 1 2
slsi
Implementación directa
Registro de desplazamiento de 4 bits
9
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
 Aplicaciones al diseño:
1. Convertir datos serie en datos paralelo y viceversa.
2. Implementar reconocedores de patrones.
2
Reconocedor del patrón = "011"
como máquina de Moore
DQDQDQ x
clk
cl
z
Reconocedor del patrón = "011"
como máquina de Mealy
DQDQ x
clk
cl
z
10
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
CONT ASC
Contador ascendente
módulo 2n
q
cl
n
ce
clk
tc
si cl(t) = 1  q(t+t) = 0
si cl(t) = 0  q(t+1) =
[q(t)+1] mod 2n si ce(t)=1
q(t) en caso contrario
si cl(t) = 1  tc(t+t) = 0
si cl(t) = 0  tc(t+t) =
1 si q(t)=2n‐1 y ce(t)=1
0 en caso contrario
q 1 salida de datos de n bits
ce 1 entrada de capacitación de cuenta
tc 1 salida de fin de cuenta
cl 1 entrada de inicialización asíncrona
clk 1 entrada de reloj
11
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
cico
di
HA
qi
qi ci co di
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
di = qi  ci
co = qi·ci
+
0
n n
n
array
biestables D
q
cl
clk
tc ce
12
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
q3
cl
clk
D
Q
q2
D
Q
q1
D
Q
q0
D
Q
Implementación directa
Contador ascendente módulo 16
HAHAHAHA cetc
13
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
CONT DESC
Contador descendente
módulo 2n
q
cl
n
ce
clk
tc
si cl(t) = 1  q(t+t) = 0
si cl(t) = 0  q(t+1) =
[q(t)‐1] mod 2n si ce(t)=1
q(t) en caso contrario
si cl(t) = 1  tc(t+t) = 0
si cl(t) = 0  tc(t+t) =
1 si q(t)=0 y ce(t)=1
0 en caso contrario
q 1 salida de datos de n bits
ce 1 entrada de capacitación de cuenta
tc 1 salida de fin de cuenta
cl 1 entrada de inicialización asíncrona
clk 1 entrada de reloj
14
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
-
0
n n
n
array
biestables D
q
cl
clk
tc
qi ci co di
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0
co = qi·ci
di = qi  ci
cico
di
HS
qi
ce
15
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
q3
cl
clk
D
Q
q2
D
Q
q1
D
Q
q0
D
Q
Implementación directa
Contador descendente módulo 16
HSHSHSHS cetc
16
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
CONT ASC/DES
Contador ascendente/descendente
módulo 2n
q
cl
n
opclk
tc
q 1 salida de datos de n bits
op 1 entrada de selección de operación
ce 1 entrada de capacitación de cuenta
tc 1 salida de fin de cuenta
cl 1 entrada de inicialización asíncrona
clk 1 entrada de reloj
ce
si cl(t) = 1  q(t+t) = 0
si cl(t) = 0  q(t+1) =
[q(t)+1] mod 2n‐1 si op(t)= 0 y ce(t)=1
[q(t)‐1] mod 2n‐1 si op(t)= 1 y ce(t)=1
q(t) en otro caso
si cl(t) = 1  tc(t+t) = 0
si cl(t) = 0  tc(t+t) =
1 si ( q(t)=2n‐1 y op(t)= 1 y ce(t)=1 )
ó ( q(t)=0 y op(t)= 0 y ce(t)=1 )
0 en caso contrario
17
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
ci
di
HAS
qi
op
co
+/-
0
op
n n
n
array
biestables D
q
cl
clk
tc
di = qi  ci
co = op·qi·ci+ op·qi·ci
op qi ci co di
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 0
1 0 1 1 1
1 1 0 0 1
1 1 1 0 0
ce
18
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
q3
cl
clk
D
Q
q2
D
Q
q1
D
Q
q0
D
Q
Implementación directa
Contador ascendente/descendente  módulo 16
HASHASHASHAS cetc
op
19
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
CONT
Contador ascendente con
carga paralela módulo 2n
x
q
cl
n
n
ce
clk ld
tc
si cl(t) = 1  q(t+t) = 0
si cl(t) = 0  q(t+1) =
x(t) si ld(t)=1
[q(t)+1] mod 2n‐1 si ld(t)=0 y ce(t)=1
q(t) en caso contrario
si cl(t) = 1  tc(t+t) = 0
si cl(t) = 0  tc(t+t) =
1 si q(t)=2n‐1 y ld(t)=0 y ce(t)=1
0 en caso contrario
x 1 entrada de datos de n bits
q 1 salida de datos de n bits
ld 1 entrada de carga paralela
ce 1 entrada de capacitación de cuenta
tc 1 salida de fin de cuenta
cl 1 entrada de inicialización asíncrona
clk 1 entrada de reloj
20
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
q3
cl
clk
D
Q
10
x3
q2
D
Q
10
x2
q1
D
Q
10
x1
q0
D
Q
ld
10
x0
HAHAHAHA cetc
Implementación directa
Contador ascendente con carga paralela módulo 16
21
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
 Varios contadores  se pueden componer en serie para para 
comportarse como un contador de mayor anchura.
Implementación serie
Contador ascendente con carga paralela módulo 256
CONT
ce
CONT
4
q3..0
4
q7..4tc
4
x3..0
4
x7..4
clk
cl
ld
ld
cetc tc
ld
ce
22
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
 Aplicaciones al diseño:
1. Generar secuencias (secuenciador).
2. Generar patrones.
CONT
0
cl
clk
ld
ce ce
cl q3 q2 q1 q0
x3 x2 x1 x0
0 00
tcContador ascendente BCD
CONT ASC ce
cl q1 q0
z
1
cl
clk
Generador del 
patrón "0001"
1 2
z3 z2 z1 z0
23
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
 Aplicaciones al diseño:
3. Dividir frecuencias.
4. Medir tiempo (temporizador).
CONT ASC ce
q3 q2 q1 q0
3 4
1
fCLK = 200 MHz
100 MHz
0
50 MHz
25 MHz
12,5 MHz
cl CONT
0
cl
26
ld
ce
q
e
1
cl
= 49.999.999
fCLK = 50 MHz 
(tCLK = 20 ns)
20 ns
1 s
26
(num. ciclos) = tiempo / tclk  tiempo × fclk
1 s  1·109 ns
(1·109 ns) / (20 ns/ciclo) = 50.000.000 ciclos
24
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
REG FILE
Banco de 2k registros de n bits
di
do
n
n
weclk
ra
k
di 1 entrada de datos de n bits
do 1 salida de datos de n bits
wa 1 entrada de dirección de escritura de k bits 
ra 1 entrada de dirección de lectura de k bits 
we 1 entrada de capacitación de escritura
clk 1 entrada de reloj
wa
k
25
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
0
3
1
21
0
wa1
wa0
REG0
REG1
REG2
REG3
di
n
clk
0
3
1
2
n
do
1 0
ra1 ra0we
E
ld
ld
ld
ld
n
n
n
n
n
n
n
n
Implementación directa
Registro de 4 registros de n bits
26
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
R
A
M
CE
RAM 2k×n
(2k palabras de n bits) 
da
k n
WE OE
d 1 entrada/salida de datos de n bits
a 1 entrada de dirección de k bits 
CE 1 entrada de capacitación
OE 1 entrada de capacitación de lectura
WE 1 entrada de capacitación de escritura
memoria volátil de capaz de almacenar
2k palabras de n bits cada una
27
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
 SRAM (Static RAM)
– Cada bit se almacena en un latch. 
– No requiere refresco.
 DRAM (Dynamic RAM)
– Cada bit se almacena en un condensador.
– Requiere refresco.
 SDRAM (Synchronous Dynamic RAM)
– Cada bit se almacena en un condensador.
– Requiere refresco.
– El interfaz de lectura/escritura es síncrono.
D Q
G
I O
W S
celda elemental
de SRAM
28
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
0
3
1
2
1
0
a1
a0
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
I O
SW
CE
OE
d0d1d3 d2
WE
RAM 4×4
29
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
 Varias RAM se pueden componer para comportarse como 
una RAM de mayor anchura de palabra.
a
k k k
n
...RAM 
2k×n
RAM 
2k×n
n
RAM 
2k×n
n
...
n·m
m
Implementación multimódulo
RAM 2k×(n∙m) usando m RAM 2k×n
ce
we
oe
30
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
 Varias RAM se pueden componer para comportarse como 
una RAM de mayor profundidad.
ak-1..0
k k k
n
...RAM 
2k×n
RAM 
2k×n
n
RAM 
2k×n
n
n
2m-k
0 2m‐k‐1
am-1...k
...
1
m-k
Implementación multimódulo
RAM 2m×n usando 2m‐k RAM 2k×n
bus
CE CE CE
we
oe
31
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
 Cuando un sistema secuencial realiza un algoritmo complejo 
no es viable especificarlo mediante un diagrama de estados.
 Diseño algorítmico: implementa un algoritmo en hardware.
o Ruta de datos: realiza las operaciones y almacena resultados parciales.
o Controlador: secuencia la realización de las operaciones según lo indicado 
por el algoritmo.
Ruta de datos
Controlador
Señales de
controlSeñales deestado
Entrada
de datos
Salida
de datos
Salida
de control
Entrada
de control
módulos aritméticos
lógica discreta
registros
contadores 
...
máquina de estados
32
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Especificación de alto nivel: interfaz
Multiplicador
A B
inicio
fin
clk
R
64
32 32
rst
110
101
000110
000000
+ 011000

011110
a2a1a0
b2b1b0
(000a2a1a0)  b0
(00a2a1a00)  b1
+ (0a2a1a000)  b2
1. Especificación de alto nivel
 XXXXXXXX 0000001E
00000006
00000005
A
B
inicio
fin
R
clk
r5r4r3r2r1r0
Algoritmo para operandos de 3 bits
carga 
operandos
vuelca
resultado
33
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Especificación de alto nivel: algoritmo
begin
1. A := Ain;
2. B := Bin;
3. R := 0;
for C:=0 to 2 do begin
4. if B0=1 then R := R+A;
5. A := A << 1;
6. B := B >> 1;
end for;
7. Rout := R;
end;
C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0
1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐
2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 1
3. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
4. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1
5. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1
6. 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0
4. 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0
5. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0
6. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1
4. 2 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1
5. 2 0 1 1 1 1 0 1 1 0 0 0 0 0 0 1
6. 2 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0
2. Especificación del algoritmo
Algoritmo para operandos de 3 bits
Para operandos de 32 bits 
el bucle sería de 0 to 31
34
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Diseño de la ruta de datos
REG R
SHT REG A
SHT REG B
ld
ld
cl
cl
cl
ld
64
64
32
lsh
rsh
begin
1. A := Ain;
2. B := Bin;
3. R := 0;
for C:=0 to 31 do begin
4. if B0=1 then R := R+A;
5. A := A << 1;
6. B := B >> 1;
end for;
7. Rout := R;
end;
64
64
64
+
32
32
A B
0
R
64
10
0 64
B0
32
31
ce
cl
= 0
5
5C C=0
3. Diseño de la ruta de datos
CONT ASC
0‐31
Algoritmo para 
operandos de 32 bits
35
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Señales de control
6464
64
REG R
64
SHT REG A
10
64
64
32
32 SHT REG B
32
ld
ld
cl
cl
cl
A B
0
0
R
lsh
rsh
64
+
ld
ldB
ldA
selR
ldR
lshA
rshB
B0
32
31
ceCce
cl
= 0
5
4. Identificación de las señales de control
CONT ASC
0‐31
36
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Señales de estado
6464
64
REG R
64
SHT REG A
10
64
64
32
32 SHT REG B
32
ld
ld
cl
cl
cl
A B
0
0
R
lsh
rsh
64
+
ld
ldB
ldA
selR
ldR
lshA
rshB
B0
32
31
B0
Cz
ceCce
cl
= 0
5
5. Identificación de las señales de estado
CONT ASC
0‐31
37
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
CONT ASC
0‐31
Estructura del sistema completo
CO
N
TR
O
LA
DO
R
6464
64
REG R
64
SHF REG A
10
64
64
32
32 SHT REG B
ldB
32
ld
ld
cl
cl
cl
A B
0
0
R
ldA
selR
ldR
lsh lshA
B0
rsh rshB
B0
Cz
clk rst
cl
inicio
fin
64
+
ld
RUTA DE DATOS
32
31
ceCce
cl
= 0
5
38
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Formalismo ASM (Algorithmic State Maquine)
 Para facilitar la expresión del algoritmo como una FSM 
usaremos un diagrama ASM como formalismo intermedio.
 Un diagrama ASM es un grupo de bloques interconectados.
o Cada bloque se corresponde con un estado de la FSM e indica las 
acciones que se realizan en paralelo en dicho estado. 
 Todo bloque (recuadro azul) esta formado por:
o 1 caja de estado (rectangular): que indica las transferencias entre 
registros que se realizan incondicionalmente en el estado.
o 0..n cajas de selección (romboidales): indican las condiciones bajo 
las cuales se que se determina el estado siguiente del sistema o se 
realizan ciertas transferencias entre registros.
o 0..n cajas condicionales (ovaladas): indica las trasferencias entre 
registros que se realizan condicionalmente en un estado.
39
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Algoritmo en ASM
6. Reformulación del algoritmo como una
secuencia de transferencias entre registros
RR RA + RR
RA RA << 1
RB RB >> 1
RC RC + 1
fin 0
RA RA << 1
RB RB >> 1
RC RC + 1
fin 0
(Cz,B0)
fin 0
10
0100
1X
1
0S0
S1
S3S2
S4
RR 0
fin 0
inicio
RA Ain
RB Bin
fin 1
B0
begin
1. A := Ain;
2. B := Bin;
3. R := 0;
for C:= 0 to 31 do begin
4. if B0=1 then R := R+A;
5. A := A << 1;
6. B := B >> 1;
end for;
7. Rout := R;
end;
40
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Algoritmo en ASM
RR RA + RR
RA RA << 1
RB RB >> 1
RC RC + 1
fin 0
RA RA << 1
RB RB >> 1
RC RC + 1
fin 0
(Cz,B0)
fin 0
10
0100
1X
1
0
S0 RA Ain; RB Bin; 
fin 1; 
si (inicio=0) ir a S0;
si (inicio=1) ir a S1;
S1 RR 0; fin 0;
si (B0=0) ir a S2;
si (B0=1) ir a S3;
S2 RA RA << 1; 
RB RB >> 1;
RC RC + 1; fin 0;
ir a S4;
S3 RR RA + RR; 
RA RA << 1; 
RB RB >> 1; 
RC RC + 1; fin 0;
ir a S4;
S4 fin 0; 
si (Cz=1) ir a S0;
si (Cz=0 y B0=0) ir a S2;
si (Cz=0 y B0=1) ir a S3;
S0
S1
S3S2
S4
RR 0
fin 0
inicio
RA Ain
RB Bin
fin 1
B0
tiempo de cálculo: 2+32×2 = 66 ciclos
41
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Algoritmo como una FSM
S2 S3
S0
S1
S4 estado ldB rshB ldA lshA ceC selR ldR fin
S0 1 0 1 0 0 ‐ 0 1
S1 0 0 0 0 0 0 1 0
S2 0 1 0 1 1 ‐ 0 0
S3 0 1 0 1 1 1 1 0
S4 0 0 0 0 0 ‐ 0 0
Estado inicial
(1,X,X)
(X,X,1)(X,X,0)
(X,1,X)
(X,0,1)(X,0,0)
(X,X,X) (X,X,X)
estado inicio Cz B0 estado'
S0 0 X X S0
S0 1 X X S1
S1 X X 0 S2
S1 X X 1 S3
S2 X X X S4
S3 X X X S4
S4 X 0 0 S2
S4 X 0 1 S3
S4 X 1 X S0
(0,X,X)
entradas del 
controlador: (inicio, Cz, B0) 7. Especificación del controlador como FSM
Función de transición de estados
Función de salida
42
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
ROM + registro de estado
REG R
SHT REG A
10
SHT REG B
ld
ld
cl
cl
cl
A B
0
0
R
lsh
rsh
+
ld
inicio
fin
REG
cl
ROM
64×11
3
3
a5 a0
d10
d0
. . .
. .
 .
6464
64
64
64
64
32
32
32
64
32
31
B0
S0 RA Ain; RB Bin; 
fin 1; 
si (inicio=0) ir a S0;
si (inicio=1) ir a S1;
S1 RR 0; fin 0;
si (B0=0) ir a S2;
si (B0=1) ir a S3;
S2 RA RA << 1; 
RB RB >> 1;
RC RC + 1; fin 0;
ir a S4;
S3 RR RA + RR; 
RA RA << 1; 
RB RB >> 1; 
RC RC + 1; fin 0;
ir a S4;
S4 fin 0; 
si (Cz=1) ir a S0;
si (Cz=0 y B0=0) ir a S2;
si (Cz=0 y B0=1) ir a S3;
CONT ASC ce
cl
= 0
5
8. Diseño del controlador
43
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Generación del contenido de la ROM
q 2 q 1 q 0
in
ic
io
Cz B0 q 2
'
q 1
'
q 0
'
ld
B
rs
hB ld
A
lsh
A
ce
C
se
lR
ld
R fin
a5 a4 a3 a2 a1 a0 DIR. d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0
0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1
0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1
0 0 0 0 1 0 2 0 0 0 1 0 1 0 0 1 1 1
0 0 0 0 1 1 3 0 0 0 1 0 1 0 0 1 1 1
0 0 0 1 0 0 4 0 0 1 1 0 1 0 0 1 1 1
0 0 0 1 0 1 5 0 0 1 1 0 1 0 0 1 1 1
0 0 0 1 1 0 6 0 0 1 1 0 1 0 0 1 1 1
0 0 0 1 1 1 7 0 0 1 1 0 1 0 0 1 1 1
0 0 1 0 0 0 8 0 1 0 0 0 0 0 0 0 1 0
0 0 1 0 0 1 9 0 1 1 0 0 0 0 0 0 1 0
0 0 1 0 1 0 10 0 1 0 0 0 0 0 0 0 1 0
0 0 1 0 1 1 11 0 1 1 0 0 0 0 0 0 1 0
0 0 1 1 0 0 12 0 1 0 0 0 0 0 0 0 1 0
0 0 1 1 0 1 13 0 1 1 0 0 0 0 0 0 1 0
0 0 1 1 1 0 14 0 1 0 0 0 0 0 0 0 1 0
0 0 1 1 1 1 15 0 1 1 0 0 0 0 0 0 1 0
... ... ...
1 1 1 1 1 1 63
estado ldB rshB ldA lshA ceC selR ldR fin
S0 1 0 1 0 0 ‐ 0 1
S1 0 0 0 0 0 0 1 0
S2 0 1 0 1 1 ‐ 0 0
S3 0 1 0 1 1 1 1 0
S4 0 0 0 0 0 ‐ 0 0
estado inicio Cz B0 estado'
S0 0 X X S0
S0 1 X X S1
S1 X X 0 S2
S1 X X 1 S3
S2 X X X S4
S3 X X X S4
S4 X 0 0 S2
S4 X 0 1 S3
S4 X 1 X S0
ROM 64×11 8. Diseño del controladordirección
44
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
A
B
inicio
fin
R
clk
estado
RB
RC
RA
000
000
XXXXXX
110
101
000
00
101
000000 000110
S0 S1 S3 S4 S2 S4 S3 S4 S0
010 001 000
001100 011000 110000
01 10 00
000110 011110
101
000110
000000
S0 RA Ain; RB Bin; 
fin 1; 
si (inicio=0) ir a S0;
si (inicio=1) ir a S1;
S1 RR 0; fin 0;
si (B0=0) ir a S2;
si (B0=1) ir a S3;
S2 RA RA << 1; 
RB RB >> 1;
RC RC + 1; fin 0;
ir a S4;
S3 RR RA + RR; 
RA RA << 1; 
RB RB >> 1; 
RC RC + 1; fin 0;
ir a S4;
S4 fin 0; 
si (Cz=1) ir a S0;
si (Cz=0 y B0=0) ir a S2;
si (Cz=0 y B0=1) ir a S3;
tiempo de cálculo: 2+3×2 = 8 ciclos
45
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Otro posible controlador: ROM + contador
S2 S3
S0
S1
S4
Estado inicial
(1,X,X)
(X,X,1)(X,X,0)
(X,1,X)
(X,0,1)(X,0,0)
(X,X,X) (X,X,X)
(0,X,X)
entradas del 
controlador: (inicio, Cz, B0)
ROM
64×13
a5 a2
ldr
selR
ceC
lshA
ldA
rshB
ldB
fin d0
d1
d2
d3
d4
d5
d6
a4 a3 a0a1
in
ic
io
B
0 C
z
d10
d7
d8
d9
d12
d11
CONT
cl e2 e1 e0
q2 q1 q0 ce
ld
q inicio Cz B0 e ld ce
S0 0 X X ‐ 0 0
S0 1 X X ‐ 0 1
S1 X X 0 ‐ 0 1
S1 X X 1 S3 1 0
S2 X X X S4 1 0
S3 X X X ‐ 0 1
S4 X 0 0 S2 1 0
S4 X 0 1 S3 1 0
S4 X 1 X S0 1 0
46
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Cálculo del coste y tiempo de ciclo
+
6464
64
10
64
64
64
FAFA
64
64
área: 64×29.49 = 1887 m2
retardo: 64×226 = 14464 ps
área: 64×11.05 = 707.2 m2
retardo: 1×223 = 223 ps
REG
cl
ld
n
n
n
n
área: n×11.05 + n×32.26 = n×43.31 m2
retardo CLKQ: 1×167 = 167 ps
retardo inD: 1×223 = 223 ps
ROM
64×11
CONT ASC ce
cl tc
5
SHT REG ld
cl
n
sh
n
64
área: n×23.04 + n×32.26 = n×55.3 m2
retardo CLKQ: 1×167 = 167 ps
retardo inD: 1×250 = 250 ps
HAHA
5
5
área: 5×15.77 + 5×32.26 = 240.6 m2
retardo CLKQ: 1×167 = 167 ps
retardo inD: 5×114 = 570 ps
área: 971 m2
retardo: 573 ps
= 0
área: 15,67 m2
retardo: 126 ps
47
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Cálculo del tiempo de ciclo
REG R
SHT REG A
10
SHT REG B
ld
ld
cl
cl
cl
A B
0
0
R
lsh
rsh
+
ld
inicio
fin
REG
cl
ROM
64×11
3
3
a5 a0
d10
d0
. . .
. .
 .
6464
64
64
64
64
32
32
32
64
32
31
B0
14464
573
167 250
167 250
167 223
223
167
223
transferencia retardo
RA Ain 990 ps
RB Bin 990 ps
fin  X 740 ps
RR 0 1186 ps
RA RA << 1 990 ps
RB RB >> 1 990 ps
RR RA + RR 15077ps
RC RC + 1 1350 ps
cálculo 
de estado 1089 ps
máximo 15077ps
1 1
15077 ∙ 10 s 	
CONT ASC ce
cl
= 0
5
167 570
126
tiempo de cálculo: 1 s
(66 ciclos × 15077 ps/ciclo)
48
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Cálculo del coste
REG R
SHT REG A
10
SHT REG B
ld
ld
cl
cl
cl
A B
0
0
R
lsh
rsh
+
ld
inicio
fin
REG
cl
ROM
64×11
3
3
a5 a0
d10
d0
. . .
. .
 .
6464
64
64
64
64
32
32
32
64
32
31
B0
1770
transferencia retardo
RA Ain 990 ps
RB Bin 990 ps
fin  X 740 ps
RR 0 1186 ps
RA RA << 1 990 ps
RB RB >> 1 990 ps
RR RA + RR 15077ps
RC RC + 1 1350 ps
cálculo 
de estado 963 ps
máximo 15077ps
1 1
15077 ∙ 10 s 	
3539
1887
707
2772
241
130
971
área: 12033 m2
CONT ASC ce
cl
= 0
5
16
tiempo de cálculo: 1 s
(66 ciclos × 15077 ps/ciclo)
49
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
Máximo común
divisor
A B
inicio
fin
clk
R
n
n n
rst
algoritmo de Euclides
begin
1. A := Ain;
2. B := Bin;
3. R := 0;
if (A<>0 and B<>0) then
begin
while (A<>B) do
if A>B then
4. A := A – B;
else
5. B := B – A;
6. R := A;
end if;
7. Rout := R;
end;
A3A2A1A0 B3 B2B1B0 R3R2R1 R0
1. 1 0 0 1 ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐
2. 1 0 0 1 0 1 1 0 ‐ ‐ ‐ ‐
3. 1 0 0 1 0 1 1 0 0 0 0 0
4. 0 0 1 1 0 1 1 0 0 0 0 0
5. 0 0 1 1 0 0 1 1 0 0 0 0
6. 0 0 1 1 0 0 1 1 0 0 1 1
50
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
CO
N
TR
O
LA
DO
R
-
01
1 0
REG A ld
cl
n
n
01
REG B ld
cl
n
n
0 1
REG R
n
cl
R
ld
A B
A ? B
A<>0 y B<>0
n
n
selA
cmp
ldA
seli
selR
nz
selB
cl
ldB
seld
2
01
0
n
ldR
fin
inicio
RUTA DE DATOS
51
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
RR 0
fin 0
nz
1
0
inicio
1
0
S0
S1
fin 0
cmp
0110
S2
RB RB-RARA RA-RB
RR RA
S3
00
RA Ain
RB Bin
fin 1
begin
1. A := Ain;
2. B := Bin;
3. R := 0;
if (A<>0 and B<>0) then
begin
while (A<>B) do
if A>B then
4. A := A – B;
else
5. B := B – A;
6. R := A;
end if;
7. Rout := R;
end;
52
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
RR 0
fin 0
nz
1
0
inicio
1
0
S0
S1
fin 0
cmp
0110
S2
RB RB-RARA RA-RB
RR RA
S3
00
RA Ain
RB Bin
fin 1
S0 RA Ain; RB Bin; 
RR 0; fin 1; 
si (inicio=0) ir a S0;
si (inicio=1) ir a S1;
S1 fin 0;
si (nz=0) ir a S0;
si (nz=1) ir a S2;
S2 fin 0;
si (cmp=00) ir a S3;
si (cmp=10) RA RA-RB, ir a S2;
si (cmp=01) RB RB-RA, ir a S2;
S3 RR RA; 
ir a S0;
53
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
entradas del 
controlador: 
S2
S0
S1
Estado inicial
(1,X,X)
(X,0,X)
(inicio, nz, cmp)
estado inicio nz cmp1 cmp0 estado'
S0 0 X X X S0
S0 1 X X X S1
S1 X 0 X X S0
S1 X 1 X X S2
S2 X X 0 0 S0
S2 X X 0 1 S2
S2 X X 1 0 S2
S3 X X X X S0
(0,X,X)
(X,1,X)
S3
(X,X,10)
(X,X,X)
(X,X,00)
(X,X,01)
estado cmp1 cmp0 selA selB ldA ldB seli seld selR ldR fin
S0 X X 0 0 1 1 ‐ ‐ ‐ 0 1
S1 X X ‐ ‐ 0 0 ‐ ‐ 1 1 0
S2 0 0 ‐ ‐ 0 0 ‐ ‐ ‐ 0 0
S2 0 1 ‐ 1 0 1 0 0 ‐ 0 0
S2 1 0 1 ‐ 1 0 1 1 ‐ 0 0
S2 1 1 ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐
S3 X X 0 0 0 0 ‐ ‐ 0 1 0
compatibles compatibles
54
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
entradas del 
controlador: 
S2
S0
S1
Estado inicial
(1,X,X)
(X,0,X)
(inicio, nz, cmp)
estado inicio nz cmp1 cmp0 estado'
S0 0 X X X S0
S0 1 X X X S1
S1 X 0 X X S0
S1 X 1 X X S2
S2 X X 0 0 S0
S2 X X 0 1 S2
S2 X X 1 0 S2
S3 X X X X S0
(0,X,X)
(X,1,X)
S3
(X,X,10)
(X,X,X)
(X,X,00)
(X,X,01)
estado cmp1 cmp0
selA
selB
selR
ldA
seli
seld
ldB ldR fin
S0 X X 0 1 1 0 1
S1 X X 1 0 0 1 0
S2 0 0 ‐ 0 0 0 0
S2 0 1 1 0 1 0 0
S2 1 0 1 1 0 0 0
S2 1 1 ‐ ‐ ‐ ‐ ‐
S3 X X 0 0 0 1 0
55
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
-
01
1 0
REG A ld
cl
n
n
01
REG B ld
cl
n
0 1
REG R
n
cl
R
ld
A B
A ? B
A<>0 y B<>0
n
n
2
01
0
n
REG
cl
2
3
ROM
64×7
a5 a0
d6
d0
. . .
. .
 .
fin
inicio
n
selA
cmp
ldA
seli
selR
nz
selB
ldB
seld
ldR
56
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
7:
M
ód
ul
os
 s
ec
ue
nc
ia
le
s 
bá
si
co
s
A
B
inicio
clk
estado
RB
RA
0000
0000
1001
0110
0000 0110
0000 1001
S0 S1 S2 S3 S0
0011 0110
0011 1001
S0 RA Ain; RB Bin; 
fin 1; 
si (inicio=0) ir a S0;
si (inicio=1) ir a S1;
S1 RR 0; fin 0;
si (nz=0) ir a S0;
si (nz=1) ir a S2;
S2 fin 0;
si (cmp=00) ir a S3;
si (cmp=10) RA RA-RB, ir a S2;
si (cmp=01) RB RB-RA, ir a S2;
S3 RR RA; 
ir a S0;
fin
R XXXX 00110000
cmp 00 00 1010 01
Temas/FCtema4-imprimible.pdf
José Manuel Mendías Cuadros
Dpto. Arquitectura de Computadores y Automática
Universidad Complutense de Madrid
Tema 4:
Módulos combinacionales básicos
Fundamentos de computadores
2
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Decodificador.
Multiplexor.
 Bus.
 Codificador.
 ROM (Read Ony Memory).
 Sumador/Restador. 
 Comparador.
 ALU (Arithmetic Logic Unit).
Transparencias basadas en los libros: 
• R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores.
• D. Gajsky. Principios de diseño digital.
3
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
E
2n-1
0 z0
z2 -1
0
n-1xn-1
x0
... ...
n
si la entrada toma la configuración 
binaria p, la salida (p)10‐ésima se activa
zi = E·mi(x)
Decodificador n a 2n
x n entradas de datos
z 2n salidas de datos
E 1 entrada de capacitación (op)
zi =
1 si E=1 y (x)10 = i
0 en caso contrario
4
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
Implementación directa
x1 x0 E
z0
z1
z2
z3
Decodificador 2 a 4
5
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
30 21
z0 z1 z2 z3
0 1
x0 x1
30 21
z4 z5 z6 z7
0 1
30 21
z8 z9 z10 z11
0 1
30 21
z12 z13 z14 z15
0 1
E
30 21
0 1
x2 x3
Implementación en árbol
Decodificador 4 a 16
6
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Aplicaciones al diseño:
1. Habilitar selectivamente 1 de n subcomponentes cada uno 
asociado a un índice (dirección) binaria.
2. Implementar directamente SPC usando puertas OR adicionales 
(que sumen cada unos de los mintérminos de la FC).
3
0
2
10
1
x0
x1
x1 x0 x1 x0
2
7
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
...
Multiplexor 2n a 1
z =
xi si E=1 y (s)10 = i
0 en caso contrario
2n-1
0x0
x2 -1
z
n
E
0n-1
...
s0sn-1
si la entrada de control toma la 
configuración binaria p, la salida 
equivale a la entrada (p)10‐ésima
z = E·( xi·mi(s) )
x 2n entradas de datos 
s n entradas de control
E 1 entrada de capacitación (op)
z 1 salida de datos
8
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
x0
x1
x2
x3
s0s1 E
z
Implementación directa
Multiplexor 4 a 1
9
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
01010101
0101
01
z
x2x3
s0
s1
s2
x0x1x6x7 x4x5
Implementación en árbol
Multiplexor 8 a 1
10
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Aplicaciones al diseño:
1. Conectar selectivamente varias entradas una misma salida.
2. Implementar directamente FC que tengan el mismo número de 
variables que entradas de control (transcribiendo su tabla de verdad).
3. Implementar funciones de manera que las EC a simplificar tengan 
menos variables.
x1x0
x3x2
0 1 23
00
01
00 01
4 5 67
11 10
11
10
12 13 1415
8 9 1011
0
1
f2
31
0
0
1
0
2
3
1
1
0
x0x1
x1 x01
0
2 3
x3
x2
01
x0x1f0 f1 f3 f2
f0
f1
f2
f3
11
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
...
Multiplexor 2n a 1 de k bits
2n-1
0x0
x2 -1
z
n
0n-1
...
s0sn-1
k
k
k
si la entrada de control toma la 
configuración binaria p, la salida 
equivale a la entrada (p)10‐ésima
x 2n entradas de datos de k bits
s n entradas de control
E 1 entrada de capacitación (op)
z 1 salida de datos de k bits
E
z =
xi si E=1 y (s)10 = i
0 en caso contrario
zj = E·( xij·mi(s) )
12
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
01010101
b1a1
s
b0a0b3a3 b2a2
z3 z2 z1 z0
Multiplexor 2 a 1 de 4 bits
s
a
z
01
b
4 4
4
13
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s a C2 43 91 7D
b 01 AB 77 A8 68
z C2 43 AB 77 A8 91 7D
retardo propagación
s
b
z
01
a
8 8
8
s
14
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s k
k
k
...
0
0n-1
sn-1 s0
2n-1
x0
x2 -1n
z
...
...
si la entrada de control toma la 
configuración binaria p, la salida 
equivale a la entrada (p)10‐ésima
x 2n entradas de datos de k bits
s
n entradas de control
z 1 salida de datos de k bits
15
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
......
Codificador 2n a n
x 2n entradas de datos 
z n salidas de datos
E 1 entrada de capacitación (op)
A 1 salida de actividad
z =
(i)2 si E=1 y xi = 1 y j, j≠i, xj=0
0 en caso contrario
A =
1 si E=1 y i, xi=1
0 en caso contrario
A
2n‐1
0x0
x2 -1
0
n‐1 zn-1
z0
n
E
zi = E·( xj ) con j  { (an-1...a0)2 / ai = 1 }
A = E·( xi )
si se activa la entrada p‐ésima y solo 
esa, la salida codifica p en binario
16
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
x0x7 E
z0
z1
z2
A
entrada 
activada z2 z1 z0
x0 0 0 0
x1 0 0 1
x2 0 1 0
x3 0 1 1
x4 1 0 0
x5 1 0 1
x6 1 1 0
x7 1 1 1
Implementación directa
Codificador  8 a 3
17
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
......
Codificador de
prioridad 2n a n
A
2n-1
0x0
x2 ‐1
0
n-1 zn‐1
z0
n
Ei
Eo
x 2n entradas de datos 
z n salidas de datos
Ei 1 entrada de capacitación (op)
Eo 1 salida de capacitación (op)
A 1 salida de actividad
la salida codifica en binario la 
entrada activa de más peso
z =
(i)2 si Ei=1 y xi = 1 y j, j>i, xj=0
0 en caso contrario
A =
1 si Ei=1 y i, xi=1
0 en caso contrario
Eo =
1 si Ei=1 y j, xj = 0 
0 en caso contrario
18
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
0
1
n-1
E
0
1
2 -1
n
z0
z1
zn-1
v2 -1n
x0
x1
x2 -1n
R
es
ol
uc
ió
n 
de
pr
io
rid
ad
es
Ei
A
Eo
A
v1
v0
vi = xi·( xj ) con j > xi
19
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
x0
x1
x2
x3
v0
v1
v2
v3
Implementación directa
Resolución de prioridades 
Codificador 4 a 2
20
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
A
3 02 1
x0x1x2x3
01
A
3 02 1
x4x5x6x7
01
A
3 02 1
x8x9x10x11
01
A
3 02 1
x12x13x14x15
01
A
3 02 1
01
z2z3
3 02 1
0
1
A
z0z1
2
2
2
2
Implementación 
en árbol
Codificador 16 a 4
21
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
3 02 1
x8x9x10x11
3A
7 46 5
x12x13x14x15
01
z2z3 z1
Implementación 
en cascada
Codificador 16 a 4
Ei EoE
3 02 1
x0x1x2x3
3A
7 46 5
x4x5x6x7
01
Ei Eo
z0A
22
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Aplicaciones al diseño:
1. Asociar un código a cada componente de un vector de entrada.
A
3
0
2
1 0
1
RSW0
RSW1
RSW2
RSW3
Te
cl
ad
o 
lin
ea
l
código de la
tecla pulsada
indica si hay alguna
tecla pulsada
23
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
R
O
M
d
OE
a
a 1 entrada de dirección de k bits 
d 1 salida de datos de n bits
CE 1 entrada de capacitación (op)
OE 1 entrada de capacitación de lectura (op)
dispositivo programable capaz de 
implementar n FC de k variables 
almacenando sus tablas de verdad 
Array de 2k
puertas AND 
de k entradas
fijas
Array de n 
puertas OR 
de 2k entradas 
programables
2k n
a d
k
k n
ROM 2k×n
(2k palabras de n bits) 
memoria no volátil de capaz de 
almacenar 2k palabras de n bits cada una
CE
24
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
CE
Array de puertas OR
Array de puertas AND
OE
fija programable d0d1d2
a1 a0
ROM 4×3
25
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
fija programable
0
3
1
21
0
Decodificador 2 a 4
d0d1d2
a1 a0
ROM 4×3
26
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Aplicaciones al diseño:
o Implementar directamente FC almacenando su tabla de verdad.
a1 a0 d2 d1 d0
0 0 0 1 1 0
1 0 1 1 1 0
2 1 0 0 1 1
3 1 1 1 0 0
d0d1d2
0
3
1
21
0
a1
a0 110110
011
100
d0d1d2
a1
a0
ROM
d0 = a1∙a0
d1 = a1 + a0
d2 = a1 + a0
27
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Mask Programmable ROM
o Se programa durante la fabricación del chip. 
o No puede borrarse/reprogramarse.
 PROM (Programmable ROM)
o Se programa eléctricamente usando un programador.
o No puede borrarse/reprogramarse.
 EPROM (Erasable Programmable ROM)
o Se programa eléctricamente usando un progamador.
o Se borra (chip completo) exponiéndola a luz ultravioleta.
 EEPROM (Electrically Erasable Programmable ROM) 
o Se programa/borra (palabra) eléctricamente usando un programador.
 Flash memory
o Se programa/borra (bloque) eléctricamente sin requerir programador.
28
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 La capacidad de las memorias se mide en bytes (8 bits)
o Cuando el número de bytes es alto, se utilizan prefijos.
 Históricamente, los prefijos indican cantidades potencias de 2
• Kilobyte (KB)  = 210 bytes  = 1.024 bytes
• Megabyte (MB)  = 220 bytes  = 1.048.576 bytes
• Gigabyte (GB)  = 230 bytes  = 1.073.741.824 bytes
 Sin embargo, desde hace algunos años su significado se ha homogeneizado 
con el definido en el Sistema Internacional de unidades (potencias de 10)
• Kilobyte (kB)  = 103 bytes  = 1.000 bytes
• Megabyte (MB)  = 106 bytes  = 1.000.000 bytes
• Gigabyte (GB)  = 109 bytes  = 1.000.000.000 bytes
o Y se han definido nuevos prefijos para indicar las potencias de 2 
• Kibibyte (KiB)  = 210 bytes  = 1.024 bytes
• Mebibyte (MiB)  = 220 bytes  = 1.048.576 bytes
• Gibibyte (GiB)  = 230 bytes  = 1.073.741.824 bytes
o No obstante, todavía no está generalizado el uso de los nuevos prefijos .
29
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Varias ROM se pueden componer para comportarse como 
una ROM de mayor anchura de palabra.
a
10 10
8
ROM 
210×8
8
ROM 
210×8
10
8
ROM 
210×8
10
8
ROM 
210×8
32
dImplementación multimódulo
ROM 210×32 (4 KiB) usando 4 ROM 210×8 (1 KiB)
30
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Varias ROM se pueden componer para comportarse como 
una ROM de mayor profundidad.
10
8
ROM 
210×8
8
ROM 
210×8
10
8
ROM 
210×8
10
8
ROM 
210×8
bus
OE OE OE OE
a9..0
8
a11..10
0
1
2
32
10
d
Implementación multimódulo
ROM 212×8 (4 KiB) usando 4 ROM 210×8 (1 KiB)
31
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
PLA
ROM
PAL
CPLD
interconexiones
(re)programables
32
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s +
ba
s
cico
nn
n
a, b 2 entradas de datos de n bits
ci 1 entrada de acarreo
s 1 salida de datos de n bits
co 1 salida de acarreo
realiza la suma binaria de a + b + ci
s = (a + b + ci) mod 2n
co =
1 (a + b + ci) ≥ 2n
0 en caso contrario
33
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
Implementación con
propagación de acarreos
FA
s0
b0a0
Sumador de 4 bitsciFA
s1
b1a1
FA
s2
b2a2
FA
s3
b3a3
co
s0
biai
ci
co
si
FA
(*) a·b + a·c + b·c = a·b + (a·b·c + a·b·c) + (a·b·c + a·b·c) = 
= a·b + a·b·c + a·b·c = a·b + (a·b + a·b)·c 
si = (ai  bi)  ci
co = ai·bi + ai·ci
+ bi·ci
= ai·bi + (ai  bi )·ci (*)
ci ai bi co si
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
34
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Varios sumadores se pueden componer en serie para para 
comportarse como un sumador de mayor anchura.
+
b3..0a3..0
s3..0
ci+
b7..4a7..4
s7..4
4 4 4 4
44
cO
Implementación serie
Sumador de 8 bits
35
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s -
ba
r
cico
nn
n
a, b 2 entradas de datos de n bits
ci 1 entrada de acarreo
r 1 salida de datos de n bits
co 1 salida de acarreo
realiza la resta binaria de a ‐ b ‐ ci
s = (a ‐ b ‐ ci) mod 2n
co =
1 (a ‐ b ‐ ci) < 0
0 en caso contrario
36
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
Implementación con
propagación de acarreos
Restador de 4 bits
ri = (ai  bi)  ci
co = ai·bi + ai·ci + bi·ci
biai
ci
co
si
FSci ai bi co ri
0 0 0 0 0
0 0 1 1 1
0 1 0 0 1
0 1 1 0 0
1 0 0 1 1
1 0 1 1 0
1 1 0 0 0
1 1 1 1 1
= ai·bi + (ai  bi )·ci
FS
s0
b0a0
ciFS
s1
b1a1
FS
s2
b2a2
FS
s3
b3a3
co
37
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Varios restadores se pueden componer en serie para para 
comportarse como un restador de mayor anchura.
-
b3..0a3..0
s3..0
ci-
b7..4a7..4
s7..4
4 4 4 4
44
cO
Implementación serie
Restador de 8 bits
38
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
a, b 2 entradas de datos de n bits
Gi, Li 2 entrada de acarreo
Go, Lo 2 salidas de comparación
compara 2 números binarios
=/</>
ba
nn
Go Lo
Gi
Li
Go =
1 si (a>b) o (a=b y Gi>Li)
0 en caso contrario
Lo =
1 si (a<b) o (a=b y Gi<Li)
0 en caso contrario
a = b
a ≠ ba > b
a < b
39
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
ai bi Gi Li Go Lo
0 0 0 0 0 0
0 0 0 1 0 1
0 0 1 0 1 0
0 0 1 1 0 0
0 1 0 0 0 1
0 1 0 1 0 1
0 1 1 0 0 1
0 1 1 1 0 1
1 0 0 0 1 0
1 0 0 1 1 0
1 0 1 0 1 0
1 0 1 1 1 0
1 1 0 0 0 0
1 1 0 1 0 1
1 1 1 0 1 0
1 1 1 1 0 0
biai
Go
Lo
LiGi
	
	
CMP
40
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
Implementación en serie
CMP
b0a0
Comparador de 4 bitsCMP
b1a1
CMP
b2a2b3a3
Go
Lo
CMP
b0a0b1a1
CMP
b2a2b3a3
CMPGoLo
Implementación en árbol
Comparador de 4 bits
41
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
a, b 2 entradas de datos de n bits
op 1 entrada de selección de operación
s 1 salida de datos de n bits
ov 1 salida de overflow
realiza la suma/resta en a y b
(interpretados en C2)
+/-
ba
s
op
nn
n
ov
s =
a + b si op = 0
= a + (b  op) + op
a + b + 1  si op = 1
ov =
1 (bn‐1 op)=0 y an‐1=0 y sn‐1=1 
ó
(bn‐1 op)=1 y an‐1=1 y sn‐1=0 
0 en caso contrario
a – b = a + (– b) =C2 a + C2(b) = a + C1(b) + 1 = a + b + 1  
42
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s FA
s0
b0a0
FA
s1
b1a1
FA
s2
b2a2
FA
s3
b3a3
op
ov
Implementación con
propagación de acarreos
Sumador/restador de 4 bits
43
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s FA
s0
b0a0
FA
s1
b1a1
FA
s2
b2a2
FA
s3
b3a3
op
Implementación con
propagación de acarreos
Sumador/restador de 4 bits
ov
44
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
a, b 2 entradas de datos de n bits
m 1 entrada de selección de modo
op 1 entrada de selección de operación
s 1 salida de datos de n bits
c 1 salida de acarreo
v 1 salida de overflow
z 1 salida de detección de cero
n 1 salida de detección de negativo
ba
s
m
nn
n
c
op
v
z ALU
2
m op1 op0 z
1 0 0 a + b
1 0 1 a – 1 = a + (‐1) =C2 a + 1
1 1 0 a – b
1 1 1 a + 1 = a – (‐1) =C2 a – 1
m op1 op0 z
0 0 0 not( a )
0 0 1 and( a, b )
0 1 0 a
0 1 1 or( a, b )
operaciones aritméticasoperaciones lógicas
n
45
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s +/- op1
m
s
10
n
30 21
0
1op1
op0
n n nn n n
a b
z
ov
c
n n
op0
n
n = sn-1
46
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 Los módulos presentan algunas características interesantes:
o Tienen estructuras genéricas fácilmente escalables.
o Procesan palabras de datos y no solo bits individuales.
o Pueden realizar distintas funciones según el valor de ciertas entradas 
de control.
o Tienen funcionalidades abstractas que permiten diseñar/describir de 
manera estructurada sistemas complejos sin tener recurrir a EC/FC:
• Basta con interconectarlos sin crear realimentaciones
• Y usar discrecionalmente puertas (glue logic) para adaptar señales.
47
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
 En muchos casos es posible obtener directamente una red 
de módulos combinacionales desde un enunciado.
x
z
n
n
valor absoluto de un 
número en C2
+
10
n
n n
x
n
0
1
z
n-1
z = abs( x ) =C2
x si xn‐1 = 0
C2(x) = not(x)+1 si xn‐1 = 1
z = abs( x ) =
x si x ≥ 0
‐x si x < 0
n
48
FC
ve
rs
ió
n 
12
/0
9/
14
te
m
a 
4:
M
ód
ul
os
 c
om
bi
na
ci
on
al
es
bá
si
co
s
Biblioteca de celdas: CMOS 90 nm
Módulo Área 
(m2)
Retardo 
(ps)
Consumo
estático
(nW)
Consumo
dinámico
(nW/MHz)
11.0592  223 84 8639
23.0400 250 163 15169
29.4912
191 (z0)
189 (z1)
132 (z2)
127 (z3)
23 543
29.4912 205 (s)226 (c) 159
5374 (s)
713 (c)
fu
en
te
: S
yn
op
sy
s 
(S
A
E
D
 E
D
K
 9
0 
nm
)

Temas/FCpensar4.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Temas para pensar de Fundamentos de Computadores Tema 4 / pág. 1 
 
TEMAS PARA PENSAR DE FUNDAMENTOS DE COMPUTADORES 
 TEMA 4 
1. En un codificador de prioridad convencional, la prioridad relativa de cada una de las 
entradas (la que determina el valor que codifica la salida cuando uno o varias entradas se 
activan) es fija. Algunas aplicaciones requieren que la prioridad pueda cambiar 
dinámicamente para dar un acceso a los recursos más equilibrado. Un codificador de 
prioridad 8 a 3 programable, aparte de las 8 entradas de solicitud convencionales, ri, tiene 
una entrada de control, c, que indica la petición de mayor prioridad. Por ejemplo, si c = 
“011”, la prioridad relativa de las entradas será r3, r2, r1, r0, r7,..., r4. En la figura se 
muestra un esquema de su estructura. El diseño utiliza la señal c para generar 2 máscaras 
de 8 bits que se usan para eliminar respectivamente la parte baja y alta de la palabra de 
solicitud. Aplicando ambas máscaras a la palabra de solicitud original y pasando ambos 
resultados por sendos codificadores de prioridad obtendremos 2 códigos, uno de los 
cuales deberá ser seleccionado en función de si existe o no una petición en la parte baja 
de la solicitud. Por ejemplo, si c es “011” y r es “11010101”, la máscara a usar para 
eliminar los bits menos significativos de la solicitud será “00001111” y la máscara a usar 
para eliminar los bits más significativos de la solicitud será su inversa, es decir, 
“11110000”. Aplicando ambas máscaras a r, tenemos “00000101” y “11010000” que 
generan respectivamente los códigos “010” y “111”. Finalmente “010” es seleccionado 
ya que la parte baja de la solicitud contiene
algún ‘1’. Diséñese el circuito generador de 
máscara. 
 
2. Diseñar un codificador de prioridad 8 a 3 dual. El sistema funcionará como un 
codificador de prioridad convencional con la diferencia de que tiene 2 salidas de 3 bits 
para códigos y 2 salidas de activación por las que indicará, cuando corresponda, los 
códigos de las 2 entradas de mayor peso que se activen. 
3. Se define la distancia Hamming entre 2 palabras binarias del mismo tamaño como el 
número de posiciones en las que ambas palabras difieren e indica el número de bits que 
deben invertirse para convertir una palabra en la otra. Un circuito que calcule la distancia 
Temas para pensar de Fundamentos de Computadores Tema 4 / pág. 2 
 
Hamming debe hacerlo en 2 fases. La primera, debe calcular una palabra que marque 
mediante ‘1’ los bits en los que difieren las palabras de entrada. La segunda, debe contar 
el número de ‘1’ resultantes en la anterior fase mediante un circuito conocido como 
contador de población. Por ejemplo, dadas las palabras “00010011” y “10010010”, cuya 
distancia Hamming es 2 ya que difieren en las posiciones 7 y 0, el resultado de la primera 
fase será “10000001” y el de la segunda “0010”. Diseñar un circuito combinacional que 
calcule la distancia Hamming entre 2 palabras de 8 bits (Pista: La primera fase se 
implementa usando puertas XOR. La segunda fase se implementa mediante un árbol de 
sumadores completos de 3 etapas en donde los sumadores son respectivamente de 1, 2 y 
3 bits y en cada etapa se suman 2 a 2 los resultados obtenidos en la anterior etapa. 
Téngase en cuenta que en cada etapa el carry-out de la suma debe concatenarse con el 
resultado de la suma para formar el operando que se sumará en la etapa siguiente). 
4. Diseñe un circuito combinacional que cuente el número de ceros consecutivos que hay a 
la izquierda de un vector de 16 bits dado. (Pista: Usar un contador de población que 
tenga una etapa previa que marque mediante ‘1’ los bits que valen ‘0’ a la izquierda del 
primer ‘1’ de la palabra de entrada). 
5. La multiplicación por constantes aparece en una multitud de aplicaciones de procesado 
digital de señal. Para evitar el uso de un multiplicador, que es un recurso muy costoso, en 
ocasiones se utiliza una implementación basada en ROM y sumadores que se basa en la 
siguiente idea. Supongamos que deseamos multiplicar por una constante un número 
entero sin signo codificado en binario con 8 bits, x. Dado que dicho número puede 
representarse como 2 dígitos hexadecimales (los nibbles superior e inferior del byte), su 
valor en notación polinomial en base 16 es: 1016×(x7..4) + (x3..0). Si multiplicamos dicha 
expresión por la constante el valor nos queda una expresión que permite calcular el valor 
del producto como: 1016×Cte×(x7..4) + Cte×(x3..0). Obsérvese que esta expresión requiere 
2 ROM (16×12) conteniendo el resultado de multiplicar la constante por los valores del 0 
al 15 (es decir, por los 16 dígitos hexadecimales posibles), un sumador de 12 bits (para 
sumar los productos parciales) y 1 desplazador a derechas de 4 bits (para implementar el 
producto por 1016). Diseñe un circuito que multiplique un número entero sin signo 
codificado en binario con 8 bits por 47 (2F16). 
6. Diseñe un conversor de código genérico que dado un número entero con signo 
codificado en C2 con n bits, lo represente en MyS con n bits. (Pista: Usar un sumador 
binario completo de n bits). 
7. Diseñe un conversor de código genérico que dado número entero con signo codificado en 
MyS con n bits, lo represente en C2 con n bits. (Pista: Usar un sumador binario 
completo de n bits). 
8. Diseñe un módulo genérico que calcule el valor absoluto de un número entero con signo 
codificado en C2 con n bits. El resultado deberá codificarse en binario de n-1 bits. 
(Pista: Usar un sumador binario completo de n bits). 
9. Diseñe un sumador genérico de 2 números enteros con signo codificados en MyS de n 
bits. (Pista: El circuito tendrá 2 etapas. La primera ordena los números según su 
magnitud y la segunda examina los signos para decidir si debe sumar o restar las 
magnitudes para obtener el resultado). 
10. En algunas aplicaciones de procesado digital de señal es conveniente usar sumadores con 
saturación para reproducir lo que sucedería en el correspondiente circuito analógico 
cuando los voltajes de salida de los amplificadores se saturan (es decir, llegan al máximo 
o mínimo valor posible). Un sumador saturado se comporta como un sumador 
Temas para pensar de Fundamentos de Computadores Tema 4 / pág. 3 
 
convencional excepto cuando se desborda. En ese caso, genera a su salida el mayor o 
menor valor representable en la codificación escogida según corresponda. Diseñe un 
sumador saturado genérico de números enteros con signo codificados en C2 con n bits. 
(Pista: El circuito tendrá 2 etapas. La primera suma normalmente los números y la 
segunda deja pasar el resultado o el valor saturado que corresponda). 
11. Diseñe un sumador de 2 números enteros sin signo codificados usando n dígitos BCD. El 
sistema se realizará componiendo n módulos sumadores de 2 dígitos BCD, cada uno de 
los cuales tendrá 2 entradas de 4 bits de datos, 1 entrada binaria de acarreo, 1 salida de 4 
bits de datos y 1 salida binaria de acarreo. (Pista: La suma deberá calcularse dígito a 
dígito usando sumadores binarios completos de 4 bits de manera que si el resultado 
excede 9 se sume 6, lo que equivale a restar 10, y usar el acarreo resultante en la suma 
del siguiente dígito). 
12. Diseñe un incrementador de números enteros sin signo codificados usando n dígitos 
BCD. El sistema tendrá una entrada y una salida de datos ambas de 4·n bits. (Pista: El 
sistema deberá realizarse componiendo módulos de 4 bits). 
Examenes/examenFebrero12-13.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Examen de Fundamentos de Computadores curso 2012-13, primer parcial / pág. 1 
 
EXAMEN DE FUNDAMENTOS DE COMPUTADORES 
CURSO 2012-13, PRIMER PARCIAL, 13 DE FEBRERO DE 2013 
 
1. (1 punto) Dados los siguientes números A = +43 (en decimal), B = -64 (en decimal), 
C= +57 (en octal) y D = +7F (en hexadecimal): 
a) (0,2 puntos) Indique el número mínimo de bits necesario para representar A y B 
en C2. 
b) (0,4 puntos) Exprese A, B, C y D en complemento a dos con 8 bits. 
c) (0,4 puntos) En la anterior representación, efectúe las operaciones (A-B) y (C-D) 
indicando si hay desbordamiento o acarreo y el por qué. 
2. (1 punto) Dadas las funciones: 
 , , , ∑m 1,3,10,11,12,13 	 
 , , 	 
Obtenga una expresión de conmutación de la función x , x , x , x ∙ en forma 
de suma de mintérminos canónica. 
3. (3 puntos) Se desea realizar un circuito combinacional que permita clasificar, según su 
forma, las piezas que se sitúan en un receptáculo. 
Para ello, las entradas del sistema están conectadas a una matriz de 4 células 
fotoeléctricas dispuestas como se muestra en la figura. 
 Cuando no hay pieza en el receptáculo, todas las células generan valor 0. 
 Cuando la hay, unas células generan valor 0 y otras 1 según la forma de la pieza 
(véanse algunos ejemplos en la figura). 
El sistema generará un vector de 2 bits indicando si la pieza es cuadrada (00), triangular 
(01), en forma de L (10) o defectuosa (11), es decir, no es una de las anteriores. 
Considérese que todas las piezas encajan en el receptáculo pero que podrán estar rotadas 
90º, 180 ó 270º. 
Se pide: 
a) (1 punto) Indicar la tabla de verdad del sistema. 
b) (2 puntos) Diseñarlo utilizando el menor número de puertas NAND e inversores. 
 
 
A = 0
D = 0
C = 0
B = 0
A B
C D
A = 1
D = 0
C = 1
B = 1
A B
C D
A = 0
D = 1
C = 1
B = 0
A B
C D
A = 1
D = 1
C = 1
B = 1
A B
C D
clasificador F
A
D
C
B 2
A B
C D
Exam
4. (2
e
 
 
 
 
 
 
 
S
5. (3
fu
e


S
c
e
S
men de Fundam
2 puntos) S
en la tabla. 
Se pide comp
3 puntos) S
fuentes (llam
encienden de
 Si el va
encendi
encendi
 Si el val
Siempre que
correspondie
están apagad
Se pide: 
a) (1,5 
máqu
b) (0,5 p
trans
c) (1 pu
tama
mentos de Com
Sea el regist
pletar el sig
Se quiere d
madas a, b, c
epende de u
alor de S e
das; c y d
das; a y b: a
lor de S es 0
e cambia el
ente. El sist
das y desde 
puntos) E
uina de Moo
puntos) Ind
sición de est
unto) Imple
año mínimo.
mputadores
tro multifun
guiente crono
diseñar el si
c y d) que h
una señal de 
es 1, la sec
d: apagadas
apagadas)...
0, la secuenc
l valor de 
tema tiene a
el que salta 
specificar e
ore. 
dicar las tabl
tados del sis
ementar el si
. 
nción de la 
ograma: 
istema que 
hay en un p
control S. 
cuencia es: 
s), (b y c: 
cia es: ad, b
S, se empie
además un 
a la corresp
el sistema 
las de verda
stema. 
istema med
c
figura, que 
controla el 
parque. La s
ab, bc, cd
encendidas
bc, ad, bc…
eza por el 
estado inic
pondiente se
mediante u
ad que espec
iante biestab
C1C0 Mo
00 
01 De
10 
11 
curso 2012-13
realiza las 
encendido 
ecuencia en
d, ab, bc…
s; a y d: 
 
primer esta
ial en el qu
ecuencia seg
un diagrama
cifican las fu
bles D y una
odo de funcio
Carga en pa
esplazar a la 
Rotar a la d
Mantener e
3, primer parci
funciones d
y apagado 
n la que se a
… Es decir 
apagadas), 
ado de la s
ue todas las
gún el valor 
a de estado
funciones de
na memoria 
onamiento 
aralelo 
izquierda 
derecha 
el valor 
ial / pág. 2 
definidas 
de las 4 
apagan y 
(a y b: 
(c y d: 
ecuencia 
s fuentes 
de S. 
os como 
e salida y 
ROM de 
Examenes/examenSept11-12 (primer parcial).pdf
 
Exam
 
 
1. (
a
b
c
2. (
a
b
3. (3
ti
ru
p
e
 
Facu
Unive
men de Fundam
EXA
CURSO 2
1 punto) Da
A 
a) (0.4 pun
b) (0.3 pun
c) (0.3 pun
las opera
qué. 
1 punto) Se
a) (0.25 pu
b) (0.75 pu
 
3 puntos) S
iene 2 entra
uido y la en
parte, la sali
es igual a 1)
x
clk
estado
z
ultad de In
ersidad Complu
mentos de Com
AMEN D
2011-12, EX
ados los núm
= (1110101
ntos) Determ
ntos) Repres
ntos) Utiliza
aciones (A-B
ea el siguien
z
untos) Dibuj
unto) Comp
Se desea dis
adas y 2 sa
ntrada C lo
ida G habili
 o bien algu
x
k
o 
a
S0
z
1
0
b
nformática 
utense de Mad
mputadores
E FUND
XAMEN FIN
meros: 
10)C2, B = (0
minar el val
sentar C y D
ando únicam
B) y (-C+D
nte sistema s





x
tz
0
1
)(
je su diagram
plete el sigui
señar el siste
alidas, todas
 hará cuand
ita un gener
unas palabra
 
a 
drid 
AMENTO
NAL (1ER. PA
00111101)C
lor de los nú
D en notació
mente notaci
D), indicando
secuencial: 
 
casoen
tt t1,2,
ma de estad
iente cronog
ema de con
s ellas bina
do haya un 
rador de son
as (si L es ig
curso 2011-1
OS DE C
ARCIAL), 6 D
C2, C = -(523
úmeros en d
n en comple
ión en comp
o si hay des

contrarioo
óaaa=
dos como má
grama: 
ntrol de una 
arias. La en
chupete en
nidos que re
gual a 0). 
2, examen fin
OMPUTA
DE SEPTIEM
3)8 y D = +(
decimal. 
emento a 2 d
plemento a 2
bordamient
bbb
 
áquina Meal
muñeca int
ntrada R val
n la boca de
eproduce o 
nal (1er. parcia
ADORES 
MBRE DE 20
(543)8 
de 10 bits. 
2 de 10 bits 
to o acarreo
aly. 
teractiva. El
ldrá 1 cuan
e la muñeca
bien un llan
al) / pág. 1 
12 
efectuar 
 y el por 
 
l sistema 
ndo haya 
a. Por su 
nto (si L 
 
Examen de Fundamentos de Computadores curso 2011-12, examen final (1er. parcial) / pág. 2 
Una vez encendida, la muñeca se encontrará en estado “tranquila” donde, si no hay 
estímulos, ni habla, ni llora. Si se hace ruido, sigue “tranquila” y habla. Si se le pone el 
chupete (haya o no ruido), dejará de hablar (si lo estuviera haciendo) y pasará al estado 
“dormida”. En el estado “dormida” no hace nada y permanecerá en él hasta que, sin 
tener el chupete puesto, se escuche un ruido. En ese caso llorará y pasará al estado 
“asustada”. En el estado “asustada” permanecerá llorando mientras el ruido se 
mantenga. Cuando el ruido desaparezca dejará de llorar y pasará a estar “dormida” o 
“tranquila” en función de si tiene o no el chupete puesto. 
Se pide: 
a) (1.5 puntos) Especificar el sistema como máquina de Mealy. 
b) (1.5 puntos) Implementarlo utilizando un contador mod-4 como el de la figura y el 
menor número de puertas lógicas. 
 
 
 
 
 
 
Contador mod-4 
Load 
Cuenta 
Q1 Q0 
E1 E0 
Reloj 
Examenes/examenJunio12-13 (primer parcial).pdf
 
Exam
 
 
1.- (0,
D= 77
a
b
c
 
 
2.- (1,
de la f
 
3.- (3
expen
toma 
de 5 o
(10)2 
máqu




Se pid
(1,5 p
(0,5 p
sistem
(1 pun
 
 
Facu
Unive
men de Fundam
,5 puntos) Da
7 (en hexadec
a) Indique el
b) Exprese A
) Efectué la
,5 puntos) An
función F(x0,
3 puntos) Se
ndedora de ca
el valor (00)2 
o 10 céntimos
respectivame
ina se compor
 Cada caram
 El cliente 
 Cuando el
quedando 
si un clien
máquina e
seguir com
 El cliente
entonces e
máquina. 
de: 
puntos) Espec
puntos) Indica
ma. 
nto) Impleme
ultad de In
ersidad Complu
mentos de Com
FU
PR
ados los sigui
imal): 
 número de bi
A,B,C y D en 
as operaciones
nalizar el sigu
x1,x2). Supon
e quiere dise
aramelos. Dich
mientras no s
s. Cuando se i
ente. Para exp
rta de la siguie
melo cuesta 1
puede ir intro
l saldo introd
almacenado e
nte introduce 
expende un ca
mprando. 
e puede pulsa
el saldo actu
cificar el sistem
ar las tablas d
entar el sistem
nformática 
utense de Mad
mputadores
UNDAMEN
EXAM
RIMER PAR
entes número
its necesarios 
complemento
 (A-B) y (C-D
iente circuito 
ner activa la p
ñar un circu
ho controlado
se introduzca n
introduce una 
pender un car
ente manera:
5 céntimos. 
duciendo mon
ducido alcanza
el saldo restan
dos monedas
aramelo y deja
ar en cualqui
al y quedará 
ma mediante u
de verdad que
ma mediante bi
 
a 
drid 
NTOS DE C
EN FINAL
RCIAL 18
s A=+34 (en 
para represen
o a dos con 8 b
D) indicando s
combinaciona
patilla de enab
uito digital qu
or recibe una 
ninguna mone
moneda de 5
ramelo el con
nedas en el or
a o supera lo
nte por si el c
s de 10 céntim
a almacenado
ier momento 
a la espera 
 
un diagrama d
e especifican l
iestables D y u
c
COMPUTA
L DE JUNI
DE JUNIO
decimal), B= 
ntar A y B en C
bits. 
si hay desbord
al y obtener la
le de todas las
ue controle e
señal de entr
eda en la máq
 o 10 céntimo
ntrolador deb
rden que quier
os 15 céntimo
liente quiere c
mos seguidas,
os los 5 céntim
un botón de
de que algún
de estados com
las funciones 
una memoria R
curso 2012-13
ADORES 
IO 
O 2013 
-46 (en decim
C2 
damiento o aca
a expresión de
s componente
 
el funcionami
rada S proced
quina, o la mon
os la señal S t
erá activar la
ra. 
s la máquina 
comprar otro 
 al introducir
mos sobrantes 
e reinicio, la 
n nuevo clien
 
mo máquina de
de salida y tr
ROM de tama
3, primer parci
mal), C= 75 (e
arreo y el por 
e conmutación
es. 
miento de una
dente de un s
neda introduc
toma los valor
a señal de sa
a expende un 
caramelo. Po
r la segunda m
s por si el clie
máquina le 
nte comience 
e Moore. 
ransición de e
año mínimo. 
ial / pág. 1 
en octal) y 
qué. 
n canónica 
a máquina 
sensor que 
cida no sea 
res (01)2 y 
lida z. La 
caramelo, 
r ejemplo, 
moneda la 
ente quiere 
devolverá 
a usar la 
estados del 
Examenes/examenFebrero13-14.pdf
 
Exam
 
 
1. (
h
2. (
O
su
3. (3
d
m
h
E
d
b
S
E
s



S
 
 
 
 
 
 
 
Facu
Unive
men de Fundam
EXA
1 punto) D
hexadecimal
a) (0,4 
comp
b) (0,6 
indic
A+B
1 punto) Da
 
 
Obtenga la e
uma de prod
3 puntos) S
debe estar e
más o meno
humedad qu
El sistema re
de volumen:
baja (0), med
Si, por ejemp
El sistema, d
ecado codif
 Menor o
 Mayor d
 Mayor o
Se pide: 
a) (1 pu
b) (2 pu
ultad de In
ersidad Complu
mentos de Com
AMEN D
CURSO 20
Dados los s
l). 
puntos) Ex
plemento a d
puntos) Efe
cando el va
B, A-B. 
adas las fun
, , ,
, ∑m
expresión de
ductos canó
Se desea im
en funcionam
os tiempo d
e tenga. 
ecibe estos 
 poca ropa 
dia (1), alta 
tiempo( vo
plo, hay poc
tiem
de acuerdo 
ficado en bin
o igual que 3
de 30’ y men
o igual a 60’
unto) Indica
untos) Diseñ
nformática 
utense de Mad
mputadores
E FUND
13-14, PRIM
siguientes n
xpréselos c
dos. 
fectúe las sig
alor decima
nciones: 
∑m 0,
m 0,2 
e conmutaci
ónica. 
mplementar 
miento una 
de acuerdo 
datos codifi
(0), cantida
(2). El tiem
olumen, hum
ca ropa y su
mpo( 0, 2 ) =
con el tiem
nario que de
30’, program
nor que 60’
’, programa 
ar la tabla de
ñarlo utiliza
 
a 
drid 
AMENTO
MER PARCIA
números: A
con el mism
guientes op
al que se p
,1,3,4,5,8,9,
ión de la fun
un sistema
secadora i
con la can
ficados en b
ad media (1)
mpo de secad
medad ) = 30
u humedad e
30’ + (0+2)
mpo calculad
ebe realizar 
ma corto (0)
, programa
a largo (2). 
e verdad del
ando el men
c
OS DE C
AL, 4 DE FE
A = +4F (en
mo número
eraciones (o
produce cua
,10 	 
nción x ,
a combinaci
ndustrial. L
ntidad de r
binario por 2
), mucha rop
do se calcula
0’ + (volume
es alta, el tie
)×10’ = 30’ 
do, indicará 
la secadora
); 
normal (1) 
l sistema. 
nor número d
curso 2013-14
OMPUTA
EBRERO DE 2
n hexadecim
de bits en
operando en
ando no hay
x , x , x
onal que re
La secadora 
ropa introdu
2 entradas q
pa (2); y el 
a con la sigu
en+humedad
mpo de seca
+ 20’ = 50’
por una sa
. Si el tiemp
de puertas N
4, primer parci
ADORES 
2014 
mal) y B = 
n representa
n compleme
ya desbord
∙ en f
egule el tiem
funcionará
ucida y el 
que indican 
tramo de h
uiente funció
d)×10’ 
ado será: 
’ 
alida el prog
po es: 
NAND e inv
ial / pág. 1 
-1B (en 
ación en 
ento a 2) 
amiento: 
forma de 
mpo que 
á durante 
nivel de 
el tramo 
humedad: 
ón: 
grama de 
versores. 
Exam
4. (2
S
5. (3
c
v
ej
P
d
s


E
s
c
v
S
 
men de Fundam
2 puntos) E
Se pide: 
a) (1 pu
b) (1 pu
3 puntos) 
circulación e
vehículos de
eje de coche 
Para compro
de reloj que
iguientes re
 En caso
menos 1
 En caso
ciclos de
En caso de q
alida multa 
corresponda 
volverá al es
Se pide: 
a) (2 p
máqu
b) (1 pu
clk
senso
M
mentos de Com
El diagrama 
unto) Obten
unto) Comp
Se desea 
en un túnel p
e dos ejes). 
detectado, 
obar si un ve
e transcurren
eglas: 
o de que se h
1 ciclo de re
o de detecció
e reloj hasta
que no se cu
(M) y volve
al mismo ti
stado inicial
puntos) Esp
uina de Mea
unto) Imple
k
or
M
1
0
no
eje
mputadores
de estados d
ner un diagra
pletar el cron
diseñar un 
por el que ú
Para ello se
eje de camió
ehículo circu
n entre la d
haya detecta
eloj hasta la 
ón de eje de
a la detecció
umplan los 
erá al estado
ipo de vehíc
. La figura m
pecifique el
aly, definien
mente el sis
eje
coche
o
e
detectado
eje delante
coche 1
no ha
1 cicl
de la figura 
ama de tran
nograma. 
sistema se
únicamente p
e instala un 
ón detectad
ula a la velo
detección de
ado el eje d
detección d
elantero de 
ón del eje tra
márgenes d
o inicial. En
culo que el 
muestra un e
l sistema m
ndo las entra
stema utiliza
no
eje
no
eje
eje
coche
o
ero
detectado
eje trasero
coche 1
a transcurrido
lo: hay multa
c
representa u
nsición de es
ecuencial p
pueden circ
sensor de p
o y eje no d
ocidad perm
el eje delan
delantero de 
del trasero. 
un camión,
asero. 
de tiempo e
n caso de qu
delantero a
ejemplo del
mediante un
adas, salidas
ando biestab
no
eje
d
eje
curso 2013-14
un reconoce
stados equiv
ara control
ular coches 
presión que 
detectado. 
mitida el sist
ntero y el tr
un coche, d
deberán tra
el sistema ac
e la detecció
ctivará una 
l comportam
n diagrama
s y estados. 
bles D y una
eje
coche
detectado
e delantero
coche 2
ha tran
1 ciclo: no
4, primer parci
edor de patr
valente (tipo
lar la veloc
 y camiones
ofrece tres 
tema mide l
rasero aplic
deberá trans
anscurrir al 
ctivará una 
ón del eje tr
señal de err
miento esper
a de estado
 
a memoria R
no
eje
e
co
detect
eje tras
coche
nscurrido
o hay multa
ial / pág. 2 
rón. 
o Mealy). 
cidad de 
s (ambos 
lecturas: 
os ciclos 
cando las 
scurrir al 
menos 2 
señal de 
rasero no 
ror (E) y 
rado. 
os como 
ROM. 
eje
che
ado
sero
e 2
Examenes/examenJunio11-12 (primer parcial).pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Examen de Fundamentos de Computadores curso 2011-12, examen final (1er. parcial) / pág. 1 
 
EXAMEN DE FUNDAMENTOS DE COMPUTADORES 
CURSO 2011-12, EXAMEN FINAL (1ER. PARCIAL), 11 DE JUNIO DE 2012 
 
1. (1.5 puntos) Dados los números A = -(25)10, B = +(101)10, C = -(64)16 y D = +(79)16 
a) (0.6 puntos) Represéntelos en complemento a 2 y usando 8 bits. 
b) (0,6 puntos) Efectúe las operaciones (A-B) y (-C+D) indicando si hay 
desbordamiento o acarreo y el por qué. 
c) (0,3 puntos) Represente (-B) en complemento a uno y en magnitud y signo ambos 
con 8 bits. 
2. (3 puntos) Un sistema combinacional recibe como entrada (X) un número del 1 al 6 
codificado usando el código Gray de 3 bits. El sistema tiene otra entrada de control 
(Inc/Dec) que indica si la salida Z es la entrada + 1 o la entrada – 1, es decir: 






11
01
Dec/IncsiX
Dec/IncsiX
Z 
La salida también está codificada en Gray de 3 bits. Se pide: 
a) (1 punto) Obtener la tabla de verdad. 
b) (2 puntos) Implementar el sistema usando multiplexores 4 a 1. 
Nota: La siguiente tabla muestra la codificación Gray de 3 bits: 
0 = (000) 1 = (001) 2 = (011) 3 = (010) 4 = (110) 5 = (111) 6 = (101) 7 = (100) 
3. (1.5 puntos) Sea el siguiente sistema secuencial: 
 


 

contrariocasoen
abbóbba=t1,t2,tx
)t(z
0
1
 
a) (0.5 puntos) Dibuje su diagrama de estados. 
b) (1 punto) Complete el siguiente cronograma: 
x
clk
estado
a
S0
z
1
0
b
 
Exam
4. (
a
E
d
c
c
n
a
U
tr
c
S
a
b
 
 
men de Fundam
(4 puntos) 
aquellos coc
El sistema te
del pavimen
coches las en
correspondie
nunca amba
alternando (e
Un coche ir
ranscurren d
caso deberá 
Se pide: 
a) (2 punto
b) (2 punto
lógicas. 
mentos de Com
Se desea 
ches que cir
endrá 2 entr
nto y una sa
ntradas vald
ente entrada
s entradas v
es decir, tras
rá a más v
desde la act
ser fotograf
os) Especific
os) Impleme
mputadores
diseñar un 
culen con e
radas (A y 
alida (F) con
drán 0 y cad
a se activará
valdrán simu
s un pulso e
velocidad de
tivación de 
fiado (véase 
car el sistem
entarlo utili
n sistema qu
exceso de ve
B) conectad
nectada al d
da vez que 
á (valdrá 1 
multáneamen
en A vendrá 
e la permit
A hasta la 
 la figura).
ma como má
izando 2 bi
curso 2011-1
ue permita 
elocidad por
das a sensor
disparador d
un coche p
durante un 
nte 1 y que 
siempre un
tida si el n
activación 
áquina de M
estables D 
2, examen fin
fotografiar
r una carret
res de presi
de una cám
ase por enc
ciclo de rel
los pulsos e
n pulso en B 
número de 
de B es me
Mealy. 
y el menor 
nal (1er. parcia
r las matríc
tera. 
ión ubicado
mara. En aus
cima de un s
loj). Supóng
en A y en B
 y viceversa
ciclos de r
enor que 3, 
r número de
al) / pág. 2 
culas de 
os debajo 
sencia de 
sensor la 
gase que 
B se irán 
a). 
reloj que 
en cuyo 
e puertas 
Examenes/examenJunio13-14 (primer parcial).pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Examen de Fundamentos de Computadores curso 2013-14, primer parcial / pág. 1 
FUNDAMENTOS DE COMPUTADORES 
EXAMEN FINAL DE JUNIO 
PRIMER PARCIAL 18 DE JUNIO 2014 
 
1.- (0,5 puntos)
Dados los siguientes números A=+54 (decimal), B= -37 (hex.) y C= +101 (binario): 
a) Exprese los tres números con el mimo número de bits en complemento a 2 
b) Efectué las operaciones (A-B) y (B-C) indicando si hay desbordamiento o acarreo y el por qué. 
2.- (1,5 puntos) El diagrama de estados de la Figura representa un reconocedor de patrón. Se pide: 
a) Obtener un diagrama de transición de estados equivalente (tipo Mealy). 
b) Completar el cronograma. 
 
S0
‐‐‐‐‐‐‐‐
0
S1
‐‐‐‐‐‐‐‐
0
S2
‐‐‐‐‐‐‐‐
0
S3
‐‐‐‐‐‐‐‐
1
a
b
S0
S0
Estados
Moore
Estados
Mealy
Salida
Moore
Salida
Mealy
b
a
a
b b
a
a
b
 
3.- (2.5 puntos) Se desea diseñar un sistema secuencial para controlar el funcionamiento de una máquina de 
café que sirve café sólo o con leche. El sistema tiene dos entradas, la tecla Inicio y la tecla (CCL), y cinco 
salidas como se observa en la figura. 
 
En el estado inicial todas las salidas valen 0. El sistema permanece en este estado mientras la entrada Inicio 
valga 0. Al activar la señal Inicio el sistema atravesará cinco etapas: preparar café (1 ciclo), servir café (2 
ciclos), servir leche (2 ciclos), enfriamiento (1 ciclo) y notificación al usuario (1 ciclo). Solo se servir ́ leche 
en el café si el usuario ha activado la señal CCL. En caso de no activarse esta señal, el sistema pasará 
directamente a la fase de enfriamiento tras servir el café. 
Durante la fase de preparación de café se activarán las salidas PC y PV. Para servir café y posteriormente 
leche el sistema activará las señales SC y SL durante los ciclos pertinentes. En la fase de enfriamiento, todas 
las salidas valdrán 0. Finalmente, se notificar ́ al usuario de que su café está listo activando la señal L durante 
un ciclo de reloj, y a continuación se volverá al estado inicial. 
Se pide: 
a) (1 punto) Especificar el sistema secuencial como máquina de Moore. 
b) (1 puntos) Diseñar la lógica de transición de estados haciendo uso de un contador módulo 8 y el 
mínimo número de puertas lógicas. 
c) (0.5 puntos) Diseñar la función de salida usando el mínimo número de puertas lógicas. 
 
Examenes/examenFebrero11-12.pdf
 
Facultad de Informática 
Universidad Complutense de Madrid 
 
Examen de Fundamentos de Computadores curso 2011-12, primer parcial / pág. 1 
 
EXAMEN DE FUNDAMENTOS DE COMPUTADORES 
CURSO 2011-12, PRIMER PARCIAL, 30 DE ENERO DE 2012 
 
1. (1 punto) Dados los siguientes números A = +35 (en decimal), B = -27 (en decimal), 
C = +22 (en octal) y D = +28 (en hexadecimal): 
a) (0,4 puntos) Expréselos en representación en complemento a dos con 8 bits. 
b) (0,4 puntos) Efectué las operaciones (A-B) y (-C-D) indicando si hay 
desbordamiento o acarreo y el por qué. 
c) (0,2 puntos) Represente (-B) en complemento a uno y en magnitud y signo 
ambos con 8 bits. 
2. (1 punto) Considere las siguientes expresiones de conmutación: 
 , , , ∑ 0,1,8,10,11 	∑ 2,3,6,7 	 
 x, y, z, w 	 yz yz	
Obtenga la forma simplificada de f x, y, z, w 	AND	g x, y, z, w . 
3. (3 puntos) Se desea diseñar un sistema combinacional automático para controlar el 
funcionamiento de un aparato de calefacción y aire acondicionado. El sistema tiene 2 
entradas: D, que indica si es de día o de noche (D=0 noche, D=1 día) y T, que indica en 
qué rango de valores está la temperatura de la habitación según la tabla: 
 
 
Temp < 15 16 < Temp < 22 23 < Temp < 26 27 < Temp < 32 Temp > 33 
T 0 1 2 3 4 
El sistema tiene 3 salidas: C, que enciende la calefacción, A, que enciende el aire 
acondicionado y Turbo, que hace que la calefacción o el aire acondicionado funcionen a 
doble potencia. 
El funcionamiento del sistema es el siguiente: 
 Durante el día la calefacción se enciende en modo Turbo si la temperatura es menor 
de 15 y se enciende en modo normal si la temperatura está entre 16 y 22. 
 Durante el día el aire acondicionado se enciende en modo Turbo si la temperatura es 
superior a 33 y se enciende en modo normal si está entre 27 y 32. 
 Durante la noche no se enciende el Turbo. Sólo se enciende la calefacción si la 
temperatura es menor que 15 y el aire acondicionado si la temperatura es mayor de 
33. 
 Cuando la temperatura está entre 23 y 26 grados no se enciende nada. 
Se pide: 
a) (1 punto) La tabla de verdad del sistema. 
b) (2 puntos) Diseñarlo utilizando multiplexores 4 a 1 e inversores. 
 
Exam
4. (2
5. S
u
s
q
su
E
d
tr
fu




S
in
a/0
men de Fundam
2 puntos) E
a) (0,2 p
b) (0,2 p
c) (1,6 p
Sea un tren e
un sensor de
istema que,
que el tren 
uperior, dos
El sistema ti
durante un c
rayectos cir
función del v
 Cuando 
 Cuando 
 Cuando 
 Cuando 
Suponiendo 
ndicados en
a) (1,5 p
b) (1,5 p
de pu
S0
S3
b/0
b/0
a/1
in
mentos de Com
El diagrama 
puntos) ¿Q
puntos) ¿Q
puntos) Co
eléctrico de 
e presencia 
, leyendo el
realice ind
s vueltas por
iene como e
ciclo de rel
culares supe
valor en las 
C1=0 y C2
C1=1 y C2
C1=0 y C2
C1=1 y C2
que el tre
n la figura, s
puntos) Esp
puntos) Im
uertas lógica
S1
S2
a/0
a/0
b/0
nicial
mputadores
de estados d
ué tipo de s
ué patrón re
mplete el cr
juguete con
(P) y dos 
l valor del 
definidament
r el tramo in
entrada P y 
oj) cuando 
erior e infer
salidas C1 y
2=0, el tren r
2=1, el tren r
2=1, el tren p
2=0, el tren p
en se encue
e pide: 
pecificar el 
mplementarlo
as. 
b/0
0
entrada
clk
estado
salida
de la figura 
istema secu
econoce? 
ronograma.
n un trazado
cambios de
sensor y co
nte la siguie
nferior, una 
como salida
el tren pas
rior. Por su 
y C2: 
realiza recor
realiza recor
pasa del tram
pasa del tram
entra en la 
sistema com
o utilizando 
b
a
S0
1
0
c
representa u
uencial es: M
 
o de vías en
e agujas (C
ontrolando l
ente secuen
vuelta en oc
as C1 y C2
sa por el tra
parte el tren
rridos circul
rridos circul
mo superior
mo inferior 
posición i
mo máquina
un contado
 
curso 2011-12
un reconoce
Mealy o Moo
n forma de o
1 y C2). S
los cambios
ncia: dos vu
cho. 
. La entrada
amo de vía 
n seguirá un
lares por el t
lares por el t
r al inferior. 
al superior. 
nicial y cir
de Moore 
or módulo-8
2, primer parci
edor de patr
ore? 
ocho que dis
Se desea di
s de agujas,
ueltas por e
a P se activa
a que compa
na trayectori
tramo super
tramo inferi
rcula en el
8 y el menor
ial / pág. 2 
rón. 
spone de 
señar un 
 permita 
el tramo 
a (vale 1 
arten los 
ia que es 
rior. 
ior. 
l sentido 
r número