Diapositiva 1 - Agrupación 15 de Junio – MNR

Anuncio
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
1
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
2
Sistemas de Numeración:
Sistema binario
{0,1}
Sistema octal
{0,1,2,3,4,5,6,7}
Sistema hexadecimal
{ 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
3
Representación decimal: Código BCD
Dígito decimal
Dígito decimal
codificado en binario
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
4
Representación y operaciones
básicas con enteros.
5
Representación de enteros
Magnitud y signo
Utilizada en la vida diaria
Complemento a la base
Complementos
Complemento a la base menos 1
6
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
7
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:
Ejemplo en decimal:
N = (01101)2
-N = (10011)2
N = (31.479)10
-N = (68.521)10
Es el complemento más utilizado en sistemas digitales
8
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.
9
Suma en C2
A
• Caso 1: A > 0 y B > 0
S=A+B
A
B
S= A+B
Cout
B
Sumador
Binario
Resultado correcto
Sistema decimal
+6
+13
+19
Cin
S
Sistema binario
0 0000110
0 0001101
0 0 0010011
10
Suma en C2
• Caso 2: A < 0 y B < 0
Resultado correcto
S = (rn – A) + ( rn – B) = rn + rn – ( |A| + |B| )
A
B
S= A+B
Sistema decimal
-6
-13
-19
Sistema binario
1 1111010
1 1110011
1 1 1101101
11
Suma en C2
• Caso 3: A < 0 y B > 0 y |A| < |B|
Resultado correcto
S = (rn – A) + B = rn + ( |B| - |A| )
A
B
S= A+B
Sistema decimal
Sistema binario
-6
1 1111010
+13
0 0001101
+7
1 0 0000111
12
Suma en C2
• Caso 4: A > 0 y B < 0 y |A| < |B|
Resultado correcto
S = A + (rn – B) = rn - ( |B| - |A| )
A
B
S= A+B
Sistema decimal Sistema binario
+6
0 0000110
-13
1 1110011
-7
0 1 1111001
13
Sumador binario en C2
A
Cout
B
Σ
Sumador
Binario
Cin
S
Cuando sumamos números positivos y negativos
utilizando complemento a r, se obtendrá el
resultado correcto siempre, si se ignora rn.
14
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.
15
Bibliotecas Unificadas: Sumador binario
Se disponen en distinto tamaño: 4, 8, 16 bits
Son encadenables
Sumadores de mayor tamaño
Números sin signo o C2
Interpretación de los operandos
16
Suma Binaria
Suma BCD de
dos dígitos
Se puede obtener
utilizando un
sumador binario ?
Suma BCD
Valor decimal
K Z8 Z4 Z2 Z1
C S 8 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
17
Suma en BCD
•
Ejemplo 1: S = A + B, dónde A = (+ 184) y B = (+ 576)
Signo
Centena
Decena
1
1
0000
0001
1000
0100
184
0000
0101
0111
0110
+ 576
0000
0111
1 0000
1010
0110
0110
0110
1 0000
Acarreo BCD
Suma
Binaria
Corrección
Suma BCD 0000
0111
Unidad Suma Decimal
760
18
Suma en BCD
•
Ejemplo 2: S = A + B, dónde A = (- 184) y B = (- 576)
C10(A) = 9 816
Signo
Centena
C10(B) = 9 424
Decena
Unidad Suma Decimal
Acarreo BCD 1
1001
1000
0001
0110
- 184
1001
0100
0010
0100
- 576
1 1011
1100
0100
1010
0110
0110
1 1001
1 0010
Suma
Binaria
Corrección
Suma
BCD
1
0110
0100
1 0000
- 760
19
Suma en C1
• Caso 1:
A
A>0yB>0
Cout
S=A+B
Resultado correcto
B
Sumador
Binario
Cin
S
A
B
S= A+B
Sistema decimal
+6
+13
+19
Sistema binario
0 0000110
0 0001101
0 0 0010011
20
Suma en C1
• Caso 2: A < 0 y B < 0
Resultado correcto
S = (rn – 1 – A) + ( rn – 1 – B) = rn – 1 + rn – 1 – ( |A| + |B| )
A
B
S= A+B
Sistema decimal
-6
-13
-19
Sistema binario
1 1111001
1 1110010
1 1 1101011 (- 20)
1
1 1101100
21
Suma en C1
• Caso 3: A < 0 y B > 0 y |A| < |B|
Resultado correcto
S = (rn – 1 – A) + B = rn – 1 + ( |B| – |A| )
A
B
S= A+B
Sistema decimal
-6
+13
+7
Sistema binario
1 1111001
0 0001101
1 0 0000110 ( + 6)
1
00000111
22
Suma en C1
• Caso 4: A > 0 y B < 0 y |A| < |B|
Resultado correcto
S = A + (rn – 1 – B) = rn – 1 – ( |B| – |A| )
A
B
S= A+B
Sistema decimal
Sistema binario
+6
0 0000110
-13
1 1110010
-7
0 1 1111000
23
Sumador binario en C1
A
Cout
B
Σ
Sumador
Binario
Cin
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.
24
Resta binaria
R=A-B
R = A + (- B)
Se complementa el sustraendo ( C2 ó C1)
Se obtiene a partir del bloque sumador
25
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
26
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
27
Representación de
números reales.
28
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
29
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
30
Representación en punto flotante
Mantisa: Número de punto fijo con signo
N = m x re
Exponente: Representa la posición del punto
La mantisa y el exponente se representan físicamente
31
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)
Nro. binario
+ 0011,011
Número sin normalizar
Número normalizado
Mantisa
Exponente
Mantisa
Exponente
0 0011011
0 00100
0 1101100
0 0010
Bit de signo
El punto está a la derecha del bit de signo
32
Representación computacional
de datos.
33
Representación computacional de datos
Enteros o en punto fijo
Reales en punto flotante
Decimales
Caracteres
Código ASCII
34
Representación computacional de enteros
BYTE
8 Bits
SBYTE
WORD
16 Bits
SWORD
DWORD
32 Bits
SDWORD
35
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
36
Representación computacional de decimales
9 BCD Empaquetado
9 BCD Desempaquetado
9 Modo Carácter
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
Nº
ASCII
12
0011 0001 0011 0010
623
0011 0110 0011 0010 0011 0011
910
0011 1001 0011 0001 0011 0000
37
Representación computacional en punto flotante
Mantisa
normalizada
Exponente sesgado
Representada en magnitud y signo
Se asume que es fraccionaria
Se suma un valor fijo para
que sea siempre positivo
La base se conoce y por lo tanto no se representa
38
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.
39
Estándar 754 de IEEE para punto flotante
40
Estándar 754 de IEEE para punto flotante
41
Estándar 754 de IEEE: Ejemplos
42
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.
43
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
44
Suma y resta en punto flotante
La suma y la resta obligan a realizar un
alineamiento de significantes
Los exponentes deben ser iguales
Se pierden dígitos
significativos
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
45
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 x 21
X = 1,000.........00 0000 x 21
21
- Y = 0,111.........11 1000 x 21
Z = 0,000.........01 x 21
Z = 0,000.........00 1000 x 21
Z = 1, 000........00 x 2-22
Z = 1, 000........00 0000 x 2-23
- Y = 0,111.........11 x
Sirven para reducir los errores al operar
46
Estándar 754 de IEEE: Redondeo
Trunca los bits de guarda
Redondeo 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
47
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
48
Caracterización de las
representaciones.
49
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.
50
Caracterización de los sistemas de representación
Capacidad de representación, ejemplos:
Sistema con alfabeto binario restringido a 6 bits
Número de representaciones posibles
26 = 64
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.
51
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.
52
Representación restringida a n bits: Parámetros
Rango, ejemplos:
Sistema con alfabeto binario restringido a 6 bits
‰ Números enteros >= 0
‰ Números enteros, en C1
[0 , 63]
[- 31 , +31]
‰ Mantisa fraccionaria pura >= 0
[0 , 0.111111]
‰ Mantisa entera >= 0 (2 bits),
exponente en C1
[0 , 3*2 7]
53
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.
54
Representación restringida a n bits: Parámetros
Resolución, ejemplos:
Sistema con alfabeto binario restringido a 6 bits
‰ Números enteros >= 0
‰ Mantisa fraccionaria pura >= 0
(1)2
(0.000001)2
‰ Mantisa entera >= 0 (2 bits), exponente en C1
RM = (1* 27)2
Rm = (1*2-7)2
55
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.
56
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.
57
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
58
Descargar