2 representación de la información prof. javier cañas r. · 2013. 3. 10. · 2 sistemas...

81
Arquitecturas de Computadores 2 Representación de la Información Prof. Javier Cañas R.

Upload: others

Post on 12-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Arquitecturas de Computadores2 Representación de la Información

Prof. Javier Cañas R.

Page 2: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Temario

1. De la Información

2. Sistemas Numéricos Posicionales

3. Conversión entre Bases Numéricas

4. Introducción a la Aritmética Computacional

5. Códigos

Page 3: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

1 De la Información

• Una de las ideas más recurrentes de nuestro mundo actual es que “vivimos en una sociedad de la información”, “información es poder”. Nuestra disciplina se denomina “Informática”

• ¿Qué es información?. ¿Cómo se representa?

• La respuesta está muy lejos de ser simple. Más aún, se ha ido modificando con el tiempo.

Page 4: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Información

• Uno de los aportes más novedosos al tema fue realizado por dos chilenos: Francisco Varela y Humberto Maturana quienes elaboraron la llamada “Teoría de Santiago”.

• Según esta teoría, la cognición no es la representación de un mundo con existencia independiente, sino un constante alumbramiento de un mundo a través del proceso de la vida.

Page 5: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Información

• El lenguaje juega entonces un papel fundamental: La realidad depende del lenguaje. Según Maturana y Varela, “No existe una realidad independiente del observador”.

• Lo Real es el misterio de la vida y del universo.

• La realidad la descubrimos a través de los procesos de comunicación.

Page 6: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Información

• Cualquier ser vivo, a través de su propio proceso, va dando luz no al mundo, sino a su mundo, el cual es dependiente de su propia estructura.

• Los humanos compartimos un mundo abstracto de lenguaje y pensamiento a través del cual creamos juntos nuestro propio mundo.

Page 7: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Información

• La idea convencional es que la información está ahí afuera, para ser recogida por el cerebro, pero el significado no reside en el fragmento que extraemos, sino en el contexto que fue extraído. Por ejemplo un semáforo en rojo no dice nada para alguien que no forma parte de nuestra cultura.

Page 8: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Representación de la Información

• Según Maturana y Varela, no existe “información” en términos absolutos. Existen convencionalismos que representan fragmentos de la realidad y que al estar dentro de contextos culturales les damos sentido.

Page 9: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Representación

• ¿Qué significa entonces “Procesar información”?

• Para entender mejor este tema diremos que hay distintos espacios, dependiendo de las abstracciones que se hagan.

Page 10: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Representación

¡Tres!

Espacio Mental Espacio del Lenguaje

Espacio Tipográfico

3

Espacio Material

Computador

1 1

Bits: La unidad de información es el bit

Page 11: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Información Analógica e Información Digital

• El manejo de la información se suele dividir en procesamiento analógico y procesamiento digital.

• Un procesador analógico procesa información analógica y un procesador digital procesa información digital.

• ¿Qué significa esto?

- En primer lugar, la representación de ambas informaciones se realiza utilizando señales.

Page 12: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Información Análoga

• La información analógica se representa por señales analógicas y la información digital por señales digitales

• Una señal se expresa como una función del tiempo. Por ejemplo: g(t)

Page 13: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

.. Inf. Análoga

• Cuando g(t) es una función continua en términos matemáticos, se dice que g(t) es una señal analógica. Cada nivel aporta información

g(t)

t

Page 14: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Información Digital

• Cuando g(t) es una función discreta, se dice que g(t) es una señal digital. Sólo los niveles discretos aportan información.

4 niveles

g(t)

t

Page 15: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Ejemplos

• Información Analógica:

- Señales ECG

- Audio

- Instrumentos con agujas indicadoras (ej. relojes)

• Información Digital

- Variación del IPC

- Instrumentos con indicadores numéricos

Page 16: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Observaciones

• Es importante considerar que en último término, todo es analógico porque físicamente todo es continuo (excepto a nivel atómico).

• Lo digital se refiere sólo a la forma de procesar, en la cual se enfatiza lo discreto.

• La información analógica es posible digitalizarla, y la información digital es posible transformarla en analógica (ej. CD DDD)

Page 17: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Observaciones

• ¿Por qué conviene digitalizar?

- Se evita el error acumulativo de los sistemas analógicos

- Se evita la deriva(drift) es decir, errores introducidos por variaciones térmicas de transistores

- Se logra reducir los costos (VLSI)

Page 18: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

2 Sistemas Numéricos Posicionales

