You are on page 1of 57

ARQUITECTURA DE COMPUTADORAS 1.

Introduccin a los conceptos Digitales

1. INTRODUCCIN A LOS CONCEPTOS DIGITALES 1.1 Computadoras Digitales

Los computadores digitales han hecho posible muchos avances cientficos, industriales y comerciales que no se hubiesen podido lograr por otros medios. Los programas espaciales hubiesen sido imposible s sin la vigilancia continua de tiempo real del computador y muchas empresas de negocios funcionan eficientemente slo con la ayuda del procesamiento automtico de datos. Los computadores se usan para clculos cientficos, procesamientos de datos comerciales y de negocios, control de trfico areo, direccin espacial, campo educacional y en muchas otras reas, La propiedad ms impactante de un computador es su generalidad. Puede seguir una serie de instrucciones, llamadas programa, que operan con datos dados. El usuario puede determinar y cambiar los programas y datos de acuerdo a una necesidad especfica. Como resultado de esta flexibilidad, los computadores digitales de uso general pueden realizar una serie de reas de procesamiento de informacin de amplia variedad .

Digital
El mundo analgico y el mundo digital Es conveniente tener clara la distincin entre los conceptos Analgico y Digital antes de introducirnos al mundo de la electrnica digital, para ello consideremos los siguientes circuitos elctricos:

Para el circuito de la izquierda la relacin de la salida (Vout) respecto a la entrada (Vin) est dada por:

De esta manera Vout puede tomar una infinidad de valores dependiendo de la variacin de Vin Para el circuito de la derecha la relacin de la salida (Luz) respecto a la entrada (Vin) est dada por la siguiente tabla

Sesiones 1 y 2

ARQUITECTURA DE COMPUTADORAS 1. Introduccin a los conceptos Digitales

Por esto la luz slo puede tomar dos estados o valores al variar Vin debido a la posicin del switch S. En general podemos pensar en una seal analgica como aquella que puede tomar una infinidad de valores en un intervalo finito. A continuacin se presenta una grfica tpica de una seal analgica que vara con el tiempo

Como puede observarse en la figura anterior, la seal f(t) puede tomar cualquier valor entre f(t1) y f(t2). Ejemplos de seales analgicas: Temperatura del cuerpo, velocidad de una auto, distancia recorrida por un peatn, peso corporal, etc. A diferencia de las seales analgicas, una seal digital o discreta slo puede tomar una cantidad finita de valores en un intervalo cualquiera. En la siguiente figura se muestra una seal digital tpica que vara con el tiempo:

Como puede advertirse en la figura anterior, f(t) solamente toma 6 valores diferentes entre f(t1) y f(t2) Ejemplos de variables digitales: la edad en aos completos de una persona, el precio de un producto, el nmero de pobladores de un pas, etc...

Sesiones 1 y 2

ARQUITECTURA DE COMPUTADORAS 1. Introduccin a los conceptos Digitales

Un caso particular de seal digital que ser la que nos ocupe a lo largo de este curso es la llamada seal binaria y se refiere simplemente a una seal discreta que slo puede tomar dos valores. En la siguiente figura se muestra una seal binaria tpica que vara con el tiempo.

As como hay seales analgicas y digitales, tambin los dispositivos pueden clasificarse de esta manera dependiendo de las seales que manejan o de los principios de operacin en que estn basados. As, podemos hablar de dispositivos analgicos o dispositivos digitales. Unidades de informacin en los sistemas digitales La razn de ser de un comp utador es el procesamiento de informacin. Para poder hablar con propiedad de este procesamiento, debemos definir unidades de medida que nos permitan cuantificar de algn modo la acci n del computador sobre la informacin suministrada. Bit El bit es la unidad de informacin binaria ms pequea que puede manejar una computadora. Representa la forma que tiene la computadora para representar los valores 0 y 1. Los computadores se componen de dispositivos electrnicos, por lo que todas sus funciones las realizan mediante seales elctricas. Una seal binaria en su estado de encendido se representa numricamente por un 1, mientras que en su estado de apagado se representa por un cero. Byte Un grupo de 8 bits constituye un byte u octeto. La informacin que puede almacenarse en un byte es mucho mayor que aquella correspondiente a un bit. En un byte se puede representar cualquier valor del 0 al 255, o cualquier tabla de smbolos que contenga hasta 256 caracteres diferentes. Cada byte se almacena en una celda de memoria separada, dispuesta de forma ordenada. Uno de los parmetros para medir la capacidad de una computadora es el nmero de bytes existentes en memoria principal y el nmero de bytes que pueden almacenarse en las unidades de memoria auxiliar (unidades de disco). Es muy comn, para ese tipo de carcatrizaciones, el uso de los siguientes mltiplos del byte:

Sesiones 1 y 2

ARQUITECTURA DE COMPUTADORAS 1. Introduccin a los conceptos Digitales

Hardware El Hardware constituye la parte fsica y electrnica de los computadores. Incluye a todos los equipos empleados en los procesos informticos y sus respectivos mecanismos de conexin. Software El software es la parte intangible de los procesos informticos y est formado por las instrucciones (programas) que el usuario entrega al computador. Firmware El firmware es una combinacin de los conceptos del hardware y software. Son instrucciones que el computador est en capacidad de ejecutar, pero que se hallan directamente ubicadas en circuitos electrnicos de memoria ROM. Programas Llamamos programa al conjunto de instrucciones, sentencias u rdenes, escritas de acuerdo a determinadas reglas y que dirigen al HW de una computadora paso a paso y de forma automtica, de manera tal que se logra obtener la informacin deseada, a partir de ciertos datos.. Los programas se escriben utilizando lenguajes de programacin.

Subcampos en la Ingeniera de Sistemas de Cmputo

Sesiones 1 y 2

ARQUITECTURA DE COMPUTADORAS 1. Introduccin a los conceptos Digitales

TAREA 1 Investigar en que consisten los cdigos ASCII BCD Gray

Sesiones 1 y 2

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

2.1 Sistemas de numeracin


Cual es el significado numrico de la representacin acostumbrada para los nmeros?. Es decir, por ejemplo qu significa la representacin del nmero N=1998? Como es sabido, el nmero anterior significa 1 millar, ms 9 centenas, ms 9 decenas, ms 8 unidades, es decir, N puede escribirse como N= 1*103 + 9 * 102+ 9*101 + 8*100 Es decir, en general, un nmero cualquiera N de n dgitos escrito como N= An-1An-2...A 1A0 (2.1)

donde los dgitos An-1, ... A1 A0 son alguno de los diez siguientes: 0, 1, 2, ..., 9. Tambin podr escribirse como N = A n-1*10n-1 + An-2*10n-2+ ...+ A1*101 + A0*100 (2.2)

