Beruflich Dokumente
Kultur Dokumente
Unidad 2: La informacin en una computadora: Tamaos principales: bit, byte, palabra, doble palabra. Aritmtica del procesador. Representaciones numricas de punto fijo. Operaciones. Representacin y aritmtica de nmeros en punto flotante. Codificacin de la informacin numrica y alfabtica. Otros sistemas de codificacin numricos y alfanumricos. Cdigos redundantes: Concepto, tipos.
La informacin en una computadora ................................................................................................ 2 BIT ............................................................................................................................................... 2 BYTE ........................................................................................................................................... 2 Palabra .......................................................................................................................................... 2 Representacin interna de la informacin ........................................................................................ 3 Representacin numrica de Punto Fijo ....................................................................................... 3 Rango y Precisin en sistemas restringidos a n bits ................................................................. 3 Sistemas de numeracin posicionales ...................................................................................... 4 Conversin entre sistemas ........................................................................................................ 4 Representacin de nmeros en los sistemas binario, octal y hexadecimal .............................. 6 Representacin de Binarios con signo (BCS) .......................................................................... 7 Aritmtica del computador ....................................................................................................... 8 Overflow y Carry ..................................................................................................................... 9 Representacin numrica en Punto Flotante ................................................................................ 9 Normalizacin y bit implcito ................................................................................................ 10 Rango y precisin ................................................................................................................... 11 Estndar del IEEE (norma 754) ............................................................................................. 12 Suma y resta en formato de punto flotante............................................................................. 12 Codificacin de la informacin .................................................................................................. 13 Codificacin de la informacin no numrica ......................................................................... 14 Cdigos redundantes .................................................................................................................. 17 1. Cdigos autodetectores ..................................................................................................... 17 2. Cdigos correctores ........................................................................................................... 18
BIT
Teniendo en cuenta que las computadoras manejan un lenguaje binario, analizaremos los DGITOS BINARIOS como la unidad ms elemental de informacin para la comunicacin de datos. Se denomina BIT (contraccin de BINARY DIGIT) al dgito binario que toma el valor 0 1. Representa la informacin correspondiente a la ocurrencia de un suceso de entre dos posibilidades distintas: prendido o apagado, abierto o cerrado. Un aspecto fundamental en la codificacin binaria es determinar la cantidad de BITS necesarios para representar la informacin, de manera que podamos identificar una entre varias posibles. Como un bit puede ser 1 o 0, podremos utilizarlo para seleccionar una informacin entre dos. Con dos bits, una entre cuatro; tres bits una entre ocho; etc. Las posibilidades aumentan como potencias de dos: Un bit --------> 21 = 2 posibilidades Dos bits --------> 22 = 4 posibilidades Tres bits --------> 23 = 8 posibilidades Si quisiramos conocer cuantos bits necesitamos para una de ocho situaciones utilizamos logaritmos en base 2 log2 8 = 3. En general el nmero de bits (B) que necesitaremos para poder codificar una determinada cantidad de informacin (N) estar determinado por: B = Log2 N Como ejemplo, para poder representar en forma binaria los 26 caracteres de nuestro alfabeto necesitaramos: B = Log2 26 = 4,7 bits ===> B = 5 bits
BYTE
A pesar de que el ordenador maneja internamente la informacin en binario, no acepta entradas ni muestra salidas de esa forma. Para que la informacin de E/S sea comprensible y fcil de manejar, se utiliza un conjunto de smbolos, denominados caracteres. Se establece una correspondencia entre la representacin interna binaria y el caracter externo, al que se le asigna una combinacin nica de bits que lo diferencia del resto. Casi todos los ordenadores utilizan internamente una agrupacin de 8 bits, denominada BYTE, para representar cada carcter. Habitualmente byte se utiliza como sinnimo de caracter.
Palabra
Normalmente hay acuerdo acerca del significado de los trminos bit y byte, pero no as sobre el concepto de palabra, el que depende de la arquitectura particular de cada procesador. La palabra o Word es un conjunto de uno o ms bytes que la CPU trata como unidad. Es la unidad de informacin procesada por la UAL. Los tamaos de palabra tpicos son de 16, 32, 64 y 128 bits, siendo el de 32 bits el ms comn. Intel considera el tamao de la palabra como de 16 bits y la doble palabra como de 32 bits. Recordemos brevemente cmo se realiza el procesamiento de la informacin: las instrucciones y los datos pasan a travs de buses a la memoria (MP). Dichas instrucciones son ejecutadas, una por vez, para lo cual primero cada una, por un bus, llega al registro de instrucciones (RI) de la UCP, donde permanece mientras se ejecuta, para que la UC interprete qu operacin debe ordenar. Luego, el dato a operar por dicha instruccin llega desde la memoria a un registro acumulador (AX) del procesador, antes de ser operado en
Arquitectura y Organizacin de Computadoras - 2012
2
la ALU, a fin de obtener un resultado. Este puede sustituir en el registro AX al dato ya operado, y luego pasar a la memoria si una instruccin as lo ordena. El procesamiento de los datos que estn en la MP ser ms rpido si en cada acceso a ella, el nmero de bits que la CPU puede tomar o enviar en paralelo es lo mayor posible. Es como llevar a la boca alimentos con una cuchara: cuando ms grande sea sta, ms rpido se ingerir la comida (a igualdad de cucharadas por minuto). Pero del mismo modo que existe un lmite fsico respecto de la cantidad mxima de alimento que se puede ingerir, en cada modelo de UCP se tiene una cantidad mxima de bits que sta puede tomar por vez de la MP para procesar, que en general es mltiplo de 8. La denominada palabra de un procesador es un indicador del nmero mximo de bits que puede tener un dato a ser operado por la UAL del mismo. Expresa tambin el nmero de bits de dato que maneja simultneamente la UCP. Si la palabra de un procesador es 32 bits, implica que la UAL puede sumar o restar dos nmeros de 32 bits, y que el resultado que genere tendr tambin 32 bits. El tamao o longitud de palabra determina adems el ancho de los buses internos de la CPU por donde se transmiten las palabras, y el de los registros donde una palabra puede almacenarse. Es decir, son compatibles todos los elementos internos de la CPU.
El valor del dgito que ocupa la posicin i est representado por bi. Existen en este caso n dgitos a la izquierda de la coma fraccionaria y m dgitos a su derecha. Esta forma de representacin de un nmero, en la que cada posicin tiene asignado un determinado valor, se denomina sistema de numeracin posicional. Supongamos la expresin 541,25(10, con n=3, m=2, k=10 541,25(10 = 5 x 102 + 4 x 101 + 1 x 100 + 2 x 10-1 + 5 x 10-2 = 500 + 40 + 1 + (2/10) + (5/100) = (541,25)10 Si en forma similar se considera el nmero binario 1010,01(2, en el que n=4, m=2 y k=2 1010,01(2 = 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20 + 0 x 2-1 + 1 x 2-2 = 8 + 0 + 2 + 0 + 0,25 = 10,25(10 En estos sistemas de numeracin posicionales se define el bit con el mayor peso asociado como bit ms significativo (MSB, most significant bit), y el bit de menor peso como bit menos significativo (LSB, least significant bit).
De decimal a binario
La forma ms sencilla de convertir nmeros que contengan tanto parte entera como fraccionaria, consiste en operar cada una de sus partes por separado. Ej.: 23,375 a binario 23,375 = 23 + 0,375 Parte entera Mtodo de los restos La forma polinmica general para la representacin de un nmero entero binario es: bi x 2i + bi-1 x 2i-1 + ... + b1 x 21 + b0 x 20 Si se divide el nmero entero por 2, se obtendr: bi x 2i-1 + bi-1 x 2i-2 + ... + b1 x 20 con un resto de b0. Como resultado de dividir por 2 el entero original se obtiene el valor del primer coeficiente binario b0. Si se repite el proceso, se obtiene el segundo coeficiente b1. Este procedimiento forma la base del mtodo de los restos. Contina hasta obtener 0 como cociente. Los restos obtenidos se unen en el orden indicado por la figura, teniendo en cuenta el MSB y LSB.
En general, todo nmero entero expresado en el sistema decimal puede convertirse a cualquier otro sistema dividindolo reiteradamente por la base del sistema de numeracin al que se lo quiere convertir.
Parte fraccionaria - Mtodo de las multiplicaciones La conversin puede resolverse multiplicando sucesivamente la fraccin por 2. La forma polinmica general para la representacin de una fraccin binaria es: b-1 x 2-1 + b-2 x 2-2 + b-3 x 2-3 + ... Si se multiplica dicha expresin por 2, se obtiene b-1 + b-2 x 2-1 + b-3 x 2-2 + ... Se determina as el coeficiente b-1. Reiterando el proceso sobre la fraccin remanente, se obtendrn los sucesivos bi. Este proceso contina hasta obtener una fraccin nula, o hasta que se haya alcanzado el lmite de precisin requerida.
Por ltimo, se combinan las partes entera y fraccionaria para obtener el resultado final: 23,75 = 10111,011(2 Este proceso, denominado mtodo de las multiplicaciones, puede ser utilizado para convertir nmeros fraccionarios entre distintos sistemas de numeracin, multiplicando por la base correspondiente. El multiplicador coincide con la base del sistema numrico de destino.
Si bien el mtodo funciona con todos los sistemas de numeracin, el proceso puede llegar a producir prdidas de precisin. No todas las fracciones representadas en el sistema de numeracin decimal pueden tener como equivalente un nmero racional exacto en el sistema binario. Por ej. el proceso de conversin del nmero decimal 0,2 (ver figura), llega a un punto en que se repite en forma peridica
Al comparar las columnas de la tabla, se observa la necesidad de 3 bits para representar en binario cada uno de los dgitos del sistema octal, y cuatro para el sistema hexadecimal. En general, se requieren k bits para representar en binario un dgito del sistema de numeracin de base 2k, siendo k un nmero entero. Para convertir un nmero del binario al octal, se divide el nmero original en grupos de 3 bits cada uno, empezando a partir de la coma decimal, completando el grupo ms significativo con ceros, si fuera necesario. Luego, cada tro de bits se convierte en forma individual al sistema octal. Para conversiones desde el binario al hexadecimal, se utilizan grupos de 4 bits. 11010,012 = (0112)(0102),(0102) = 32,28 1101101,0112 = (01102)(11012),(01102) = 6D,616
En esta convencin existen dos modos de representar el cero, una negativa y una positiva: 0000 0000 y 1000 0000 2. Complemento a 1 (C-1) Este sistema de representacin utiliza el bit de ms a la izquierda para el signo, correspondiendo el 0 para el + y el 1 para el -. Para los nmeros positivos el resto de los bits (n-1) representan el mdulo del nmero. El negativo de un nmero positivo se obtiene complementando todos sus dgitos (cambiando ceros por unos y viceversa) incluido el bit de signo. El rango de representacin es de: [-2n-1+ 1 ... 2n-1 -1] Para el caso de 8 bits el rango es [-127 ... 127] Este sistema, a semejanza del MS, posee la desventaja de tener dos representaciones del 0, en este caso, 0000 0000 y 1111 1111. Nmero 10 0 0001010 + mdulo Nmero -10 1 1110101 - mdulo
3. Complemento a 2 (C-2) Este sistema de representacin utiliza el bit de ms a la izquierda para el signo, correspondiendo el 0 para el + y el 1 para el -. Para los nmeros positivos el resto de los bits (n-1) representan el mdulo del nmero. El negativo de un nmero positivo se obtiene complementan el nmero positivo en todos sus bits (cambiando ceros por unos y viceversa) incluido el bit de signo, para luego sumarle 1, despreciando el ultimo acarreo si existe. Ejemplo: Nmero 10 0 0001010 Nmero -10.........1 1110101 +1 1 11110110 El rango de representacin es: [-2n-1 ... 2n-1 -1] Para el caso de 8 bits el rango es [-128 ... 127] Este mtodo tiene la ventaja de poseer una sola representacin para el 0. Es la convencin ms utilizada en las computadoras.
Arquitectura y Organizacin de Computadoras - 2012
7
4. Representacin excedida, o Exceso a 2 elevado a n-1 Este mtodo no utiliza ningn bit para el signo, con lo cual todos los bits representan un modulo o valor que corresponde al nmero representado ms el exceso, que para n bits viene dado por 2 elevado a n-1. Por ej., para 8 bits el exceso es de 27 = 128. El nmero 10 vendr representado por 10 + 128 = 138. Para el caso de -10 tendremos -10 + 128 = 118. Nmero 10 10001010 Nmero -10.....01110110 En este caso, el 0 tiene una nica representacin, que para 8 bits corresponde a: Nmero 0 ( 0 + 128) 10000000 El rango de representacin es: [-2n-1 ... 2n-1 -1] Para el caso de 8 bits el rango es [-128 ... 127] En este mtodo, el valor del exceso tiene el formato del nmero negativo ms grande, lo que produce como efecto que los nmeros aparezcan ordenados numricamente si se los mira en una representacin binaria no signada. As, el nmero negativo ms grande es -12810 = 0000 00002 y el ms grande positivo es 12710 = 1111 11112 . Esta representacin simplifica las comparaciones entre nmeros, dado que las representaciones binarias de los nmeros negativos tienen valores numricamente menores que las representaciones de los nmeros positivos. Esto se hace importante cuando se representan los exponentes de los nmeros en coma flotante, donde se requiere comparar los exponentes de dos cantidades para igualarlos, en caso de ser necesario, para sumar o restar.
En el primer ejemplo se produce un acarreo desde la posicin ms significativa (bit de la izquierda). En este mtodo se descarta dicho acarreo, y el resultado de la operacin es correcto. En el segundo caso se produce un desbordamiento, y el resultado es errneo. Si bien el resultado parece un 4 si se lo analiza como un nmero sin signo, al trabajar en forma signada, el primer dgito indica un nmero negativo, lo que resulta claramente errneo.
Arquitectura y Organizacin de Computadoras - 2012
Overflow y Carry
Junto con el resultado de cada operacin, la UAL genera varios indicadores (flags) acerca del mismo, que se conocen por sus iniciales inglesas S,Z,V,C. Indicador de Signo S=1 indica que el resultado de la operacin es negativo Indicador Z de resultado cero Z=1 si el resultado es cero (zero) Indicador C de acarreo C=1 si existe un acarreo (carry) Indicador V de overflow o desborde V=1 si el resultado de una suma entre nmeros con bit de signo excede el mayor valor positivo o negativo que se puede representar. Tanto en la representacin en Ca1 como en Ca2 una operacin puede dar como resultado un nmero que excede la capacidad de la palabra de memoria, producindose as el overflow. Al sumar dos nmeros el overflow se puede dar slo si los dos tienen el mismo signo; la suma de dos nmeros de distinto signo nunca dar como resultado un nmero con mdulo mayor al de mayor mdulo de los dados, a lo sumo ser igual (al sumarle 0 a otro nmero), pero en general ser menor, por lo tanto no puede exceder la capacidad de la palabra de memoria. El overflow se reconoce cuando los bits de signo de los dos nmeros que se suman son iguales entre s pero distintos del bit de signo del resultado, o sea cuando los nmeros son positivos y da resultado negativo o viceversa. En este caso el contenido de la palabra de memoria es incorrecta.
exponente, para mantener la relacin. Esto permite representar un rango de nmeros muy grandes y muy pequeos con slo unos cuantos dgitos. Esa misma tcnica puede aplicarse a nmeros binarios, representndolos de la siguiente manera: +/- S * B +/-E Este nmero puede almacenarse en una palabra binaria con tres campos Signo: + o Parte significativa o mantisa (S significant) Exponente (E) La base B est implcita y no es necesario almacenarla.
10
Rango y precisin
La representacin de nmeros en formato de punto flotante permite representar un amplio rango de nmeros con poca cantidad de dgitos binarios. Para ello se separan los dgitos utilizados para determinar la precisin (mantisa), de aquellos necesarios para representar el rango (exponente). Supongamos el nmero decimal en formato de punto flotante +6,023 * 1023 Segn la convencin vista (ntese que la coma decimal no se almacena) + Signo 2 3 Exponente Dos dgitos 6 0 2 3 Mantisa Cuatro dgitos
El rango de la representacin queda determinado bsicamente por la cantidad de dgitos del exponente. En este caso se expresa a travs de una potencia de la base 10 (1023). La precisin queda determinado por la cantidad de dgitos de la mantisa (cuatro en este ejemplo). Si se requiere un rango mayor, y si a cambio se est dispuesto a sacrificar precisin, se pueden usar 3 dgitos para la parte fraccionaria y dejar tres dgitos para el exponente, sin necesidad de aumentar la cantidad de dgitos totales de la representacin. + 0 2 3 6 0 2
La posibilidad de plantear soluciones de compromiso entre rango y precisin es una de las ventajas principales de la representacin en punto flotante. Un inconveniente que presenta este mtodo es que existen valores no representables. El rango de representacin tiene la estructura:
mNN MNN 0 mNP MNP
mNN es el mnimo nmero negativo = - mxima mantisa * base mximo exponente positivo MNN es el mximo nmero negativo = - mnima mantisa * base mximo exponente negativo mNP es el mnimo nmero positivo = mnima mantisa * base mximo exponente negativo MNP es el mximo nmero positivo = mxima mantisa * base mximo exponente positivo
Ejemplo: considrese una representacin en coma flotante en la que se tiene 1 bit de signo, un exponente de 2 bits en notacin exceso 2 y una mantisa normalizada binaria, con 3 bits, con el primer 1 no implcito. Exponente mnimo (representacin en exceso en 2 bits): - 2n-1 = - 2 1 = - 2 Exponente mximo (representacin en exceso en 2 bits): 2n-1 - 1= 2 1 - 1= 1 Mnima mantisa: 0,100 Mxima mantisa: 0,111
mNN = - mxima mantisa * base mximo exponente positivo = - 0,111 * 21 MNN = - mnima mantisa * base mximo exponente negativo = - 0,100 * 2-2 mNP = mnima mantisa * base mximo exponente
negativo
= 0,100 * 2-2
11
Formatos
a) Simple precisin (32 bits) Signo 31 Exponente 30 - 23 Mantisa 22 - 0
Exponente: 8 bits. Se utiliza una representacin conocida como sesgada. El sesgo toma el valor (2k-1 1), donde k es el nmero de bits disponibles para la representacin del exponente. En este caso 28-1 1 = 127. Este sesgo se suma al exponente original, y el resultado es el que se almacena: E = EO + S Mantisa: 23 bits. Bit implcito 24 bits efectivos. Est normalizada. La normalizacin toma la forma 1,bb..b, donde el patrn bb..b representa los 23 bits de la mantisa que se almacenan. Ntese que la coma en esta normalizacin est a la derecha del primer dgito significativo. b) Doble precisin (64 bits) Signo 63 Exponente 62 52 Mantisa 51 - 0
Exponente: 11 bits. Sesgo 211-1 1 = 1023 Mantisa: 52 bits. Bit implcito 53 bits efectivos. Igual consideracin para la normalizacin. Algunas combinaciones se emplean para representar valores especiales. Se presentan los siguientes casos: Un exponente cero junto a una mantisa cero representa el cero positivo o negativo, dependiendo del bit de signo. (00000000 00000000000000000000000 0) Un exponente todo unos junto con una mantisa cero representa, dependiendo del bit de signo, el infinito positivo o el negativo (11111111 00000000000000000000000 ) Un exponente todos unos junto a una mantisa distinta de cero representa un NaN (not a number), y se emplea para sealar una excepcin (11111111 xxxxxxxxxxxxxxxxxxxxxxx NaN)
Para la operacin de suma o resta, los dos operandos deben transferirse a registros que sern utilizados por la ALU. Si el formato incluye un bit de mantisa implcito, dicho bit debe hacerse explcito para la operacin. Dado que la suma y la resta son idnticas, excepto por el cambio de signo, el proceso comienza cambiando el signo del substraendo cuando se trata de una resta. A continuacin, si alguno de los operandos es cero, se da el otro como resultado. Luego se procede al ajuste de los exponentes, en sucesivas operaciones. Si en este proceso se obtiene una mantisa cero, se da el otro nmero como resultado. Esto significa que cuando dos nmeros tienen exponentes muy diferentes, se pierde el menor de los nmeros. Luego se suman las mantisas, teniendo en cuenta sus signos. Ya que los signos pueden diferir, el resultado puede ser cero. Existe tambin la posibilidad de desbordamiento de la mantisa en un dgito. Si es as, se desplaza a la derecha la mantisa del resultado (se pierde el dgito menos significativo), y se incrementa el exponente. Como resultado podra producirse un desbordamiento en el exponente. Esto se debe indicar, y la operacin se detendra. Por ltimo, se normaliza el resultado. Ejemplo: sumar (0,101 * 23) + (0,111 * 24) - Se iguala el menor de los exponentes al mayor, modificando en forma acorde la mantisa 0,101 * 23 = 0,010 * 24 En este proceso se pierde precisin en la cifra menos significativa del valor original - Se suma: (0,010 + 0,111 ) * 24 = 1,001 * 24 - Se normaliza: 0,1001 * 25 - Se vuelve a redondear a 3 dgitos: 0,100 * 25 perdindose precisin nuevamente
Codificacin de la informacin
Para permitir la comunicacin de datos existe una primera cuestin a tener en cuenta: el Hardware. Pero esta es solo una parte. Todas las personas del mundo tienen el mismo hardware para la comunicacin hablada: labios, lengua, dientes y el resto del complejo aparato bucal para transmitir y los odos para recibir. La comunicacin oral, sin embargo, es posible solamente cuando dos personas conocen el mismo lenguaje, es decir la misma manera de codificar la informacin.As como el habla sera imposible sin lenguajes comunes, la comunicacin entre computadoras sera imposible sin coordinacin de cdigos de caracteres.Todas las computadoras digitales actuales usan un lenguaje binario para representar la informacin internamente. Debido a que algunos de los dispositivos con los que se deben comunicar las computadoras estn diseados para uso humano (especialmente impresoras y terminales de video), es importante que esos perifricos utilicen un cdigo de comunicacin compatible con la comunicacin humana. Existen varios mtodos para alcanzar dicha compatibilidad y cada uno utiliza un modo diferente de codificar los nmeros y las letras que conforman la base de la comunicacin escrita entre las personas. Actualmente es frecuente encontrar en un sistema de cmputo dispositivos provistos por distintos fabricantes. La posibilidad de conectarlos existe nicamente si esos dispositivos utilizan un cdigo comn para la transmisin y recepcin de la informacin. Son claras las ventajas de conseguir que todas las computadoras utilicen el mismo cdigo de comunicacin. An cuando la calidad de los cdigos vara enormemente, casi cualquier estndar universal sera mejor que ninguno. Si bien hay cdigos que prcticamente son aceptados por todos los fabricantes, an no existe un estndar que optimice el aprovechamiento de los recursos del hardware. La codificacin consiste en establecer una ley de correspondencia, llamada CDIGO, entre la informacin por representar y las posibles configuraciones binarias, de tal manera que a cada informacin corresponda una y generalmente solo una, configuracin binaria. Llamamos CODIFICACIN al proceso de convertir un smbolo complejo en un grupo de smbolos ms simples. Ejemplo: convertir una letra del alfabeto en un cdigo de cinco bits. DECODIFICACIN es el proceso inverso al de codificacin, se convierte a un cdigo donde la cantidad de smbolos es menor, pero cada una contiene ms informacin. TRANSCODIFICACIN: Aplicacin de un cambio de cdigo a una informacin ya codificada. Ejemplo: de EBCDIC a ASCII.
Arquitectura y Organizacin de Computadoras - 2012
13
Existen teclas de control correspondientes a rdenes mecnicas, como la barra espaciadora (SP en ingles, de SPace), la tecla de retorno de carro a un nuevo rengln (CR de Carry Return), que aparece como Enter en los teclados, la de retroceso (BS o Back Space). Estas teclas sirven para organizar la impresin de caracteres en renglones de un papel o de una pantalla, y se conocen como caracteres no imprimibles, siendo en esencia rdenes para desplazar el carro de una mquina de escribir o su equivalente cursor en una pantalla. Existen diversas maneras de presentacin de una tabla con el cdigo ASCII, las cuales mayormente indican, por razones de comodidad, o para operar desde el teclado, las equivalencias hexadecimales o decimales de cada combinacin binaria del cdigo, sin indicar sta. Esto puede observarse en la siguiente figura, que muestra la tabla de equivalencias a la que se accede desde un editor de texto sin formato.
Representacin de los Nmeros Cada dgito decimal es representado internamente con 8 bits, distribuidos de la siguiente forma: ZONA: Es siempre 0011 DIGITO: En este espacio (4 bits) se representa el nmero decimal codificado en BCD Los datos numricos as codificados no son tcnicamente aptos para ser procesados aritmticamente. Si es necesario realizar operaciones aritmticas con ellos, se debe eliminar la parte correspondiente a la ZONA de cada byte. Esta operacin se llama empaque y la informacin resultante, informacin empacada (empaquetada) o decimal sin zona. Los datos numricos con zona se denominan informacin desempacada o zoneada. 2) Cdigo EBCDIC(Expanded Binary Code Decimal Interchange Code) Este cdigo fue diseado y utilizado exclusivamente por IBM. Su importancia radica en que sirvi como base para los cdigos posteriores normalizados. Utiliza 8 dgitos binarios para representar cada carcter, por lo tanto hay un total de 28=256 caracteres posibles. La correspondencia entre la informacin por representar y la correspondiente secuencia binaria se encuentra en tablas con distintos formatos. Con respecto a los caracteres alfabticos y signos de puntuacin no tiene caractersticas que lo destaquen, salvo que podemos encontrar pequeas alteraciones al ser utilizados en pases con distintos alfabetos. La estructura del Byte segn la representacin es la siguiente:
15
5 4
3 2
1 0
Posicin 7 y 6 11- Letras maysculas y nmeros 10 - Letras minsculas. 01 - Caracteres especiales 00 - Ningn carcter encontrado
Representacin de los Nmeros En este cdigo, al igual que en el ASCII, cada dgito decimal es representado internamente con 8 bits, distribuidos de la siguiente forma: ZONA: Ocupa los 4 bits de orden superior del Byte. Tiene una secuencia binaria fija para cualquier nmero: 1111(2 = F(16 DIGITO: En este espacio se representa el nmero decimal codificado en BCD Aqu surge el mismo inconveniente visto en el cdigo ASCII: la dificultad para realizar operaciones matemticas con los nmeros representados con la ZONA. La solucin es la misma que la indicada para el cdigo anterior. Como la mayor parte de las mquinas utilizan 8 bit para cada dgito no surgen conflictos al producirse el EMPAQUE. 3) El cdigo UNICODE Los cdigos ASCII y EBCDIC sirven para soportar los conjuntos de caracteres (latinos) histricamente dominantes en las representaciones de la computacin. Existen muchos otros conjuntos de caracteres en uso en el mundo, y no siempre es posible la conversin de cdigo ASCII al cdigo correspondiente al idioma X. A raz de esto surgi un nuevo conjunto de caracteres, universal y normalizado, al que se conoce como Unicode, y que sirve para soportar una buena cantidad de alfabetos que se usan en el mundo. Este cdigo es una norma en desarrollo, que se modifica a medida que se le incorporan los smbolos correspondientes a alfabetos nuevos, y a medida que los conjuntos de caracteres incorporados se van modificando y se refinan las correspondientes representaciones. En la versin 2.0 de Unicode se incluyen 38.885 caracteres diferentes, los que cubren los principales lenguajes escritos de uso en Amrica, Europa, Medio Oriente, Asia, India y las islas del Pacfico. Utiliza un conjunto de caracteres de 16 bits. Si bien este cdigo soporta muchos ms caracteres que ASCII y EBCDIC, no es la norma de mayor importancia. Los primeros 128 caracteres del Unicode coinciden con los del ASCII. La siguiente figura muestra los smbolos disponibles para insercin desde un documento de Word. En la ventana puede observarse la disponibilidad de caracteres Unicode y ASCII, y el cdigo decimal o hexadecimal correspondiente.
16
Cdigos redundantes
Es difcil pensar en un equipo que funcione sin fallas durante un tiempo indefinido. Para cualquier mquina se define un Tiempo Medio Entre Fallas (MTBF). El objetivo de los desarrollos tecnolgicos es incrementar ese tiempo. Teniendo en cuenta esa premisa, es de esperar que la informacin pueda verse alterada en el transcurso de la transmisin o almacenamiento. Si el equipo tiene la posibilidad de detectar o, mejor an, corregir esas modificaciones, es evidente que aumentar la confiabilidad del mismo. Para este fin, existen dos tipos de cdigos:
1. Cdigos autodetectores
Cdigo en el que mediante un determinado nmero de bits de redundancia se puede detectar si la informacin recibida es correcta o no. El ejemplo mas clsico de este tipo de cdigos es el de control de paridad. 1.1. Control de paridad Este cdigo, si bien no permite detectar errores dobles, es el ms utilizado debido a su simplicidad y a que en los ordenadores la probabilidad de que ocurra un error es muy pequea, por lo tanto que ocurran 2 es mucho menos probable. Consiste en agregar a los bit de informacin transmitidos un bit mas (generalmente el primero de la izquierda), que hace que la cantidad de unos transmitidos sea PAR (PARIDAD PAR pone un 0) o IMPAR (PARIDAD IMPAR pone un 1). Ejemplo: Se desea enviar los caracteres ASCII A (cdigo decimal 65) y C (cdigo decimal 67) desde un equipo emisor a otro receptor, utilizando una comprobacin de paridad par: Emisor (Codificacin del Byte del carcter para comprobacin de paridad PAR)
Arquitectura y Organizacin de Computadoras - 2012
17
Bit de paridad 0 (el nmero de unos es par) 1 (el nmero de unos es impar)
Cuando el receptor recibe la informacin lo que har ser volver a contar el nmero de unos que tiene el dato y comprobar que concuerda con lo especificado en el bit de paridad. Si llega: Receptor (Comprobacin de paridad PAR) Byte recibido 0 1000001 1 1000001 Dato 1000001 A 1000001 A N de unos recibido 2 (par) 2 (par) Bit de paridad que tiene 0 1 Error NO SI
Se puede detectar que en el segundo carcter transmitido hay un error porque el bit de paridad no concuerda con lo que se expresa en los bits de datos: el nmero de unos es impar pero el bit de paridad indica que debera ser par.
2. Cdigos correctores
Mediante el uso de estos cdigos, el receptor puede determinar si la informacin recibida es correcta o no y en este caso corregir el error producido durante la transmisin. 2.1. Cdigos de Hamming Estos cdigos permiten detectar y corregir uno o ms errores producidos durante la transmisin para palabras de cualquier nmero de bits. Consiste en determinar en cuntos bits difiere la palabra recibida de la enviada, a lo que se llama distancias de Hamming. Para ello, la informacin n enviada consiste de m bits de datos y r bits redundantes, de control de paridad, siendo n = m + r 2.2. Control 2 en 3 Para transmitir una informacin cualquiera de n bits, se envan 3 veces esos n bits, en forma sucesiva. Al receptor de la informacin, al efectuar el anlisis de la misma, pueden presentrsele tres situaciones distintas: Las tres son idnticas. La informacin se toma como correcta. Dos son iguales y una distinta. El cdigo se comporta como AUTOCORRECTOR, selecciona una de las dos iguales y la toma como correcta. Las tres son distintas. El cdigo se comporta como AUTODETECTOR, la mquina detecta que hay error pero no puede determinar cual es la informacin correcta.
18