• Por convención el sistema numérico comúnmente usado es el sistema decimal.

• El sistema numérico decimal es un sistema llamado posicional porque el valor de un dígito depende de la posición en la cual se encuentra.

• En otras palabras, un número en el sistema decimal corresponde a un polinomio en base 10

Page 19: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

El Sistema Decimal

• Por ejemplo, el número 6903 se puede expresar por el polinomio:

En general:

Page 20: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Sistema Decimal

• {d1,d2,...,dm} se denominan dígitos. Los dígitos constituyen los únicos símbolos representables. Si las base es b, existen b dígitos representables. Para la base decimal, estos dígitos son: 0,1,2...9

Page 21: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Sistema decimal

• La notación anterior se puede extender a números con punto o coma decimal. Por ejemplo:

En general:

Page 22: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Sistema binario

• Si la base b=2, el sistema numérico se denomina sistema binario. El conjunto de dígitos representables es {0,1}. Este conjunto se denomina bits. Por ejemplo:

• Para eliminar problemas de interpretación, la base se indica con un subíndice. Por ejemplo 1910

Page 23: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Sistema binario

• También se puede generalizar para números con punto decimal:

Page 24: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Otras Bases Interesantes

• Si la base b=8, el sistema numérico se denomina sistema octal. El conjunto de dígitos es {0,1,2,...7}. Por ejemplo:

• Si la base b=16, el sistema numérico se denomina sistema Hexadecimal. El conjunto de dígitos es {0,1,2,...9,A,B,C,D,E,F}. Por ejemplo:

Page 25: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Las Bases Octal y Hexadecimal

• Las bases octal y hexadecimal tienen gran importancia en Arquitecturas de Computadores porque permiten representar información binaria en forma compacta.

• En el lenguaje C se pueden representar constantes octales y hexadecimales:

• Ejemplo:

const int i=056; // el prefijo 0 indica octal

const int j=0xA9; // el prefijo 0x indica hexadecimal

Page 26: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

3 Conversión entre Bases Numéricas

• Conversión Binaria decimal: Para convertir números enteros decimales en binarios se dividen sucesivamente los cuocientes por 2 y se registran los restos de la división.

• Por ejemplo: Convertir 1910 a binario

19:2=9:2=4:2=2:2=1:2=01// 1// 0// 0// 1// ← Restos

• El número binario es 100112

Page 27: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Conversión

• Para simplificar la conversión, la división es mejor hacerla en forma tabular.

• Por ejemplo: Convertir 1910 a binario19| 2 9| 1 4| 1 2| 0 1| 0 0| 1

1910=100112

Page 28: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Conversión• Para convertir números fraccionarios se multiplica

sucesivamente la parte fraccionaria por 2. La parte entera corresponde al número binario

• Por ejemplo: Convertir 0.75310 a binario

0.753*2=1.506 la parte entera es 1 y se remueve

0.506*2=1.012 la parte entera es 1 y se remueve

0.012*2=0.024 la parte entera es 0

0.024*2=0.048 la parte entera es 0

El número se puede aproximar a 0.11002

Page 29: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Conversión

• La forma tabular es también en este caso más fácil para convertir números fraccionarios. Por ejemplo: Convertir 0.7510 a binario

0.75|2

1.50|2

1.00|2

0.00|2

El número se puede aproximar a 0.1102

Page 30: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Conversión

• La división de números enteros o la multiplicación de números fraccionarios se puede generalizar para la conversión entre cualquier base. Hay que tener en cuenta que la aritmética debe corresponder a la base original.

Page 31: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Conversión

• Por ejemplo convertir 47810 a base octal. En este caso la aritmética utilizada es decimal.

478| 8 59| 6 7| 3 0| 7El resultado es 7368

Page 32: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Conversión

• Siguiendo con el ejemplo anterior, el número 7368 se puede convertir en decimal evaluando el polinomio correspondiente.

• Otro ejemplo convertir 47810 a base Hexadecimal: 478| 16

29| 14 1| 13 0| 1El resultado es 1DE16

Page 33: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Conversión Binario-Hexadecimal-Octal

• Las bases numéricas que son potencias de dos tienen una interesante propiedad que permite una rápida conversión.

Por ejemplo b=8=23. También b=16=24.

• En general si b=2n , basta separar en grupos de n bits y convertir sólo el grupo.

Page 34: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Ejemplo

• Ejemplo, convertir a hexadecimal:

1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1

DA 6 B

• Ejemplo, convertir a octal:

1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1

52 5 361

Page 35: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Observaciones