En este punto es conveniente introducir las siguientes definiciones: Sistema de numeracin Se llama sistema de numeracin al conjunto ordenado de smbolos o dgitos y a las reglas con que se combinan para representar cantidades numricas. Existen diferentes sistemas numricos, cada uno de ellos se identifica por su base. Dgito Un dgito en un sistema de numeracin es un smbolo que no es combinacin de otros y que representa un entero positivo. Bit Es un dgito binario (Abreviacin del ingls binary digit), es decir, un 0 o un 1. Base de un sistema de numeracin La base de un sistema de nueracin es el nmero de dgitos diferentes usados en ese sistema. A continuacin se ejemplifican estas definiciones con los sistemas numricos ms comnmente usados que son:

Sesiones 4, 5,6

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Notacin Comnmente, para distinguir entre los diferentes sistemas numricos se encierra entre parntesis el nmero y le aadiremos un subndice, indicando la base que se est usando. Sin embargo, si no se usa subndice se deber entender que el nmero est en base diez, a menos que se diga lo contrario. Ejemplos: 35 = (35)10 = 35 base 10 (sistema decimal) (110100)2 = 110100 base 2 (sistema binario) (34)16 = 34H = 34 base 16 (sistema hexadecimal) Notacin Fraccionaria En general cualquier nmero entero consta de Parte entera . Parte Fraccionaria Cualquier nmero se puede escribir de dos maneras, mediante la notacin yuxtaposicional o simplemente posicional (ecuacin 2.1) o la notacin polinomial (ecuacin 2.2). Notacin posicional Al escribir un nmero con esta notacin, la posicin de cada dgito nos dice su peso relativo. En general, en la base r un nmero N de n dgitos en la parte entera y m dgitos en la parte fraccionaria en esta notacin se escribe: N=(a n-1 a n-2 .... a1 a0 . a-1 .... a -m )r (2.3)

En esta notacin el dgito de ms a la izquierda (a n-1) es decir, el que pesa ms se denomina dgito ms significativo (MSD), en forma similar al de ms a la derecha (a-m ), es decir, el que pesa menos se le llama dgito menos significativo (LSD) Ejemplo: (218.25)10 r=10, n=3, m=2 Notacin polinominal En general cualquier nmero N puede ser escrito como un polinomio en potencias de la base. As, la notacin polinomial para el nmero expresado por (2.3) ser

(2.4)

Sesiones 4, 5,6

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Ejemplo: N = (218.25)10 = 2*102 + 1*101 + 8*100 + 2*10-1 + 5*10-2

CONVERSIN ENTRE SISTEMAS DE NUMERACION El problema general de convertir un nmero de su representacin en base r a la correspondiente en base q se puede resolver en un slo paso si se maneja aritmtica de base r o de base q, sin embargo, si se quiere usar en el proceso solamente aritmtica de base 10 debemos plantearlo en dos etapas como se muestra en la figura 2.1

Figura 2.1 Conversin de base r a base q usando aritmtica de base 10 CONVERSIN DE BASE r A BASE 10 Como lo sugiere la figura 1.1 este caso puede ser tratado directamente usando la notacin polinomial y aritmtica de base 10. Este procedimiento consiste en usar la expresin (2.4) expresando todas las cantidades involucradas en decimal. Ejemplo. Convertir (B2A)16 a base 10. Expresando el nmero en notacin polinomial usando base 10 para representar cada cantidad involucrada en dicha notacin: (B2A)16 = (11*162 + 2*161 + 10*160)10 = (11*256 + 2*16 + 10 )10 = (2858)10 Ejemplo Convertir (11011)2, a base 10 En forma similar al ejemplo anterior (11011)2 = 1*24 + 1*23 + 0*22 + 1*21 + 1*20 =16 + 8 + 0 + 2 + 1 = (27)10 (en este caso y en los sucesivos se han obviado los parntesis y el subndice 10 para indicar decimal, excepto hasta el resultado final). Ejemplo Convertir (12101.121)3 a decimal (12101.11)3 = 1*34 + 2*33 + 1*32 + 0*31 + 1*30 + 1*3-1 + 2*3-2 + 1*3-3 = 1*81 + 2*27 + 1*9 + 0 + 1 + 1/3 + 2/9 + 1/27 = (145.592592...)10 Sesiones 4, 5,6 8

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Conversion de decimal a binario Paso 1: Dividir el valor decimal entre 2 y almacenar el residuo Paso 2: Mientras el cociente no sea cero, continuar dividiendo el nuevo cociente entre dos y almacenar el residuo. Paso 3: Cuando se obtenga cero como cociente, la representacin binaria consiste de los residuos listados en orden de derecha a izquierda. Ejemplo Convertir 1310 a binario Divisin 13 by 2 6 by 2 3 by 2 1 by 2 Cociente 6 3 1 0 Residuo 1 0 1 1

LSB MSB

(13)10 = (1101)2 Nmeros fraccionarios La parte fraccionaria de un nmero de base 10 puede convertirse a base B en forma similar a lo descrito para la parte entera, pero en este caso, en lugar de realizar divisiones se realizan multiplicaciones sucesivas, y en lugar de ir tomando residuos se toman las partes enteras resultantes de dichas multiplicaciones, obtenindose los dgitos del nmero en base r en el orden de MSD a LSD. Ejemplo convertir (0.27)10 a base 2 No. de multiplicacin Por 2 0.27 primera segunda tercera cuarta quinta sexta sptima octava 0.54 1.08 0.16 0.32 0.64 1.28 0.56 1.12 Parte entera del resultado 0 MSB 1 0 0 0 1 0 1LSB

Es decir, (0.27)10 = (0.01000101...)2

Sesiones 4, 5,6

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Otros sistemas de numeracin Octal (base 8) Smbolos (0, 1, 2, 3, 4, 5, 6, 7) Trabajar con nmeros binarios muy largos no resulta cmodo Hexadecimal (base 16) Smbolos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) Byte = 8 bits = 2 dgitos ( 1 digit hexadecimal son 4 bits)

Pesos de lexponentes con base 2 20 = 1 27 = 128 1= 2 2 28 = 256 22 = 4 29 = 512 3= 8 2 210 = 1024 24 = 16 211 = 2048 5 = 32 2 212 = 4096 6 = 64 2 213 = 8190 Resumen de pesos de posiciones de base binaria

Sesiones 4, 5,6

10

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Conversin de binario a hexadecimal Como se puede observar del caso de conversin descrito en la seccin anterior, el sistema octal (base 8) y hexadecimal (base 16) pueden ser considerados como binario abreviado, en el sentido de que la conversin de stos a binario y viceversa es prcticamente inmediata a simple vista, es por ello que estos sistemas tradicionalmente han sido utilizados para representar de manera compacta informacin binaria en los sistemas digitales. Por ejemplo: Convertir 11010011102 a hexadecimal Dividir el nmero binario en grupos de cuatro bits de derecha a izquierda.

Decimal 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111

Binario Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

Aritmtica Binaria

Sesiones 4, 5,6

11

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Suma binaria Tabla de suma binaria 0+0=0 0+1=1 1+0=1 1 + 1 = 0 y acarreo de 1

