circuitos combinatorios
DESCRIPTION
Presentación elaborada en equipo sobre el tema "Cicuitos Combinatorios"TRANSCRIPT
Circuitos Combinatorios
Agenda
I n t r o d u c c i ó n a l o s C i r c u i t o s C o m b i n a t o r i o ss
E j e m p l o s
• M u l ti p l e xo r e s • D e m u l ti p l e xo r e s • C o d i fi c a d o r e s • R o t a d o r e s • R o t a d o r e s D e s p l a z a d o r e s• C o m p a r a d o r e s
Maestría en Tecnologías de la Información - Matemáticas Discretas
Maestría en Tecnologías de la Información - Matemáticas Discretas
E n l o s c i r c u i t o s c o m b i n a t o r i o s l a s a l i d a Z e n u n d e t e r m i n a d o i n s t a n t e d e ti e m p o ti s ó l o d e p e n d e d e X e n e s e m i s m o i n s t a n t e d e ti e m p o ti , e s d e c i r q u e n o ti e n e n c a p a c i d a d d e m e m o r i a y q u e s e p u e d e o b v i a r l a v a r i a b l e d e ti e m p o t .
Introducción
Maestría en Tecnologías de la Información - Matemáticas Discretas
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
Multiplexor. Ejemplos
Símil de un multiplexor visto como un sistema de
agua de una granja
Sistema de agua de 4 tuberías Un multiplexor que selecciona entre 4 canales de datos
Maestría en Tecnologías de la Información - Matemáticas Discretas
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
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
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
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
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
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
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
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
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
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
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
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
Rotadores Desplazadores
Maestría en Tecnologías de la Información - Matemáticas Discretas
1 1 0 10 1 1 00 0 1 1
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
Operaciones aritméticasSumaSi sumamos dos número decimales por ejemplo 1 Acarreo 127+ 434= 561
Rotadores Desplazadores
Maestría en Tecnologías de la Información - Matemáticas Discretas
MultiplicaciónSe 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=11*0=00*1=00*0=0
Rotadores Desplazadores
Maestría en Tecnologías de la Información - Matemáticas Discretas
De esta forma tenernos: 1231 x 45 ------ 6155 4 9 2 4 ----------- 5 5 3 9 5
Rotadores Desplazadores
Maestría en Tecnologías de la Información - Matemáticas Discretas
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
Comparadores
Maestría en Tecnologías de la Información - Matemáticas Discretas
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
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
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
Comparadores
Maestría en Tecnologías de la Información - Matemáticas Discretas
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
Comparadores
Maestría en Tecnologías de la Información - Matemáticas Discretas
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
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
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.