• Esta propiedad justifica el amplio uso de números octales y hexadecimales como forma de compactar la representación de números binarios. Usaremos esta representación en los lenguajes de máquina y para expresar códigos.

• Ejemplo dirección MAC adaptador de red:

00:60:08:DC:31:CC Se expresa un número de 48b

Page 36: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

4 Introducción a la Aritmética Computacional• Los computadores actuales son binarios.

• La información que maneja un computador es almacenada en dispositivos de hardware llamados Registros.

• Se denomina ancho de registro al número de bits que puede almacenar.

• Los procesadores de tecnología actual tienen registros de ancho 32 bits y 64 bits.

Page 37: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Registros• Usaremos la siguiente notación para representar

registros. Por ejemplo un registro de 16b:

1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1

• Un grupo de 8 bits se denomina octeto. Se denomina Byte a un conjunto de bits que normalmente son un octeto. De aquí en adelante consideraremos que un Byte es equivalente a un octeto.

• Como notación se usa b para bits y B para Byte. El registro anterior tiene 16b o 2B.

Page 38: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Registros

• La información que puede manejar un computador está limitada por el tamaño de los registros. Por ejemplo con un registro de 16b, el mayor entero representable es:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Valor máximo= 6553510

Page 39: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Representación de números negativos

• ¿Cómo representar números que tienen punto decimal?. ¿Cómo representar números negativos?.

• La primera pregunta la postergaremos para mas adelante.

• Tal como se vio anteriormente, los computadores tienen una aritmética que se denomina de precisión finita debido a la limitación que imponen los registros de hardware

Page 40: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Números negativos

• Por convención se utiliza el bit más significativo para representar el signo. Los números positivos tienen un cero y los negativos un uno en el bit más significativo.

0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1

Número positivo

1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1

Número negativo

Page 41: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Números negativos• Existen tres formas de representar números

negativos:

- Signo y Magnitud (S-M)

- Complemento uno (C-1)

- Complemento dos (C-2)

• Los números positivos se representan de la misma forma en las tres formas.

• Por razones que se explican mas adelante, todos los computadores modernos utilizan Complemento dos.

Page 42: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Signo y Magnitud

• En S-M la magnitud del número corresponde al valor absoluto.

• Para ejemplificar consideremos un registro de 5b

1 0 0 1 1 La magnitud es 3, luego vale -3

• ¿Cuál es el rango representable en un registro de ancho n?

Page 43: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Signo y Magnitud• Como la representación es finita, conviene

representar los números en una circunferencia en vez de una recta infinita.

• Por ejemplo si el ancho de los registros es 5 bits queda: -0 +0

1

15

..

-1

-2

-..

-15

Page 44: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

...Signo y Magnitud

• Se puede observar que existen dos ceros: +0 y -0. Como se verá mas adelante esto puede traer serias complicaciones en los cálculos aritméticos

• En general si el ancho de los registros es n, el rango representable está dado por:

Page 45: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Complemento Uno

• El Complemento 1 de un número se obtiene complementando cada bit.

• Para ejemplificar consideremos representar el -3 en un registro de 5b

0 0 0 1 1 Primero se considera +3

1 1 1 0 0 Luego se complementa cada bit

Page 46: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Complemento uno

• Por ejemplo si el ancho de los registros es 5 bits queda:

-0 +01

15

..

-1

-2

-..

-15

Page 47: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

...Complemento Uno

• Se puede observar que al igual que en SM, también existen dos ceros: +0 y -0.

• En general si el ancho de los registros es n, el rango representable está dado por:

Page 48: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Complemento Dos

• El Complemento 2 de un número N en un registro de ancho n se obtiene calculando 2n-N.

• Para ejemplificar consideremos representar el -3 en un registro de 5b:

1 0 0 0 0 0

0 0 0 0 1 1

25

3

0 1 1 1 0 1 Número en C-2

Page 49: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Complemento dos• Una forma más fácil de obtener el C-2 es

calcular el C-1 y después sumar uno.

• Para ejemplificar consideremos representar el -3 en un registro de 5b

0 0 0 1 1 3

1

1 1 1 0 1 Número en C-2

1 1 1 0 0 C-1 de -3

+

Page 50: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Complemento Dos

• Por ejemplo si el ancho de los registros es 5 bits queda:

-1 01

15

..

-2

-3

-..

-15-16

Page 51: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Complemento Dos

• Se puede observar que en este caso sólo hay una representación para el cero. Esto significa una asimetría en las representaciones ya que el valor absoluto del máximo número negativo, es mayor que el máximo positivo