Resta Binaria Tabla de resta binaria 0-0=0 1-1=0 1-0=1 10 -1 = 1 0 -1 con acarreo de 1

Sesiones 4, 5,6

12

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Nmeros binarios negativos Signo y magnitud El bit de la extrema izquierda (bs) es usado para determinar el signo del nmero binario. Entonces tenemos: bs 0 = nmero positivo bs 1 = nmero negativo 0010 = +2 1010 = -2 Utilizando 4 bits con signo y magnitud, el nmero positivo ms grande posible de representar es el 7. (-7, -6, -5, 4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7) 15 valores en total pueden ser representados Complemento de dos +2 sumado con 2 en notacin signo magnitud utilizando la suma binaria comn no es igual a cero (comprobarlo!) El primer bit indica un valor negativo pero tambin significa un valor de acuerdo a su posicin.

Para resolver este problema se utiliza la representacin Complemento de dos. Para un nmero positivo, la representacin del complemento de dos no cambia. Para obtener el complemento de dos de un nmero negativo, - Complementar el valor positivo, despus sumar 1 3 en complemento de dos es 011 -3 en complemento de dos es Invertir cada bit 011 se transforma en 100 Sumar 1 100 + 1 = 101 Qu nmero es1010 en complemento de dos? Es un nmero negativo ya que el bs es 1 Invertiendo los bits 1010 resulta 0101 Sumando 1 0101 + 1 = 0110 (+6) Entonces el nmero orig inal es -6.

Sesiones 4, 5,6

13

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Problema de Overflow Probar sumando 5 + 4 en notacin de complemento de dos con cuatro bits.

Existe un lmite en el tamao de los valores que pueden ser representados de acuerdo a cuantos bits son usados en la notacin complemento de dos. Normalmente los enteros son representados en patrones de 32 bits

Sesiones 4, 5,6

14

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

CODIFICACIN BINARIA Por codificacin binaria se entiende la representacin de un conjunto de nmeros, letras o palabras, mediante palabras de n bits. Ahora presentaremos algunos cdigos binarios de cada tipo. La conversin entre la base 2 y la base 8 16 se realiza por agrupacin de bits. Por extensin cualquier cdigo binario puede representarse mediante los dgitos de dichas bases. As podemos hablar de cdigo octal y cdigo hexadecimal.

Cdigo BCD. Cdigo Decimal codificado en Binario Entre los cdigos ms utilizados se encuentran los llamados cdigos decimales. Estos asignan a cada uno de los dgitos de la base 10 una palabra binaria. Con su utilizacin se evita el proceso de conversin entre base 2 y base 10, aunque el nmero de bits precisado para expresar una cantidad es, en general, mayor. En la siguiente tabla se muestran algunos ejemplos:

Sesiones 4, 5,6

15

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Cdigo ASCII (Cdigo alfanumrico) Como ejemp lo de cdigo alfanumrico, en este texto se usa el cdigo ASCII . Mediante este cdigo de 7 bits es posible codificar las 26 letras del alfabeto, tanto maysculas como minsculas, los 10 dgitos decimales, caracteres como <, @ , secuencias de control como ESC, NULL, etc. A continuacin se muestran el mapa del cdigo ASCII

Sesiones 4, 5,6

16

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Un dispositivo muy generalizado por su sencillez y bajo costo en dispositivos digitales de visualizacin es el exhibidor o display de siete segmentos, el cual consiste en un arreglo de siete indicadores luminosos (LEDs) u opacos (cristal lquido) arreglado como se muestra en la siguiente figura. Existen dos tipos de exhibidores de siete segmentos construidos con LEDs, estos son los de nodo comn y los de ctodo comn, los cuales se muestran tambin en la figura. Este tipo de displays permite la representacin de informacin de tipo numrico principalmente, sin embargo, tambin permite algunos caracteres alfabticos, tales como: a, A, b, c, C, d, E, F, G, H, y, j, L, o, O, p, q, r, s, u, z. En la siguiente tabla se muestra el cdigo de 7 segmentos para un display de nodo comn para los dgitos decimales y el equivalente en BCD:

Sesiones 4, 5,6

17

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Cdigo Gray Otro cdigo de gran inters es el cdigo Gray (o cdigo reflejado) de n bits. En las siguientes tablas se muestran los casos n = 3 y n = 4. Puede observarse en ellas la particularidad de que las palabras asignadas a dos nmeros consecutivos se diferencian nicamente en 1 bit. Se trata por tanto de un cdigo con distancia unidad.

CONVERSIN GRAY - BINARIO Para convertir de Binario a Gray puede seguirse el siguiente procedimiento Algoritmo 1.- El MSB se deja igual 2.- Avanzando de MSB a LSB se suma cada bit con el siguiente despreciando el acarreo para obtener el siguiente bit del cdigo Gray Ejemplo Escribir en Cdigo Gray el nmero 4510 Como 4510 = 1011012 Al aplicar el algoritmo a este nmero binario, tenemos:

Sesiones 4, 5,6

18

ARQUITECTURA DE COMPUTADORAS 2. Sistemas de numeracin, operaciones y cdigo

Para convertir de Gray a Binario puede seguirse el siguiente procedimiento Algoritmo 1.- El MSB se deja igual 2.- Avanzando de MSB a LSB a cada bit obtenido en binario se le suma sin acarreo el siguiente bit de cdigo Gray. Ejemplo Obtener el equivalente decimal del siguiente cdigo gray: N= 011011gray

Al aplicar el algoritmo a este nmero binario, tenemos: Es decir, N= 010010 2 = 18 10

TAREA 2 Del Libro Arquitectura de Computadoras Realizar (MorrisMano) los ejercicios 3.1, 3.3, 3.4, 3.5 y tambin convertir el nmero decimal 345.78 a su equivalente binario.

Sesiones 4, 5,6

19

ARQUITECTURA DE COMPUTADORAS 3. Compuertas Lgicas

COMPUERTAS LGICAS Una manera generalizada de representar las funciones lgicas es el uso de smbolos o bloques lgicos denominados puertas o compuertas lgicas. Estas puertas en general representan bloques funcionales que reciben un conjunto de entradas (variables independientes) y producen una salida (variable dependiente) como se muestra en la figura siguiente

Una de las ventaja de usar stos smbolos es que por ser una representacin entrada / salida permiten la interconexin de puertas (la salida de una con la entrada de otra) para representar funciones ms complejas a partir de funciones sencillas. Otra ventaja es el hecho de que los bloques sencillos (puertas con pocas entradas) se encuentran disponibles en circuitos integrados comerciales, de aqu que un diagrama de puertas lgicas corresponde directamente a un diagrama de alambrado de circuito lgico. Compuertas Bsicas PUERTA AND La salida de una compuerta AND es 1 solamente si todas sus entradas son simultneamente 1, de lo contrario es 0.

Sesiones 7,8

20

