representacion de datos y aritmetica basica eb sistemas digitales

Post on 08-Jul-2016

229 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Represasentacion de datos y aritmetica basica en sistemas digitales

TRANSCRIPT

Rosa Corti

Digital II - ECA

Departamento de Sistemas e Informática

2015

Representación de datos y aritmética básica en 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:

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}

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

5

Representación y operaciones

básicas con enteros.

6

Representación de enteros

Magnitud y signo

Complementos

Complemento a la base

Complemento a la base menos 1

Utilizada en la vida diaria

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

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

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:

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)

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

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)

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)

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)

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.

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

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]

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

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

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 ?

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

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

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

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)

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)

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)

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.

28

Resta binaria

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

Se obtiene a partir del bloque sumador

Se complementa el sustraendo ( C2 ó C1)

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

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

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

32

Sumador/Restador binario

C2 SS

SS

SS C2

C2

La representación adoptada

determinará la forma de detectar

el sobreflujo (OFC2 u OFSS)

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

34

Representación de

números reales.

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

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

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

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

39

Representación computacional

de datos.

40

Representación computacional de datos

Enteros o en punto fijo

Reales en punto flotante

Decimales

Caracteres Código ASCII

41

Representación computacional de enteros

BYTE

WORD

SBYTE

SWORD

DWORD

SDWORD

8 Bits

16 Bits

32 Bits

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

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

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

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

46

Estándar 754 de IEEE para punto flotante

47

Estándar 754 de IEEE para punto flotante

48

Estándar 754 de IEEE: Ejemplos

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

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

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

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

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

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

55

Caracterización de las

representaciones.

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.

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.

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.

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]

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.

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

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.

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.

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

top related