Sei sulla pagina 1di 22

SOLUCIÓN DEL EJERCICIO 1 .

FEBRERO 1998
1. TEORIA:

a) Defina, brevemente, los siguientes términos:

ALU:
Una unidad aritmético-lógica o ALU de n bits es un dispositivo combinacional que
acepta dos palabras de entrada A y B, de n bits cada una y genera un resultado de n bits (además
de cierta información como acarreo, desbordamiento, etc.) procedente de la realización de
alguna operación aritmética o lógica identificadas por unas señales de selección.

DECODIFICADOR:
Es un subsistema combinacional de propósito específico. Es un circuito integrado de n
entradas de datos y m salidas de datos, donde m < 2 n .Cuando se cumple la igualdad, se dice
que el decodificador es completo. Los decodificadores se especifican de la siguiente manera:
DEC n:m o DEC de n a m.
El propósito de un decodificador es generar los 2 n mintérminos o maxtérminos,
dependiendo de si sus salidas están activas en alto o en bajo respectivamente, asociados a las n
variables de entrada, por tanto, el funcionamiento del mismo se deriva de esta propiedad, es
decir, sólo hay una salida activa para cada combinación de entrada.
Por otro lado se pueden encontrar decodificadores con señales de habilitación, tanto
activas en alto como en bajo.

CONTADOR:
Es un subsistema secuencial. Un contador módulo k es un circuito digital capaz de
contar k sucesos distintos. Estos dispositivos, no son otra cosa que circuitos secuenciales cuyos
cambios de estado se producen al ritmo de su señal de reloj y en el que cada estado “memoriza”
un valor de cuenta. Por tanto un contador módulo-k, tiene k estados de cuentas distintos,desde
el 0, hasta el k-1.

REGISTRO:
Es un subsistema secuencial. Un registro de n bits es un dispositivo que tiene capacidad
de almacenar n bits. Internamente está formado por biestables (elemento de memoria que
almacena un bit, 1 ó 0, y dispone de los terminales adecuados para la escritura del 1 y del 0),
tantos como bits sea capaz de almacenar el registro. Normalmente los registros son síncronos,
siendo los biestables D los más usados para la implementación interna.

COMPLEMENTO A 1:
Es una notación para la representación de números con signo, en concreto para números
o magnitudes binarias. Los números positivos en Ca1 se expresan igual que en la notación
Signo-Magnitud. Es decir, a los bits de la magnitud se les antepone un bit igual a 0. En cambio,
para obtener la representación de un número negativo, primero éste se expresa como si fuera
positivo, con un bit de signo igual a 0 y luego se le aplica el operador Ca1, es decir se invierten
todos los bits.
El rango de números representables en Ca1 es: − 2n−1 −1 x 2 n−1−1

SUMADOR COMPLETO:
Es un circuito aritmético básico. El sumador completo (FA, Full Adder) es un circuito
combinacional con tres entradas Ai , B i y C i , y dos salidas S i y C i1 .La salida
S i representa la suma binaria de las tres entradas, su función es S i = Ai ⊕ Bi ⊕C i , y
C i1 el acarreo cuya función es C i1= Ai Bi Ai C iB i C i .
b) Diferencias entre máquinas de estado de Mealy y de Moore.

Tanto la máquina, o autómata, de Mealy como la de Moore son máquinas secuenciales


síncronas. La diferencia principal entre ellas está en sus salidas:
En la máquina de Moore las salidas sólo dependen del estado actual, es decir de los
valores almacenados en los biestables. Z k =Z k q 1 , q2 ,... . Por tanto, las salidas de una
máquina de Moore cambian de valor cuando lo hacen las salidas q i de los biestables, esto es,
en los flancos activos (ascendentes o descendentes, según el tipo de disparo de reloj de los
biestables), mientras que en el resto del ciclo permanecen constantes.
Por el contrario, en la máquina de Mealy las salidas están en función de los estados de
los biestables y las entradas de la máquina. Z k =Z k  x 1 , x 2 ,... , q 1 , q 2 ,... . Por tanto, las
salidas de una máquina de Mealy pueden cambiar cuando lo hagan las salidas q i de los
biestables o cuando lo hagan las entradas al circuito. Como estas últimas pueden cambiar en
cualquier instante, sin depender de la señal de reloj, las salidas de esta máquina pueden hacer lo
propio en cualquier momento.