ARQUITECTURA DE COMPUTADORAS 3. Compuertas Lgicas

PUERTA OR La salida de una compuerta OR es 1 solamente si todas sus entradas son simultneamente 0, de lo contrario es
1.

INVERSOR O PUERTA NOT Un inversor es una puerta de solamente una entrada y su salida es el complemento lgico de la entrada. Es decir, cuando a la entrada de una puerta NOT hay un 1 su salida ser 0, y de lo contrario cuando su entrada es 0, su salida ser 1

NAND Esta es una funcin lgica compuesta. Se puede visualizar como una compuerta AND seguida por una compuerta NOT y su salida es 0 slo cuando todas sus entradas son simultneamente 1.

PUERTA NOR Esta Compuerta es una combinacin de las funciones de un operador OR seguido por un INVERSOR. La salida de una puerta NOR slo ser 1 cuando ambas entradas valgan 0

Sesiones 7,8

21

ARQUITECTURA DE COMPUTADORAS 3. Compuertas Lgicas PUERTA EXOR (OR EXCLUSIVO) La operacin EXOR se denota por el smbolo , es decir, A EXOR B = A B. Adems, como se vio antes, A B = AB+AB. La salida de una puerta EXOR de dos entradas ser 1 si sus entradas son diferentes y ser 0 si son iguales.

Sesiones 7,8

22

ARQUITECTURA DE COMPUTADORAS 3. Compuertas Lgicas

Sesin Prctica con Multisim Prueba de funcionalidad y revisin de conceptos de compuertas con herramienta Multisim

Sesiones 7,8

23

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

ALGEBRA DE BOOLE
La herramienta fundamental para el anlisis y diseo de circuitos digitales es el lgebra Booleana. Esta lgebra es un conjunto de reglas matemticas (similares en algunos aspectos al lgebra convencional), pero que tienen la virtud de corresponder al comportamiento de circuitos basados en el funcionamiento de las compuertas lgicas. El lgebra de Boole, fue presentada originalmente por el ingls George Boole, en el ao de 1854 en su artculo "An Investigation of the Laws of Thoght ... ", sin embargo, las primeras aplicaciones a circuitos de conmutacin fueron desarrolladas por Claude Shannon en su tesis doctoral "Anlisis simblico de los circuitos de conmutacin y rels" hasta 1938. A continuacin se presentan los postulados fundamentales del lgebra de Boole POSTULADOS DEL LGEBRA DE BOOLE Postulado 1. Definicin. El lgebra booleana es un sistema algebraico definido en un conjunto B, el cual contiene dos o ms elementos y entre los cuales se definen dos operaciones denominadas "suma u operacin OR" ( + ) y "producto o multiplicacin u operacin AND" ( ), las cuales cumplen con las siguientes propiedades: Postulado 2. Existencia de Neutros. Existen en B el elemento neutro de la suma, denominado O y el neutro de la multiplicacin, denominado 1, tales que para cualquier elemento x de s: (a) x + O = x (b) x. 1 = x Postulado 3. Conmutatividad. Para cada x, y en B: (a) x+y = y+x (b) x y =y x Postulado 4. Asociatividad. Para cada x, y, z en B: (a) x + (y + z) = (x + y) + z (b) x (y z) = (x y) z Postulado 5. Distributividad. Para cada x, y, z en B: (a) x+(y z)=(x+y) (x+z) (b) x (y+z)=(x y)+(xz)

Postulado 6. Existencia de Complementos. Para cada x en B existe un elemento nico denotado x (tambin denotado x), llamado complemento de x tal que

Dualidad Es conveniente mencionar el siguiente principio que se deriva directamente de la manera en que fueron presentados los seis postulados fundamentales, es decir, del hecho de que cada postulado tiene dos incisos los cuales son duales uno del otro.

24

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

Principio de Dualidad. Si una expresin booleana es verdadera, su expresin dual tambin lo es. Expresiones duales. Dos expresiones se dicen duales una de la otra, si una se puede obtener de la otra cambiando las operaciones ( + ) por (.) y viceversa y cambiando los O's por 1 's y viceversa. Ejemplo. La expresin A + B = 1 es dual de la expresin A.B = O, Todas las expresiones de los incisos (a) de los postulados del lgebra booleana son duales de las expresiones de los incisos (b) correspondientes. Teoremas del Algebra Booleana Teorema 1. Multiplicacin por cero a) A.0 = 0 b) A+1 = 1 Teorema 2. Absorcin a) A + AB = A b) A(A + B) = A Teorema 3. Cancelacin

Teorema 4. Idempotencia a) A A = A b) A+A= A Teorema 5. Consenso

Teorema 7. Teorema de De Morgan

Teorema 8. Involucin

Teorema 9. Complementos de los neutros

25

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

Utilizando los postulados y teoremas del algebra booleana reducir las siguientes expresiones

FUNCIONES BOOLEANAS En forma similar a como se define en los cursos de lgebra de nmeros reales, es posible definir una relacin de dependencia de una variable booleana o variable lgica con otras variables booleanas independientes. Es decir, es posible definir funciones booleanas o funciones lgicas. Definicin. Sean X1,X2,...,Xn, variables booleanas, es decir, variables que pueden tomar el valor de 0 o de 1, entonces la expresin Y = f(X1,X2,...,Xn) denota una dependencia funcional de la variable dependiente Y respecto a las variables independientes. Ejemplo: La siguiente es una funcin booleana Y= f(A,B,C) = AB + AC + AC Esta funcin se puede evaluar para diversos valores de sus variables independientes A, B, C: Si A = 1, B = 0, C = 0 entonces Y= f(1,0,0) = 1.0 + 0.0 + 1.1 = 1, Si A = 1, B = 1, C = 0 entonces Y= f(1,1,0) = 1.1 + 0.0 + 1.1 = 1, Si A = 0, B = 1, C = 0 entonces Y= f(0,1,0) = 0.1 + 1.0 + 0.1 = 0, etc. A diferencia de las funciones de variable real, las cuales no pueden representarse completamente usando una tabla de valores, las funciones booleanas s quedan totalmente especificadas por una tabla que incluya todas las posibles combinaciones de valores que pueden tomar las variables independientes, dicha tabla se denomina tabla de verdad y es completamente equivalente a la expresin booleana, ya que incluye todas sus posibilidades.

26

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

Ejemplo. La siguiente es la tabla de verdad para la funcin del ejemplo anterior A B C f(A,B,C) 000 0 001 1 010 0 011 1 100 1 101 0 110 1 111 1 En general para una funcin de n variables, puesto que hay n variables y cada variable tiene dos posibles valores, hay 2n maneras de asignar estos valores a las n variables, as la tabla de verdad tendr 2n renglones. Por ejemplo en el ejemplo anterior f(A,B,C) es una funcin de 3 variables, por lo que tenemos 23 = 8 diferentes combinaciones de las entradas y por lo tanto 8 renglones de la tabla de verdad.

