Conceptos de Informática - Sistemas de Numeración PDF - Practica
Document Details
Uploaded by NeatestWilliamsite6266
Universidad Tecnológica Nacional, Facultad Regional Córdoba
Tags
Summary
Este documento presenta conceptos fundamentales de informática, enfocándose en los sistemas de numeración binarios, octales, decimales y hexadecimales. Explica la teoría básica y ofrece aplicaciones prácticas. El archivo es un buen recurso de estudio para quienes se inician en el mundo de la programación y la tecnología digital.
Full Transcript
Conceptos Que es la Informática ? Informática es una palabra de origen francés formada por la contracción de los vocablos: INFORmación y autoMATICA La Real Academia Española define Informática como: El conjunto de conocimientos científicos y técnicas que hacen posible el...
Conceptos Que es la Informática ? Informática es una palabra de origen francés formada por la contracción de los vocablos: INFORmación y autoMATICA La Real Academia Española define Informática como: El conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático y racional de la información por medio de computadoras. De esta definición se desprende que es una Ciencia y una Ingeniería puesto que necesita desarrollar estudios teóricos y experimentales. Tratamiento automático: Se refiere a que son las propias máquinas las que realizan las tareas de captura, proceso y presentación de la información. Tratamiento racional: Se refiere a que todo el proceso está regulado a través de una secuencia de instrucciones (programa) que siguen el razonamiento humano. El objetivo marcado es el “tratamiento automático” de la información y el medio utilizado “la computadora” Sistemas de Numeración Unidad 1 Un Sistema de Numeración es un conjunto de reglas que permiten nombrar y escribir cualquier número, a partir de un número finito de símbolos Un sistema de numeración puede representarse como N (S, R) Donde: N: Es el sistema de numeración considerado (Decimal, binario, etc.) S: Son los símbolos permitidos del sistema de numeración R: Son las reglas que nos indican que número son validos y cuáles no. Tipos de sistemas de numeración Los sistemas de numeración pueden clasificarse en dos grandes grupos: posicionales y no-posicionales: En los sistemas de numeración ponderados o posicionales el valor de un dígito depende tanto del símbolo utilizado, como de la posición que ése símbolo ocupa en el número. En los sistemas no-posicionales los dígitos tienen el valor del símbolo utilizado, que no depende de la posición (columna) que ocupan en el número. Los sistemas no-posicionales: Sistemas de numeración Egipcia Sistemas de numeración Griego Sistemas de numeración Romano Sistemas de numeración Babilónico Los sistemas posicionales: El número de símbolos permitidos en un sistema de numeración posicional se conoce como base del sistema de numeración. Si un sistema de numeración posicional tiene base b significa que disponemos de b símbolos diferentes para escribir los números, y que b unidades forman una unidad de orden superior Binario 0,1 { base 2} Octal 0,1,2,3,4,5,6,7 { base 8} Decimal 0,1,2,3,4,5,6,7,8,9 {base 10 } Hexadecimal 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F {base 16} Otros 3 Ternario 4 Cuaternario 5 Quinario 6 Senario 7 Eptal TEOREMA FUNDAMENTAL DE LA NUMERACIÓN DADO UN SISTEMA DE NUMERACIÓN DE BASE b CON b >1, CUALQUIER NÚMERO NATURAL N PUEDE DESCOMPONERSE DE LA FORMA: N: Número válido en el Sistema de numeración b: base del sistema de numeración. Número de símbolos permitidos en el sistema. d: un símbolo cualquiera de los permitidos en el sistema de numeración n: número de dígitos de la parte entera. ,: coma fraccionaria. Símbolo utilizado para separar la parte entera de un número de su parte fraccionaria. k: número de dígitos de la parte decimal. Sistemas Binario El Sistema Binario: Es el sistema de numeración que utiliza internamente el hardware de las computadoras actuales. Se basa en la representación de cantidades utilizando los dígitos 1 y 0. Por lo tanto, es base 2 (Numero de dígitos del sistema) Cada dígito de un número representado en este sistema se denomina BIT (Contracción de Binary Digit). El número 111 está formado por un solo símbolo repetido tres veces. No obstante, cada uno de esos símbolos tiene un valor diferente, que depende de la posición que ocupa en el número. Así, el primer 1 (empezando por la izquierda) representa un valor de , el segundo de y el tercero de , dando como resultado el valor del número: 7 Sistema Octal El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7. Para convertir un número en base decimal a base octal se divide por 8 sucesivamente hasta llegar a cociente 0, y los restos de las divisiones en orden inverso indican el número en octal. Para pasar de base 8 a base decimal, solo hay que multiplicar cada cifra por 8 elevado a la posición de la cifra, y sumar el resultado. Es más fácil pasar de binario a octal, porque solo hay que agrupar de 3 en 3 los dígitos binarios. Ej: El número 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 / 001 / 010, después obtenemos el número en decimal de cada uno de los números en binario obtenidos: 1=1, 001=1 y 010=2. De modo que el número decimal 74 en octal es 112. Sistema Hexadecimal El sistema numérico hexadecimal o sistema hexadecimal (a veces abreviado como Hex, no confundir con sistema sexagesimal) es un sistema de numeración que emplea 16 símbolos En principio, dado que el sistema usual de numeración es de base decimal y, por ello, sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir los dígitos que nos faltan. El conjunto de símbolos sería, por tanto, el siguiente: Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. Conversiones en el Sistema de Numeración Conversión Decimal - Binario: Para convertir números enteros de decimal a binario, la forma más simple es dividir sucesivamente el número decimal y los cocientes que se van obteniendo por 2, hasta que el cociente en una de las divisiones se haga 0. La unión de todos los restos obtenidos escritos en orden inverso nos proporciona el número inicial expresado en el sistema binario. Convertir el número decimal 10 a binario. Resulta el 10 en decimal queda como 1010 en binario Conversión Binario – Decimal Conversión Binario – Decimal: Consiste en numerar los dígitos de derecha a izquierda comenzando desde cero, a cada número se le asigna la correspondiente potencia base 2 y al final se suman las potencias. Convertir en decimal el número binario 10101 Suma y Resta de Números Binarios La suma o adición binaria es análoga a la de los números decimales. La diferencia radica en que en los números binarios se produce un acarreo (carry) cuando la suma excede de uno mientras en decimal se produce un acarreo cuando la suma excede de nueve(9). La técnica de la resta en binario es, nuevamente, igual que la misma operación en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10 - 1, es decir, 210 – 110 = 1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente Tablas Suma y Resta Octal - Hex Resta Octal -Tener en cuenta que en la resta cuando el sustraendo es mayor que el minuendo debo aplicar lo siguiente: -Tomo una unidad de la columna izquierda siguiente -Esa unida NO es una suma de decenas (10) ya que estamos en el sistema Octal, se suman (8)unidades Suma Octal -En el caso de la Suma, tendremos en cuanta la regla que 7 + 1 = 10 Suma Hex. Teniendo en cuenta esta equivalencia podemos realizar la suma de forma habitual. Si la suma entre dos números de una columna es superior a 15, deberemos sumar uno a la columna de la izquierda y restar 16 al resultado de la suma entre los dos números. Resta Hex: Se realiza de la misma forma que en el sistema decimal, la única diferencia es que cuando se “piden cifras” al número que está al lado, pasa a la columna de la derecha como 16, luego se suma ese 16 con el numero que “pidió” la cifra y se continua con la operación. Representación de números con signo Representación de números Enteros : Las computadoras utilizan diferentes métodos para la representación interna de números enteros (positivos y negativos ). Según la implementación del circuito, las mas utilizadas son: Signo y Magnitud Complemento a la base Si la base es 2 (binario) se dice Complemento a dos Complemento a la base menos uno Si la base es 2 (binario) se dice Complemento a uno : Todas las representaciones utilizan el bit de mayor peso, el bit mas significativo para representar el signo: positivo (+) o negativo (- ). Como el alfabeto del computador solo tiene 0’s y 1’s por convención se establece: 0 ↔ (+) 1 ↔ (-) binario Sin embargo en cualquier sistema de numeración posicional el cero “0” representa los “+” y los negativos se representan como “b-1”, donde b es la base del Sistema. Así por ejemplo el negativo en Decimal es el 9(nueve), en Binario el 1 (uno), Octal 7(siete) y Hexadecimal F (efe). Representación de números con signo Signo Magnitud En la representación de un número entero en Signo Magnitud, también llamada Signo Módulo, de los n bits participantes en dicha representación, el más significativo se encarga de representar al signo del mismo, denominándosele bit de signo. El resto de bits representan a la magnitud. Por tanto, dado un número en Signo Magnitud de n bits NSM = an-1 an-2... a1 a0 Cuando se quiera representar a un número negativo, el bit de signo valdrá 1, siendo 0 cuando el número sea positivo Por otro lado, para calcular el valor en base 10 de un número entero (N) escrito en Signo Magnitud, hay que hacer uso de la fórmula – representar el 11100001 (SM) Representación de números con signo Complemento a la base C => Complemento b => base m => módulo- cantidad de dígitos utilizados. Debe contener el dígito de signo N => número a complementar Ej: N= - 1011 Modulo:8 Representación de números con signo Complemento a la base -1 C => Complemento b => base m => módulo- cantidad de dígitos utilizados. Debe contener el dígito de signo N => número a complementar Ej: N= - 1011 Modulo:8 Métodos de conversión directa Bit de Signo: Es el bit que se encuentra mas a la izquierda (el mas significativo) Magnitud: Es el valor del número Sigo: Si es 0 (+) o si es 1(-) Métodos Signo Magnitud: En este caso, el bit de signo indica si el número es positivo o negativo. La magnitud se mantiene igual. Complemento a 1: Aquí se intercambian todos los digito del número ente 0 x1 y los 1 x 0 Complemento a 2: A partir del primer 1 contando de derecha a izquierda los dígitos quedan igual. Luego se intercambian los 0x1 y los 1x0 Representación interna de Datos- Codificación alfanumérica Los datos e informaciones que se manejan internamente en un sistema informático se pueden representar, según sus características, de la siguiente forma: ASCII alfanuméricas EBCDIC Representaciones o códigos internos numéricas Coma fija Coma flotante Códigos de Representación-alfanumérica Los códigos alfanuméricos son aquellos que nos permiten representar en lenguaje binario números y letras, así como otros caracteres necesarios de control (no imprimible) Los sistemas de codificación alfanumérica sirven para representar una cantidad determinada de símbolos en binario. A cada símbolo le corresponderá una combinación de un número de bits. Código ASCII (American Standard Code for Information Interchange) Código Estándar Americano para el Intercambio de la Información es un código alfanumérico, es decir, nos permite combinar en un mensaje números y letras. Originariamente, el código ASCII tenía 128 caracteres, que son los recogidos en esta tabla que se muestra a continuación. Con este código se pueden representar dígitos del 0 al 9, letras mayúsculas de la A a la Z, letras minúsculas, caracteres especiales y algunos otros denominados de control. Códigos de Representación-alfanumérica Fue creado en 1963 por el Comité Estadounidense de Estándares o "ASA", este organismo cambio su nombre en 1969 por "Instituto Estadounidense de Estándares Nacionales" o "ANSI" como se lo conoce desde entonces. Este código nació a partir de reordenar y expandir el conjunto de símbolos y caracteres ya utilizados en aquel momento en telegrafía por la compañía Bell. En un primer momento solo incluía letras mayúsculas y números, pero en 1967 se agregaron las letras minúsculas y algunos caracteres de control, formando así lo que se conoce como US-ASCII, es decir los caracteres del 0 al 127. Así con este conjunto de solo 128 caracteres fue publicado en 1967 como estándar, conteniendo todos lo necesario para escribir en idioma ingles. Otros códigos alfanuméricos EBCDIC: Extended BCD Interchange Code fue desarrollado por IBM. Actualmente es la única que lo usa en grandes sistemas. UNICODE: Es el código usado actualmente para el manejo de fuentes para procesamiento de palabras. Está definido por ISO 10646 y permite la representación de múltiples alfabetos de distintos idiomas. Códigos de Representación- numérica BCD - Binary Code Digit Con ayuda de este código es más fácil ver la relación que hay entre un número decimal (base 10) y el número correspondiente en binario (base 2). El código binario puro se basa en una regla (potencias de 2), mientras que los códigos BCD se basan en una tabla en la que salen los números decimales del 0 al 9 y las correspondientes “traducciones” en BCD. Hay varios tipos de BCD: – BCD puro: Binary Code Digit, decimal o decimal codificado en binario es un estándar para representar números decimales en el sistema binario, en donde cada dígito decimal es codificado con una secuencia de 4 bits. Ej: 13 en BCD, es 1 (0001) seguido de un 3 (0011). El 13 en decimal se escribe 00010011 en BCD Códigos de Representación- numérica Código BCD Exceso 3 El código Exceso 3 se obtiene sumando “3” a cada combinación del código BCD natural. Ver la tabla. El código exceso 3 es un código en donde la ponderación no existe (no hay “pesos” como en el código BCD natural y código Aiken). Al igual que el código Aiken cumple con la misma característica de simetría. Cada cifra es el complemento a 9 de la cifra simétrica en todos sus dígitos. Es un código muy útil en las operaciones de resta y división. Ej: 13 en BCD Exceso 3, es 1 (0100) seguido de un 3 (0110). El 13 en decimal se escribe 0100 0110 en BCD xs3 Códigos de Representación- numérica Código BCD Aiken Es un código similar al código BCD natural pero con los “pesos” o “valores” distribuidos de una manera diferente. En el código BCD natural, los pesos son: 8 – 4 – 2 – 1, en el código Aiken la distribución es: 2 – 4 – 2 – 1 El código Aiken es muy útil para realizar operaciones de resta y división. Representación redundantes Código Gray Es un tipo especial de código binario que no es ponderado (los dígitos que componen el código no tienen un peso asignado). Su característica es que entre una combinación de dígitos y la siguiente, sea esta anterior o posterior, solo hay una diferencia de un dígito (bits) lo que representa ventajas desde la transmisión de datos y el diseño de circuitos. También se le llama Código progresivo o cíclica. Esta progresión sucede también entre la última y la primera combinación La característica de pasar de un código al siguiente cambiando solo un dígito asegura menos posibilidades de error. El código Gray debe su nombre al físico e investigador de los laboratorios Bell Frank Gray Códigos de Representación- numérica Códigos de Hamming Con este nombre se conoce a un conjunto de códigos correctores en k dígitos binarios. A la hora de trabajar con este tipo de códigos podemos distinguir dos operaciones: a) Construcción, que se realizará en el centro emisor. b) Interpretación, que se realizará en el centro receptor. a) Construcción. Se parte de un código de n dígitos de distancia mínima uno1. Estos n dígitos son conocidos dentro del código de Hamming como "dígitos de datos". A continuación se le añaden p (cp-1,..., c2, c1, c0) dígitos denominados de control o paridad. Así pues, el nuevo código tendrá una longitud de palabra de l=n+p. b) Interpretación. Recibida una combinación de un código de Hamming hay que comprobar si es correcta, y de no ser así habrá que detectar el dígito que varió en la transmisión. Ahora los p dígitos añadidos actúan como dígitos de control y con ellos formamos una palabra binaria. Representación de números reales El estándar IEEE 754 define representaciones para números de coma flotante con diferentes tipos de precisión: simple y doble, utilizando anchos de palabra de 32 y 64 bits respectivamente. Estas representaciones son las que utilizan los procesadores de la familia x86, entre otros. En la representación de 32 bits, el bit mas significativo es utilizado para almacenar el signo de la mantisa, los siguientes 8 bits guardan la representación del exponente, y los restantes 23 bits almacenan la mantisa. El exponente se representa en exceso de 8 bits, con un desplazamiento de 127. Pasos a tener en cuenta : 1- Separar el signo y representarlo en el bit de signo Resolver: 2- Normalizar el número en binario - 27,5 3- Calcular el exponente sesgado según - 1100001011001111000.. 4- Omitir el primer “1” de la mantisa y representar el número Representación de números reales De manera similar, en la representación IEEE de doble precisión, el bit mas significativo es utilizado para almacenar el signo de la mantisa, los siguientes 11 bits representan el exponente y los restantes 52 bits representan la mantisa. El exponente se representa en exceso de 11 bits, con un desplazamiento de 1023. En ambos casos se tiene una mantisa normalizada con un bit entero y los restantes fraccionarios, es decir que tiene la forma ”1,X”, donde X es el valor de los bits fraccionarios. Además, como se tiene un bit implícito, el dígito 1 (entero) esta oculto y por lo tanto no es almacenado en la representación, permitiendo así ganar precisión. Circuitos lógicos y digitales - Introducción al álgebra de Boole Un Sistema es un conjunto de elementos que guardan una relación entre sí, a su vez un elemento del sistema puede ser otro sistema (subsistema). Los sistemas electrónico podemos clasificar en ELECTRÓNICOS oANALÓGICOS oDIGITALES COMBINACIONALES SECUENCIALES Un sistema digital es aquel cuyos elementos son digitales (sólo pueden adoptar valores discretos). Para poder realizar el estudio de los Sistemas Digitales se necesita estudiar una álgebra binaria. El Álgebra de George Boole, que data de 1854, es sin dudas la más apropiada para nuestro fin. Claude Shannon en 1938 adaptó esta álgebra para la aplicación en sistemas digitales. A continuación estudiaremos el álgebra de Boole, las funciones booleanas, las compuertas lógicas, los Sistemas Combinacionales y, finalmente, los Sistemas Secuenciales. George Boole - biografía George Boole nació el 2 de noviembre de 1815 en una familia de comerciantes de escasos recursos y compartió su infancia con dos hermanos. Su intención era ser un monje, así que desde muy joven empezó a estudiar el griego y el latín, además del italiano, el alemán y el francés. A los 12 años ya dominaba todas esas lenguas a la perfección y tradujo varios textos y poemas. Al conocer tantos idiomas fue capaz de leer muchas obras antiguas que hablaban sobre Dios y el conocimiento religioso, pero tuvo que abandonar su sueño de ser monje cuando vio que era necesario ponerse a trabajar para poder sacar adelante a su familia. Dejó a un lado las lenguas y empezó a interesarse más por las matemáticas. A los 16 años se convirtió en profesor y no tardó mucho más tiempo en abrir su propia escuela. A los 24 años le enviaron una oferta para estudiar en la universidad de Cambridge, pero tuvo que abandonar porque no podía dejar atrás a su familia. Durante el resto de su vida fue profesor de matemáticas y se dedicó a escribir muchos libros que hablaban sobre la lógica y las matemáticas. En 1847 el matemático inglés George Boole definió un tipo de álgebra en la que sólo podían adoptar dos valores, verdadero o falso. Estos valores se designan por 0 y 1. Estos símbolos no representan números si no dos tipos de estados diferentes dentro de un dispositivo, como puede ser encendido o apagado, abierto o cerrado. Circuitos lógicos y digitales - Introducción al álgebra de Boole Postulados y Teoremas Dentro de las álgebras de Boole, es de utilidad definir la bivalente, es decir compuesta por sólo dos elementos. Así, el álgebra es un conjunto de elementos binarios relacionados entre sí mediante las operaciones lógicas producto [.] y suma [+], que cumplen con los siguientes postulado: SUMA LOGICA PRODUCTO LOGICO NEGACION LOGICA Álgebra de Boole – Operaciones basicas SUMA LOGICA: Denominada también operación "O" (OR). Esta operación responde a la siguiente tabla PRODUCTO LOGICO: Denominada también operación "Y" (AND). Esta operación responde a la siguiente tabla: NEGACION LOGICA: Denominada también operación "N" (NOT). Esta operación responde a la siguiente tabla Álgebra de Boole – Postulados Las propiedades del conjunto de elementos que pueden tomar dos valores diferenciados “0” o “1” , que esta relacionados por dos operaciones binarias de “+” y “*” cumplen los siguientes postulados: P1) ROPIEDAD CONMUTATIVA: De la suma: a+b=b+a Del producto: a* b = b * a P2) ELEMENTO IDENTIDAD o NEUTRO De la suma a+0=a Del producto a*1= a P3) COMPLEMENTO O INVERSION LOGICA De la suma a + a' = 1 Del producto a * a' = 0 P4 ) PROPIEDAD DISTRIBUTIVA: Del producto respecto a la suma: a + (b*c) = (a+b) * (a+c) De la suma respecto al producto: a*(b+c) = (a*b) + (a*c) Álgebra de Boole – Teoremas 1) Dualidad: Toda igualdad lógica sigue siendo válida si se intercambian los operadores (+ y.) y los elementos de identidad (0 y 1). La simetría de los postulados demuestra este teorema. 2) En el álgebra se cumple que a + 1 = 1 / a. 0 = 0 3) Ley de Idempotencia a+a=a / a.a=a 4) Ley de involución (a’)’ = a 5) Las operaciones lógicas son asociativas a + (b + c) = (a + b) + c / a. (b. c) = (a. b ). c 6) Absorción: a = a + (a. b) / a = a. (a + b) 7) Leyes de De Morgan 7.1 ) (a + b + c + d +.......+ n)’ = a’. b’. c’. d’...........n’ 7.2) (a. b. c. d.........n)’ = a’ + b’ + c’ + d’ +..........+ n’ Reglas – Algebra de Boole Respecto a la Suma - OR 1- A + 0 = A 2- A+ 1 = 1 3-A+A= A 4 - A + A' = 1 Respecto al Producto – AND 1- A * 0 = 0 2- A * 1 = A 3-A*A= A 4 - A * A' = 0 Respecto a la negación - NOT 1- A = A 2- A+ B = A * B Ley de Morgan 3- A* B = A + B Puertas Lógicas – NOR- NAND NOR NAND Universalidad de las compuertas NAND y NOR Estas compuertas se dicen que son "universales" puesto que con cada una de las dos familias podemos realizar todas las funciones lógicas. En la tabla a continuación se muestran los operadores lógicos en función de solo compuertas NOR y solo compuertas NAND Puertas Lógicas –XOR y XNOR OR - Exclusiva XOR XNOR KARNAUGH SIMPLIFICACIÓN DE FUNCIONES En 1953 el Ingeniero Maurice Karnaugh ideó un método que permitía minimizar funciones lógicas mediante la confección de tablas o mapas del estado de sus variables. El método de simplificación de Karnaugh es recomendable utilizarlo para sistemas con un número de variables de entrada comprendidas entre 2 y 5 variables. Para aplicar la simplificación de la función lógica por karnaugh primero es necesario realizar la tabla de la verdad del problema o tener la función lógica del circuito a simplificar. Una vez que tenemos la tabla o función lógica es cuando aplicamos la simplificación por el método de karnaugh. KARNAUGH SIMPLIFICACIÓN DE FUNCIONES Dibujamos un tabla de karnaugh con tantas casillas como 2n , siendo "n" el número de variables. Por ejemplo para 2 variables la tabla tendrá 4 casillas, para 3 variables tendrá 8 casillas y para 4 variables tendrá 16 casillas. No se recomienda este método para más de 4 variables. KARNAUGH SIMPLIFICACIÓN DE FUNCIONES Debemos agrupar UNOS en grupos de 1, 2, 4, 8, 16....UNOS. y además, la agrupación debe ser la mayor posible de unos, y no importa que un uno o varios unos pertenezcan a varias agrupaciones siempre y cuando las agrupaciones se realicen en vertical o en horizontal (cuadrados o rectángulos) nunca en diagonal. OJO nunca agrupar grupos de 3 o 5 unos. Formas Normales o Canónicas de una Función Booleana Las formas canónicas están formadas por términos canónicos. Los términos canónicos se caracterizan porque todas las variables de la función, complementadas o no, aparecen en cada uno de ellos. Los términos canónicos pueden ser sumas canónicas o productos canónicos. Para una función de tres variables F(x, y, z) serían ejemplos de sumas canónicas los términos x+y+z, x'+y+z'; ejemplos de productos canónicos son: xyz , x'y'z'. Las dos formas canónicas reciben el nombre de primera y segunda forma canónica. La primera forma es una suma de productos canónicos mientras que la segunda es un producto de sumas canónicas. Formas Normales o Canónicas de una Función Booleana A los términos de la primera forma canónica se les denomina: Minitérminos, términos producto o productos canónicos. A los términos de la segunda forma canónica se les denomina: Maxitérminos, términos suma o sumas canónicas. Minitérminos : términos en los que las variables lógicas están relacionadas entre sí mediante el producto lógico "·", y éstos a su vez están sumados. (Vulgarmente se dice que una función compuesta por minitérminos es una "función suma de productos"). F(x, y) = xy' + x'y + x'y'. Siendo xy', x'y, x'y' minitérminos. F(x, y, z) = xy'z + x'y'z + xyz'. Siendo xy'z, x'y'z, xyz' minitérminos. Maxitérminos : términos en los que las variables lógicas están relacionadas entre sí mediante "+", y éstos a su vez están multiplicados. (Vulgarmente se dice que una función compuesta por maxitérminos es una "función producto de sumas"). F(x, y, z) = (x+y'+z)·(x+y+z'). Siendo (x+y'+z),(x+y+z') maxitérminos. Formas Normales o Canónicas de una Función Booleana Una función booleana puede representarse algebraicamente a través de la tabla de verdad formando la suma de todos los minitérminos (suma de producto) que producen un 1 en la función. Por ejemplo, dada la tabla de verdad a b f(a,b) Observamos que las filas con resultado 1 son la primera y la tercera, 0 0 1 entonces podremos escribir f como la suma de los Minterms m0 y m2. 0 1 0 Si queremos verificar esto: 1 0 1 f(a,b) = m0 + m2 = (a'b')+(ab') 1 1 0 Utilizando la misma tabla de verdad, es posible escribir la función como "producto de sumas“ Observamos que las filas que tiene como salida un 0 son la segunda y la cuarta, entonces podemos escribir f como un producto de Maxterms M1 y M3. Si queremos verificar esto: f(a,b) = M1 M3 = (a+b')(a'+b') Sistemas Digitales Un sistema digital es un conjunto de elementos binarios relacionados entre si de alguna manera. Se distinguen dos tipos de variables en un sistema digital. Las variables de entrada y las variables de salida que dependen de las de entrada. Funcionalmente las variables de entrada se dividen en dos grupos: variables de proceso y variables de control Cuando cada combinación de las variables (Vector de entrada) de entrada se corresponde con una y sólo una combinación de las variables de salida (Vector de salida), se trata de un sistema combinacional. Dicho de otra manera, siempre que se repita un conjunto de valores de las variables de entrada, se repetirá la salida Cuando a un mismo vector de entrada puede corresponder más de uno de salida, el sistema se llama secuencial. Dicho de otra manera cuando se repite un conjunto de valores de las variables de entrada, no necesariamente se repetirá la salida. Los sistemas secuenciales deben poseer memoria interna ya que sus salidas son consecuencia de la evolución anterior de sus entradas. Circuitos Combinacionales En un Sistema combinacional las salidas no son otra cosa que funciones lógicas de las entra. Clasificación según escala de integración: SSI → máx. 10 puertas lógicas MSI → máx. 100 puertas lógicas LSI → máx. 1000 puertas lógicas VLSI → > 1000 puertas lógicas Circuitos Combinacionales MSI Cuando las funciones lógicas son muy complejas no siempre el diseño basado en la minimización y posterior implementación con compuertas lógicas, es el más adecuado. Las técnicas de integración han permitido CI más complejos. Por ejemplo en MSI se dispone de CI de hasta 100 puertas. Estos bloques funcionales MSI, si bien a veces tienen fines específicos, pueden aplicarse a la implementación de funciones lógicas de muchas variables. Las ventajas caen en la disminución de los CI necesarios, del tiempo de diseño, del número de conexiones externas y facilita el mantenimiento. A continuación se describen brevemente los Combinacionales MSI más comunes Circuitos Combinacionales MSI – Semisumador Sumadores son circuitos integrados (CI) que realizan la suma aritmética de dos números de n bits. Antes de ver los sumadores disponibles en escala de integración MSI, estudiaremos la suma y resta binaria. Suma binaria Para indicar la suma aritmética utilizaremos el símbolo +, para diferenciarlo del + usado para la suma lógica. Para sumar dos bits, se puede implementar el circuito que se observa a continuación: Circuitos Combinacionales MSI - Sumador Supóngase ahora que se desea sumar dos números binarios de más de un bit A y B, entonces. Integramos semisumadores para construir un sumador completo. Circuitos Combinacionales MSI - Restador En la resta binaria debe recordarse los convenios de representación de números negativos en binario. Se podría implementar un circuito para realizar la resta como una nueva operación. Sin embargo se verá que es posible restar dos números realizando la suma de uno de ellos mas el complemento a dos (o a uno) del otro. Para el caso de usar el convenio de complemento a dos. Sean A y B dos números binarios signados en convenio de complemento a dos, será el siguiente desarrollo: En la expresión se observa que el resultado obtenido difiere del buscado en el valor 2n. Este resultado debe interpretarse como un acarreo a despreciar si el paréntesis ( A - B) resulta positivo. En caso que el paréntesis resulte negativo el resultado estará expresado en complemento a dos. En la expresión se observa que el resultado obtenido difiere del buscado en el valor 2n y además tiene un error en defecto de valor 1. Este resultado debe interpretarse como un acarreo que debe sumarse al resultado si el paréntesis ( A - B) resulta positivo. En caso que el paréntesis resulte negativo el resultado estará expresado en complemento a uno Circuitos Combinacionales MSI - Comparador Comparadores Realizan la comparación entre dos números binarios de n bits. El circuito básico que realiza la comparación de 1 bit, se indica en la figura Comparadores de más bits se diseñan de la misma manera. Los Comparadores poseen además entradas por “= “ esto permite realizar comparadores de elevado número de bits, partiendo comparadores menores Detector de paridad En la transmisión de información es posible que se produzcan errores debido a diferentes factores, como la presencia de ruido en el proceso, la avería de alguno de los componentes, etc. Especialmente cuando la información es numérica, no se aceptan errores, por lo que es necesario poder detectar la presencia de los mismos si se han producido. Si se detecta la presencia de un error es necesario retransmitir la información, mientras que si se puede detectar y corregir el error producido, no se produce la retransmisión. Cuando en un código binario se utilizan todas las combinaciones posibles, no se pueden detectar errores; debido a que si cambia algunos de sus bits por error de una combinación válida, daría por resultado otra combinación de bits válida. Por lo tanto, podemos decir que “para detectar errores es necesario no utilizar todas las combinaciones posibles”. Esto último es una condición necesaria pero no suficiente. Para poder efectivamente detectar y/o corregir errores se da el concepto de distancia mínima de un código: Distancia de un código entre dos combinaciones binarias es el número de bits que cambian para pasar de una combinación a la otra Distancia: La distancia entre dos representaciones binarias se define como el número de bits distintos entre los dos códigos. Es decir si tenemos dos códigos binarios a y b (a0 , a1,..., an) (b0, b1,..., bn) la distancia entre ellos esta dada por la cantidad de unos en el código formado por: (a0 ⊕ b0 , a1 ⊕ b1 ,... an⊕ bn) Por ejemplo, los códigos: 01101 10110 tienen una distancia 4 (cuatro) Detector de paridad Uno de los mecanismos para generar sistemas de codificación con capacidad de detectar errores es el de la paridad, o codificación con bit de paridad. La idea es agregar a cada código binario de n bits que representan objetos válidos, un nuevo bit calculado en función de los restantes. La forma en que se calcula el bit de redundancia (de paridad) es tal que la cantidad de unos en el código completo (original + bit de paridad) será par (en cuyo caso hablamos de paridad par) o impar (en cuyo caso se trata de paridad impar) Circuitos Combinacionales MSI - Codificadores Permiten codificar las líneas de entrada. Generalmente codifican en binario o BCD Codificador de 7 entradas y 3 salidas.- En este codificador se supone que sólo esta activa una entrad por vez. Características Generales Activo a alta o lógica positiva: las entras / salidas se activan con “1” Activo a baja o lógica negativa: las entras / salidas se activan con “0” Habilitar(Enable): Entrada que habilita el circuito, que dependiendo de la lógica activa con “1” o con “0” Prioridad: Codifica la entrada de mayor prioridad. Circuitos Combinacionales MSI - Codificadores Suele codificar el código decimal a código binario. Por ese motivo tiene muchas entradas y pocas salidas Podríamos decir que la diferencia entre un codificador y un decodificador es: - Decodificador: Pocas entradas (binario y muchas salidas (decimal) - Codificador: Muchas entradas (decimal) y pocas salidas (binario) Prioridad o Prioriti Encoder: En todas las ocasiones solo hay 1 entrada activa. Si por ejemplo se activan 2 entradas a la vez, es decir 2 entradas con valor 1. ¿Qué salida se activaría? La salida de los codificadores de prioridad toman como salida el valor correspondiente de la entrada activa que tiene la prioridad más alta, es decir el orden más alto (entrada con el número más alto). Circuitos Combinacionales MSI - Decodificadores Un decodificador es un circuito lógico que convierte un código binario de entrada de N bits en M líneas de salida de manera tal que cada una de estas líneas solo sea activada para una combinación de entradas. Tienen como función detectar la presencia de una determinada combinación de bits en sus entradas y señalar la presencia de este código mediante un cierto nivel de salida. Un decodificador posee N líneas de entrada para gestionar N bits y en una de las 2N líneas de salida indica la presencia de una o mas combinaciones de n bits. 2 N Para cualquier código dado en las entradas solo se activa una de las N posibles salidas Tipos de entradas/salidas: alta =1 / baja = 0 Activo a alta o lógica positiva: Las entradas / salidas, se activan con “1” Activo a baja lógica negativa: Las entradas / salidas, se activan con “0” Enable: Los codificadores cuenta con una patilla de habilitación del circuito, que según sea lógica positiva o negativa se habilitará con 1 o con 0. Circuitos Combinacionales MSI - Decodificadores Se pueden considerar dos grupos de decodificadores: Generadores de funciones lógicas. BCD a display de 7 segmentos. Para controlar este semáforo podemos hacer un circuito que tenga 4 salidas, una para cada una de las luces. Cuando una de estas salidas esté a "1", la luz correspondiente estará encendida. Sin embargo, ocurre que no puede haber dos o más luces encendidas a las vez. Por ejemplo, no puede estar la luz roja y la verde encendidas a la vez. Circuitos Combinacionales MSI – Decodificadores 7 Segmentos Este decodificador se aparta de la definición general ya que cada combinación de valores de las entradas activa varias salidas, en lugar de una sola. Tiene cuatro líneas de entrada en código BCD y salidas capaces de activar un display de siete segmentos para representar cualquier dígito de 0 a 9. De la misma forma que hay dos tipos de decodificadores existen dos tipos de display de 7 segmentos, unos cuyos segmentos se activan con un uno, llamado display de 7 segmentos de cátodo común, y otro cuyos segmentos se activan con un cero, llamado display de 7 segmentos de ánodo común. Decodificador – BCD 7 Segmentos El display está formado por un conjunto de 7 leds conectados en un punto común en su salida. El decodificador requiere de una entrada en código decimal binario BCD y siete salidas conectadas a cada segmento del display. Circuitos Combinacionales MSI - Multiplexor Multiplexar es pasar información de “muchos” canales o líneas a “pocos” canales o líneas. Un multiplexor es un circuito digital que selecciona una de entre varias entradas de datos y lleva su valor lógico a la única salida Z del circuito. Un multiplexor en un circuito combinacional con 2n número de entradas, n entradas de selección y una salida de información. En un multiplexor, cada combinación posible de las n entradas de selección (son posibles 2n combinaciones) una de las entradas de selección se conecta a la salida. Por lo tanto, este dispositivo actúa como un conmutador que permite dirigir la información digital procedente de varias entradas a una sola salida. El multiplexor más simple es el que sólo tiene una entrada de selección, S, que permite seleccionar entre dos entradas de datos, según que S = 0 ó S = 1. Circuitos Combinacionales MSI - Demultiplexor El concepto de demultiplexor (DEMUX) es similar al de multiplexor, viendo las entradas de datos como salidas y la salida como entradas. En los demultiplexores hay un único canal de entrada que sale por una de las múltiples salidas, y sólo una. Las entradas de selección "n" definen cual es la línea de salida por la que debe salir el dato de entrada. Por lo que el número de salidas 2n, depende de "n" que es el número de entradas de selección Denominamos demultiplexor de dos salidas a aquel que tiene 2n = 2 líneas de salida, y por lo tanto n = 1 líneas de selección. Circuitos Combinacionales MSI – Mux - Demux Una aplicación típica de los multiplexores y los demultiplexores. Imaginemos que tenemos 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 Ejercitación 1. Explique cada una de las partes del formato IEEE 754 de precisión simple (32 bits) 2. Defina las funciones canónicas y cómo encontrarlas desde una tabla de verdad, ejemplifique 3. Explique qué es un circuito combinacional y especifique los tipo MSI 4. En el circuito semisumador. ¿Que compuertas lógica produciría la salida de acarreo? 5. Cuales son las formas de representación de números con signo, defina sus formulas. 6. Cuál es la expresión que se utiliza para calcular el exceso del exponente en la norma IEEE 754 de punto flotante? 7. Qué código está representado en el teclado de una computadora? 8. Que tipo de puerta lógica produce el siguiente circuito ? 9. ¿Por qué obtenemos un bit gratis en la mantisa? 10. Grafique y construya la tabla de verdad de las puertas AND, OR, NAND, NOR, XOR