c) Si sólo se dispone de puertas EXOR, AND y del 0 y 1 lógicos, ¿sería posible


implementar cualquier función combinacional? Razone la respuesta.

Para poder implementar cualquier función combinacional hay que tener un conjunto de
operadores completo.
Un conjunto de operadores lógicos se considera completo si con ellos y las variables
binarias oportunas, se puede definir cualquier función de conmutación completa.
Para comprobar si un grupo de operadores es completo basta con demostrar si, con los
operadores de dicho grupo, se puede construir el conjunto (AND, NOT y OR) que, se sabe, es
completo.

Primero comprobemos que con el conjunto dado (EXOR,AND, 0, 1) podemos construir


el operador NOT:
La función que realiza una EXOR es la siguiente:

Por lo que si ponemos una de


las entradas a 1, a la salida obtendremos la variable de
entrada complementada. f  a , b=a ⊕b=a ba b Consiguiendo así el
operador NOT buscado:

Una vez conseguido el


operador NOT, sólo nos queda demostrar
que con el conjunto dado
f  a ,1=a⊕1=a 1a 1=a0a=0a =a podemos
construir el operador OR.

El operador OR se puede conseguir mediante la relación de operadores siguiente:

OR(a, b)= NOT(AND(NOT(a), NOT(b))) = a⋅b=ab=ab


Utilizando el operador NOT construido antes, la representación del operador OR es la
siguiente:

Una vez probado que con el conjunto (EXOR, AND, 0, 1) se construyen los operadores
NOT y OR, queda demostrado que dicho conjunto es completo, por tanto a partir de dichas
puertas y valores lógicos se podría construir cualquier función combinacional.
Examen de septiembre de 1998 Ejercicio 2
Realice un convertidor BCD natural a BCD exceso-3 mediante:
1. UN PLA
2. UN ROM

Solución:
Nota del profesor: hay un pequeño error de orden en la tabla de verdad (Cambiar D0
po D1). En el K-mapa hay un error porque debería estar ordenado en gray. No puedo
cambiarlo porque no puedo editar los dibujos.
Primero hallamos la tabla de verdad, el mapa de karnaugth .

D3=A2A0 + A2A1 +A3; D2=A2A1´A0´+ A3´A2´A1 + A2´A0 ; D1=A1´A0´ + A1A0 ; D0=A0´

1.UN PLA
2.UNA ROM

Nota del profesor: no sería necesario poner la estructura interna de la ROM, bastarían
con su diagrama y la tabla de programación.
PREGUNTA 3 DEL EXAMEN DE FEBRERO DE 1999
a) Analiza el circuito de la figura y explica que función realiza.

b) Hay grupos de estados de la maquina secuencial correspondiente al circuito que están


incomunicados entre si. Rediseña el circuito para que en función de una señal x se
pueda establecer una comunicación entre los lazos que están incomunicados.
a) Ecuaciones
T2 = 0
T1 = q0
T0 = 1
Tablas
TABLA DE EXITACION

q2q1q0
0 0 0 0 0 1
0 0 1 0 1 1
0 1 0 0 0 1
0 1 1 0 1 1
1 0 0 0 0 1
1 0 1 0 1 1
1 1 0 0 0 1
1 1 1 0 1 1

T2,T1,T0

TABLA DE TRANCISION

q2q1q0
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 0 1 1
0 1 1 0 0 0
1 0 0 1 0 1
1 0 1 1 1 0
1 1 0 1 1 1
1 1 1 1 0 0
Q2,Q1,Q0
ASIGNACIÓN DE S TABLA DE ESTADOS

S S
S0 0 0 0 S0
S1
S1 0 0 1 S2
S1
S2 0 1 0 S2 S3
S3 0 1 1 S3 S0
S4 1 0 0 S4 S5
S5 1 0 1 S5 S6
S6 1 1 0 S6 S7
S7 1 1 1 S7 S4

DIAGRAMAS DE ESTADO

Es un contador que esta formado por dos partes:

a) un contador que cuenta de 0 a 3 creando un bucle entre esos estados.


