Curso de Arquitectura de Computadores.


2. SEGUNDA PARTE: Representación de Datos.
En este capítulo se estudiará la forma...
Curso de Arquitectura de Computadores.

2. Parte Fraccionaria:

   El método consiste en multiplicaciones sucesivas de las...
Curso de Arquitectura de Computadores.

2.1.2. De Base n a Base 10

El método consiste en sumar la multiplicación de cada ...
Curso de Arquitectura de Computadores.

EJEMPLO 1: 1100001111,1101 2 a X10

a) Parte Entera: 11000011112 a X10

          ...
Curso de Arquitectura de Computadores.

EJEMPLO 2: 1417,70568 a X 10

a) Parte Entera:     14178 a X10

                  ...
Curso de Arquitectura de Computadores.

EJEMPLO 3: 30F,D47A16 a X10

a) Parte Entera: 30F16 a X 10

                      ...
Curso de Arquitectura de Computadores.

2.1.3. Ejercicios.
  0010112 a X10 =     0 * 25   +    0 * 24   +    1 * 23    +  ...
Curso de Arquitectura de Computadores.

2.2. Aritmética Binaria.

2.2.1. Suma.

La suma es la operación aritmética básica,...
Curso de Arquitectura de Computadores.

                                                                                  ...
Curso de Arquitectura de Computadores.

2.3. Representación de Datos en una Computadora.

Los datos pueden ser representad...
Curso de Arquitectura de Computadores.

2.3.1. Codificación de Caracteres.

Cada uno de ellos puede ser representado a tra...
Curso de Arquitectura de Computadores.

   Estándar UNICODE.
    Un nuevo estándar para representación de datos, llamado ...
Curso de Arquitectura de Computadores.

    Formato Decimal con Zona.
     Permite almacenar cantidades enteras, represen...
Curso de Arquitectura de Computadores.

En el formato Punto Fijo, el punto decimal está implícito entre ciertos bits. En e...
Próxima SlideShare
Cargando en…5
×

Curso de arquitectura de computadores 2010

2.868 visualizaciones

Publicado el

sistemas computacionales