Mapas de Karnaugh. Conceptos Iniciales


La herramienta fundamental para la simplificacin de funciones booleanas es y seguir siendo el lgebra de Boole; sin embargo, como ya lo ha mostrado la experiencia, el lgebra de Boole tiene las siguientes desventajas: - No es un mtodo sistemtico (no hay un algoritmo paso a paso a seguir). - No es fcil saber cuando la expresin ya est lo ms reducida posible. - Es fcil cometer errores y es difcil revisar el procedimiento. Por ello, es importante contar con un mtodo como el que se presentar aqu, el cual es un mtodo sistemtico y adems grfico, por lo cual es ms sencillo y poderoso para la simplificacin de funciones booleanas. Previamente a la presentacin del mtodo se requieren algunas definiciones que se usarn de aqu en adelante. FORMAS CANNICAS Trmino Producto.- Se llama trmino producto una expresin booleana que solamente incluye operaciones AND entre sus variables (afirmadas o negadas) Ejemplos de trminos producto:

Forma SP.- Una funcin booleana se dice que esta en la forma de suma de productos (SP) si est formada exclusivamente por la suma (OR) de trminos producto. Ejemplos de funciones en forma SP son: ,

27

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

Mintrmino.- Es un trmino producto que contiene todas las variables de la funcin. Tcnicas de Reduccin de Funciones Lgicas Ejemplos de mintrminos para una funcin de 4 variables A, B, C, D:

Forma Cannica SP.- Si los trminos producto de una funcin booleana en la forma SP son todos mintrminos, se dice que est en la forma cannica SP. Ejemplos de funciones en forma cannica SP son:

Trmino Suma.- Se llama trmino suma a una expresin booleana que solamente incluye operaciones OR entre sus variables (afirmadas o negadas) Ejemplos de trminos suma:

Forma PS.- Una funcin booleana se dice que esta en la forma de producto de sumas (PS) si est formada exclusivamente por el producto (AND) de trminos suma. Ejemplos de funciones en forma PS son:

Maxtrminos.- Son trminos suma que contienen todas las variables de la funcin. Ejemplos de maxtrminos para una funcin de 4 variables A, B, C, D son:

Forma Cannica PS.- Si los trminos suma de una funcin booleana en la forma PS son todos maxtrminos, se dice que est en la forma cannica PS. Ejemplos de funciones en forma cannica PS son:

28

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

Una manera de simplificar la escritura de las funciones en forma cannica consiste en representar sus trminos por nmeros binarios, en base a la siguiente convencin

Por ejemplo, usando esta notacin la funcin f3(A,B,C) puede escribirse como

O en forma ms compacta: f3(A,B,C) = m(2,3,6,7) A la representacin anterior se le llama notacin en Lista de mintrminos. En forma similar, la funcin f7(A,B,C) puede escribirse como

O en forma ms compacta: f7(A,B,C) = M(0,1,4,5) A la representacin anterior se le llama notacin en Lista de maxtrminos.

RELACIN ENTRE MINTRMINOS Y MAXTRMINOS


Usando el teorema de DMorgan podemos obtener la equivalencia entre mintrminos y maxtrminos como sigue. Tomemos como ejemplo el mintrmino m2 de la funcin f3(A,B,C) y obtengamos su complemento:

Lo anterior se cumple para cualquier mintrmino, es decir, en general el complemento de un mintrmino es el maxtrmino correspondiente:

29

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

MAPAS DE KARNAUGH
Los Mapas de Karnaugh (MK) no son ms que una extensin de los conceptos de tablas de verdad,diagramas de Venn y mintrminos. A continuacin se ilustrar la manera en que estos tres conceptos se entrelazan para obtener lo que llamaremos un Mapa de Karnaugh. Para ello, consideremos el Diagrama de Venn de dos conjuntos A y B y localicemos en el los subconjuntos o regiones correspondientes a los cuatro mintrminos

es decir, los mintrminos m0, m1, m2 y m3.

una manera ms cmoda de representar el mismo diagrama con slo conjuntos rectangulares es como se muestra en la siguiente figura

Sin embargo, la representacin anterior an se puede mejorar eliminando las letras m y observando que se puede tabular en forma horizontal la pertenencia o no pertenencia de una regin al conjunto A y en forma vertical a B como se muestra en la siguiente figura

30

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

La figura anterior se denomina Mapa de Karnaugh de las variables A y B. En forma similar se pueden obtener los Mapas de tres y cuatro variables, como se muestra en la siguiente figura

REPRESENTACIN DE FUNCIONES EN MAPAS DE KARNAUGH Como habr podido advertirse, los Mapas de Karnaugh (M. K.) vienen siendo versiones modificadas de las tablas de verdad, ya que poseen una celda por cada mintrmino posible, as como una tabla de verdad posee un rengln por cada mintrmino posible. De manera que la representacin de funciones booleanas expresadas en forma cannica es directa, por ejemplo, consideremos la funcin siguiente f(A,B,C) = m(0,3,4,5,) Para representarla en un M. K., simplemente transcribimos la tabla de verdad de la funcin colocando unos en las celdas correspondie ntes a los mintrminos 0, 3 y 5, considerando que las celdas vacas tienen ceros:

31

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

SIMPLIFICACION DE FUNCIONES USANDO MAPAS DE KARNAUGH La simplificacin de funciones booleanas mediante Mapas de Karnaugh est basada en el concepto de adyacencia lgica. Dos mintrminos se dicen adyacentes (desde el punto de vista lgico) si difieren solamente en una variable, por ejemplo, los siguientes pares de mintrminos para una funcin de las cuatro variables:

La propiedad ms interesante de los mintrminos adyacentes es que al sumarlos se simplifican en un trmino producto que no contiene la variable que cambia de uno a otro, por ello se le llama variable redundante; por ejemplo:

En forma similar a los pares adyacentes tambin puede haber cuartetos de mintrminos adyacentes, cuando, de manera que al sumarlos se eliminen 2 variables, por ejemplo, los cuatro mintrminos:

son adyacentes, ya que al sumarlos, se eliminan dos variables

En forma similar se pueden encontrar grupos de 8, 16, etc. (potencias de 2) que permiten eliminar 3, 4 variables, etc. La principal propiedad de los mintrminos adyacentes es que al representarlos en un Mapa de Karnaugh forman un grupo de celdas que resultan adyacentes geomtricamente (es decir, resultan ser vecinos) Observacin.- En un Mapa de Karnaugh se considera que el todo el borde izquierdo es adyacente con el derecho, as como el borde inferior lo es con el superior. El mtodo de simplificacin usando Mapas de Karnaugh se puede resumir en: 1) Formar los grupos de unos del mximo tamao posible (el nmero de celdas por grupo debe ser potencia de 2) .

32

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

2) Agrupar todos los unos del mapa usando el menor nmero posible de grupos. (Un uno puede ser usado tantas veces como sea necesario). Ejemplos: a).- Dada la funcin f(A,B,C,D) = S m(1,2,4,6,9), dibujar el M.K. correspondiente.