b) Un contador que cuenta de 4 a 7 creando un bucle entre esos estados
b)
EJERCICIO 1 DE SEPTIEMBRE 1999
1)Para convertir un número de base 2 a base 10 utilizamos la siguiente expresión:
N10 = An-1 rn-1 + An-2 r n-2 + .......+ A1 r + A0 ;
Una alternativa sería ;
N10...((An-1r + An-2)r +An-3)r +...+A1 )r +A0
Especifique con cual de los dos métodos se necesita realizar n numero menor de
sumas y multiplicaciones.
Para dos dígitos A1A0
A1r+A0 En ambos métodos se utiliza 1 suma + 1 multiplicación
Para 3 dígitos A2A1A0
A2r2+A1r+A0 Se añade 1 suma y 3 multiplicaciones, en total son 2 sumas y 4 multiplicaciones
(A2r+A1 ) r+A0 Se añade 1 suma y 1 multiplicación, en total son 2 sumas y 2 multiplicaciones
Para 4 dígitos A3A2A1A0
A3 r3+A2r2+A1r+A0 Se añade 1 suma y 4 multiplicaciones, en total son 3 sumas y 8 multiplicaciones
((A3 r+A2) r+A1 ) r+A0 Se añade 1 suma y 1 multiplicación, en total son 2 sumas y 3 multiplicaciones
Con el segundo método añadir un dígito siempre es añadir una suma y una
multiplicación. Mientras que con el segundo una suma y un número creciente de
multiplicaciones dependiendo de la posición del dígito.
2)Escriba los dígitos de un sistema de numeración de base 20 suponiendo que se usa un
esquema de representación de dígitos similar al usado para la base 16.Convierta 199510
a base 20 y AGH.F20 a base 10.
CIFRA CÓDIGO CIFRA CÓDIGO
0 00000 A 01010
1 00001 B 01011
2 00010 C 01100
3 00011 D 01101
4 00100 E 01110
5 00101 F 01111
6 00110 G 10000
7 00111 H 10001
8 01000 I 10010
9 01001 J 10011
199510 A BASE 20

- [20
195 99 [20
15 19 4

El número en base 20 sería 41915 sustituyendo en la tabla de valores quedaría : 4JF


AGH.F20 A BASE 10
Si nos fijamos en la tabla y sustituimos las letas por sus códigos correspondientes
obtenemos:
A= 01010 G= 10000 H= 10001 F= 01111
Ordenamos los códigos y formamos la palabra.
01010 10000 100001 . 01111
101617.15
AGH.F20=10 * 202+ 16 * 201+ 17 * 200+ 15 * 20-1 =4337.7510

3)Determine el valor de r en ambos casos:


Si se cumple que B1r= 14410
B= 11 según la tabla
B1r= 11* r1 + 1 * r0 =14410
11r +1 =144
11r =143
r = 143
13
r=13
Se cumple con r=13
Si se cumple con 436r = 35710
Suponemos que al ser 436 un número mayor que 357, su base tiene que ser menor que .
Probaremos con un número menor, como por ejemplo el 9, y operamos en base 10.
4369 = 4 * 92 + 3 * 91 + 6 * 90 = 35710
Se cumple con r = 9
Se puede hacer resolviendo la ecuación de segundo grado correspondiente.
4)Suponga que dispone de 32 bits para representar información. Especifique cuantos
enteros diferentes puede representar en cada uno de los siguientes códigos:
Binario = 2 32
BCD = 108
ASCII de 8 bits = 104
Para obtener estos resultados divido los 32 bits entre los bits de cada código, y el
resultado es la base elevada al número de dígitoa posible.
Ejercicio 2 del examen de Febrero de 2000

a) f = b c’ + a b + c’ d + a’ b’ c g = a’ + c’ d + b d’

b)
Examen de Febrero de 2001. Ejercicio 2.
PROBLEMA 2 de la convocatoria de septiembre de 2001
2.- Describa con palabras la función que realiza el circuito de la figura y proponga
un diseño basado en subsistemas.
A
W

C Y

Z
D

----------------------------------------------------------------------------------------------------------
SOLUCIÓN CORTA:

El circuito es un convertidor de código BCD natural a BCD exceso 3

Para implementar el circuito, utilizaremos un decodificador Y un codificador


Problema 1 diciembre de 2001
CÓDIGOS BINARIOS