Publicado en: Educación
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
2.868
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
71
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Curso de arquitectura de computadores 2010

  1. 1. Curso de Arquitectura de Computadores. 2. SEGUNDA PARTE: Representación de Datos. En este capítulo se estudiará la forma de representar los datos en una computadora. Pero antes, es necesario conocer y manejar los diferentes sistemas numéricos y cómo operar con ellos. 2.1. Sistemas Numéricos. Cualquier valor que represente una cantidad puede escribirse en binario o en cualquier otro sistema numérico y viceversa, porque el concepto de cantidad es independiente de su representación. A continuación se explica los métodos que permiten transformar un número cualquiera en cualquier base a otra base numérica. 2.1.1. De Base 10 a Base n Se siguen 2 métodos distintos: uno para la parte entera y otro para la parte fraccionaria. 1. Parte Entera: El método consiste en divisiones enteras sucesivas hasta que el resultado de la división sea igual a cero. Cada división arroja un resultado y un residuo, el resultado de la división pasa a ser la nueva cifra a ser dividida y el residuo pasa a ser un dígito más del número transformado. Al resultado final se le deben invertir los dígitos. Parte Entera División Resultado Residuo Entero 783 : 2 = 391 1 391 : 2 = 195 1 195 : 2 = 97 1 97 : 2 = 48 1 48 : 2 = 24 0 24 : 2 = 12 0 12 : 2 = 6 0 6:2 = 3 0 3:2 = 1 1 1:2 = 0 1 Solución : 1100001111 2 edit by ~KaKo~ Óscar Carrasco Vera.
  2. 2. Curso de Arquitectura de Computadores. 2. Parte Fraccionaria: El método consiste en multiplicaciones sucesivas de las partes fraccionarias resultantes, comenzando por la parte fraccionaria del número original. El proceso se repite hasta la cantidad de dígitos fraccionarios se desee obtener. 1. La parte fraccionaria se expresa como 0,… (ejemplo: 783,83 => 0,83) 2. Se multiplica por la base a la cual se va a cambiar. 3. Del resultado anterior, se separa la parte entera (dígito fraccionario resultante) de la fraccionaria, ésta se expresa como 0,… para la siguiente multiplicación. 4. Volver al punto 2 tantas veces como dígitos fraccionarios se desee obtener. Parte Fraccionaria Multiplicación Resultado Parte Entera 0,83 x 2 = 1,66 1 0,66 x 2 = 1,32 1 0,32 x 2 = 0,64 0 0,64 x 2 = 1,28 1 Solución : 0,1101 2 El resultado final se suma: 11000011112 + 0,11012 = 1100001111,1101 2 Los siguientes ejemplos muestran cómo se traspasa el número 783,83 en base 10 a base 8 y 16, respectivamente. Ejemplo 1: 783,8310 a X8 Parte Entera Parte Fraccionaria División Resultado Residuo Multiplicación Resultado Parte Entero Entera 783 : 8 = 97 7 0,83 x 8 = 6,64 6 97 : 8 = 12 1 0,64 x 8 = 5,12 5 12 : 8 = 1 4 0,12 x 8 = 0,96 0 1:8 = 0 1 0,96 x 8 = 7,68 7 Solución : 1417,6507 8 Ejemplo 2: 783,8310 a X16 Parte Entera Parte Fraccionaria División Resultado Residuo Multiplicación Resultado Parte Entero Entera 783 : 16 = 48 15 (F) 0,83 x 16 = 13,28 13 (D) 48 : 16 = 3 0 0,28 x 16 = 4,48 4 3 : 16 = 0 3 0,48 x 16 = 7,68 7 0,68 x 16 = 10,88 10 (A) Solución : 30F,D47A 16 Óscar Carrasco Vera.
  3. 3. Curso de Arquitectura de Computadores. 2.1.2. De Base n a Base 10 El método consiste en sumar la multiplicación de cada dígito por la base de origen elevado a la posición del dígito del número a trasformar. a) Parte Entera: Cada dígito se multiplica por la base en que se encuentra el número (n) elevada a la posición del dígito (partiendo de cero) desde la derecha al lado de la coma. Cada resultado es acumulado formando la parte entera de la nueva representación. b) Parte Fraccionaria: Cada dígito se multiplica por la base en que se encuentra el número (n) elevada a la posición del dígito (partiendo de -1) desde la izquierda al lado de la coma. Cada resultado es acumulado formando la parte fraccionaria de la nueva representación. El resultado queda expresado como 0,… El resultado final será la suma de los dos resultados parciales. A continuación se muestra un esquema del proceso: D D D D D , D D D D … n3 n2 n1 n0 n-1 n-2 n-3 … n  D * n-3 = X  D * n-2 = X  D * n-1 = X  + Suma2   D * n0 = X  D * n1 = X  D * n2 = X  D * n3 = X + Suma1 Resultado = Suma1 + Suma2 Óscar Carrasco Vera.
  4. 4. Curso de Arquitectura de Computadores. EJEMPLO 1: 1100001111,1101 2 a X10 a) Parte Entera: 11000011112 a X10 1 1 0 0 0 0 1 1 1 1 2  1 X 20 = 1  1 X 21 = 2  1 X 22 = 4  1 X 23 = 8  0 X 24 = 0  0 X 25 = 0  0 X 26 = 0  0 X 27 = 0  1 X 28 = 256  1 x 29 = 512 Solución : + 78310 b) Parte Fraccionaria: 11012 a X10 1 1 0 1 2  1 X 2-4 = 0,0625 1/16  0 X 2-3 = 0 1/8  1 X 2-2 = 0,25 1/4  1 X 2-1 = 0,5 ½ Solución: + 0,812510 Solución Aproximada: 0,8310 c) Solución Final: 1100001111,11012 = 783,8310 Óscar Carrasco Vera.
  5. 5. Curso de Arquitectura de Computadores. EJEMPLO 2: 1417,70568 a X 10 a) Parte Entera: 14178 a X10 1 4 1 7 8  7 X 80 = 7  1 X 81 = 8  4 X 82 = 256  1 X 83 = 512 Solución : + 78310 b) Parte Fraccionaria: 65078 a X10 6 5 0 7 8  7 X 8-4 = 0,001708984375 1/4096  0 X 8-3 = 0 1/512  5 X 8-2 = 0,078125 1/64  6 X 8-1 = 0,75 1/8 Solución : + 0,82983398437510 Solución Aproximada: 0,8310 c) Solución Final: 1417,70568 = 783,8310 Óscar Carrasco Vera.
  6. 6. Curso de Arquitectura de Computadores. EJEMPLO 3: 30F,D47A16 a X10 a) Parte Entera: 30F16 a X 10 3 0 F 16  15 X 160 = 15  0 X 161 = 0  3 X 162 = 768 Solución : + 78310 b) Parte Fraccionaria: D47A 16 a X10 D 4 7 A 16  10 X 16-4 = 0,000152587890625 1/65536  7 X 16-3 = 0,001708984375 1/4096  4 X 16-2 = 0,015625 1/256  13 X 16-1 = 0,8125 1/16 Solución : + 0,82998657226510 Solución Aproximada: 0,8310 c) Solución Final: 30F,D47A16 = 783,8310 Óscar Carrasco Vera.
  7. 7. Curso de Arquitectura de Computadores. 2.1.3. Ejercicios. 0010112 a X10 = 0 * 25 + 0 * 24 + 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20 0 0 8 0 2 1 = 1110 1100012 a X10 = 1 * 25 + 1 * 24 + 0 * 23 + 0 * 22 + 0 * 21 + 1 * 20 32 16 0 0 0 1 = 4910 110101,1012 a X10 = 1 * 25 + 1 * 24 + 0 * 23 + 1 * 22 + 0 * 21 + 1 * 20 32 16 0 4 0 1 = 5310 1 * 2-1 + 0 * 2-2 + 1 * 2-3 1/2 0 1/8 = 0,62510 53,62510 101,102 a X10 = 1 * 22 + 0 * 21 + 1 * 20 4 0 1 = 510 1 * 2-1 + 0 * 2-2 1/2 0 = 0,510 5,510 1,1112 a X10 = 1 * 20 1 = 110 1 * 2-1 + 1 * 2-2 + 1 * 2-3 1/2 1/4 1/8 = 0,87510 1,87510 34,0235 a X10 = 3 * 51 4 * 50 15 4 = 1910 0 * 5-1 + 2 * 5-2 + 3 * 5-3 0 0,08 0,024 = 0,10410 19,10410 Óscar Carrasco Vera.
  8. 8. Curso de Arquitectura de Computadores. 2.2. Aritmética Binaria. 2.2.1. Suma. La suma es la operación aritmética básica, ya que las otras operaciones aritméticas elementales pueden describirse en términos de sumas. La suma en una computadora siempre se define para dos operando (o cantidades a ser sumadas) solamente, porque de esta manera se tiene una reserva no mayor que 1, en cada posición. Si se desean sumar más de dos cantidades, siempre se pueden sumar las dos primeras, y al resultado sumarle la tercera cantidad, y así sucesivamente. 1 <- Residuo 1 1 0 1 1310 + 1 0 0 1 910 1 0 1 1 0 2210 Ejemplos: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 + 1 1 0 1 + 1 1 1 1 + 1 1 0 1 + 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 10 10 1 1 1 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 + 1 1 0 1 + 1 1 1 1 + 1 1 0 1 + 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 10 10 1 11 11 10 10 1 1 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 + 1 1 0 1 + 1 1 1 1 + 1 1 0 1 + 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 2.2.2. Resta. 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 - 1 1 0 1 - 1 1 1 1 - 1 1 0 1 - 0 0 1 1 0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 Óscar Carrasco Vera.
  9. 9. Curso de Arquitectura de Computadores. 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 0 - 1 1 0 1 - 1 0 1 0 - 1 1 1 0 - 0 1 1 1 - 1 1 0 0 1 1 - 1 1 1 1 1 1 1 1 0 1 1 0 1 0 - 1 1 1 1 1 Tal como en el Sistema Decimal, cuando se realiza una resta de un número mayor por un número menor, el resultado corresponde a un número negativo (3 - 4 = -1), en el Sistema Binario se puede realizar invirtiendo las cantidades (de tal forma que quede 4 – 3) y al resultado se le da el signo negativo. Sin embargo, como se verá más adelante (Representación Numérica), el número negativo se representa aplicando un método especial. 2.2.3. Multiplicación. La multiplicación binaria es idéntica a la decimal, además como se aprecia corresponde a un desplazamiento del multiplicando de acuerdo al multiplicador. (13) (9) 1 1 0 1 X 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 + 1 1 0 1 1 1 1 0 1 0 1 (117) Óscar Carrasco Vera.
  10. 10. Curso de Arquitectura de Computadores. 2.3. Representación de Datos en una Computadora. Los datos pueden ser representados como carácter (símbolo) o como número en el caso de dígitos (cantidad). Por ejemplo, el 1 como carácter no es lo mismo que el 1 como valor. En el caso de los datos del tipo carácter, cada símbolo es asociado a una combinación de bits. La cantidad de símbolos posibles a representar depende del largo del Byte que maneje la computadora. Por general, el largo estándar es de 8 bits. Recordemos que internamente todo es almacenado como números 1 y 0. En el caso de valores numéricos, existen diferentes modos de representar valores. La diferencia entre ellos consiste en la optimización del uso de memoria, ya sea por modo de almacenamiento o por cantidad de bits utilizados para representar una cifra. Existen diversos sistemas para representar caracteres y números. A continuación se muestra un diagrama que ilustra las diferentes maneras de representar datos: ASCII Caracteres EBCDIC Punto Fijo Datos Enteros Decimal con Zona Decimal Empaquetado Numéricos Punto Flotante Corto Reales Punto Flotante Largo Óscar Carrasco Vera.
  11. 11. Curso de Arquitectura de Computadores. 2.3.1. Codificación de Caracteres. Cada uno de ellos puede ser representado a través de una combinación única de bits. Para ello se han creado varios estándares de equivalencia siendo el ASCII (ASCII-8) el adoptado por la gran mayoría de las computadoras. Un estándar es un acuerdo internacional que establece normas para ser regidas, en este caso, por las empresas constructoras de computadoras. En las primeras computadoras, cada fabricante definía la cantidad de Bits que utilizaría para la representación de datos. Con el tiempo fue necesario crear un estándar que fijara un sistema de representación único.  Sistema Boudot. Se contemplan 5 bits para la representación de caracteres, por lo que solamente podía representar 32 símbolos (25). Este sistema se utilizó para señales telegráficas.  Sistema BCD. Entre los sistemas más completos para representar símbolos con bits se encontraba el BCD (Binary Coded Decimal / Decimal Codificado en Binario). IBM definió BCD para una de sus primeras computadoras. Los códigos BCD consistían de palabras o cifras de 6 bits, lo que permitía un máximo posible de 64 símbolos (26). Las computadoras BCD podían trabajar únicamente símbolos numéricos, letras mayúsculas y algunos pocos símbolos adicionales. Este sistema no duró mucho tiempo.  Sistema EBCDIC. La necesidad de representar las minúsculas, además de las mayúsculas, requería de 52 códigos nada más que para el alfabeto completo, lo que llevo a IBM a desarrollar el sistema EBCDIC (Extended Binary Coded Decimal Interchange / Código Decimal Extendido Codificado en Binario para Intercambio). EBCDIC es un código de 8 bits que define 256 símbolos. Todavía es utilizado en los Mainframes y sistemas de mediana escala de IBM, pero raramente encontrado en computadoras personales. Para cuando se empezaron a desarrollar las computadoras pequeñas, el American National Standards Institute (ANSI), ya había entrado en acción para definir los estándares para las computadoras.  Estándar ASCII. La solución de la organización ANSI para representar símbolos con bits de datos fue el código de caracteres ASCII (American Standard Code for Information Interchange / Código Americano Estándar para intercambio de Información). Originalmente era un código de 8 bits, pero el octavo bit tenía un propósito especial y se llamaba Bit de Paridad, de tal manera que en realidad era un código de 7 bits que definían 128 símbolos. Más tarde, los bits de paridad dejaron de tener importancia e IBM tomó la iniciativa nuevamente y desarrolló una versión mejorada de ASCII que hacía uso del octavo bit (ASCII-8), permitiendo representas 256 símbolos. Cuando hizo esto IBM, no cambiaron ninguno de los 128 caracteres originales, lo que permitió que programas y software diseñados para trabajar con el ASCII original pudiera seguir trabajando con datos del nuevo código de caracteres. Óscar Carrasco Vera.
  12. 12. Curso de Arquitectura de Computadores.  Estándar UNICODE. Un nuevo estándar para representación de datos, llamado UNICODE, 16 bits par a representar símbolos. Con 16 bits, un carácter de UNICODE podría ser uno de los 65536 (216) caracteres o símbolos diferentes, suficientes para cualquier carácter y símbolo del mundo. 2.3.2. Formatos para Valores Numéricos. Ya vimos como cambiar de base un número y cómo realizar operaciones aritméticas con bits. Sin embargo, en la memoria de la computadora las cantidades en binario son almacenadas de acuerdo a cierto formato de representación. Estos formatos permiten hacer mejor uso del espacio de memoria de acuerdo al propósito que se tenga para con estos números. 2.3.2.1 Números Enteros. Existen 3 formatos para representar valores enteros: Punto Fijo, Decimal con Zona y Decimal Empaquetado. En los formatos Decimal con Zona y Decimal Empaquetado, el signo es representado por el número 1100 2 (C16) si la cifra es positiva o 11012 (D16) si es negativa.  Formato de Punto Fijo. Es un formato sólo sirve para representar datos enteros positivos o negativos.  Para un Entero Positivo, el número en Base 10 se transforma a Base 2 y se llena con ceros a la izquierda hasta completar la palabra.  Para un Entero Negativo, se utiliza una técnica llamada Complemento 2: 1. Obtener el valor absoluto del número. 2. Convertir la cantidad positiva a Binario. 3. Completar con ceros a la izquierda. 4. Invertir cada Bit (ceros por unos y viceversa). 5. Sumar 1 (complemento 1). 6. Para comprobar, el resultado debe comenzar con 1. Ejemplo: Representar el –500010 en Punto Fijo para una palabra de 16 bits. a) 500010 1 0 0 1 1 1 0 0 0 1 0 0 02 b) 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 02 c) 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 12 d) + 1 e) 1 1 1 0 1 1 0 0 0 1 1 1 1 0 0 02 Óscar Carrasco Vera.
  13. 13. Curso de Arquitectura de Computadores.  Formato Decimal con Zona. Permite almacenar cantidades enteras, representando cada dígito como un carácter. No permite operar aritméticamente. Zona Dígito Zona Dígito Zona Dígito Signo Dígito 1111 1111 1111 Zona 3 Zona 8 Signo 7 Ejemplo: 90310 = 38716 = 11100001112 1111 0011 1111 1000 1100 0111  Formato Decimal Empaquetado. Permite almacenar cantidades enteras. Cada dígito decimal se almacena en medio byte de su codificación binaria. El signo va en la segunda mitad del primer byte. Permite operaciones aritméticas y su formato es el siguiente: Dígito Dígito Dígito Dígito Dígito Dígito Dígito Signo 0 5 8 1 7 Signo Ejemplo: 2255110 = 581716 = 1011000000101112 0000 0101 1000 0001 0111 1100 2.3.2.2 Números Reales. Para números reales, existen 2 formatos: Punto Flotante Corto y Punto Flotante Largo. La diferencia entre ambas consiste en la precisión, o sea cuántos decimales puede contener. La precisión, además, depende del largo de palabra que el procesador maneje. El método para representa un real en Punto Flotante es el siguiente: 1. Convertir la cantidad Decimal a Hexadecimal. (X10  X 16) 2. Normalizar la cifra para dejarla expresada como 0,… x 16 exp, procurando que el primer dígito decimal (al lado derecho de la coma decimal) sea significativo (mayor que cero). 3. Sumar 6410 al exponente. Este resultado, o nuevo exponente, se transforma a Hexadecimal. 4. Cada dígito en hexadecimal es representado en binario ocupando ½ Byte. 5. El signo se representa con un 0 si la cantidad es positiva y un 1 si es negativa. Óscar Carrasco Vera.
  14. 14. Curso de Arquitectura de Computadores. En el formato Punto Fijo, el punto decimal está implícito entre ciertos bits. En el formato Punto Flotante, el punto decimal es supuesto (no queda registrado) ya que éste se transforma en un número que represente la posición del número decimal, en notación científica. Ejemplo: 49010 en Punto Flotante Corto. 116 = 00012 S Exponente Fracción 49010 = 1EA16 => 0,1EA x 163 E16 = 11102 0 100 0011 0000 0000 0000 0001 1110 1010 A16 = 10102 + 4 3 1 E A16  Punto Flotante Corto. Este formato utiliza una precisión simple, esto es, la cantidad de dígitos a ser representados es inferior debido a la menor cantidad de bits empleados para registrar la parte fraccionaria en comparación al Punto Flotante Largo. S Exponente Fracción 8 Bits 24 Bits 32 Bits  Punto Flotante Largo. Este formato aumenta la precisión (doble precisión) de un valor real, ya que posee una mayor cantidad de bits para registrar la parte fraccionaria. S Exponente Fracción 8 Bits 56 Bits 64 Bits Óscar Carrasco Vera.

×