Professional Documents
Culture Documents
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.
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
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.
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
Octal (base
8)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
Decimal
(base 10)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Hexadecimal
(base 16)
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
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
0 0001010
+ mdulo
Nmero -10
1 0001010
- mdulo
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
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
0 1 1 (+3)
+ 0 0 1 (+1)
100
Arrastre (carry)
Desborde (overflow)
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
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
negativo
= 0,100 * 2-2
11
Formatos
a) Simple precisin (32 bits)
Signo
Exponente
31
30 - 23
Mantisa
22 - 0
Exponente
Mantisa
63
62 52
51 - 0
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)
12
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
14
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.
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
Posicin 5 y 4
00 - A-I
01 - J-R
10 - S-Z
11 - Nmeros
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
Carcter ASCII
A (65)
C (67)
1000011
Bit de paridad
0
(el nmero de unos es par)
1
(el nmero de unos es impar)
Byte completo
0 1000001
1 1000011
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)
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