Los códigos binarios asignan palabras binarias a “símbolos” que se desean


representar. Los “símbolos” son números, letras o cualquier otra entidad que se quiera
representar. Normalmente, cada código emplea palabras binarias de longitud fija.
Existen distintos tipos de códigos binarios.

- Binario natural

Asigna códigos binarios a números enteros positivos.


• Ejemplo: Código binario natural de 3 bits.

Símbolo Código
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

- Códigos BCD (Binary Coding Decimal)

Asignan códigos binarios a las 10 cifras decimales.

Cifra Natural Exceso-3 2 de 5 7 segm. abcdefg


0 0000 0011 00011 1111110
1 0001 0100 00101 0110000
2 0010 0101 00110 1101101
3 0011 0110 01001 1111001
4 0100 0111 01010 0110011
5 0101 1000 01100 1011011
6 0110 1001 10001 1011111
7 0111 1010 10010 1110000
8 1000 1011 10100 1111111
9 1001 1100 11000 1110011

- Código Gray

Al igual que el código binario natural, asigna códigos binarios a números


enteros positivo. La asignación se realiza de modo que palabras consecutivas se
dierencian únicamente en 1 bit (distancia 1). El código de n bits se construye de
forma simétrica a partir del código de n-1 bits.
Número 1 bit 2 bits 3 bits 4 bits
0 0 00 000 0000
1 1 01 001 0001
2 11 011 0011
3 10 010 0010
4 110 0110
5 111 0111
6 101 0101
7 100 0100
8 1100
9 1101
10 1111
11 1110
… …

- Código “one hot”

Asigna palabras con un solo bit a “1” y el resto a “0”.


• Ventajas:
Fácil de interpretar.
Detección de errores.

• Inconveniente:
Requiere un gran número de bits (igual al número de símbolos).

Símbolo Código
0 00000001
1 00000010
2 00000100
3 00001000
4 00010000
5 00100000
6 01000000
7 10000000

- Codificación de texto

A cada símbolo de texto o “carácter” se asigna un número que se almacena


en binario. Además de símbolos gráficos se incluyen símbolos de control: nueva
línea, nueva página, fin de fichero, etc.

Existen varios asignamientos llamados “codificaciones”


ASCII: 7 bits (128 símbolos), el más extendido, pensado para el inglés.

ISO-8859-1: (Latin 1) Extensión del ASCII, 8 bits (256 símbolos), incluye las
lenguas de Europa occidental y otras.

ISO-8859-15: Modificación del Latin 1 para incorporar el símbolo del EURO y


otras actualizaciones.

ISO-8859-2 a ISO – 8859-14: Extensiones del ASCII para diferentes lenguas:


cirílico, árabe, griego, hebreo, etc.

ISO-10646 (Unicode): Código de 16 bits que engloba a todas las codificaciones e


idiomas conocidos.

Problema del examen de Diciembre de 2002.


Z1 = X Y
Z2 = XY
Tabla de Verdad
XY Z1 Z2
00 0 0
01 1 0
10 1 0
11 0 1

Solución al problema nº2 del examen de Septiembre de 2002

2. Dados los dos circuitos que se presentan en la figura:


a) Obtenga una expresión para F1 y F2
_ _ __
F1=AB+BCD+BD
__ __
F2=BD+ABC+CBD
b) Sabiendo que tanto F1 como F2 son cubrimientos de un mismo k-mapa, obtenga
dicho mapa incluyendo
las inespecificaciones.

CD AB 00 01 11 10
00 d 0 0 1
01 0 1 1 1
11 0 d d d
10 1 0 0 1

F
c) A partir del mapa obtenga un diseño mínimo en dos niveles.
__
F=BD+BD+AD
_
D
_ &
B
D
≥1 F
&
B

A
&

d) Implemente el k-mapa con multiplexores de 2 entradas.

1 0
0
1
1 0
0
1 F
0
A
0
1
1 1
C
0

B
D
Ejercicio 3 de febrero de 2003

00

01 10
11

01 11 C 10
A B E
1,0,1
0,0,0 1,0,0 1 0,0
00
10
10
00

D
1,1,0
S1 &
Q3’
>1 P
D3 >1
& Q3

C
Q2’
&
D2
Q2

