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 XY.
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 ( 8m): 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
xD1 180 ps
xD0 271 ps
CLK1z 347 ps
CLK0z 347 ps
CLK1D1 584 ps
CLK1D0 518 ps
CLK0D1 584 ps
CLK0D0 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 CLKQ: 1×167 = 167 ps
retardo inD: 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 CLKQ: 1×167 = 167 ps
retardo inD: 1×250 = 250 ps
HAHA
5
5
área: 5×15.77 + 5×32.26 = 240.6 m2
retardo CLKQ: 1×167 = 167 ps
retardo inD: 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