Para encontrar las expresiones denotadas en la figura para cada grupo en el mapa usamos su interpretacin como diagrama de Venn y expresamos los grupos en trminos de intersecciones de los conjuntos involucrados), de esta manera, obtenemos la funcin simplificada sumando las expresiones as obtenidas, es decir,

Simplificar la funcin f(A,B,C) = m(1,2,3,6).

Entonces, la funcin simplificada queda f(A,B,C) = Obsrvese que alguien con falta de experiencia podra haber comenzado agrupando las celdas 2 y 3 y posteriormente formar los grupos 2,6 y 1,3 obteniendo entonces 3 grupos y por lo tanto una funcin con tres trminos producto que no sera mnima. Para evitar lo anterior los primeros mintrminos que se deben agrupar son los implicantes primos (IP) que se definen como aquellos mintrminos que no pueden ser agrupados mas que de una manera.

33

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

Por ejemplo, en el problema anterior los mintrminos 6 y 1 son implicantes primos (IP) y deben ser los primeros en agruparse. En ese problema no se requieren ms de dos grupos porque con dos grupos quedan agrupados todos los IP. EL PROCEDIMIENTO DE DISEO Aunque en principio, al abordar el problema de diseo de un circuito podemos usar nuestra experiencia, intuicin, inventiva y sentido comn, todos estos elementos no nos garantizan una solucin ptima. Sin pretender coartar la creatividad e imaginacin del estudiante, se propone el siguiente Procedimiento de Diseo de Circuitos Lgicos: Primer paso.- Identificar en el enunciado del problema las variables involucradas en el diseo, asignarles un smbolo y representarlas en un Diagrama de Bloques, el cual es un bloque desconocido interiormente an, pero su exterior debe estar bien especificado, es decir, debe poseer un conjunto de entradas (variables independientes) y salidas (variables dependientes o funciones a disear). Segundo paso.- Interpretar en el enunciado las relaciones de dependencia lgica entre entradas y salidas y representarlas en una Tabla de Verdad. Este paso debe realizarse cuidadosamente, dado la ambigedad propia del lenguaje que puede llevar a relaciones lgicas equivocadas. Tercer paso.- Obtener de la tabla de verdad los Mapas de Karnaugh, un mapa por cada variable de salida. Cuarto Paso.- Obtener las expresiones lgicas mnimas para cada variable de salida usando los mapas del paso anterior. Quinto paso.- Dibujar la implementacin con puertas lgicas procurando usar el mnimo de circuitos integrados. En este paso hay que tener presente que una expresin lgica mnima NO garantiza una implementacin mnima en trminos de circuitos integrados. Para ello, se puede recurrir al uso de puertas lgicas de un slo tipo , ya que esta estrategia permite aprovechar todas las puertas lgicas de cada circuito integrado utilizado. Las puertas que permiten ser utilizadas de esta manera son las puertas NAND o NOR. Las primeras son adecuadas para formas SP y las segundas para formas PS. Ejemplo.- Disear un circuito para controlar el encendido y apagado de la lmpara de un jardn domstico, la cual deber encender siempre que sea de noche, o la iluminacin ambiental sea muy baja, a menos que se desee ahorrar energa. El indicador de horario nocturno es una seal (N) controlada por un reloj (N=1 indica que es de noche), El indicador de iluminacin ambiental es una seal L controlada por una fotoceld a (L=1 indica que an hay luz ambiental) y el usuario utiliza un par de switches A,B para indicar si desea ahorrar energa, de manera que si ambos estn desactivados (AB=00) no se ahorrar energa, si slo uno de los dos se activa bloquear el encendido debido a L y, finalmente si ambos estn activados la luz del jardn no podr encenderse.

34

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

Solucin.- Procedemos de acuerdo al procedimiento planteado, paso a paso: 1) Diagrama de bloques

2) Tabla de Verdad

3) Mapa de Karnaugh para F(A,B,N,L)= m(0,2,3,6,7,10,11)

35

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

4) Funcin simplificada.- De acuerdo con el M.K. anterior, obtenemos

5) Para obtener una implementacin con el mnimo de circuitos integrados, transformamos la expresin anterior por involucin y usando el teorema de DMorgan, para obtener

Con lo cual podemos implementar la funcin utilizando slo puertas NAND como se muestra en la siguiente figura:

Esta implementacin se puede realizar con slo dos circuitos integrados: el 7400 y el 7410

36

ARQUITECTURA DE COMPUTADORAS 5.Lgica Combinacional

CONDICIONES SIN CUIDADO Dont care En ocasiones bajo algunas combinaciones de las variables independientes, no se puede especificar como responder el circuito o funcin lgica que se pretende implementar. Es decir, una funcin lgica puede valer 1 para ciertos mintrminos, cero para otros y los mintrminos restantes pueden ser opcionales. Un mintrmino opcional es llamado condicin sin cuidado, ya que representa una condicin del circuito o funcin lgica enel que no importa como responda ste. Las condiciones sin cuidado se pueden deber a diversas situaciones que se pueden presentar en eldiseo de un circuito o funcin lgica: Especificacin incompleta de la funcin Combinaciones imposibles de las variables independientes (entradas) Combinaciones prohibidas de las entradas Las condiciones sin cuidado incrementan la versatilidad de los M.K., ya que pueden ser tratadas como unos o como ceros, segn convenga. Ejemplo: simplificar la funcin bolean

Que tiene las siguientes condiciones dont care

37

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

6. Funciones de la lgica combinacional


INTRODUCCIN

La evolucin de los circuitos integrados ha producido una gran variedad de circuitos que realizan ms que una simple funcin lgica. Estos circuitos, dependiendo de su complejidad y de la cantidad de compuertas lgicas internas han sido clasificados como circuitos de: Baja Escala de Integracin (SSI).- Hasta 12 compuertas lgicas o menos (funciones lgicas bsicas) Media Escala de Integracin (MSI).- Hasta 100 compuertas lgicas Alta y muy Alta Escala de Integracin (LSI y VLSI) .- Ms de 100 compuertas lgicas Hay varias ventajas en el uso de los circuitos MSI o LSI. Adems de que estos bloques funcionales realizados en circuito integrado representan la experiencia y el trabajo de diseadores de funciones lgicas que es conveniente tener en cuenta para no repetir esfuerzos, su uso conlleva las siguientes ventajas: Realizaciones ms compactas (al tener soluciones completas en un slo circuito integrado con algunas pocas puertas extra para realizar la adaptacin en algunos casos). Menos alambrado (puesto que para usar los circuitos MSI slo se requiere alambrar entradas y salidas, la funcin lgica que realizan ya est alambrada en su interior) Soluciones modulares (toda la lgica relacionada con una subfuncin est contenida en un slocircuito integrado) Facilidad de mantenimiento (por la misma razn que el punto anterior).
Por esto, al abordar un problema de diseo de circuitos lgicos, antes de aplicar el procedimiento visto en las sesiones anteriore, primero hay que responderse las siguientes preguntas: Existe un circuito integrado que ya realiza la funcin requerida? Es posible adaptar con poca lgica adicional un circuito integrado (o varios) para realizar la funcin requerida? Una vez identificado un circuito MSI que satisfaga la funcin requerida es muy importante apoyarse para su uso en las hojas de especificaciones del manual de circuitos digitales correspondiente. Muy comnmente se utiliza el manual TTL. En las secciones siguientes se estudiarn algunas de las funciones ms comunes y tiles implementadas mediante circuitos MSI.