L
S2 Q1’
&
D1
Q1
Ejercicio 1 de Septiembre de 2003
a) Aritmética de números sin signo.
b) Aritmética de números con signo en Ca2.

c) En aritmética de números se pueden representar el rango de números: [0, 2n -1] ,


si el resultado de la operación es mayor se producirá desbordamiento, es decir,
si A+B> 2n -1:
- El resultado no es representable
- Se produce desbordamiento (overflow)
Cout (acarreo) señala la existencia de desbordamiento.
En caso de desbordamiento, el resultado correcto está en el número de n+1 bits
CoutSn-1 -So =A+B.
En definitiva, si el resultado de la suma no se encuentra dentro del rango se
producirá desbordamiento.
Ejemplo:

b) Se detecta cuando al sumar dos números positivos el resultado es un número


negativo, y cuando sumamos dos números negativos y el resultado es un número
positivo, se detecta mediante el bit V=Cn xor Cn-1
Se corrige este problema de desbordamiento añadiendo un bit más al resultado, éste
será quien de el signo al número debido a que representamos los números en Ca2.

Este problema se corrige añadiendo, cuyo valor coincide con el bit de acarreo que
corresponde al valor del signo correcto del número
Examen FC Dic-2003 P3

Para resolver este problema, puede hacerse mediante una máquina de Moore, ya
que es más fácil crear el circuito a partir de uno, siendo Z=1 cuando se reciban 7 unos
consecutivos(Luz roja, estado H).
E=entrada de un 1, es decir, la puerta de entrada detecta a alguien y se abre
S=salida de un 1, es decir, la puerta de salida detecta a alguien
Asignación de estados
A:E=0,S=0, =hay 0 personas en la habitación F:E=1,S=0 hay 5 personas
B:E=1,S=0 =hay 1 persona en la habitación G:E=1,S=0 hay 6 personas
C:E=1,S=0 =hay 2 personas en la habitación H:E=1,S=0 hay 7 personas
D:E=1,S=0 =hay 3 personas en la habitación
E:E=1,S=0 = hay 4 personas en la habitación
En todos los casos menos en el A si S=1 y E=0, entonces se pasa al estado anterior, y si
S=E=1 ó S=E=0, entonces se mantiene en el mismo estado, ya que hay el mismo
número de personas.

En el caso A no seria posible tener una entrada S=1,E=0,ni S=E=1 ya que no puede salir
nadie de una habitación sin haber entrado antes. También es imposible H=10, ya que no
podría entrar nadie más, habrá que esperar al estado 01.

Tabla de estado:
Para hallar la tabla de estado, el biestable D es el más adecuado, ya que de qn a
Qn no hay cambios, de esa forma, y tomando maxtérminos o mintérminos, según
convenga, se llega a la siguiente tabla:
D1=q1q2+q1q3+Eq1+S'q1+ES'q1'q2q3
D2=(q1'q2'q3'+Sq1'q2'+E'q1'q2'q3+ES'q1'q2q3+E'Sq2q3'+Eq1q2'q3'+E'S'q1q2'+Sq1q2'
q3)'
D3=ES'q2q3'+ES'q1q2+E'S'q1'q3+E'Sq2q3'+E'S'q1q3+E'Sq2'q3'+ESq1'q2q3+ES'q2q3+
ESq1q3
Z=Eq1q2q3+S’q1q2q3+ES’q1q2

Podría habérsele dado a los estados valores distintos para mejorar el coste, pero
serían demasiadas tablas y en este caso no es conveniente.
Para que se abran las puertas cuando los sensores se activen, se puede unir
directamente el sensor de salida S a la puerta de salida Ps, y a la de entrada, se le une la
función EZ’, de esta forma, cuando la luz roja (Z) valga 1, la puerta de entrada Pe nunca
se abrirá.
ZE |Pe
0 |0
1 |1
10 |0
11 |0
Para implementar el circuito, se han usado puertas NAND y AND del número de
puertas que se ha necesitado, ya que no hay restricciones ni de nº de puertas ni de
entradas de las mismas. El circuito es asíncrono, pues es lo más conveniente cuando
aparece un 1 de forma aleatoria, pues así no se perdería esa información.

Nota del profesor: El circuito que aparece está realizado con biestables D. Si se
escogen T se simplifica el número de puertas.

Potrebbero piacerti anche