Upload
lamhanh
View
217
Download
0
Embed Size (px)
Citation preview
1
Representación de datos y aritmética básica en sistemas digitales
DIGITAL II - ECA
Departamento de Sistemas e Informática
Escuela de Ingeniería Electrónica Rosa Corti
2
Sistemas de Numeración:
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
3
Sistemas de Numeración:
Sistema binario {0,1}
Sistema octal {0,1,2,3,4,5,6,7}
{ 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} Sistema hexadecimal
4
Representación decimal: Código BCD
Dígito decimal Dígito decimal codificado en binario
0 00001 00012 00103 00114 01005 01016 01107 01118 10009 1001
6
Representación de enteros
Magnitud y signo Utilizada en la vida diaria
Complemento a la base
Complemento a la base menos 1
Complementos
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 = (01101)2-N = (10010)2
Ventaja: Implementación muy simple
Inconveniente: Doble representación del cero
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 = (01101)2-N = (10011)2
Ejemplo en decimal:
N = (31.479)10-N = (68.521)10
Es el complemento más utilizado en sistemas digitales
9
Representación del signo:
Ejemplo en binario:
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.
Ejemplo en decimal:
N = (+ 258)10 = ( 0000 0010 0101 1000 ) BCD-N = (- 258)10 = ( 1001 0111 0100 0010 ) BCD , en C10.
10
Suma en C2
Sumador Binario
CinCout
BA
S
• Caso 1: A > 0 y B > 0
S = A + B Resultado correcto
Sistema decimal Sistema binarioA + 6 0 0000110B +13 0 0001101
S = A + B +19 0 0 0010011
11
Suma en C2
• Caso 2: A < 0 y B < 0
Resultado correcto
S = (rn – A) + ( rn – B) = rn + rn – ( |A| + |B| )
Sistema decimal Sistema binarioA - 6 1 1111010B -13 1 1110011
S = A + B -19 1 1 1101101
12
Suma en C2
• Caso 3: A < 0 y B > 0 y |A| < |B|Resultado correcto
S = (rn – A) + B = rn + ( |B| - |A| )
Sistema decimal Sistema binarioA - 6 1 1111010B +13 0 0001101
S = A + B + 7 1 0 0000111
13
Suma en C2
• Caso 4: A > 0 y B < 0 y |A| < |B|Resultado correcto
S = A + (rn – B) = rn - ( |B| - |A| )
Sistema decimal Sistema binarioA + 6 0 0000110B -13 1 1110011
S = A + B - 7 0 1 1111001
14
Sumador binario en C2
ΣSumador Binario
CinCout
BA
S
Cuando sumamos números positivos y negativos utilizando complemento a r, se obtendrá el resultado correcto siempre, si se ignora rn.
15
Sobreflujo (Overflow)
El sobreflujo ocurre cuando al sumar dos números de n bits, el resultado ocupa n + 1bits.
Es un problema de la representación ligado al tamaño finito de los registros del sistema
En general se detecta y se informa.
16
Bibliotecas Unificadas: Sumador binario
Se disponen en distinto tamaño: 4, 8, 16 bits
Son encadenables
Números sin signo o C2
Sumadores de mayor tamaño
Interpretación de los operandos
17
Suma Binaria Suma BCD Valor decimalK 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 ?
18
Suma en BCD
• Ejemplo 1: S = A + B, dónde A = (+ 184) y B = (+ 576)
Acarreo BCD
Suma Binaria
Corrección
Signo Centena Decena Unidad Suma Decimal1 1
0000 0001 1000 0100 1840000 0101 0111 0110 + 5760000 0111 1 0000 1010
0110 0110
0000 0111 0110 1 0000 760Suma BCD
19
Suma en BCD
• Ejemplo 2: S = A + B, dónde A = (- 184) y B = (- 576)
C10(A) = 9 816 C10(B) = 9 424
Signo Centena Decena Unidad Suma Decimal1 1
1001 1000 0001 0110 - 1841001 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
20
Suma en C1
Sumador Binario
CinCout
BA
S
• Caso 1: A > 0 y B > 0
S = A + B Resultado correcto
Sistema decimal Sistema binarioA + 6 0 0000110B +13 0 0001101
S = A + B +19 0 0 0010011
21
Suma en C1
Resultado correcto• Caso 2: A < 0 y B < 0
S = (rn – 1 – A) + ( rn – 1 – B) = rn – 1 + rn – 1 – ( |A| + |B| )
Sistema decimal Sistema binarioA - 6 1 1111001B -13 1 1110010
S = A + B -19 1 1 1101011 (- 20)1
1 1101100
22
Suma en C1
• Caso 3: A < 0 y B > 0 y |A| < |B|Resultado correcto
S = (rn – 1 – A) + B = rn – 1 + ( |B| – |A| )
Sistema decimal Sistema binarioA - 6 1 1111001B +13 0 0001101
S = A + B + 7 1 0 0000110 ( + 6)1
00000111
23
Suma en C1
• Caso 4: A > 0 y B < 0 y |A| < |B|
Resultado correcto
S = A + (rn – 1 – B) = rn – 1 – ( |B| – |A| )
Sistema decimal Sistema binarioA + 6 0 0000110B -13 1 1110010
S = A + B - 7 0 1 1111000
24
Sumador binario en C1
ΣSumador Binario
CinCout
BA
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.
25
Resta binaria
R = A + (- B)R = A - B
Se complementa el sustraendo ( C2 ó C1)
Se obtiene a partir del bloque sumador
26
Bibliotecas Unificadas: Sumador/Restador binario
Se disponen en distinto tamaño: 4, 8, 16 bits
Son encadenables Operandos de mayor tamaño
Números sin signo o C2
Interpretación de los operandos
27
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.
• Operaciones aritméticas• Operaciones lógicas• Corrimientos y rotaciones
ALU
29
Representación de números reales
Se considera la coma o punto, fijo en cierta posición.
Representación de punto fijo
Se almacena la posición que ocupa la coma o punto.
Representación de punto flotante
30
Representación en punto fijo
El punto en el extremo izquierdo
El número es una fracción
El punto en el extremo derecho
El número es un entero
31
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
32
Normalización en punto flotante
Un número con punto flotante está normalizado si el dígito más significativo de la mantisa es distinto de cero.
Ejemplo: Mantisa fraccionaria (magnitud y signo 8 bits), exponente (C2, 6 bits)
Mantisa Exponente Mantisa Exponente0 0011011 0 00100 0 1101100 0 0010
Número sin normalizar Número normalizadoNro. binario+ 0011,011
Bit de signo
El punto está a la derecha del bit de signo
34
Representación computacional de datos
Enteros o en punto fijo
Reales en punto flotante
Decimales
Código ASCIICaracteres
36
Conversión entre distintas longitudes
Ejemplo:
+ 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).
Debe completarse el formato usando el bit de signo
37
Representación computacional de decimales
BCD EmpaquetadoBCD DesempaquetadoModo Carácter
Nº BCD Empaquetado BCD Desempaquetado12 0001 0010 0000 0001 0000 0010623 0000 0110 0010 0011 0000 0110 0000 0010 0000 0011910 0000 1001 0001 0000 0000 1001 0000 0001 0000 0000
ASCII0011 0001 0011 00100011 0110 0011 0010 0011 00110011 1001 0011 0001 0011 0000
Nº12623910
38
Representación computacional en punto flotante
Representada en magnitud y signo
Se asume que es fraccionaria
Mantisa normalizada
Se suma un valor fijo para que sea siempre positivo
Exponente sesgado
La base se conoce y por lo tanto no se representa
39
Estándar 754 de IEEE para punto flotante
Los distintos formatos del esquema tienen la misma estructura
La mantisa se normaliza y no se representa el bit más significativo SIGNIFICANTE
El significante es un número entre 1 y 2.
43
Estándar 754 de IEEE para punto flotante
Los bits disponibles en cada formato de la norma se reparten entre significante y exponente
Existe un compromiso entre rango representable y resolución.
44
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
45
Suma y resta en punto flotante
La suma y la resta obligan a realizar un alineamiento de significantes
Se pierden dígitos significativosLos exponentes deben ser iguales
Se desplaza el significante del número más chico
Ejemplo en decimal:
S = 123 100 + 456 10-2 = 123 100 + 4,56 100 = 127,56 100
46
Estándar 754 de IEEE: Bits de guarda
Z = X – Y = 1,000 … 00 21 – 1,111 … 11 20
Sin bits de guarda: Con bits de guarda: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
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
Sirven para reducir los errores al operar
47
Estándar 754 de IEEE: Redondeo
Trunca los bits de guardaRedondeo a cero
Redondeo al más próximo Usada por defecto
Redondeo hacia + ∞
Redondeo hacia - ∞
Se utilizan sólo si las necesidades de exactitud son muy altas
48
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
50
Caracterización de los sistemas de representación
Capacidad de representación:
Cantidad de tiras de datos distintas que es posible representar en el sistema.
Depende del número de símbolos del alfabeto y de la longitud de la tira con la que se representan los valores.
51
Caracterización de los sistemas de representación
Capacidad de representación, ejemplos:
Sistema con alfabeto binario restringido a 6 bits
26 = 64Número de representaciones posibles
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.
52
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.
53
Representación restringida a n bits: Parámetros
Rango, ejemplos:
Sistema con alfabeto binario restringido a 6 bits
[0 , 63]Números enteros >= 0
[- 31 , +31]Números enteros, en C1
[0 , 0.111111]Mantisa fraccionaria pura >= 0
[0 , 3*2 7]Mantisa entera >= 0 (2 bits), exponente en C1
54
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.
55
Representación restringida a n bits: Parámetros
Resolución, ejemplos:
Sistema con alfabeto binario restringido a 6 bits
Números enteros >= 0 (1)2
(0.000001)2Mantisa fraccionaria pura >= 0
Mantisa entera >= 0 (2 bits), exponente en C1
RM = (1* 27)2 Rm = (1*2-7)2
56
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.
57
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.