CIRCUITOS SUMADORES El sumador binario es la clula fundamental de todos los circuitos aritmticos, ya que mediante sumas (y complementos) es posible realizar restas y como ya se vi en captulos anteriores con sumas y restas (adems de corrimientos) es posible realizar multiplicaciones y divisiones, en otras palabras, las cuatro operaciones aritmticas fundamentales se pueden realizar usando sumas. A continuacin se describe el diseo paso a paso de un sumador binario expandible de acuerdo al nmero de bits de los datos a sumar.

38

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

EL MEDIO SUMADOR Un medio sumador es un sumador capaz de sumar dos datos de un slo bit y producir un bit de acarreo de salida. Como se muestra en el siguiente diagrama de bloques

La manera como realiza la suma y produce el acarreo el medio sumador se desglosa en la siguiente tabla de verdad

De lo cual es evidente la expresin lgica para cada salida: C= A.B y S =A B. Con lo cual, la implementacin del medio sumador es como se muestra a continuacin

EL SUMADOR COMPLETO DE UN BIT El medio sumador no puede ser interconectado con otros medios sumadores para formar un sumador ms grande, por ello es necesario disear un sumador que admita otra entrada aparte de los datos a sumar, es decir, un sumador de 3 datos de 1 bit, ste es denominado sumador completo y su diagrama de bloques es como se muestra a continuacin

39

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

En la siguiente tabla de verdad se muestra la manera como este sumador realiza su funcin

Un anlisis de esta tabla de verdad y el uso de Mapas de Karnaugh nos lleva a las siguientes expresiones para C1 y S:

Con lo cual la implementacin del sumador completo es como se muestra en la siguiente figura

EL SUMADOR BINARIO DE n BITS La ventaja del sumador completo de un bit es que permite conectarse en cascada con otros sumadores completos para realizar un sumador completo de varios bits. Por ejemplo, en la siguiente figura se muestra como se conectaran cuatro sumadores completos de 1 bit para construir un sumador binario de cuatro bits.

40

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

El sumador mostrado en la figura anterior puede realizar la suma de dos datos binarios de cuatro bits, el dato A=A3A2A1A0 y el dato B =B3B2B1B0 para producir la suma A+B +C0=S=C4S3S2S1S0 con la posibilidad de recibir un acarreo de entrada C0 y de generar un acarreo de salida C4. Estos acarreos permiten ver a este sumador como un solo bloque que se puede a su vez conectar en cascada con otro bloque idntico para formar un sumador binario de 8 bits, y as sucesivamente, uno de 16 o uno de 32, etc. SUMADORES EN CIRCUITO INTEGRADO Algunos sumadores binarios en circuito integrado de la familia TTL son los siguientes: 7480 Sumador Completo de 1 bit. 7482 Sumador Completo de 2 bits. 7483 Sumador Completo de 4 bits. 74283 igual al 7483 pero con diagrama de patitas diferente En la siguiente figura se muestra el diagrama funcional del 74LS83 (sumador binario de 4 bits)

DECODIFICADORES La funcin bsica de un decodificador es detectar la presencia de una determinada combinacin de bits (cdigo) en sus entradas y sealar la presencia de este cdigo mediante cierto nivel de salida. En su forma general, un n decodificador posee, lneas de entrada para gestionar n bits, y en una de las 2 lneas de salida indica la presencia de una o ms combinaciones de n bits.

41

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

El decodificador binario bsico Para el caso en que se requiriera detectar cuando ocurra el nmero binario 1001 en las entradas de un circuito digital. El circuito correspondiente se basa en una compuerta AND como elemento bsico de decodificacin ya que produce una salida a nivel alto solo cuando todas sus entradas estn a nivel alto. Por tanto, debe buscarse que todas las entradas de la compuerta AND estn a nivel alto cunado se introduzca el dato 1001, lo cual se puede conseguir invirtiendo las dos entradas centrales (cuyos bits son 0), como se muestra en la siguiente figura:

Ejemplo: Determinar la lgica requerida para decodificar el nmero binario 1011 de manera que produzca un nivel alto en la salida. Solucin: La funcin de decodificacin ser,

El circuito correspondiente ser:

El decodificador de 4 bits Para la decodificacin de todas las posibles combinaciones de cuatro bits, se requieren 16 compuertas de decodificacin (24 = 16). Este tipo de decodificador se denomina comnmente decodificador de 4 lneas a 16 lneas, ya que existen 4 entradas y 16 salidas, o tambin se llama decodificador 1 de 16, porque para cualquier cdigo dado en las entradas, slo se activa una de las diecisis posibles salidas. Lo anterior, se muestra en la siguiente tabla:

42

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

- Si se necesita una salida activa a nivel bajo para cada dato decodificado el decodificador completo se puede implementar mediante inversores y compuertas NAND. - Si se necesita una salida activa a nivel alto para cada dato decodificado el decodificador completo se puede implementar mediante inversores y compuertas AND. El smbolo lgico de un decodificador de 4 lneas a 16 lneas (1 de 16) con salidas activas a nivel bajo se muestra en la siguiente figura:

43

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Un decodificador MSI 1 de 16 El 74LS154 es un ejemplo de un decodificador MSI. El cual se muestra a continuacin.

Ejemplo: Una aplicacin requiere decodificar un nmero de 5 bits. Utilizar decodificadores MSI. Para implementar el circuito lgico. El nmero binario se representa de la forma A4A3A2A1A0. Solucin:

44

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Ejercicio En la figura anterior determinar la salida que se activa al introducir el cdigo binario de entrada 10111. Ejemplo de aplicacin Los decodificadores se utilizan en muchos tipos de aplicaciones. Como ejemplo tenemos la seleccin de puertos de entrada y salida que se muestra a continuacin:

El decodificador BCD a 7 segmentos Este decodificador acepta cdigo BCD en sus entradas y proporciona salidas que controlan un display de 7 segmentos. El circuito MSI que realiza esta funcin es el 74LS47.

45

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Tarea Utilizando los postulados y teoremas del algebra booleana reducir las siguientes expresiones

{{ f) g)

Morris Mano Arch

Morris Mano Logic

46

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Thomas Floyd