• En general si el ancho de los registros es n, el rango representable está dado por:

Page 52: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Sumas de Registros

• Primero consideraremos sumas en C-2 ya que es el caso más frecuente en los procesadores actuales.

• Para sumar en C-2 se suman los números en forma binaria.

• La única precaución se debe observar al sumar números que tienen el mismo signo ya que podría ocurrir rebalse (overflow). Esto significa que el resultado no cabe en los bits disponibles en el registro.

Page 53: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Sumas binarias

11

0

No hay carry de entrada y se genera carry de salida

1+

Carrysalida

11

0

Hay carry de entrada y se genera carry de salida

0+

Carrysalida

1Carry

entrada

Page 54: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Ejemplos

• Ejemplo: 8+ (-3) en registros de ancho 5b

0 1 0 0 0 +8

0 0 1 0 1 Resultado en C-2

1 1 1 0 1 -3 en C-2+

Page 55: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Sumas de Registros: Overflow

• Ejemplo: 8+ 9 en registros de ancho 5b

0 1 0 0 0 +8

1 0 0 0 1 ¡Cambió el signo!

0 1 0 0 1 +9+

Se genera carry 1 que entra a la última etapa

Se genera carry 0

Page 56: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Detección de overflow

• Para detectar overflow en C-2 hay que observar el carry que entra al bit de signo y el carry que se genera en el bit de signo. Ocurre overflow cuando ambos carry son diferentes.

• Las unidades aritmética de procesadores tienen lógica que permite detectar automáticamente esta situación.

Page 57: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Sumas en Complemento Uno

• Si bien no hay procesadores modernos que usen C-1, estas sumas son usadas en algoritmos de detección de errores en transmisión de datos (Checksum IP).

• Ejemplo: 8+ (-3) en registros de ancho 5b.

Page 58: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Ejemplo0 1 0 0 0 +8

0 0 1 0 0

Resultado en C-1

1 1 1 0 0 -3 en C-1+

1 End Around Carry

+

0 0 1 0 1

Page 59: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Punto Flotante

• La aritmética que soporta números como por ejemplo -2.7734 se denomina Punto Flotante porque representa números para los cuales el punto decimal no está fijo como los enteros.

• Cualquier computador construido después de 1980 adopta el estándar IEEE 754.

Page 60: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Notación Científica

6.02 x 10 1.673 x 10!23! -24!

exponent!

radix (base) Mantissa!

decimal point!

Sign, magnitude!

Sign, magnitude!

IEEE F.P. ± 1.M x 2!e - 127!

Page 61: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Representación IEEE 754

Representación en el estándar IEEE 754 :!

precisión simple!1! 8! 23!

sign!

exponent:!excess 127!binary integer!

mantissa:!sign + magnitude, normalized!binary significand w/ hidden!integer bit: 1.M!El exponente actual es:!

e = E - 127!

S! E! M!

N = (-1) 2 (1.M)!S! E-127!

0 < E < 255!

0 = 0 00000000 0 . . . 0 -1.5 = 1 01111111 10 . . . 0!

Precisión Simple

Page 62: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Representación IEEE 754

• La magnitud de los números que se pueden representar están en el rango:

2-126

(1.0) 2127

(2-2 )23

1.8 x 10-38 3.4 x 1038

a

a

Page 63: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Ejemplo

• Representar el número -0.7510 en punto flotante precisión simple.

- Sol. El número -0.7510 es -3/22, o sea -112/22 o también -0.112.

- Este número en notación científica es: -0.112.x20.

- Normalizando queda: -1.12.x2-1.

Page 64: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Ejemplo

• Como la representación en precisión simple es:

(-1)S x (1+Mantisa) x 2 (E -127)

El exponente se representa en “exceso 127”, lo que significa sumar 127 al exponente actual. Por lo tanto queda: E=127-1=126

El resultado es:

(-1)1 x (1+.100000000000000000000002)x2(126-127)

Page 65: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Ejemplo

31

1

30

0

29

1

28

1

27

1

26

1

25

1

24

1

23

0

22

1

21

0

20

0

19

0

18

0

17

0

16

0

15

0

14

0

13

0

12

0

11

0

10

0

9

0

8

0

7

0

6

0

5

0

4

0

3

0

2

0

1

0

0

0

1 bit

8 bit 23 bit

Page 66: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

5 Códigos

• Un código es una relación entre dos conjuntos de símbolos.

• El dominio es un conjunto arbitrario, por ejemplo letras, símbolos gráficos, números.

• El codominio es un conjunto de strings de bits.

