representacion de datos y aritmetica basica eb sistemas digitales

64
Rosa Corti Digital II - ECA Departamento de Sistemas e Informática 2015 Representación de datos y aritmética básica en sistemas digitales

Upload: drrmankarcov

Post on 08-Jul-2016

233 views

Category:

Documents


2 download

DESCRIPTION

Represasentacion de datos y aritmetica basica en sistemas digitales

TRANSCRIPT

Page 1: Representacion de datos y aritmetica basica eb sistemas digitales

Rosa Corti

Digital II - ECA

Departamento de Sistemas e Informática

2015

Representación de datos y aritmética básica en sistemas digitales

Page 2: Representacion de datos y aritmetica basica eb sistemas digitales

2

Alfabeto: Símbolos utilizados

Base: Cantidad de símbolos del alfabeto

Sistemas Posicionales: La posición del dígito en la

tira de símbolos da un “peso” a su valor

Sistemas de Numeración:

Page 3: Representacion de datos y aritmetica basica eb sistemas digitales

3

Sistemas de Numeración:

Sistema binario

Sistema octal

Sistema hexadecimal

{0,1,2,3,4,5,6,7}

{ 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

{0,1}

Page 4: Representacion de datos y aritmetica basica eb sistemas digitales

4

Dígito decimal Dígito decimal codificado

en binario (BCD)

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

Representación decimal: Código BCD

Page 5: Representacion de datos y aritmetica basica eb sistemas digitales

5

Representación y operaciones

básicas con enteros.

Page 6: Representacion de datos y aritmetica basica eb sistemas digitales

6

Representación de enteros

Magnitud y signo

Complementos

Complemento a la base

Complemento a la base menos 1

Utilizada en la vida diaria

Page 7: Representacion de datos y aritmetica basica eb sistemas digitales

7

Complemento a la base menos 1

Dado un número N en base r con n dígitos, el

complemento (r – 1) de N se define como ( rn – 1) – N.

Ejemplo en binario:

N = (0 1101)2

-N = (1 0010)2 Inconveniente: Doble

representación del cero

Ventaja: Implementación

muy simple

Ejemplo en decimal:

N = (31.479)10

-N = (68.520)10

Page 8: Representacion de datos y aritmetica basica eb sistemas digitales

8

Complemento a la base

Dado un número N en base r con n dígitos, el

complemento a r de N se define como rn – N.

Ejemplo en binario:

N = (0 1101)2

-N = (1 0011)2

Es el complemento más utilizado en sistemas digitales

Ejemplo en decimal:

N = (31.479)10

-N = (68.521)10

Page 9: Representacion de datos y aritmetica basica eb sistemas digitales

9

Representación del signo:

N = (14)10 = (0 00001110)2

-N = (- 14)10 = (1 11110010)2 Utilizando complemento a 2.

-N = (- 14)10 = (1 11110001)2 Utilizando complemento a 1.

N = (+ 258)10 = ( 0000 0010 0101 1000 ) BCD

-N = (- 258)10 = ( 1001 0111 0100 0010 ) BCD , en C10.

Ejemplo en binario:

Ejemplo en decimal:

Page 10: Representacion de datos y aritmetica basica eb sistemas digitales

10

Caracterización de la representación binaria de enteros

Capacidad de representación:

Mínima diferencia entre 2 representaciones consecutivas

Conjunto de valores representables

2 símbolos y tiras de n bits 2n

Representación Rango (n bits) Ejemplo (n = 8)

Positivos sin signo [0 ; 2n – 1] [0 ; 255]

C2 [- 2n-1 ; 2n-1 – 1] [- 128 ; 127]

C1 [- 2n-1 -1 ; 2n-1 – 1] [- 127 ; 127]

Si n = 8 , es 256

Resolución:

Cantidad de tiras de bits distintas

Rango

Representación de enteros Es siempre 1 (20)

Page 11: Representacion de datos y aritmetica basica eb sistemas digitales

11

Caso 1: A > 0 y B > 0

Sistema decimal Sistema binario

A + 6 0 0000110

B +13 0 0001101

S = A + B +19 0 0 0010011

Suma en C2

S = A + B Resultado correcto

Sumador

Binario

Cin Cout

B A

S = A + B + Cin

Page 12: Representacion de datos y aritmetica basica eb sistemas digitales

12

Caso 2: A < 0 y B < 0

Sistema decimal Sistema binario

A - 6 1 1111010

B -13 1 1110011

S = A + B -19 1 1 1101101

Suma en C2

S = (rn – A) + ( rn – B) = rn + rn – ( |A| + |B| )

Resultado correcto

Sumador

Binario

Cin Cout

B A

S Representación

binaria (r = 2)

Page 13: Representacion de datos y aritmetica basica eb sistemas digitales

13

Caso 3: A < 0 y B > 0 y |A| < |B|

Sistema decimal Sistema binario

A - 6 1 1111010

B +13 0 0001101

S = A + B + 7 1 0 0000111

Suma en C2

S = (rn – A) + B = rn + ( |B| - |A| )

Resultado correcto

Sumador

Binario

Cin Cout

B A

S

Representación

binaria (r = 2)

Page 14: Representacion de datos y aritmetica basica eb sistemas digitales

14

Caso 4: A > 0 y B < 0 y |A| < |B|

Sistema decimal Sistema binario

A + 6 0 0000110

B -13 1 1110011

S = A + B - 7 0 1 1111001

Suma en C2

S = A + (rn – B) = rn - ( |B| - |A| )

Resultado correcto

Sumador

Binario

Cin Cout

B A

S

Representación

binaria (r = 2)

Page 15: Representacion de datos y aritmetica basica eb sistemas digitales

15

Sumador binario en C2

Σ

Sumador

Binario

Cin Cout

B A

S

Cuando sumamos números positivos y negativos

utilizando complemento a r, se obtendrá el

resultado correcto siempre, si se ignora rn.

Page 16: Representacion de datos y aritmetica basica eb sistemas digitales

16

El sobreflujo ocurre cuando al sumar dos números

de n bits, el resultado ocupa n + 1bits.

Sobreflujo (Overflow)

En general se detecta y se informa.

Es un problema de la representación ligado al

tamaño finito de los registros del sistema

Page 17: Representacion de datos y aritmetica basica eb sistemas digitales

17

Representación binaria: Rango y Sobreflujo

La cantidad de bits (n) y las características de la representación

binaria definen el RANGO o conjunto de valores representables.

Hay sobreflujo cuando el resultado de la operación excede

el rango de la representación

Representación Rango (n bits) Ejemplo (n = 8)

Positivos sin signo [0 ; 2n – 1] [0 ; 255]

C2 [- 2n-1 ; 2n-1 – 1] [- 128 ; 127]

C1 [- 2n-1 -1 ; 2n-1 – 1] [- 127 ; 127]

Page 18: Representacion de datos y aritmetica basica eb sistemas digitales

18

Bibliotecas Unificadas: Sumador binario

Se disponen en distinto tamaño: 4, 8, 16 bits

Son encadenables

Números sin signo o C2

Interpretación de los operandos

Sumadores de mayor tamaño

S = A + B + CI

OFL

CO

Sobreflujo en C2

Sobreflujo sin signo

Page 19: Representacion de datos y aritmetica basica eb sistemas digitales

19

Sumadores binarios encadenados

CO del ADD que suma los bits menos

significativos se conecta a CI del ADD

que suma los bits más significativos

Sobreflujo detectado por OFL (C2) o

CO (positivos sin signo) del ADD

que suma los bits más significativos

Page 20: Representacion de datos y aritmetica basica eb sistemas digitales

20

Suma Binaria Suma BCD Valor decimal

K Z8 Z4 Z2 Z1 C S8 S4 S2 S1

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0 1 1

0 0 0 1 0 0 0 0 1 0 2

0 0 0 1 1 0 0 0 1 1 3

0 0 1 0 0 0 0 1 0 0 4

0 0 1 0 1 0 0 1 0 1 5

0 0 1 1 0 0 0 1 1 0 6

0 0 1 1 1 0 0 1 1 1 7

0 1 0 0 0 0 1 0 0 0 8

0 1 0 0 1 0 1 0 0 1 9

0 1 0 1 0 1 0 0 0 0 10

0 1 0 1 1 1 0 0 0 1 11

0 1 1 0 0 1 0 0 1 0 12

0 1 1 0 1 1 0 0 1 1 13

0 1 1 1 0 1 0 1 0 0 14

0 1 1 1 1 1 0 1 0 1 15

1 0 0 0 0 1 0 1 1 0 16

1 0 0 0 1 1 0 1 1 1 17

1 0 0 1 0 1 1 0 0 0 18

1 0 0 1 1 1 1 0 0 1 19

Suma BCD de

dos dígitos

Se puede obtener

utilizando un

sumador binario ?

Page 21: Representacion de datos y aritmetica basica eb sistemas digitales

21

Acarreo BCD

Suma

Binaria

Corrección

Suma BCD

Signo Centena Decena Unidad Suma Decimal

1 1

0000 0001 1000 0100 184

0000 0101 0111 0110 + 576

0000 0111 1 0000 1010

0110 0110

0000 0111 0110 1 0000 760

• Ejemplo 1: S = A + B, dónde A = (+ 184) y B = (+ 576)

Suma en BCD

Page 22: Representacion de datos y aritmetica basica eb sistemas digitales

22

Signo Centena Decena Unidad Suma Decimal

1 1

1001 1000 0001 0110 - 184

1001 0100 0010 0100 - 576

1 1011 1100 0100 1010

0110 0110 0110

1 1001 1 0010 0100 1 0000 - 760

Acarreo BCD

Suma

Binaria

Corrección

Suma

BCD

• Ejemplo 2: S = A + B, dónde A = (- 184) y B = (- 576)

Suma en BCD

C10(A) = 9 816 C10(B) = 9 424

Page 23: Representacion de datos y aritmetica basica eb sistemas digitales

23

Caso 1: A > 0 y B > 0

Sistema decimal Sistema binario

A + 6 0 0000110

B +13 0 0001101

S = A + B +19 0 0 0010011

Suma en C1

Resultado correcto S = A + B

Sumador

Binario

Cin Cout

B A

S

Page 24: Representacion de datos y aritmetica basica eb sistemas digitales

24

Caso 2: A < 0 y B < 0

Sistema decimal Sistema binario

A - 6 1 1111001

B -13 1 1110010

S = A + B -19 1 1 1101011 (- 20)

Suma en C1

1

1 1101100

S = (rn – 1 – A) + ( rn – 1 – B) = rn – 1 + rn – 1 – ( |A| + |B| )

Resultado correcto Representación

binaria (r = 2)

Page 25: Representacion de datos y aritmetica basica eb sistemas digitales

25

Caso 3: A < 0 y B > 0 y |A| < |B|

Sistema decimal Sistema binario

A - 6 1 1111001

B +13 0 0001101

S = A + B + 7 1 0 0000110 ( + 6)

Suma en C1

S = (rn – 1 – A) + B = rn – 1 + ( |B| – |A| )

Resultado correcto

1

00000111

Representación

binaria (r = 2)

Page 26: Representacion de datos y aritmetica basica eb sistemas digitales

26

Caso 4: A > 0 y B < 0 y |A| < |B|

Sistema decimal Sistema binario

A + 6 0 0000110

B -13 1 1110010

S = A + B - 7 0 1 1111000

Suma en C1

S = A + (rn – 1 – B) = rn – 1 – ( |B| – |A| )

Resultado correcto

Representación

binaria (r = 2)

Page 27: Representacion de datos y aritmetica basica eb sistemas digitales

27

Sumador binario en C1

Σ

Sumador

Binario

Cin Cout

B A

S

Cuando sumamos números positivos y negativos

utilizando complemento a r – 1, se obtendrá el

resultado correcto siempre, si se suma rn al dígito

menos significativo.

Page 28: Representacion de datos y aritmetica basica eb sistemas digitales

28

Resta binaria

R = A - B R = A + (- B)

Se obtiene a partir del bloque sumador

Se complementa el sustraendo ( C2 ó C1)

Page 29: Representacion de datos y aritmetica basica eb sistemas digitales

29

Bibliotecas Unificadas: Sumador/Restador binario

Se disponen en distinto tamaño: 4, 8, 16 bits

Son encadenables

Números sin signo o C2

Interpretación de los operandos

Operandos de mayor tamaño

S = A + B + CI

Page 30: Representacion de datos y aritmetica basica eb sistemas digitales

30

Sumador/Restador binario

SUMA CI y CO son activos en alto (1)

S = A + B + CI ADD = 1

RESTA ADD = 0

S = A - B - CI

CI y CO son activos en bajo (0)

Suma CO OFL_SS

0 0 1

0 1 0

1 0 0

1 1 1

Page 31: Representacion de datos y aritmetica basica eb sistemas digitales

31

Sumadores/Restadores encadenados

CI del ADSU que opera con los

bits menos significativos se define

en base a la entrada suma (ADD)

El sobreflujo se detecta en el

ADSU que opera con los bits más

significativos. Depende del tipo

de representación adoptado

Page 32: Representacion de datos y aritmetica basica eb sistemas digitales

32

Sumador/Restador binario

C2 SS

SS

SS C2

C2

La representación adoptada

determinará la forma de detectar

el sobreflujo (OFC2 u OFSS)

Page 33: Representacion de datos y aritmetica basica eb sistemas digitales

33

Multiplicación y división binarias

Se obtienen a partir de la suma y resta binarias , realizando

los corrimientos correspondientes.

Se opera con los valores absolutos y se obtiene el signo del

resultado a partir de los signos de los operandos.

ALU • Operaciones aritméticas

• Operaciones lógicas

• Corrimientos y rotaciones

Page 34: Representacion de datos y aritmetica basica eb sistemas digitales

34

Representación de

números reales.

Page 35: Representacion de datos y aritmetica basica eb sistemas digitales

35

Representación de números reales

Se considera la coma o punto, fijo en cierta posición.

Se almacena la posición que ocupa la coma o punto.

Representación de punto fijo

Representación de punto flotante

Page 36: Representacion de datos y aritmetica basica eb sistemas digitales

36

Representación en punto fijo

El punto en el extremo izquierdo

El punto en el extremo derecho

El número es una fracción

El número es un entero

Page 37: Representacion de datos y aritmetica basica eb sistemas digitales

37

Representación en punto flotante

N = m x re

Mantisa: Número de punto fijo con signo

Exponente: Representa la posición del punto

La mantisa y el exponente se representan físicamente

Page 38: Representacion de datos y aritmetica basica eb sistemas digitales

38

Un número con punto flotante está normalizado si el

dígito más significativo de la mantisa es distinto de cero.

Normalización en punto flotante

Mantisa Exponente Mantisa Exponente

0 0011011 0 00100 0 1101100 0 0010

Número sin normalizar Número normalizado Nro. binario

+ 0011,011

Ejemplo: Mantisa fraccionaria (magnitud y signo 8 bits), exponente (C2, 6 bits)

El punto está a la derecha del bit de signo

Bit de signo

Page 39: Representacion de datos y aritmetica basica eb sistemas digitales

39

Representación computacional

de datos.

Page 40: Representacion de datos y aritmetica basica eb sistemas digitales

40

Representación computacional de datos

Enteros o en punto fijo

Reales en punto flotante

Decimales

Caracteres Código ASCII

Page 41: Representacion de datos y aritmetica basica eb sistemas digitales

41

Representación computacional de enteros

BYTE

WORD

SBYTE

SWORD

DWORD

SDWORD

8 Bits

16 Bits

32 Bits

Page 42: Representacion de datos y aritmetica basica eb sistemas digitales

42

+ 18 = 00010010 (complemento a dos, 8 bits).

+ 18 = 0000000000010010 (complemento a dos, 16 bits).

-18 = 11101110 (complemento a dos, 8 bits).

- 18 = 1111111111101110 (complemento a dos, 16 bits).

Conversión entre distintas longitudes

Ejemplo:

Debe completarse el formato usando el bit de signo

Page 43: Representacion de datos y aritmetica basica eb sistemas digitales

43

Nº BCD Empaquetado BCD Desempaquetado

12 0001 0010 0000 0001 0000 0010

623 0000 0110 0010 0011 0000 0110 0000 0010 0000 0011

910 0000 1001 0001 0000 0000 1001 0000 0001 0000 0000

ASCII

0011 0001 0011 0010

0011 0110 0011 0010 0011 0011

0011 1001 0011 0001 0011 0000

12

623

910

Representación computacional de decimales

BCD Empaquetado

BCD Desempaquetado

Modo Carácter

Page 44: Representacion de datos y aritmetica basica eb sistemas digitales

44

Representación computacional en punto flotante

Mantisa

normalizada

Representada en magnitud y signo

Se asume que es fraccionaria

Exponente sesgado Se suma un valor fijo para

que sea siempre positivo

La base se conoce y por lo tanto no se representa

Page 45: Representacion de datos y aritmetica basica eb sistemas digitales

45

Estándar 754 de IEEE para punto flotante

Los distintos formatos del esquema tienen la misma estructura

El significante es un número entre 1 y 2.

La mantisa se normaliza y no se

representa el bit más significativo SIGNIFICANTE

Page 46: Representacion de datos y aritmetica basica eb sistemas digitales

46

Estándar 754 de IEEE para punto flotante

Page 47: Representacion de datos y aritmetica basica eb sistemas digitales

47

Estándar 754 de IEEE para punto flotante

Page 48: Representacion de datos y aritmetica basica eb sistemas digitales

48

Estándar 754 de IEEE: Ejemplos

Page 49: Representacion de datos y aritmetica basica eb sistemas digitales

49

Existe un compromiso entre rango representable y resolución.

Estándar 754 de IEEE para punto flotante

Los bits disponibles en cada formato de la norma se reparten

entre significante y exponente

Page 50: Representacion de datos y aritmetica basica eb sistemas digitales

50

Suma y resta en punto flotante

Se siguen los siguientes pasos:

Verificación de operandos nulos

Alineación de significantes

Suma o resta de significantes

Normalización y redondeo del resultado

Page 51: Representacion de datos y aritmetica basica eb sistemas digitales

51

Suma y resta en punto flotante

La suma y la resta obligan a realizar un

alineamiento de significantes

S = 123 100 + 456 10-2 = 123 100 + 4,56 100 = 127,56 100

Ejemplo en decimal:

Los exponentes deben ser iguales

Se desplaza el significante del número más chico

Se pierden dígitos

significativos

Page 52: Representacion de datos y aritmetica basica eb sistemas digitales

52

Estándar 754 de IEEE: Bits de guarda

X = 1,000.........00 x 21

- Y = 0,111.........11 x 21

Z = 0,000.........01 x 21

Z = 1, 000........00 x 2-22

X = 1,000.........00 0000 x 21

- Y = 0,111.........11 1000 x 21

Z = 0,000.........00 1000 x 21

Z = 1, 000........00 0000 x 2-23

Sin bits de guarda: Con bits de guarda:

Sirven para reducir los errores al operar

Z = X – Y = 1,000 … 00 21 – 1,111 … 11 20

Page 53: Representacion de datos y aritmetica basica eb sistemas digitales

53

Estándar 754 de IEEE: Redondeo

Redondeo al más próximo

Redondeo hacia +

Redondeo hacia -

Redondeo a cero Trunca los bits de guarda

Usada por defecto

Se utilizan sólo si las necesidades

de exactitud son muy altas

Page 54: Representacion de datos y aritmetica basica eb sistemas digitales

54

Multiplicación y división en punto flotante

Se siguen los siguientes pasos:

Verificación de operandos nulos

Suma o resta de exponentes

Multiplicación o división de significantes

Normalización y redondeo del resultado

Page 55: Representacion de datos y aritmetica basica eb sistemas digitales

55

Caracterización de las

representaciones.

Page 56: Representacion de datos y aritmetica basica eb sistemas digitales

56

Caracterización de los sistemas de representación

Cantidad de tiras de datos distintas que es

posible representar en el sistema.

Capacidad de representación:

Depende del número de símbolos del alfabeto y de la

longitud de la tira con la que se representan los valores.

Page 57: Representacion de datos y aritmetica basica eb sistemas digitales

57

Sistema con alfabeto binario restringido a 6 bits

26 = 64 Número de representaciones posibles

Caracterización de los sistemas de representación

Capacidad de representación, ejemplos:

Que ocurre con el valor anterior si la representación es:

Punto fijo, se representan enteros positivos.

Punto fijo fraccionaria pura > = 0.

Punto flotante, mantisa entera en C2 de 3 bits,

exponente positivo de 3 bits.

Page 58: Representacion de datos y aritmetica basica eb sistemas digitales

58

Caracterización de los sistemas de representación

Rango:

En sistemas de numéricos, es un entorno que queda

definido por los valores mínimo y máximo que

pueden representarse en la recta numérica.

Page 59: Representacion de datos y aritmetica basica eb sistemas digitales

59

Representación restringida a n bits: Parámetros

[0 , 63]

Rango, ejemplos:

Sistema con alfabeto binario restringido a 6 bits

Números enteros >= 0

Números enteros, en C1 [- 31 , +31]

Mantisa fraccionaria pura >= 0 [0 , 0.111111]

Mantisa entera >= 0 (2 bits),

exponente en C1 [0 , 3*2 7]

Page 60: Representacion de datos y aritmetica basica eb sistemas digitales

60

Caracterización de los sistemas de representación

Resolución:

En sistemas de representación numéricos, se

define a partir de los números consecutivos en la

recta numérica.

Page 61: Representacion de datos y aritmetica basica eb sistemas digitales

61

Representación restringida a n bits: Parámetros

(0.000001)2

Resolución, ejemplos:

Sistema con alfabeto binario restringido a 6 bits

Números enteros >= 0

Mantisa fraccionaria pura >= 0

Mantisa entera >= 0 (2 bits), exponente en C1

(1)2

RM = (1* 27)2 Rm = (1*2-7)2

Page 62: Representacion de datos y aritmetica basica eb sistemas digitales

62

Conclusiones

El número de símbolos del alfabeto y la longitud de la tira

que se utiliza para representar los valores, son quienes

determinan la capacidad de representación de un sistema.

Representaciones numéricas restringidas a n dígitos

El rango en punto flotante es más amplio que en punto fijo.

Page 63: Representacion de datos y aritmetica basica eb sistemas digitales

63

Conclusiones

Los sistemas numéricos en punto flotante, tienen

resolución variable a lo largo de la recta numérica.

La distribución de los dígitos de la representación entre

mantisa y exponente en un sistema en punto flotante

constituye una solución de compromiso.

Page 64: Representacion de datos y aritmetica basica eb sistemas digitales

64

Conclusiones

Los sistemas reales tienen recursos limitados

Los requerimientos del diseño determinan las

características de la representación más adecuada.

La bondad del sistema de representación se evalúa

en el contexto de la aplicación en la que se lo utiliza