47

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Circuitos Secuenciales En la lgica combinacional los circuitos producen una respuesta instantnea, es decir, las salidas se pueden calcular a partir de la combinacin de los valores de las entradas en el mismo instante. La lgica combinacional no sirve para construir circuitos que con capacidad de memoria, es decir, funciones lgicas cuya salida en el instante presente depende de entradas en el pasado. Es entonces, cuando los circuitos secuenciales aparecen y cobran relevancia conceptos que no eran tan trascendentes para los circuitos combinacionales, algunos de estos conceptos son: instante presente, instante siguiente, estado, retroalimentacin, tiempo de propagacin, sincronizacin, memoria, secuencia, conteo, etc. Obsrvese que el principal concepto involucrado en todos los anteriores es el tiempo. INTRODUCCIN Los circuitos considerados hasta aqu, tienen la caracterstica de que su salida depend e solamente de la combinacin presente de valores de las entradas, es decir, a una misma combinacin de entrada responden siempre con la misma salida. Debido a esto, estos circuitos se denominan combinacionales. Los circuitos combinacionales tienen muchas limitantes debido a que no son capaces de reconocer el orden en que se van presentando las combinaciones de entradas con respecto al tiempo, es decir, no pueden reconocer una secuencia de combinaciones, ya que no poseen una manera de almacenar informacin pasada, es decir no poseen memoria. Un circuito cuya salida depende no solo de la combinacin de entrada, sino tambin de la historia de las entradas anteriores se denomina Circuito Secuencial. La historia de las entradas anteriores en un momento dado se encuentra resumida en el estado del circuito, el cual se expresa en un conjunto de variables de estado. El circuito secuencial debe ser capaz de mantener su estado durante algn tiempo, para ello se hace necesario el uso de dispositivos de memoria. Los dispositivos de memoria utilizados en circuitos secuenciales pueden ser tan sencillos como un simple retardador (inclusive, se puede usar el retardo natural asociado a las compuertas lgicas) o tan complejos como un circuito completo de memoria denominado multivibrador biestable o Flip Flop. Como puede verse entonces, en los circuitos secuenciales entra un factor que no se haba considerado en los combinacionales, dicho factor es el tiempo. De hecho, los circuitos secuenciales se clasifican de acuerdo a la manera como manejan el tiempo en circuitos secuenciales sncronos y circuitos secuenciales asncronos. En un circuito secuencial asncrono, los cambios de estado ocurren al ritmo natural marcado por los retardos asociados a las compuertas lgicas utilizadas en su implementacin, es decir, estos circuitos no usan elementos especiales de memoria, pues se sirven de los retardos propios (tiempos de propagacin) de las compuertas lgicas usados en ellos. Esta manera de operar puede ocasionar algunos problemas de funcionamiento, ya que estos retardos naturales no estn bajo el control del diseador y adems no son idnticos en cada compuerta lgica. Los circuitos secuenciales sncronos, slo permiten un cambio de estado en los intantes marcados por una seal de sincronismo de tipo oscilatorio denominada reloj. Con sto se pueden evitar los problemas que tienen los circuitos asncronos originados por cambios de estado no uniformes en todo el circuito.

48

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Un circuito secuencial puede entenderse simplemente como un circuito combinacional en el cual las salidas dependen tanto de las entradas como de las salidas en instantes anteriores, esto implica una retroalimentacin de las salidas como se muestra en diagrama de la siguiente figura

Seal de Reloj

49

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Flip Flops Flip-Flop Set-Reset (RS Latch) Asncrono Activado por nivel Compuertas NOR acopladas en forma cruzada Entradas activas con nivel alto (solo una puede estar activa)

Smbolo de un flip flop SR

Flip-flop RS controlado por reloj Es ms fcil evitar el estado indeterminado si manejamos restricciones de cuando el flip -flop cambia sus estados. Esto se logra comunmente con una seal de reloj.

El efecto del reloj es definir intervalos de tiempo discretos. El reloj permite que las seales de entrada del flip -flop sean ignoradas excepto cuando el reloj es activado (toma un nivel alto). Diagrama Lgico Smbolo

50

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Tabla de verdad del ff RS controlado con reloj

Tabla de transicin del ff RS controlado por reloj Notemos que nunca debemos tener S y R en 1 cuando el reloj es 1. Las seales de entrada deben ser cambiadas antes de que el reloj es activado. Mientras el reloj no est activo las entradas son ignoradas y el estado no cambia. Cuando el reloj es activado, el flip -flop puede cambiar de estado y los valores de las seales de entrada S(t) y R(t) y el estado actual Q(t) previo a la activacin del reloj determinan el nuevo valor del estado Q(t+1) del flip-flop. Asumiendo este modelo, podemos describir el comportamiento del flip-flop por una tabla que proporciona el nuevo estado Q(t+1) que ocurrir cuando el reloj sea activado, dados el estado actual Q(t) y las entradas S(t) y R(t).

Esta tabla es llamada tabla de transicin o tabla de transicin de estados El reloj no es mostrado explcitamente, pero es inherente a la interpretacin de la tabla.

51

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Diagrama de Estado Clsico La misma informacin especificada por la tabla de funcionamiento puede ser representada de varias maneras diferentes, por ejemplo, el siguiente diagrama es una alternativa grfica que tiene la particularidad de enfatizar el nmero y nombre de los estados del circuito, por ello se le llama diagrama de estado o de estado clsico. As, para el FF-SR:

Flip-flop D controlado por reloj Este flip-flop es til cuando se necesita un dispositivo para almacenar (recordar) un bit de datos

La D significa datos o delay (retardo). El trmino datos se refiere a que el flip-flop almacena datos. El trmino delay se refiere al hecho que la salida Q es igual a la entrada D un perodo de teimpo despus. Esto es, Q es igual a la entrada D retardada un perodo de tiempo.

Tabla de transicin del flip-flop D

52

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Tablas de excitacin y diagramas de estado de los diferentes flip-flop

Pasos para el diseo de circuitos secuenciales 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Obtener el diagrama de estados a partir de las especificaciones del problema Generar la tabla de estados Seleccionar el tipo de flip-flop a utilizar Generar la tabla de transicin o excitacin Construir los mapas de Karnaugh Entradas de flip-flops Salidas primarias Obtener las equaciones minimizadas Dibujar el diagrama lgico Optimizar circuito y verificar funcionamiento.

Ejemplo Disear un contador en cdigo gray de tres bits con reset sncrono activo bajo.

53

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Diagrama de estados

Tabla de estados

Seleccionar los flip-flops - Implementemos X con un JK - Implementemos Y con un D - Implementemos Z con un RS

54

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Obtengamos entonces la tabla de excitacion.

Generemos los mapas de Karnaugh y obtengamos las funciones minimizadas

55

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Reduciendo R y S

Diagrama lgico

56

ARQUITECTURA DE COMPUTADORAS 7. Flip flops y dispositivos relacionados

Tarea Disear un contador sncrono descendente de 3 bits con un reset activo alto.

57

You might also like