2. Agenda
Introducción a los Circuitos
Combinatorios
s
Ejemplos
•
•
•
•
•
•
Multiplexores
De multiplexo res
Codificadores
Rotadores
Rotadores Desplazadores
Comparadores
Maestría en Tecnologías de la Información - Matemáticas Discretas
3. Introducción
En los circuitos combinatorios la salida Z en un
determinado instante de tiempo ti sólo depende de X en
ese mismo instante de tiempo ti , es decir que no tienen
capacidad de memoria y que se puede obviar la variable de
tiempo t.
Maestría en Tecnologías de la Información - Matemáticas Discretas
4. Multiplexor
Un multiplexor o selector de datos es un circuito lógico que acepta varias entradas de
datos y permite sólo a una de ellas alcanzar la salida. El encauzamiento deseado de los
datos de entrada hacia la salida es controlada por entradas de SELECCIÓN (que algunas
veces se conocen como entradas de enrutamiento).
Maestría en Tecnologías de la Información - Matemáticas Discretas
5. Multiplexor. Ejemplos
Símil de un multiplexor
visto como un sistema
de agua de una granja
Sistema de agua de 4 tuberías
Maestría en Tecnologías de la Información - Matemáticas Discretas
Un multiplexor que selecciona entre 4 canales de
datos
6. Demultiplexor
El concepto de demultiplexor es similar al de multiplexor, viendo las entradas de datos
como salidas y la salida como entradas. En un multiplexor hay varias entradas de datos, y
sólo una de ellas se saca por el canal de salida. En los demultiplexores hay un único canal
de entrada que se saca por una de las múltiples salidas
Sistema de agua de 4 mangueras
Maestría en Tecnologías de la Información - Matemáticas Discretas
7. Juntando Multiplexores y demultiplexores
Si por ejemplo se tuviera 4 sistemas, que los llamaremos a,b,c y d, y que necesitan
enviar información a otros 4 dispositivos A,B,C y D. La comunicación es uno a uno, es
decir, el sistema a sólo envía información al sistema A, el b al B, el c al C y el d al D. ¿Qué
alternativas hay para que se produzca este envío de datos? Una posibilidad es obvia, y es
la que se muestra en la figura. Directamente se tiran cables para establecer los canales
de comunicación
Maestría en Tecnologías de la Información - Matemáticas Discretas
8. Juntando Multiplexores y demultiplexores
La solución se muestra en la figura Vemos que los sistemas a, b, c y d se conectan a un
multiplexor. Un circuito de control, conectado a las entradas de selección de este
multiplexor, selecciona periódicamente los diferentes sistemas, enviando por la salida el
canal correspondiente.
Maestría en Tecnologías de la Información - Matemáticas Discretas
9. Codificadores
Los codificadores nos permiten “compactar” la información, generando un código de
salida a partir de la información de entrada. Y como siempre, lo mejor es verlo con un
ejemplo. Imaginemos que estamos diseñando un circuito digital que se encuentra en el
interior de una cadena de música. Este circuito controlará la cadena, haciendo que
funcione correctamente.
Maestría en Tecnologías de la Información - Matemáticas Discretas
10. Codificadores
Bien estaremos escuchando el CD, bien la cinta, bien la radio o bien un disco, pero no
puede haber más de un botón pulsado1. Tal y como hemos hecho las conexiones al
codificador, el CD tiene asociado el número 0, la cinta el 1, la radio el 2 y el disco el 3
(Este número depende de la entrada del codificador a la que lo hayamos conectado). A
la salida del codificador obtendremos el número del botón apretado. La tabla de verdad
será así:
Maestría en Tecnologías de la Información - Matemáticas Discretas
11. Rotadores
Una operación de rotación es similar a una de desplazamiento, pero en ella no se
pierden bits, ya que los que se mueven fuera son los que introducen de nuevo por el
otro extremo del número.
La implementación de circuitos rotadores se realiza utilizando multiplexores.
Por ejemplo, un circuito rotador universal necesitaría tres señales de control para
manipular los multiplexores:
* Una señal S0 indicará si el circuito debe realizar una operación de rotación
* Una señal S1 indicará si la operación de rotación debe realizarse a la izquierda o a la
derecha
* Una señal S2 indicará si se realiza la operación de rotación o bien si se deja el número
sin modificar
Maestría en Tecnologías de la Información - Matemáticas Discretas
12. Rotadores
Este diagrama muestra un circuito rotador universal que puede realizar una rotación
lógica de una posición de izquierda o derecha.
Maestría en Tecnologías de la Información - Matemáticas Discretas
13. Rotadores
El circuito anterior solo puede realizar una operación de rotación de una única posición.
Esto significa que para rotar más de una posición habrá que pasar el número al circuito
varias veces, lo que ralentizaría el proceso.
Para evitar esto se puede utilizar un rotador en bloques, que es capaz de rotar cualquier
número de posiciones.
Los rotadores en bloques utilizan varios niveles de multiplexores.
Dado un número de n bits, el rotador máximo será de n - 1 bits, para lo que serán
necesarios tantos niveles de multiplexores como bits tenga la representación binaria de
n.
Cada nivel de multiplexores rotará el número tantas posiciones como el peso de uno de
los bits de n, por lo que combinándolos todos podremos obtener todos los valores entre
0 y n - 1.
Maestría en Tecnologías de la Información - Matemáticas Discretas
14. Rotadores
Por ejemplo, un rotador a la derecha en bloques para números de ocho bits, como el
mostrado en el diagrama, necesitará tres entradas de selección.
* S0 -> rota 1 posición
* S1 -> rota 2 posiciones
* S2 -> rota 4 posiciones
Maestría en Tecnologías de la Información - Matemáticas Discretas
15. Rotadores Desplazadores
UNIDAD ARTIMETICO LOGICA
Es un circuito digital que realiza un conjunto de micro operaciones
aritméticas y un conjunto de micro operaciones lógicas. La entrada a la
unidad son decodificadas dentro de la ALU.
Unidad aritméticas: suma, resta, multiplicación, división
Unidad lógica: and, or, not, xor
Maestría en Tecnologías de la Información - Matemáticas Discretas
16. Rotadores Desplazadores
Estas instrucciones implementan operaciones lógicas bit a bit entre los operandos,
incluyéndose operaciones como AND, OR, XOR, NOT, desplazamientos izquierda o
derecha y rotaciones a izquierda o derecha.
Maestría en Tecnologías de la Información - Matemáticas Discretas
17. Rotadores Desplazadores
Mecanismo de desplazamiento
En un desplazamiento lógico se desplazan a la derecha o a la izquierda los
bits contenidos en un registro.
En un extremo, el bit saliente se pierde al desplazarse. En el otro extremo se
introduce un cero. Estos desplazamientos son útiles para aislar bits dentro de
un mismo registro.
Desplazamiento hacia la derecha
Maestría en Tecnologías de la Información - Matemáticas Discretas
18. Rotadores Desplazadores
Ejemplo:
Si el registro A tiene información 1101 al realizarle un desplazamiento hacia la derecha
tendría como 0110 como contenido
Desplazamiento hacia la derecha
1
0
0
1
1
0
0
1
1
1
0
1
Operaciones aritméticas
Suma
Si sumamos dos número decimales por ejemplo
1 Acarreo
127
+
434
= 561
Maestría en Tecnologías de la Información - Matemáticas Discretas
19. Rotadores Desplazadores
Multiplicación
Se compone principalmente de dos sencillas reglas: multiplicar y sumar
Cundo realizamos multiplicaciones decimales de varios números debemos
multiplicar cada uno de los números del multiplicador por cada uno de los del
multiplicador corriendo un lugar hacia la izquierda para después sumar
resultados.
Reglas de la multiplicación son:
1*1=1
1*0=0
0*1=0
0*0=0
Maestría en Tecnologías de la Información - Matemáticas Discretas
20. Rotadores Desplazadores
De esta forma tenernos:
1231
x 45
-----6155
4924
----------55395
Maestría en Tecnologías de la Información - Matemáticas Discretas
21. Comparadores
La función básica de un circuito comparador consiste en comparar las magnitudes de
dos cantidades binarias para determinar la relación entre ellas.
En su forma más sencilla, un circuito comparador determina si dos números son iguales
o no.
Resulta frecuente ampliar la funcionalidad de un circuito comparador para que, en caso
de que los dos números comparados no sean iguales, sea capaz de distinguir cuál de los
dos es el mayor.
La puerta XOR puede ser utilizada como comparador básico, ya que su salida es 0 si las
entradas son iguales y 1 si las entradas son diferentes.
Maestría en Tecnologías de la Información - Matemáticas Discretas
23. Comparadores
Por ejemplo, para comparar números binarios de dos bits serán necesarias dos puertas
XOR:
* Si los números son iguales los dos bits también lo serán
* Si los números son distintos, alguno de los bits será distinto
Este esquema es fácilmente extensible para números con mayor cantidad de bits.
Maestría en Tecnologías de la Información - Matemáticas Discretas
24. Comparadores
Además de indicar si los números comparados son iguales, es frecuente que los
circuitos comparadores indiquen cuál de los dos números es el mayor.
Esto implica la existencia de tres salidas en el circuito:
* Indicación de si los dos números son iguales
* Indicación de si el primer número es el mayor
* Indicación de si el segundo número es el mayor
Maestría en Tecnologías de la Información - Matemáticas Discretas
25. Comparadores
El procedimiento general para comparar dos números consiste en buscar una
desigualdad en cualquiera de las posiciones, comenzando por el bit más significativo.
La relación entre los números queda establecida en el momento en que se encuentre la
primera desigualdad:
* Si Ai - 1 y Bi - 0 entonces A > B
* Si Ai - 0 y Bi - 1 entonces A < B
Si se examinan todas las posiciones y no se encuentra ninguna desigualdad, entonces
los números son iguales.
También resulta útil tener tres entradas para permitir la conexión en cascada de
circuitos comparadores.
Cuando se realice este tipo de conexión en cascada es importante tener en cuenta que
siempre será prioritaria la salida del comparador correspondiente a los bits más
significativos.
Maestría en Tecnologías de la Información - Matemáticas Discretas
27. Comparadores
Un circuito comparador universal que permita comparar dos números X e Y puede
diseñarse conectando módulos sencillos que comparen poco bits.
Cada módulo necesitará sólo dos salidas: G y L
* G - 1 -> X > Y
* G - 0 -> X <= Y
* L - 1 -> X < Y
* L - 0 -> X >= Y
* Si G - 0 y L - 0 al mismo tiempo -> X - Y
La conexión de estos módulos para generar un circuito comparados puede hacerse en
serie o en paralelo.
El diseño de un circuito comparador de números de dos bits puede realizarse usando el
método de Karnaugh.
Maestría en Tecnologías de la Información - Matemáticas Discretas
29. Comparadores
Dadas estas ecuaciones, el diseño del circuito comparador de números de dos bits
queda como sigue:
Maestría en Tecnologías de la Información - Matemáticas Discretas
30. Comparadores
Una implementación en serie de un comparador usaría un módulo de dos bits para
comparar cada pareja de bits de ambos números.
Hay que tener en cuenta que el resultado de la comparación de los bits más
significativos siempre es prioritaria respecto a los demás bits.
Maestría en Tecnologías de la Información - Matemáticas Discretas
31. Comparadores
El problema de la conexión en serie es que el retardo del circuito global depende de la
propagación de la señal por todos los módulos.
Esto puede resolverse con una conexión paralela en la que primero se comparan
parejas, luego parejas de parejas y así sucesivamente.
Maestría en Tecnologías de la Información - Matemáticas Discretas