Page 67: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Códigos• Los códigos son un pilar fundamental de los

Sistemas de Computación. La Teoría de Códigos es la disciplina que estudia sus propiedades.

a

@5

B

1101

11001

1001

110101DominioCodominio

Page 68: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

El Código BCD

• ¿Cómo representar el número 199510?

• Una solución es convertirlo a binario:199510=111110010112

• La dificultad de este método es que se dificulta la entrada de datos porque es necesario convertir. La conversión se hace cuando se conoce el número completo.

Page 69: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... El Código BCD• El Código BCD permite una conversión fácil

entre números decimales y binarios. Es útil en teclados numéricos

7 8 9

4 5 6

1 2 3

0

Decimal BCD0 00001 00012 00103 00114 0100

Decimal BCD5 01016 01107 01118 10009 1001

Ejemplo: 219= 0010 0001 1001

Page 70: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

El Código Gray• El Código Gray tiene interesantes propiedades

que se utilizarán en el próximo capítulo.

• El Código Gray se define de la siguiente manera:

- Código Gray de un bit= {0,1}

- Dado un Código Gray de d-bits, se puede construir un Código Gray de (d+1)-bits haciendo una lista del Código Gray con prefijo 0, seguido de una lista del Código Gray en orden inverso con prefijo 1

Page 71: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Ejemplo0

1

0

1

1

0

0

0

1

1

0

1

1

0

0

0

1

1

01

11

10

00

0

0

0

0

1

1

1

1

Page 72: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Ejemplo: Código Gray de 3 bits

0

1

1

0

0

0

1

1

01

11

10

00

0

0

0

0

1

1

1

1

0

1

2

3

4

5

6

7

G(i)i

Se define el inverso G-1(i)=j ssi G(j)=i

Ejemplo:

G-1(6) = 4

0

1

3

2

6

7

5

4

G(i)

Page 73: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Códigos ASCII y EBCDIC

• ¿Qué pasa si se desean representar otros símbolos?

• El código más utilizado es código llamado ASCII (American Standard Code of Information).

• Otros códigos son el EBCDIC utilizado en algunos terminales IBM

Page 74: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Código Hamming

• El Código Hamming es un código que tiene la capacidad de corregir errores. Se puede ocupar para detectar errores en dos bits o corregir un error simple.

• Matemáticamente, para un número entero m>2, existe un código con m bits de paridad y 2m-m-1 bits de datos.

Page 75: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Hamming: Codificación• Numerar los bits comenzando con 1 desde

la izquierda:

1 2 3 4 5 6 7 8 9 10

• Los bits que son potencias de 2 son bits de paridad:

1 2 3 4 5 6 7 8 9 10

Page 76: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Codificación

• Los demás son bits de datos:

1p1

2 3 4 5 6 7 8 9 10p2 p4 p8

p1

p2

p4

11

11

1

1

111

111

11

p8 1 1 1

Page 77: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Algoritmo codificación

• Los bits de paridad p1, p2, p4 y p8 dan paridad a un conjunto de bits:

p1={1,3,5,7,9}

p2={2,3,6,7,10}

p4={4,5,6,7}

p8={8,9,10}

Page 78: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Ejemplo• Se desea codificar el mensaje:10011.

• Lo primero es ubicar el mensaje en los bits de datos:

1 2 3

1

4 5

0

6

0

7

1

8 9

1

• Se calcula p1, p2, p4 y p8:

- p1={1,3,5,7,9}=1

- p2= {2,3,6,7}=0

- p4= {4,5,6,7}=1

- p8= {8,9}=1

Page 79: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Ejemplo

• La palabra a transmitir es entonces:

• Supongamos ahora que hay un error en el bit 5:

1

1

2

0

3

1

4

1

5

0

6

0

7

1

8

1

9

1

1

1

2

0

3

1

4

1

5

1

6

0

7

1

8

1

9

1

Page 80: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

... Ejemplo

• Se calcula el or-ex de todos los bits de paridad:

- p1={1,3,5,7,9}=1

- p2= {2,3,6,7}=0

- p4= {4,5,6,7}=1

- p8= {8,9}=0

• El bit errado está en la posición: p8 p4 p2 p1= 0101 es decir es el quinto bit!

Page 81: 2 Representación de la Información Prof. Javier Cañas R. · 2013. 3. 10. · 2 Sistemas Numéricos Posicionales • Por convención el sistema numérico comúnmente usado es el

Arquitecturas de Computadores2 Representación de la Información

Prof. Javier Cañas R.