Circuitos Combinacionales Comunes

Slides:



Advertisements
Presentaciones similares
Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
Advertisements

DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
CIRCUITOS COMBINACIONALES
Circuitos Lógicos Combinatorios
Diseño de Circuitos Lógicos Secuenciales1
FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.
ORGANIZACIÓN COMPUTACIONAL
Sistemas Digitales Tema 3.
Integrantes: Moyolehuani Tatéi Temai
Organización de Computadoras UNLA
El Microprocesador.
LECCIÓN 10. INTRODUCCIÓN AL CONTROL MICROPROGRAMADO
CLASE 6.
NIVEL DE LENGUAJES ORIENTADOS A PROBLEMAS NIVEL DE LENGUAJE ENSAMBLADOR NIVEL DE MAQUINA DEL SISTEMA OPERATIVO NIVEL DE MICROPROGRAMACIÓN NIVEL DE LÓGICA.
Unidad aritmético-lógica
Arquitectura de Conjunto de Instrucciones (ISA)
Algebra Booleana y Compuertas Lógicas
Circuitos Secuenciales
Composición Interna de un Procesador
Circuitos Combinacionales
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Arquitectura del Computador
Electrónica Digital.
EXAMEN CORTO SOBRE FLIP-FLOPS
Demultiplexor y Chip 74LS154
Módulos combinacionales básicos
Tema 3: Lógica Combinacional (II): Ruta de Datos.
TEMA 5. MÓDULOS ARITMÉTICOS AVANZADOS
EXAMEN CORTO SOBRE FLIP-FLOPS
Sistemas decimal, binario, octal y hexadecimal
Integrantes del equipo “E”: Castañeda Martínez Carlos Montecillo Mancera Andrés Silva Alvares carolina.
Diseño lógico combinacional mediante VHDL
DECODIFICADOR -García Rosas Oscar -Landeros Jaime Francisco
Codificadores y Decodificadores
Unidad 4: Unidad de Ejecución
INTRODUCCIÓN A LAS TÉCNICAS DIGITALES
Unidad aritmético-lógica
Circuitos Digitales I MÓDULOS COMBINACIONALES
Arquitectura de Von Neumann
Tecnologías de las computadoras
[ Arquitectura de Computadores ] SISTEMAS DIGITALES
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
Campus Chapultepec Arquitectura de Computadoras Diferencia entre microprocesador y microcontrolador Sánchez Manjarrez Silvana Ing. Daniel Domínguez C.
Circuitos Digitales MÓDULOS COMBINACIONALES
CLASE 2.
CLASE 5.
Circuitos Digitales.
LA UNIDAD ARITMÉTICA Y LÓGICA
1 Señales del bus. 2 Expansión del bus El tamaño (cantidad de líneas) del bus depende de talla de la data (Word, unidad de datos) que será transferido.
Capítulo 4 CPU y la memoria.
Organización del Computador 1
Germán Landinez Álvaro Del Toro Ronald Gutiérrez.
Reglas Básicas del Álgebra de Boole
INTRODUCCIÒN MICROCONTROLADORES
Organización del Computador I Verano Aritmética (2 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Alumno: Gerardo Mario Valdés Ortega
Compuertas lógicas INTRODUCCION
José Alvarado – Cristian Anzola
UNIDAD 2. DISEÑO LÓGICO DE PROCESADORES: UNIDAD ARITMÉTICO-LÓGICA Ing. Elizabeth Guerrero V.
Subsistemas aritméticos y lógicos
Maestría en Ciencias de la Computación Arquitectura de Computadoras
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Circuitos Combinacionales I
Circuitos secuenciales 2
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Copyright © 2011, 2007, 2004, 2001, 1998 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights reserved Introducción al Diseño Lógico.
Ronald J. Tocci and Neal S. Widmer Digital Systems, Eighth Edition Copyright ©2001 by Prentice-Hall, Inc. Upper Saddle River, New Jersey All rights.
Transcripción de la presentación:

Circuitos Combinacionales Comunes Multiplexer, Decodificador, Demultiplexer, Encoders, Sumadores, Sumadores-Restadores

Circuitos Combinacionales Comunes – Multiplexer Multiplexer (Multiplexor) El multiplexer conecta varias entradas con una única salida. En un momento dado, se selecciona una de las entradas para que pase a la salida. La figura muestra un multiplexer 4 a 1, es decir, con 4 entradas (D0, D1, D2, y D3), una salida F y dos líneas de selección, S1 y S2. Las n = 2 líneas de selección determinan cual de las 2n = 22 = 4 entradas (0, 1, .. 2n – 1) se propaga a la salida.

Circuitos Combinacionales Comunes – Multiplexer Los multiplexers son usados en circuitos digitales para controlar la ruta de señales y datos. Un ejemplo es la carga del registro PC (Program Counter). El valor a cargar puede venir de distintas fuentes: Un contador binario, si el PC será incrementado para la siguiente instrucción. El registro de instrucciones, si se ha ejecutado una instrucción de salto con dirección directa. La salida del ALU, si una instrucción de salto especifica la dirección usando el modo de desplazamiento. Las distintas entradas se pueden conectar a las líneas de entrada de un multiplexor con el PC conectado a la línea de salida. Las líneas seleccionadas determinan cuál es el valor a cargar en el PC. Como el PC contiene varios bits, se usan varios multiplexores, uno por bit. La figura ilustra esto para dirccciones de 16 bits.

Circuitos Combinacionales Comunes – Decodificador Un decodificador es un circuito combinacional con varias líneas de salida, con una sola de ellas seleccionada en un instante dado, dependiendo del patrón de líneas de entrada. En general, un decodificador tiene n entradas y 2n salidas. La figura muestra un decodificador con tres entradas y ocho salidas.  

Circuitos Combinacionales Comunes – Decodificador Los decodificadores tienen muchos usos en computadoras digitales. Un ejemplo es la decodificación de direcciones. Supongamos que se quiere construir una memoria de 1 KB usando cuatro chips de RAM de 256 x 8 bits. Se desea contar con un espacio de direcciones único y unificado, el cual puede ser dividido en partes como sigue: Cada chip requiere ocho líneas de dirección, las cuales se toman de los ocho bits menos significativos de la dirección. Los dos bits más significativos de los diez bits de direcciones se usan para seleccionar uno de los cuatro chips de RAM. Para este propósito, se usa un decodificador 2 a 4 cuya salida habilita a uno de los cuatro chips, como se muestra a continuación:

Circuitos Combinacionales Comunes – Demultiplexer Con una línea adicional de entrada (datos de entrada), un decodificador puede ser usado como demultiplexer. El demultiplexer realiza la operación inversa de un multiplexer; conecta una entrada única a una de posibles salidas. Esto se muestra a continuación: Al igual que en el caso del decodificador, n entradas son decodificadas para producir una sola salida de entre las 2n posibles. Cada una de las 2n salidas es usada como entrada a una compuerta AND de dos entradas, las segunda entrada sería la línea de datos. Con esto, la salida correspondiente a la combinación de las n líneas de entrada será igual a la entrada de datos.

Circuitos Combinacionales Comunes – Encoder Encoder (Codificadores) Un codificador o encoder es un circuito que convierte la información binaria presentada en cierto formato a otro formato. A continuación, se presenta un el diseño de un encoder de BCD a 7-segmentos:

Circuitos Combinacionales Comunes – Encoder

Circuitos Combinacionales Comunes – Sumador Sumadores (Adders) La suma binaria difiere del álgebra boolena en que el resultado incluye un carry (acarreo): Half Adder (medio sumador) El half adder o medio sumador suma dos dígitos binarios A y B, y tiene dos salidas: la suma y el carry de salida (Cout). El carry representa un desbordamiento (overflow) en el siguiente dígito en una suma entre números de varios bits. El valor de la suma es Suma = A ⊕ B y Cout = A AND B.

Circuitos Combinacionales Comunes – Sumador Full Adder (sumador) El full adder o sumador suma dos dígitos binarios A y B, y considera como entrada adicional el carry Cin producido por la etapa anterior (suma de los bits menos significativos inmediatos) y tiene dos salidas: la suma y el carry de salida (Cout). El Cin se considera igual a cero en la suma de los bits menos significativos de A y B. El carry producido por la suma de los bits correspondiente de A y B es transferido a la suma de los siguientes bits más significativos inmediatos. El Full adder se presenta a continuación:

Circuitos Combinacionales Comunes – Sumador Analizando las ecuaciones anteriores, se puede que la Suma es 1 cuando las variables de entrada son un número impar de 1s, por lo que se puede expresar como el XOR entre cada una de estas variables. Cout es 1 cuando A AND B es 1 (ambas son uno) y cuando cualquiera de las variables A y B es uno la vez que también Cin es igual a 1; sin embargo, el caso en que ambas, A y B, sean uno, ya está cubierto por el término AB, requiriéndose agregar solo los casos en los que solo una de las variables A y B es 1 (A ⊕ B). Entonces, Suma = A ⊕ B ⊕ Cin Cout = AB + Cin (A ⊕ B) Lo cual resulta en la siguiente implementación:

Circuitos Combinacionales Comunes – Sumador Sin embargo, en una computadora, no es de interés el realizar operaciones entre un par de bits. Se busca poder sumar dos números de n bits. Esto se puede realizar interconectando un conjunto de sumadores de un bit de tal manera que el carry de uno sumador sea alimentado como entrada al siguiente. En la siguiente figura se muestra un sumador de dos números de 4 bits: Entonces tenemos la lógica necesaria para implementar un sumador de varios bits, tal como se muestra a continuación.

Circuitos Combinacionales Comunes – Sumador Note que ya que la salida de cada sumador depende del carry del sumador anterior, por lo que hay un incremento acumulado de retardo al obtener la suma total del bit menos significativo al bit más significativo. Cada sumador de un bit tiene cierto retardo como resultado del retardo en sus compuertas lógicas, el cual se acumula al pasar de compuerta a compuerta. En el caso de sumadores más grandes, este retardo acumulado puede resultar inaceptablemente alto. Si los valores de acarreo se pudieran determinar sin tener que pasar a través de todas las etapas previas, entonces cada sumador de un bit podría funcionar independientemente, y el retardo no se acumularía. Esto se puede lograr con una procedimiento conocido como acarreo anticipado (carry lookahead). Veamos de nuevo el sumador de cuatro bits para explicar este método. Se busca proponer una expresión que especifica el acarreo de entrada a cualquier etapa del sumador sin referimos a los valores de acarreo previos. Se tiene, entonces Siguiendo el mismo procedimiento, se obtiene

Circuitos Combinacionales Comunes – Sumador Este proceso se puede repetir para sumadores arbitrariamente grandes. Cada término de acarreo se puede expresar en forma SOP como función de solo las entradas originales, sin dependencia de los acarreos. Por lo tanto, solo se dan dos niveles de retardo de compuerta sin importar la longitud del sumador. Para el caso de números grandes, este procedimiento se vuelve demasiado complicado. Evaluando la expre­sión para el bit más significativo de un sumador de n bits, se requiere una compuerta OR con un número de n - 1 entradas y n compuertas AND de 2 a n + 1 entradas. Por consiguiente, el acarreo anticipado se hace normalmente con solo cuatro u ocho bits a la vez. La siguiente figura muestra el sumador de 32 bits ya visto anteriormente, el cual se construye a partir de cuatro sumadores de ocho bits. En este caso, el acarreo debe pasar a través de los cuatro sumadores de ocho bits, pero puede ser sustancialmente más rápido que pasar a través de 32 sumadores de un bit.

Circuitos Combinacionales Comunes – Sumadores-Restadores Muchas veces es conveniente implementar un restador a partir de un sumador. Esto se logra representando la resta como la suma del minuendo (B) más el complemento a dos del sustraendo (A). Como ya se vio anteriormente, el complemento a dos (C2) de un número se obtiene invirtiendo el número (complemento a uno, C1) y sumándole un uno. El sumador-restador implementa esta función incorporando un multiplexer para cada bit del número a restar (sustraendo), de tal manera que cuando se desea implementar la resta, una señal D será igual a 1, y será cero en caso de una suma ordinaria. Al ser D = 1, se alimenta al sumador el complemento de A, al ser D = 0 se alimenta al sumador simplemente A. A la vez, el valor de D se introduce como carry al sumador de los bits menos significativos de los dos operandos, por lo que, en el caso de la resta (D = 1) esto representa sumar 1 al complemento a uno de A, resultando el complemento a dos de A lo que finalmente se suma a B. En el caso de la suma ordinaria, D = 0 no afecta el resultado.