Flujo de datos dentro de una computadora La computadora está constituida por una memoria (RAM), que almacena programas y datos en forma temporal y un órgano ejecutor de estos programas conocido como unidad central de proceso (UCP). Lo que la memoria entiende es el código de los datos o programas. Tanto las instrucciones de un programa como los datos que ingresan en la memoria desde el exterior lo hacen en un código alfanumérico de representación de caracteres, por ejemplo, el ASCII Una computadora necesita comunicarse por medio de dispositivos de entrada/salida. Se diseñan para conectarlos a una amplia gama de computadoras, lo que induce que los periféricos utilizan códigos estándar para la representación de información. Se respetan los códigos de representación de caracteres que abastecen las necesidades de intercambio de información a nivel general. El código alfanumérico establece la relación para que una computadora pueda procesar solamente dígitos binarios, interpretando el lenguaje que utiliza el usuario. Un código es una convención que determina una única combinación binaria para cada símbolo que se ha de representar Codigo ASCII concentrado: Un formato de una entidad binaria a la estructura y cantidad de bits de un determinado tipo de dato para su tratamiento en la computadora. (los formatos pueden ser fija o variable) El que interpreta un grupo de bits bajo un formato es un programa. Tipos de representaciones de datos. Código ASCII (American Standard Code for Information Interchange) De 7 bits representa cada carácter con 7 bits que permite determinar 128 combinaciones distintas suficientes para establecer una única relación carácter-combinación binaria. 48 4F 4C 41 20 4D 45 58 49 43 4F 0D HOLA MEXICO Código ASCII compilado Es una ampliación del código original a causa de la necesidad de agregar caracteres. Es de 8 bits, 4 bits de zona y 4 de dígito. Los primeros 128 son los oficiales y los otros 128 son los “no oficiales” Delimitación de strings Las cadenas de caracteres alfanuméricos (strings) pueden ser: ● Longitud fija: ○ Cada dato ocupa un # determinado de bytes fijo; por lo que el comienzo y el final del dato puede conocerse con rapidez ● Longitud variable: ○ Para determinar el final del dato hay 2 métodos: ■ Cada dato tiene en su inicio un campo en el que se indica la longitud en bytes ■ Cada dato se separa de los colindantes mediante un símbolo específico o separador, se utiliza para marcar el final de la cadena de caracteres, pero no se considera parte de ésta. ● Los dos separadores más usados son: “Byte 0” o “NUL” ● El byte “retorno de carro” (CR) generalmente se utiliza para el final de una línea de texto, equivalente a <ENTER> . BCD puro o natural Los códigos BCD son convenciones que permiten la representación de números decimales (0 a 9) en bloques binarios de 4 bits. En cada bloque coinciden con el valor de los 4 primeros pesos del sistema binario puro BCD empaquetado La misma ALU que opera en binario puro puede operar en BCD. Lo que cambia es la forma en que se producen distintas etapas para llevar a cabo la operación. Estas etapas están definidas por instrucciones en el programa, permitiendo la gestión de la operación, considerando como base el sistema decimal y no binario. Como todos están en la misma zona, se comprimen y únicamente se pone el dígito de bit de dígito (columna del lado izquierdo); esto refiriendo que se elimina el bit de zona. Cuando hay bits impares, se agregan 4 bits de 0 del lado izquierdo. Ejemplo: +3456 (impar) Desempaquetado: 2B 33 34 35 36 Empaquetado: 03456B Binario empaquetado: 0000 0011 0100 0101 0110 1011 Los “0” son los que se agregan para que se completen los bytes de 8 bits cada byte. BCD exceso tres: Se obtiene a partir del BCD puro, sumando un 3 binario a cada cifra decimal; logrando un código simétrico o autocomplementario. Al valor decimal se le suma 3 (exceso de tres) Ejemplo: 243 (exceso 3) ● A todos los números se les suma 3 Al final en binario con exceso 3 queda: Ejemplo de BCD exceso 3 3 Códigos de representación numérica no decimal: Permiten las operaciones aritméticas de datos en sistema binario o cualquier otro que no sea decimal. Coma o punto fijo sin signo (enteros positivos) Es el formato más simple para representar números enteros positivos, expresados en una secuencia de dígitos binarios. Este formato sólo permite números sin signo, para la representación de un número se utiliza la totalidad de bits del formato. ● Si se suman 2 números grandes que superen el rango de variabilidad, el resultado será erróneo debido a que se perderá el dígito más significativo. Punto fijo con signo (enteros) Igual al formato de coma, punto fijo sin signo, pero reserva el bit de extrema izquierda para el signo, si el bit es igual a 0 indicará que el número es positivo; si es igual a 1 indicará que el número es negativo; a esto se le llama “magnitud con signo” Punto fijo con signo con negativos complementados a “2” (enteros) ● Se reserva el bit de hasta la izquierda para indicar el signo (1=negativo, 0=positivo) ● La diferencia es que los n-1 bits restantes se representan con magnitud binaria real para el caso de los positivos y complemento a la base (complemento a “2”) de la magnitud para los negativos. Punto fijo con signo con negativos complementados a “I” (enteros) Los n-1 bits restantes se representan con su magnitud binaria real para el caso de los positivos y en complemento restringido de la magnitud para el caso de los negativos Para los negativos únicamente se convierte el inverso del número positivo. El bit de la izquierda sigue siendo el que marca el signo del número. Reales en coma o punto flotante (números muy grandes y números reales) Se necesita eliminar el punto de la secuencia e indicar de alguna manera el lugar que ocupa dentro de ella Los números se representan considerando dos partes: ● La primera indica los bits que representan al número y se llama mantisa (números enteros) ● La otra indica la posición del punto dentro del número y se llama exponente. (posición del punto) El exponente sirve para indicar dónde se encuentra el punto decimal. (lugares a la izquierda del dígito menos significativo) Representación binaria con punto fraccionario: Se utilizan 2 entidades numéricas, una para la mantisa y otra para el exponente ● ● ● M = mantisa B = base del sistema P = exponente, contiene los signos + y - debido a que indica su desplazamiento hacia la derecha o la izquierda. En la memoria sólo se almacenarán la mantisa y la potencia “P” en binario. La base B y el origen del punto siempre son determinados con anterioridad por el convenio y conocidos por los programas que utilizan en esta representación. La representación de datos en punto flotante incrementa el rango de números más allá de los límites físicos de los registros. Convenios de representación en punto flotante con exponente en exceso. Para eliminar el signo del exponente se utilizan convenios que agregan al exponente un exceso igual a 2^P-1; denominada característica: Con el ejemplo de +3.5, hay un formato de m = 8 (cantidad de bits de la mantisa, incluyendo el signo) y p = 8 (cantidad de bits de la potencia) el exceso será: La mantisa en forma de signo y magnitud. Para una mantisa entera será: Si la mantisa fuese fraccionaria la forma de representarla sería: Mantisa no normalizada entera: Límite de overflow: Límite de underflow: Mantisa normalizada fraccionaria (excedida en 128) Para calcular el valor 0.1111111 se debe multiplicar por 2^-7, provocando movimiento de extrema derecha a extrema izquierda. Los valores máximos y mínimos son los siguientes: Límites overflow: Límites underflow: Punto flotante “exceso 127”: Se representa en un formato de 4 octetos (32 bits): Cálculo de la característica o el exponente responde al criterio empleado anteriormente: ● ● ● El primer bit representa al signo de la mantisa Los 31 bits restantes se representa la característica y su magnitud binaria real El exceso siempre será 127 Si se mueve hacia la izquierda el exponente es positivo, si se mueve a la derecha, el exponente es negativo. Pasos para la representación para un # en punto flotante “Exceso 128” o “Exceso 127” 1. Convertir el # decimal a binario 2. Normalizar, eliminar el bit denominado “implícito” y calcular el valor de “P” para determinar el desplazamiento del punto. 3. Calcular y representar la característica 4. Acomodar el signo y la mantisa considerando solo los dígitos fraccionarios hasta completar el formato. Son 23 bits de la mantisa, se comienza a tomar la mantisa a partir del # fraccionario Ejemplo de exceso 127 con un ciclo: Código de detección de errores Paridad para la detección de errores: Es común que en la transmisión de datos de bit a bit haya errores, es por eso que existen métodos para la detección de errores. ● Todos los grupos de bits contienen un número par o impar de 1’s y dentro del grupo hay un bit de paridad ● Un bit de paridad par hace que el # total de bits sea par. ● Un bit de paridad impar hace que el # total de 1’s sea impar. Bit paridad par BCD 0 0000 0 (10) 1 0001 1 (10) 1 0010 2 (10) 0 0011 3 (10) 1 0100 4 (10) 0 0101 5 (10) 0 0110 6 (10) 1 0111 7 (10) 1 1000 8 (10) 0 1001 9 (10) Bit paridad impar BCD 1 0000 0 (10) 0 0001 1 (10) 0 0010 2 (10) 1 0011 3 (10) 0 0100 4 (10) 1 0101 5 (10) 1 0110 6 (10) 0 0111 7 (10) 0 1000 8 (10) 1 1001 9 (10) Ejercicio: En un sistema de paridad par recibe los siguientes grupos de bits. Determine qué grupos de bits tiene error: 1. 2. 3. 4. 5. 1011011 ---- no es par 10110 ----- no es par 011010111 ---- es par 101110111 ---- no es par 100001 ---- es par Comprobación de redundancia vertical (VRC) y horizontal (HRC) Ejemplo en paridad par: Capítulo 4: Álgebra de los circuitos digitales El álgebra proposicional estudia la operación entre elementos denominados proposiciones. Ejemplos: “Los gatos son animales” “Los perros son animales” La proposición es un enunciado que tiene sentido si es verdadera o falsa. Es posible darle un valor de verdad. El álgebra proposicional solo estudia su relación utilizando una serie de operadores denominados operadores lógicos. Una proposición constituida por 2 o más proposiciones simples, se denomina proposición compuesta. Los operadores lógicos son: - La conjunción - La disyunción inclusiva - La disyunción exclusiva Las proposiciones se pueden simbolizar como “p” y “q”, formando una tabla de verdad y representando 4 combinaciones de valores de verdad: George Boole, en el siglo XIX se dedicó a formalizar y mecanizar el proceso del pensamiento lógico y desarrolló una teoría lógica que utiliza variables en lugar de proposiciones. Los valores que puede tomar una variable “booleana” son 0 y 1. En 1938, Claude Shannon, propuso la utilización del Álgebra de Boole en el análisis de circuitos eléctricos, lo que permitió profundizar en el análisis y el desarrollo de computadoras electrónicas. Operadores “booleanos”: Desde el punto de vista semántico, los nombres de las variables se utilizan las primeras letras del abecedario en minúscula, reemplazando “p” por “a” y “q” por “b”. Una tabla de verdad es una lista ordenada de las 2^n combinaciones distintas de 0 y 1 que se pueden obtener de la combinación del valor de n variables binarias. Propiedades del álgebra de Boole: ● Ley conmutativa: ambas operaciones binarias (suma y producto) son conmutativas, se verifica que: ● Ley distributiva: cada operación binaria (suma y producto) es distributiva respecto a la otra: ● Ley de identidad: los números de boole “0” y “1” cumplen la propiedad de identidad con respecto a cada una de las operaciones binarias: ● Ley de complementación: para cada elemento “a” del algebra, existe un elemento “a” negada, tal que: Función booleana: Compuertas lógicas o gates: ● ● ● ● ● ● Una compuerta lógica es la representación de una red de conmutadores Cada conmutador se controla con una señal binaria identificada como a, b, C, …., n Estas señales constituye una “entrada” de la compuerta o “terminal de entrada” La estructura de la red de conmutadores genera una señal binaria de salida o “terminal de salida” identificada como f , siendo una función de a, b, c,...., n. Para cada combinación de entradas, la función asume un valor 0 o 1. La tabla de verdad de la función representa el comportamiento de la compuerta para cada combinación de valores. Conmutador: (switch) Es un dispositivo físico que permite controlar el flujo de un elemento. Ejemplo: la luz de una habitación se prende o apaga con un conmutador manual. Conmutador ideal: Modelo teórico que representa el comportamiento de un modelo real. Es independiente de la tecnología que se utilice para su implementación. Se utilizan los signos 0 y 1 para representar el estado de una entrada o una salida y abierto o cerrado. Circuitos de conmutadores: Agrupación de varios conmutadores relacionados entre sí. El álgebra de boole constituye el fundamento teórico para su diseño. Señal: En un conmutador electrónico se utiliza una señal binaria, denominada señal de entrada. Regula el flujo de voltaje por medio del conmutador, que es otra señal binaria denominada señal de salida del conmutador. Lógica positiva: La tensión lógica “1” es más positiva que la tensión lógica “0”. Si por el contrario el conmutador trabaja con lógica negativa , la tensión lógica “1” es menos positiva que la tensión lógica “0” Convenios lógicos: Debido a que la tensión es una magnitud continua sujeta a fluctuaciones, se establece un rango de variabilidad para cada estado lógico. Cuando una señal cambia de uno a otro estado se encuentra fuera de los rangos permitidos, a esta etapa se le conoce como periodo de transición. En la compuerta XOR son verdaderos si las entradas son diferentes: 27/10/23: Compuerta NOT: Siempre tiene una sola entrada y una sola salida, siendo el valor de salida el complemento del valor de la entrada Compuerta NAND: Se definen 2 nuevas compuertas, que son las más utilizadas como elementos básicos para la realización de los circuitos actuales (NOR y NAND) NAND es conocida como “AND negada o inversa” es el inverso del AND, se representa con una línea arriba Compuerta NOR: Solo toma el valor lógico cuando todas las entradas son 0 lógico. Es la negación/inversa de a+b Teorema de Morgan: La negación del producto de 2 variables puede expresarse como la suma de las variables negadas. La negación de la suma de 2 variables puede expresarse como el producto de las variables negadas a*2 = a + b (tanto la suma como la multiplicación negadas) / a+ b = a*b La doble negación de una función es igual a la función. Compuerta YES: Se utiliza simplemente para amplificar la señal. Se utiliza el símbolo triángulo que solo designa un circuito separador, sin producir una función lógica particular. Un circuito lógico es la representación de la estructura de una red de compuertas y su comportamiento se expresa algebraicamente por una o varias funciones booleanas; las variables constituyen las entradas y las funciones constituyen las salidas del circuito. 3 entradas de variables con 2 tipos de salida (AND y OR) Funciones normales o canónicas Se llama término canónico de una función lógica a “todo producto o toda suma en los que aparecen todas las variables que componen una función, en su forma directa o inversa. (productos canónicos y sumas canónicas) El minitérmino o producto canónico es el producto de las variables en juego o sus negaciones individuales que hacen que el producto valga “1” Se le llama “forma normal disyuntiva (FND)” Un maxitérmino o suma canónica es la suma de las variables en juego o sus negaciones individuales que hacen que la suma valga 0. Al producto se le llama “Forma normal conjuntiva (FNC)” Tanto FND (suma de productos) y FNC (multiplicación de sumas) son equivalentes Ejemplo 2: Se utiliza FND para construir el circuito debido a que es más sencillo. Mapas de Karnaugh: 10/11/23 16/11/23: La minimización de una suma de productos se pueden dar: 1. Función booleana 2. La tabla de verdad A) Función booleana: Regla: SOP (suma de productos) = 1 / (negada) = 0 Pasos: 1. Se coloca un “1” en el mapa de Karnaugh en cada término de la expresión de suma de productos en la celda que corresponda. 2. Se coloca un “0” en las celdas que no contienen “1” 3. Agrupar encerrando todos los “1” a. No puede ser diagonal b. No triangulos c. Solo formar “cuadrados o “rectángulos” d. Mientras más “1” encerremos con cuadrados o rectángulos más variables se eliminan. e. Los mapas de Karnaugh se desdoblan de tal forma que se toquen los extremos. f. Se cierran en múltiplos de “2” 4. Se determina la expresión suma de productos a partir del mapa de Karnaugh. Ejemplo: Si las variables dentro de los rectángulos/cuadrados varían no se incluyen/escriben Ejemplo 2: Ejercicio 3 con la tabla de verdad: Tabla vertical de Karnaugh Ejercicio 4: Capítulo 4. Aritmética de la computadora. Se verá el análisis de las operaciones básicas de la aritmética binaria, implementadas en la unidad de coma fija para números enteros Las operaciones en BCD corresponden a la aritmética decimal o “base diez codificada en binario” 4.2 Aritmética binaria ● ● ● ● Una unidad aritmética es un circuito asociado con uno o más registros que contienen operando en la operación. Las operaciones más complejas, como la multiplicación o la radicación se realizan por medio de la ejecución de un software. (implementación de software) La ALU no reconoce el formato de los operandos, sino que ellos se establecen de acuerdo con convenciones definidas para cada tipo de dato en los programas que los utilizan y solo estos son los encargados de interpretarlos. Los número positivos se representan con “0” y los negativos con “1” ○ Ejemplo “-3”: Los flags son: ● Flag “V”: indica si hubo o no overflow, después de haberse llevado a cabo la operación. ○ Si es “1” significa que hubo overflow ● Flag “C”: indica el acarreo que se produce en la operación. ○ Se pone en “1” si el resultado es negativo ○ Se pone en “0” si el resultado es positivo ● Flag S: indica el signo del resultado de la operación. “1” es negativo, “0” es positivo ● Flag “Z”: indica si el resultado de la operación es 0 o distinto de 0 ○ Se pone en “1” si el resultado es “0” ○ Se pone en “0” si el resultado es distinto de “0” El overflow se verifica cuando después de realizada una operación se determina que el último acarreo es distinto del penúltimo. En la suma de positivos binarios grandes para determinar el bit de signo se utiliza el acarreo del bit 7 (c7) ● ● ● Hay overflow de positivos cuando ○ c7 = 0 ○ c6 = 1 El resultado correcto se logra si se considera que c7 es el signo del resultado y los 8 bits restantes es la magnitud binaria real. Cuando hay overflow de negativos ○ C7 = 1 ○ C6 = 0
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )