Upload
others
View
32
Download
0
Embed Size (px)
Citation preview
1
Dr. Mauricio Solar, [email protected]
(basado en los apuntes de mis colegas Prof. Javier Cañas R. y
Prof. Xavier Bonnaire)
Universidad Técnica Federico Santa María (UTFSM), Chile
Arquitectura de Computadores
Representación de la InformaciónRepresentación de la Información
Universidad Técnica Federico Santa María
Temario
1 Introducción
2 Sistemas Numéricos
3 Conversión entre Bases Numéricas
4 Introducción a la Aritmética Computacional
5 Códigos
Universidad Técnica Federico Santa María
1 Introducción1 Introducción
� “Sociedad de la información”
� “Información es poder” (TI, TIC, …)
� “Informática”:� (Del fr. informatique).
� 1. f. Conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores.
� ¿Qué es información?, ¿Cómo se representa?� La respuesta no es simple. Más aún, se ha ido modificando
con el tiempo.
Universidad Técnica Federico Santa María
Representación de la InformaciónRepresentació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 adquieren sentido.
� ¿Qué significa entonces “Procesar información”?� En los distintos espacios, depende de las abstracciones que se hagan
Universidad Técnica Federico Santa María
Representación de la InformaciónRepresentación de la Información
¡Tres!
Espacio MentalEspacio del Lenguaje Espacio Tipográfico
3
Espacio Material
Computador
1 1
Bits: La unidad de información es el bit
BIT: acrónimo de Binary digit
Universidad Técnica Federico Santa María
Información Analógica y DigitalInformación Analógica y Digital
� El manejo de la información se divide en:� procesamiento analógico
� procesamiento digital
� Procesamiento de la Información:� Procesador analógico procesa información analógica
� Procesador digital procesa información digital
� ¿Qué significa esto?� La representación de ambas informaciones se
realiza utilizando señales
2
Universidad Técnica Federico Santa María
� Señal analógica:� Una señal se expresa como una función del tiempo
� Cada nivel de la función g(t) aporta información
� Ejemplos:� Señal de audio (instrumento, radio, etc…)
� Señal de video (TV, cámara, etc …)
� Señal Digital:� También es una función del tiempo
� La función es discreta con varios niveles
� Ejemplos:� Compact Disc-CD, Digital Versatile Disc-DVD, TV digital, etc
Información Analógica y DigitalInformación Analógica y Digital
Universidad Técnica Federico Santa María
Información AnalógicaInformación Analógica
g(t)
t
� Función g(t) continua en términos matemáticos:� Es una señal analógica
� Cada nivel aporta información
Universidad Técnica Federico Santa María
Información DigitalInformación Digital
t
� Función g(t) discreta:� Es una señal digital
� Sólo los niveles discretos aportan información
4 nivelesNivel 4
Nivel 3
Nivel 2
Nivel 1
Universidad Técnica Federico Santa María
ObservacionesObservaciones
� En último término, todo es analógico porque físicamente todo es continuo (excepto a nivel atómico).
� Digital se refiere a la forma de procesar, donde se enfatiza lo discreto.
� Es posible digitalizar una señal analógica
� Es posible transformar una analógica en digital (ej. CD DDD)
Universidad Técnica Federico Santa María
...Observaciones...Observaciones
� ¿Por qué conviene digitalizar?� Evitar el error acumulativo de los sistemas
analógicos
� Se evita la deriva, es decir, errores introducidos por variaciones térmicas de transistores
� Se logra reducir los costos (VLSI, DSP)
� Almacenamiento mas eficiente
Universidad Técnica Federico Santa María
2 Sistemas Numéricos posicionales2 Sistemas Numéricos posicionales
� El sistema numérico comúnmente usado es el sistema decimal:� Es llamado posicional porque el valor de un dígito
depende de la posición en la cual se encuentra.
� Corresponde a un polinomio en base 10
3
Universidad Técnica Federico Santa María
El Sistema DecimalEl Sistema Decimal
� {d1, d2, … , dm} son los dígitos
� Los dígitos constituyen los únicos símbolos representables
� Si la base es b, existen b dígitos representables
� Para la base decimal, estos dígitos son: 0, 1, 2, ...9
Otra notación puede ser:
En general:
Universidad Técnica Federico Santa María
El Sistema DecimalEl Sistema Decimal
� Ejemplo, el número 6903 se puede expresar por el polinomio:
d1 d2 d3 d4
Universidad Técnica Federico Santa María
...El Sistema Decimal...El Sistema Decimal
� La notación anterior se puede extender a números con punto o coma decimal. Ejemplo:
En general:
Universidad Técnica Federico Santa María
Números BinariosNúmeros Binarios
� 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. Ejemplo: 1910
� Generalizando para números con punto decimal:
Universidad Técnica Federico Santa María
Otras Bases Numéricas InteresantesOtras Bases Numéricas 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 Hexadecimal
� El conjunto de dígitos es {0,1, 2,…9, A, B, C, D, E, F}
Por ejemplo:
Universidad Técnica Federico Santa María
Las Bases Octal y HexadecimalLas Bases Octal y Hexadecimal
� Las bases octal y hexadecimal tienen gran importancia en Arquitecturas de Computadores:� Permiten representar información binaria en forma
compacta
� En el lenguaje C se puede representar constantes octales y hexadecimales:
const int I = 056; // el prefijo 0 indica
// que el valor es octal
const int j = 0xA9;// el prefijo 0x indica
// que el valor es hexa
4
Universidad Técnica Federico Santa María
3 Conversión entre Bases Numéricas3 Conversión entre Bases Numéricas
� Conversión Decimal → Binario� Parte Entera: Se divide 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 = 0
1// 1// 0// 0// 1// � Restos
El número binario es 100112
Universidad Técnica Federico Santa María
...Conversión entre Bases Numéricas...Conversión entre Bases Numéricas
� Para simplificar la conversión, es mejor hacer la división en forma tabular.� Por ejemplo: Convertir 1910 a binario
19| 2
9| 14| 12| 01| 00| 1
1910=100112
Universidad Técnica Federico Santa María
...Conversión entre Bases Numéricas
� Parte fraccionaria:� 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
Universidad Técnica Federico Santa María
...Conversión entre Bases Numéricas
� 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
Universidad Técnica Federico Santa María
...Conversión entre Bases Numéricas
� Generalizando la conversión entre cualquier base:� La división de números enteros
� La multiplicación de números fraccionarios
� La aritmética debe corresponder a la base original� Ejemplo: convertir 47810 a base octal (usar aritmética decimal).
478| 8
59| 67| 30| 7
El resultado es 7368
Universidad Técnica Federico Santa María
...Conversión entre Bases Numéricas
� En el ejemplo anterior, el número 7368 se puede convertir en decimal evaluando el polinomio correspondiente:
5
Universidad Técnica Federico Santa María
...Conversión entre Bases Numéricas
� Otro ejemplo:� Convertir 47810 a base Hexadecimal
478| 16
29| 14
1| 13 47810 = 1DE16
0| 1
Universidad Técnica Federico Santa María
Conversión Binario-Hexadecimal-Octal
� Propiedad de bases numéricas:� Las bases que son potencias de 2
permiten una conversión rápida
� Por ejemplo: b = 8 = 23, y b = 16 = 24
� Si b=2n , basta separar en grupos de n bits y convertir sólo el grupo.
� Ejemplo, convertir a hexadecimal
1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1
DA 6 B
Universidad Técnica Federico Santa María
Conversión Binario-Hexadecimal-Octal
� Ejemplo, convertir a Octal1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1
52 5 361
� 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 equivale a un número de 48b
MAC: Media Access Control.
Universidad Técnica Federico Santa María
Conversión Binario-Hexadecimal-Octal
� Ejemplo, convertir a 713,58 a binario:
1 1 1 0 0 1 0 1 1 , 1 0 1
1 3 , 57
Universidad Técnica Federico Santa María
Para la casa:
� Desarrollar un programa en C/C++ para convertir entre cualquier par de bases numéricas
Universidad Técnica Federico Santa María
4 Introducción a la Aritmética Computacional
� Los computadores actuales son binarios.
� 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, 64 y 128 bits
� El número de registros de un procesador es variable de un procesador a otro:
� Tecnología CISC (Complex Instruction Set Computer): pocos registros
� Tecnología RISC (Reduced Instruction Set Computer): mas registros
6
Universidad Técnica Federico Santa María
Registros
� Byte: grupo de 8 bits (octeto).� Como notación se usa b para bits y B para Byte
� El registro anterior tiene 16b o 2B
� 1 KB = 1024 Bytes = 210 Bytes
� 1 MB = 1024 Kbytes = 220 Bytes
� 1 GB = 1024 Mbytes = 230 Bytes
� 1 TB
1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1
Registro de 16 bits
� Usaremos la siguiente notación para representar registros:
Universidad Técnica Federico Santa María
...Registros
� La mayoría de los computadores actuales son de 32b o 64b, el entero más grande es 232 o 264.
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Valor máximo= 6553510
� Tamaño de Registros� La máxima información que puede manejar un computador está
limitada por el tamaño de los registros.
� Ejemplo: registro de 16b, el mayor entero representable es
Universidad Técnica Federico Santa María
Representación de números negativos
� Los computadores tienen una aritmética que se denomina de precisión finita debido a la limitación de los registros de hardware:
� ¿Cómo representar números negativos?
� ¿Cómo representar números que tienen punto decimal?
Universidad Técnica Federico Santa María
...Representación de números negativos
� ¿números negativos? ¿Cómo representar el signo?
� Por convención se utiliza el bit más significativo para representar el signo.
� Los números positivos tienen un cero
� 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
Universidad Técnica Federico Santa María
...Representación de números negativos
� Tres formas de representar números negativos:� Signo y Magnitud (S-M)
� Complemento uno (C-1)
� Complemento dos (C-2)
� Números positivos se representan igual en las tres formas.
� Todos los computadores modernos utilizan Complemento Dos (C-2)
Universidad Técnica Federico Santa María
Signo y Magnitud
� Magnitud del número:� Corresponde al valor absoluto
� Si consideramos un registro de 5b
� Si Magnitud es cero (0): existe +0 y -0
7
Universidad Técnica Federico Santa María
...Signo y Magnitud
� En general, si el ancho del registro es n, el rango representable es:
-0 +01
15
..
-1
-2
-..
-15
� Si el ancho del registro es 5 bits (representación circular):
Universidad Técnica Federico Santa María
Complemento Uno
� El Complemento 1 de un número:� Se obtiene complementando cada bit.
� Ejemplo para 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
Universidad Técnica Federico Santa María
Complemento Uno
� Al igual que en S-M:� En general, si el ancho del registro es n, el rango
representable es:
� Existen dos ceros: +0 y -0
� La representación circular con un registro de 5 bits:
-0 +01
15
..
-1
-2
-..
-15
Universidad Técnica Federico Santa María
Complemento Dos
� El Complemento 2 de un número N en un registro de ancho n� Se obtiene calculando 2n-N
� Ejemplo para 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
Universidad Técnica Federico Santa María
Complemento Dos
� Otra forma (más fácil) de obtener el C-2:� Calcular el C-1 y sumar uno.� Ejemplo para representar el -3 en un registro de 5b
0 0 0 1 1 3
1
1 1 1 0 1 Número -3 en C-2
1 1 1 0 0 C-1 de 3 es -3
+
Universidad Técnica Federico Santa María
Complemento Dos
� Ejemplo si el ancho de los registros es 5 bits:
-1 01
15
..
-2
-3
-..
-15-16
8
Universidad Técnica Federico Santa María
...Complemento Dos
� Se puede observar que:� Sólo hay una representación para el cero.� Hay asimetría en la representación:
� 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:
Universidad Técnica Federico Santa María
Sumas de Registros
� Sumas en C-2:
� Es el caso más frecuente en los procesadores actuales� Para sumar en C-2 se suman los números en forma binaria.� Precaución al sumar números con el mismo signo ya que
podría ocurrir rebalse (overflow).
� El resultado no cabe en los bits disponibles en el registro
� Para detectar el overflow (rebalse), se usa un bit especial llamado CARRY (acarreo)
Universidad Técnica Federico Santa María
Sumas binarias
La Tabla de Suma de dos bit es:
x y Acarreo x+y
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Universidad Técnica Federico Santa María
Sumas binarias
Sumar los números binarios 100100 (36)10 y 10110 (22)10
acarreo 0 0 1 0 0
1 0 0 1 0 0
+ 1 0 1 1 0
1 1 1 0 1 0 (58)10
Universidad Técnica Federico Santa María
Resta binaria
� Se realiza la resta de los últimos dos bits de idénticas posiciones, siendo uno el minuendo y el otro el sustraendo.
� Si el sustraendo excede al minuendo, se sustrae una unidad del bit de la izquierda en el minuendo (préstamo).
� Si el bit de la izquierda es 0, se busca en los sucesivos teniendo en cuenta que su valor se multiplica por dos en cada desplzamiento a la derecha.
Universidad Técnica Federico Santa María
Resta binaria
La Tabla de Resta de dos bit es:
x y préstamo x-y
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0
9
Universidad Técnica Federico Santa María
Resta binaria
Restar los números binarios 101100 (44)10 y 001110 (14)10
préstamo 1 1 1 1 0
1 0 1 1 0 0 minuendo
- 0 0 1 1 1 0 sustraendo
0 1 1 1 1 0 (30)10
Universidad Técnica Federico Santa María
Resta binaria
Si minuendo 10001 (17)10 y sustraendo 01011 (11)10
préstamo 1 1 1 0
1 0 0 0 1 minuendo
- 0 1 0 1 1 sustraendo
0 0 1 1 0 (6)10
Universidad Técnica Federico Santa María
Sumas binarias
11
0
No hay carry de entrada y se genera carry de salida
1+
Carry desalida
11
0
Hay carry de entrada y se genera carry de salida
0+
Carry desalida
1
Carry deentrada
Universidad Técnica Federico Santa María
...Sumas de Registros
� Ejemplo: 8+ (-3) en registros de ancho 5b
� del resultado se elimina el acarreo.
0 1 0 0 0 +8
0 0 1 0 1 Resultado en C-2
1 1 1 0 1 -3 en C-2+
Universidad Técnica Federico Santa María
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 (signo)
Se genera carry 0
Universidad Técnica Federico Santa María
Sumas de Registros: Overflow
� Detección de overflow en C-2:� 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.
� Unidades Aritmética:� Los procesadores tienen lógica que permite detectar
automáticamente esta situación.� Se genera una excepción de overflow.
10
Universidad Técnica Federico Santa María
Sumas en Complemento Uno
� Procesadores� No hay procesadores modernos que usen C-1
� Algoritmos de detección de errores:� Se usa C-1 en algoritmos de detección y corrección de errores
en transmisión de datos (Checksum IP).
� Ejemplo: 8+ (-3) en registros de ancho 5b
Universidad Técnica Federico Santa María
Sumas en Complemento Uno
0 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
� Ejemplo: 8+ (-3) en registros de ancho 5b
Universidad Técnica Federico Santa María
Representación en Punto Flotante
� Basada en notación científica:
Universidad Técnica Federico Santa María
Representación en Punto Flotante
� Precisión simple (32 bits) IEEE 754:
� :
� Cuyo rango representable por cada campo es:� e: Exponente (8b con sesgo de 128): -128 … +127� m: Mantisa (23 bits normalizados): valores oscilan entre 1.00…
y 1.11, es decir entre 1 y 2-2-23 (2 ulp)
Universidad Técnica Federico Santa María
Representación en Punto Flotante
� Punto Flotante de 32 bits (precisión simple):
Universidad Técnica Federico Santa María
Representación en Punto Flotante
� Un ejemplo de precisión simple: -118,625� Número negativo: signo es "1”� Número sin signo en binario: 1110110,101� Estandarizar: 1110110,101=1,110110101·26
� Mantisa se completa con ceros hasta obtener los 23 bits:11011010100000000000000.
� Exponente es 6: en binario desplazado es 6 + 127 = 133� Exponente en binario: 10000101
1 1 0 0 0 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11
Universidad Técnica Federico Santa María
5 Códigos
� Código:� Relación entre dos conjuntos de símbolos.
� Dominio es un conjunto arbitrario:� letras,
� símbolos gráficos,
� números.
� Co-dominio es un conjunto de strings de bits.
� Un pilar fundamental de los Sistemas de Computación.
� Teoría de Códigos: � Disciplina que estudia sus propiedades.
Universidad Técnica Federico Santa María
...Códigos
a
@5
B
1101
11001
1001
110101
Dominio Codominio
Universidad Técnica Federico Santa María
El Código BCD (Binary Coded Decimal)
� ¿Cómo representar el número 199510?� Una solución es convertirlo a binario
� 199510 = 111110010112
� La Dificultad de este método:� La conversión
� Se dificulta la entrada de datos
� Desaprovecha códigos inutilizados
Universidad Técnica Federico Santa María
...El Código BCD
� Código BCD permite una conversión fácil entre números decimales y binarios.� Es útil en teclados numéricos
77 88 99
44 55 66
11 22 33
00
Decimal BCD
0 0000
1 0001
2 0010
3 0011
4 0100
Decimal BCD
5 0101
6 0110
7 0111
8 1000
9 1001
Ejemplo: 219= 0010 0001 1001
Universidad Técnica Federico Santa María
El Código Gray
� El Código Gray tiene interesantes propiedades que se utilizarán en el próximo capítulo (Boole).
� 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
� Llamado código reflejo de mínima distancia (números sucesivos cambian en un solo bit)
Universidad Técnica Federico Santa María
Construcción de un Código Gray
0
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
12
Universidad Técnica Federico Santa María
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)
Universidad Técnica Federico Santa María
Otros Códigos
� Código Exceso de 3� Es un BCD no ponderado, cada combinación se obtiene sumando
el valor 3 a cada combinación binaria BCD natural.
� Código Johnson� Código cíclico no ponderado en que sus palabras difieren en un
bit. En general. Un código Johnson de n bits puede codificar sólo 2n símbolos fuente.
� Códigos detectores de error� Paridad: agregan un bit de paridad par o impar
� Hamming: detector-corrector de errores simples y detector de errores dobles. Agrega un bit de paridad par en las posiciones que son potencia de 2.
Universidad Técnica Federico Santa María
Otros Códigos
� ¿Qué códigos usar para representar otros símbolos?� El código más utilizado es el llamado ASCII (American
Standard Code for Information Interchange)
� El códigos EBCDIC utilizado en algunos terminales IBM
� UNICODE versión 5.2.0 es el último estándar de la industria
Dr. Mauricio Solar, [email protected]
(basado en los apuntes de mis colegas Prof. Javier Cañas R. y
Prof. Xavier Bonnaire)
Universidad Técnica Federico Santa María (UTFSM), Chile
Arquitectura de Computadores
Representación de la InformaciónRepresentación de la Información