01 Sistemas Numericos 2012

Embed Size (px)

Citation preview

  • Jorge Echevarra

    ARQUITECTURA DE COMPUTADORAS

    Unidad N 1

    Introduccin

    Sistemas Numricos

  • Jorge Echevarra

    Breve resea histrica

    Generacin Aos Caractersticas

    0 hasta 1943 Sistemas mecnicos y electromecnicos, Tarjetas perforadas: Charles Babbage, Maquina de diferencias para clculo de polinomios de 2o grado. Maquina Analtica mecnica programable y automtica para cualquier tipo de clculo. No lleg a construirse.

    1 1941 1954 Vlvulas o Tubos al vaco, rels, tableros:Zuse Z3, Alemania: Calculadora programable con 600 rels lectromecnicos.Colossus, Inglaterra: 2000 vlvulas. Decifraba cdigos alemanes.Eniac: 1er computador electrnico de propsito general. Eckart y Mauchly, 18000 vlvulas, tablas de balstica. 5000 sumas/s. Viabilidad Bomba H.Univac 1: Comercial. Trabajaba con 12 dgitos decimales codificados en binario y memoria Willams (RAM). Lenguajes: Assembler, Fortran

    2 1955 1965 Transistores y sistemas por lotes:El transistor inventado por Laboratorios Bell era mucho ms pequeo, rpido y disipaba mucha menor energa que la vlvula. Uso de Tarjetas Perforadas como Entrada/Salida. Cintas y Discos Magnticos. 20000 sumas/s.RCA 501 NCR GE 304 IBM Serie 7000. Lenguajes: Cobol, PL1

    3 1965 1976 Circuitos integrados y plaquetas impresas:IBM System 360. Mquina microprogramada. ROM. Unidad de Control. 16MB.1000000 sumas/s. Interrupciones y memoria reservada. DEC PDP8. inaugura la era de las microcomputadoras. 300000 sumas/s. Bus.Lenguajes: Fortran, Cobol, Basic, Pascal. Sistema Operativo UNIX.

    4 1976 Pres. Computadores personales, Microcomputadoras y supercomputadoras:Microprocesadores en un solo chip. Intel 8080, 8086 y posteriores. Motorola 68000. Zilog Z80. DOS, Windows, Linux, MAC OS, C, PERL, JAVA, C#, etc.Computadoras: Apple II, IBM PC, CRAY, Power PC, Pentium, Athlon, Core

  • Jorge Echevarra

    Historia Arquitecturas

    Control Flow (secuenciamiento de las instruciones)

    Von Neumann

    Hardvard

    Data Flow (disponibilidad de los datos)Dinmica

    En la arquitectura de Von Neumann los datos y las instrucciones comparten la misma memoria. Concepto de programa almacenado. La programacin es mucho ms sencilla que las primeras computadoras programadas por cables y el CPU puede ejecutar las instrucciones rpidamente.

  • Jorge Echevarra

    Sistemas numricos

    Sistema numricos posicionales basados (base = b)

    La base define el conjunto de smbolos (Ej: decimales, binarios, hexadecimales)Un nmero = es una secuencia de smbolos que representan unidadesReglas

    Los dgitos (d) se enumeran de derecha a izquierda desde 0 (d3 d2 d1 d0)

    La posicin de cada dgito tiene un peso definido por la base. (Ej: unidad, decena, etc)

    peso = base posicin - Analoga del cuentakilmetros.

    El peso de cada posicin es el de la anterior multiplicada por la base.

    El valor del dgito depende del smbolo y de su ubicacin

    Valor = dgito * peso

    El valor del nmero es la suma de los valores de sus dgitos

    Ej: 431,5d = 4 x 102 + 3 x 101 + 1 x 100 + 5 x 10-1

    bdin

    iValor *

    0

  • Jorge Echevarra

    Sistema Decimal

    Sistema Decimal

    Base = 10

    Smbolos {0,1,2,3,4,5,6,7,8,9}

    Notacin: NNNd NNN10

    Ejemplo de 4 dgitosd3 d2 d1 d0 = 1436d

    = d3 x 103 + d2 x 10

    2 + d1 x 101 + d0 x 10

    0

    = 1 x 103 + 4 x 102 + 3 x 101 + 6 x 100

    = 1000 + 400 + 30 + 6

    Nota:

    Sumas y Restas: Pueden llevar o quitar 10s

    Multiplicacin y Divisin por 10: Agrego o quito un cero de la derecha. Desplazo el nmero agregando o quitando de a un cero en la posicin de menor peso d0 (Shift)

  • Jorge Echevarra

    Nmeros binarios enteros positivos

    Sistema Binario

    Base = 2

    Smbolos o bits (binary digits)= {0,1}

    Notacin: NNNb NNN2

    Ejemplo de 4 dgitos. Cambio de base de binario a decimal.d3 d2 d1 d0 = 1010b

    = d3 x 23 + d2 x 2

    2 + d1 x 21 + d0 x 2

    0

    = 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20

    = 1 x 8 + 0 x 4 + 1 x 2 + 0 x 1 = 8 + 2 = 10d Nota:

    Sumas y Restas: Pueden llevar o quitar 2sMultiplicacin y Divisin por 2: Shift a Izquierda o Derecha Se necesitan aproximadamente 10 bits por cada 3 dgitos decimales para

    representar un nmero. (103 aproxima a 210)

  • Jorge Echevarra

    Nmeros octales enteros positivos

    Sistema Octal

    Base = 8

    Notacin: NNNo NNN8

    Smbolos = {0,1, 2, 3, 4, 5, 6, 7}

    Ejemplo de 4 dgitos. Cambio de base de octal a decimal. d3 d2 d1 d0 = 17038

    = d3 x 83 + d2 x 8

    2 + d1 x 81 + d0 x 8

    0

    = 1 x 83 + 7 x 82 + 0 x 81 + 3 x 80

    = 1 x 512 + 7 x 64 + 0 x 8 + 3 x 1 = 512 + 448 + 0 + 3 = 963d Nota:

    Sumas y Restas: Pueden llevar o quitar 8s

    Multiplicacin y Divisin por 8: Shift a Izquierda o Derecha

  • Jorge Echevarra

    Nmeros hexadecimales enteros positivos

    Sistema Hexadecimal

    Base = 16 = 24

    Permite manejar mejor los nmeros binarios grandes agrupando de a 4.

    Notacin: NNNh NNN16

    Smbolos = {0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

    Ejemplo de 4 dgitos. Cambio de base de Hexadecimal a decimal. d3 d2 d1 d0 = 12AFh

    = d3 x 163 + d2 x 16

    2 + d1 x 161 + d0 x 16

    0

    = 1 x 163 + 2 x 162 + A x 161 + F x 160

    = 1 x 4096 + 2 x 256 + 10 x 16 + 15 x 1

    = 4096 + 512 + 160 + 15

    = 4783d

    Nota: Sumas y Restas: Pueden llevar o quitar 16sMultiplicacin y Divisin por 16: Shift a Izquierda o Derecha

  • Jorge Echevarra

    Nmeros binarios enteros positivos Dentro del computador, todos los nmeros son representados sobre una cantidad fija

    de bits.

    Rango de representacinCon n bits se pueden formar 2n combinaciones binarias distintas. Cada una de ellas

    corresponde a su respectivo nmero decimal. Ej: con 8 bits, 28 = 256 combinaciones, de 0 a 255.

    Si se comienza la representacin en 0, entonces el nmero ms grande representable es 2n 1 Se pueden usar n bits para representar los nmeros decimales Ejemplo con 4 bits. Se pueden formar 24 combinaciones = 16 , de 0 a 15.

    Binario Decimal Hexa Binario Decimal Hexa

    0000 0 0 1000 8 8

    0001 1 1 1001 9 9

    0010 2 2 1010 10 A

    0011 3 3 1011 11 B

    0100 4 4 1100 12 C

    0101 5 5 1101 13 D

    0110 6 6 1110 14 E

    0111 7 7 1111 15 F

  • Jorge Echevarra

    Operaciones de binarios enteros positivos

    Suma Resta

    111b

    + 10b

    --------

    Multiplicacin por potencias de 2 Divisin por potencias de 2

    1010b

    + 111b

    --------

    101b

    - 10b

    --------

    1001b

    - 111b

    --------

    Por 21 : 100b * 10b = 1000b

    Por 22 : 11b * 100b = 1100b

    Por 23 : 100b * 1000b = 100000b

    Por 21 : 100b / 10b = 10b

    Por 22 : 1100b / 100b = 11b

    Por 23 : 100000b / 1000b = 100b

    1001b 10001b 011b 010b

  • Jorge Echevarra

    Operaciones con hexadecimales enteros positivos

    Suma Resta

    181h

    + 89h

    --------

    Multiplicacin por potencias de 16 Divisin por potencias de 16

    1510h

    + E11h

    --------

    1E1h

    - 1Fh

    --------

    1001h

    - 111h

    --------

    Por 161 : 20h * 10h = 200h

    Por 162 : 3h * 100h = 300h

    Por 161 : 105h / 10h = 10h

    Por 162 : 10E0h / 100h = 10h

    20Ah 2321h 1C2h EF0h

  • Jorge Echevarra

    Cambio de base

    Binario a Hexadecimal: Agrupo de a cuatro. 10 bits: 10010110012 (= 60110)

    Agrupando de a 4: 0010 0101 1001

    Reemplazo con Hexa: 2 5 916

    Hexadecimal a Binario: reemplazo el dgito por binario. Binario: Reemplazar cada dgito hexadecimal por sus 4 dgitos binarios

    Ejemplo: A9Fh = 1010 1001 1111b

  • Jorge Echevarra

    Cambio de base

    Binario a Octal: Agrupo de a tres. 16 bits: 10001010011011102 (= 3546810)

    Agrupando en 3: 001 000 101 001 101 110

    Reemplazo con Hex: 1 0 5 1 5 68

    Octal a Binario: Binario: Reemplazar cada dgito octal por sus 3 dgitos binarios

    Ejemplo: 1348 = 001 011 100b

  • Jorge Echevarra

    Cambio de base

    Decimal a Binario, Octal, HexadecimalDividir el nmero decimal por la base a la que se lo quiere cambiar Cuando se obtenga un cociente que menor a la base, formar el nmero

    partiendo desde el ltimo cociente y, de derecha a izquierda completar sucesivamente con todos los restos

    249d = 11111001b

  • Jorge Echevarra

    Cambio de base

    Decimal a Binario otra forma sencillaUtilizar la tabla de potencias de 2 a modo de switch de prendido

    apagado para llegar al nro decimal que queremos convertir.

    2n + 29 + 28 + 27 + 26 + 25 + 24 + 23 + 22 + 21 + 20

    N + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1

    Ej: pasar 138d a binario.

    28 + 27 + 26 + 25 + 24 + 23 + 22 + 21 + 20

    256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1me paso 1 0 0 0 1 0 1 0b

    Y lo verifico:

    1 x 27 + 1 x 23 + 1 x 21 = 128 + 8 + 2 = 138d.

    Luego escribo resultado = 10001010b

  • Jorge Echevarra

    Codificacin de Caracteres

    Representacin de caracteres mostrables:Caracteres: { A, B , . . . , Y, Z } 26 2 = 52 (maysculas y minsculas)Dgitos (10) decimales: {0, 1, . . . , 8, 9 } Puntuacin: ! , . ? / : ; Smbolos matemticos: + * = ( / ) Parntesis: ( ) [ ] { } < >Otros: @ # $ % ^ & \| ~ Espacio en blanco: 90+ Smbolos (??) Varios esquemas de codificacin han sido usados

  • Jorge Echevarra

    Codificacin ASCII

    ASCII = American Standard Code for Information Interchange (7 bits) 7 bits para codificar cada caracter (128 cdigos) Se extiende a 8 bits (byte) poniendo el bit ms significativo = 0 2 dgitos hexadecimales

    Ejemplo 306 is FUN! 33h 30h 36h 20h 69h 73h 20h 46h 55h 4Eh 21h

    ASCII Estendido (8 bits) Van del 128 hasta el 255 Incluye caracteres propios de diferentes lenguajes (, , ) ,

    caracteres grficos (), smbolos especiales (), etc.

  • Jorge Echevarra

  • Jorge Echevarra

    Codificacin EBCDIC (8-bits) EBCDIC (Extended Binary Coded Decimal Interchange Code) Cdigo estndar de 8 bits usado por computadoras mainframe de IBM.

    IBM adapt el EBCDIC del cdigo de tarjetas perforadas en los aos 1960

  • Jorge Echevarra

    Cdigo BCD BCD natural: representa los dgitos decimales del 0 al 9

    con una combinacin de 4 bits para cada uno de ellos. Se reemplaza cada digito por los bits de la tabla que le corresponden.

    Ejemplo 34810

    = 0011 0100 1000 en BCD

    Los nmeros decimales no se representan por su correspondiente combinacin binaria

    En binario en cambio el resultado sera otro: 34810

    = 1010111002

    BCD Empaquetado: en cada byte hay dos dgitos decimales codificados en BCD natural.

    BCD Desempaquetado: cada dgito ocupa 1 byte 34810 = 00000011 00000100 00001000

    CPUs Intel: Agregan 1 byte para el signo, el 1er bit del byte indica el signo. Ejemplo -4810 = 10000000 0100 1000

  • Jorge Echevarra

    Unidades de Medidas

    Algunas abreviaturas:Nibble = 4 bitsWord (palabra)

    8 bits, 16 bits, 32 bits, 64 bits +

    DWord (palabra doble)

    Almacenamiento o capacidad Bit: 0 o 1. indica prendido

    apagado. Voltaje no voltaje.

    Byte = 8 Bits = 1 caracter. KB = kilobyte, 1024 bytesMB = Megabyte, 1024 kilobytesGB = Gigabyte, 1024 Megabytes TB = Terabyte, 1024 Gigabytes PB = Petabyte, 1024 Terabytes

    Analoga: 1 peridico = 0,25 MBSolo texto.

    Frecuencia (suele indicar velocidad)Hz = 1 ciclo de reloj por segundo. KHz = 1000 Hz, 103

    MHz = 1000000 Hz, 106

    GHz = 1000000000 Hz, 109

    Tiempomilisegundo = 1/1000 segundos Microsegundo = 1/1000000 sNanosegundo = 1/1000000000 s

  • Jorge Echevarra

    Nmeros Enteros Negativos

    Para nmeros sin signo todos los n bits son usados para la magnitud del nmero. Ej: Nmeros de 4-bits: 0000b, 1111b, 0110b.

    Para nmeros con signo o signados: (negativos o positivos) Como la computadora no entiende el signo, sino solo 0 y 1Un bit debe ser usado para el signo

    Usualmente el bit mas significativo: 0= positivo 1= negativo

    n-1 bits son usados para la magnitud del nmero

    Ej: Nmeros de 4-bits: 0010b sera el nmero 2 positivo.

    En codificacin magnitud con signo 1010 sera el numero 2 negativo.

    Como se ve en el ejemplo el mdulo del nmero 2 se representa con 3 bits y el bit ms significativo representa el signo.

  • Jorge Echevarra

    Codificacin con signo magnitud

    La magnitud se codifica en los n-1 bits restantes usando el sistema binario usado para contar

    Ejemplo: 10000001b=-1dmagnitud: 000 0001b = 1

    signo: 1 o sea, nmero negativo.

    Ejemplo 2: 00000010b=+2dMagnitud: 0000010b = 2

    Signo:0 o sea, nmero positivo.

    Problemas de esta codificacin por lo que no se utiliza en el hardware:

    Dos representaciones para el 0

    0 positivo signo=0

    0 negativo signo=1

    Problemas con la aritmtica:

    0000 0010b 2

    + 1000 0001b + -1

    ------------------ ------

    1000 0011b -3

  • Jorge Echevarra

    Codificacin complemento a 2

    En codificacin complemento a 2 el primer bit tambin representa el signo. La magnitud de los nmeros positivos se codifica normalmente como nmero

    binario.

    La magnitud de los nmeros negativos se codifica como flip&add.

    Definiciones: Complemento de un bit:

    Complemento de 1: 0

    Complemento de 0: 1

    Complemento a 1 de un valor de n-bits: Complemento de cada bit, es decir dar vuelta todos los dgitos, se

    cambian los 1 por 0 y los 0 por 1.

    Complemento a 2 de un valor de n-bits:Hacer el complemento a 1 y luego sumar 1.

    Se ignora cualquier carry del bit mas significativo.

    No olvidar completar el nmero a 8, 16 o 32 bits segn se necesite.

  • Jorge Echevarra

    Codificacin complemento a 2

    Ejemplo: Encuentre la representacin de 1 en complemento a 2 con 8 bits.

    +110 0000 0001b

    Complemento 1111 1110b

    Sumar 1 + 1

    ------------------- ---------------

    -110 1111 1111b = FFh

    Encuentre la representacin de 1 en complemento a 2 con 8 bits+110 0000 0001b = 01h

    Encuentre el valor decimal del valor FEh en complemento a 2Bit de signo = 1 1111 1110b

    Complemento 0000 0001b

    Sumar 1 + 1

    ------------ --------------

    FEh 0000 0010b = (bit de signo) 2d = -2d

    En este ultimo ejemplo se utiliza el complemento a 2 para ver el valordel mdulo. Sabemos que va a ser negativo porque tiene bit de signo 1.

    Operacin de complemento a 2

    Operacin de complemento a 2

  • Jorge Echevarra

    Codificacin complemento a 2

    Utilizando la codificacin de complemento a 2 se solucionan los problemas aritmticos y del 0, por lo que es la codificacin elegida para el hardware.

    Negar un nmero negativo se obtiene el nmero original [- (-x) = x ]-110 1111 1111b Complemento 0000 0000bSumar 1 + 1------------------- ---------------+110 0000 0001b = 01h Funciona !!!

    Cuantas representaciones para 0? [nica]010 0000 0000bComplemento 1111 1111bSumar 1 + 1------------------- ---------------010 10000 0000b Funciona !!!

    Se ignora el carry del bit mas significativo

  • Jorge Echevarra

    Codificacin complemento a 2

    Rango:

    Con n-bits se pueden representar a lo sumo 2n nmeros naturales diferentes, es decir con 4 bits, 24 = 0 a 15.

    En el caso de los nmeros enteros tenemos tambin los negativos.Usando la mitad de los valores para los nmero negativos y el resto para los positivos y el 0 nos quedan (2n-1 1 valores positivos, el 0 y 2 n-1valores negativos)

    Rango para valores positivos y negativos:Todos los negativos comienzan con 1Rango: -2n-1 ..... 0 ..... 2n-1-1

    Ej: con 4 bits, -23 .. 0 .. 23 -1-8 .. 0 .. 7

  • Jorge Echevarra

    Ejercicios complemento a 2

    Convertir -2231d a binario en complemento a 2

    Es negativo. Llevo a 16 bits, con 8 bits no me alcanza. Tomo el mdulo, complemento y sumo 1. 2231d = 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 1b

    Complemento a 1 = 1 1 1 1 0 1 1 1 0 1 0 0 1 0 0 0 Sumo 1 + 1 Resultado: = 1 1 1 1 0 1 1 1 0 1 0 0 1 0 0 1

    Si me dan este nmero: 1 1 1 1 0 1 1 1 0 1 0 0 1 0 0 1 y me dicen que est escrito en codificacin complemento a 2 como el 1er bit es un 1 se que es negativo. Para ver el nmero decimal debo complementar, sumar 1 y cambiar de base para ver el resultado.

    ? = 1 1 1 1 0 1 1 1 0 1 0 0 1 0 0 1 Complemento a 1 = 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 Sumo 1 + 1 Resultado: = 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 1 2048 + 128 + 32 +16 + 4 + 2 + 1 = 2231d, como es negativo Resultado: -2231d

  • Jorge Echevarra

    Ejercicios complemento a 2

    Realizar la operacin A-B en binario. A=98d, B=44d. Se realiza haciendo A + (-B), donde B se complementa a 2. 98d = 0 1 1 0 0 0 1 0 b

    44d = 0 0 1 0 1 1 0 0b Comp.1 = 1 1 0 1 0 0 1 1 Sumo 1 + 1 Comp.2 1 1 0 1 0 1 0 0 (es el -44d)

    Ahora puedo sumar 98d =0 1 1 0 0 0 1 0 +(-44d) =1 1 0 1 0 1 0 0 1|0 0 1 1 0 1 1 0b descarto el 1er 1. Resultado: 32 + 16 + 4 + 2 = 54d

    Cada vez que tengo un nmero decimal negativo lo tengo que complementar. Adems si la operacin es una resta tambin debo complementar el negativo y sumar.

  • Jorge Echevarra

    Ejercicios complemento a 2

    Realizar la operacin A - B en binario. A=98d, B=-44d. Con el mismo procedimiento sera A + (-(-B)) Por el ejercicio anterior sabemos que: 98d = 0 1 1 0 0 0 1 0 b

    -44d = 1 1 0 1 0 1 0 0 b (el 44 ya complementado) Comp.1 = 0 0 1 0 1 0 1 1 b complemento de nuevo por restar Sumo 1 + 1 Comp.2 0 0 1 0 1 1 0 0

    Ahora puedo sumar 98d =0 1 1 0 0 0 1 0 - (-44d) =0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 0b no me exced, no descarto. Resultado: 128 + 8 + 4 + 2 = 142d

    Vemos que en este caso utilizando la regla de los signos podramos haber reemplazado A (-B) por A + B con lo cual podramos haber hecho la operacin sin complementar, pero la ALU no lo sabe y el hardware realiza todas las complementaciones.

  • Jorge Echevarra

    Aritmtica y Lgica

    Multiplicacin binaria Procedimiento de resolucin del clculo de forma idntica al de la

    multiplicacin decimal

    Por cada cifra del multiplicador, me desplazo en la suma final Por cada 1 del multiplicador, repito el multiplicando en la suma final La multiplicacin es una sucesin de sumas y desplazamientosMultiplicar 2 cifras binarias de n bits darn como resultado otra cifra

    binaria de 2.n bits! (11112 x 11112 = 111000012)

    1101

    x 101

    1101

    + 0000

    1101

    1000001

    MultiplicandoMultiplicador

  • Jorge Echevarra

    Aritmtica y Lgica

    Divisin binaria Procedimiento de resolucin del clculo de forma idntica al de la

    multiplicacin decimal

    Ejemplo: 27 / 5 = 5 con resto 2 La divisin es una sucesin de

    restas y desplazamientos

    11011 101

    101 101

    0011

    101

    00111

    101

    10

    Dividendo Divisor 11011101

    10110

    101

    10001

    101

    1100

    101

    111

    101

    10

    Rest el divisor 5 veces Cociente

    Me sobr 2 Resto

    Cociente

    Resto

  • Jorge Echevarra

    Nmeros Reales

    El rango de los nmeros reales comprende desde - hasta +. Los registros de un procesador tienen resolucin finita. Por lo tanto un computador solo puede representar un sub conjunto de R .

    (No es solo un tema de magnitud sino de resolucin)

  • Jorge Echevarra

    Nmeros Reales

    En general se puede formalizar la representacin de un nmero real expresado en los siguientes formatos:

    Punto FijoSigno Magnitud (o signo y mdulo): trae problemas, no se suele

    utilizar en hardware.Con complemento a 2

    Punto Flotante: se expresa como un nmero (Mantisa), multiplicado por una constante (base) elevada a una potencia entera (exponente). La mayora de los procesadores usa el estndar IEEE 754 que define formatos de 32 y 64 bits (simple precisin y doble precisin).

    Como convertir un nmero decimal a binario:0,828125 * 2 = 1,656250,65625 * 2 = 1,31250,3125 * 2 = 0,6250,625 * 2 = 1,250,25 * 2 = 0,50,5 * 2 = 1

    0,828125d = 0,110101b

  • Jorge Echevarra

    Nmeros Reales

    Como convertir un nmero decimal a binario:0,828125 * 2 = 1,656250,65625 * 2 = 1,31250,3125 * 2 = 0,6250,625 * 2 = 1,250,25 * 2 = 0,50,5 * 2 = 1

    0,828125d = 0,110101b

    Comprobacin:

    2-1 + 2-2 + 2-3 + 2-4 + 2-5 + 2-6

    + + 1/8 + 1/16 + 1/32 + 1/64 1 1 0 1 0 1

    0,5 + 0,25 + 0 + 0,0625 + 0 + 0,015625 = 0,828125d

  • Jorge Echevarra

    Nmeros Reales Punto Fijo

    Punto Fijo con signo Se representan mediante una expresin del tipo

    (an an-1 ..a0 . a-1 a-2 ..a-m)2 = (-1)s (an2

    n+..+ a020+ a-12

    -1+ ..+ a-m 2-m)

    Donde: s=0 si el nmero es positivo o =1 si el nmero es negativo

    ai es un entero y 0 ai 1, para todo i = -m, -1, 0, 1, n

    Distancia entre dos nmeros consecutivos es 2-m

    Deja de ser un rango continuo de nmeros y pasa a ser un rango discreto.

  • Jorge Echevarra

    Nmeros Reales Punto Fijo

    Cuando la cantidad de dgitos disponible no alcanza para representar el nmero

    Problema: Representar un nmero de n dgitos decimales en un sistema con m dgitos decimales, siendo m < n

    Truncamiento: Descarta los dgitos fraccionarios de orden mayor a m. Ej: 38,1483 truncado en 2 decimales = 38,14.

    Redondeo: Descarta los dgitos fraccionarios de orden mayor a m pero se suma 1

    al menos significativo en caso que el nro inmediato (m+1) descartado valga mas de 5 en decimal o 1 en binario.

    Ej: 38,1483 redondeado y truncado en 2 decimales = 38,15.

  • Jorge Echevarra

    Nmeros Reales Punto Fijo

    Con truncamiento y redondeoPunto fijo en posicin 4 con 11 bits: 31,937510 = 0011111.111120,062510 = 0000000.00012

    32,000010 = 0100000.00002

    Si tenemos el siguiente nmero 31,906025100011111.1110102

    Si se trunca en 4 bits0011111.11102 31,87510

    Si se redondea y trunca en 4 bits0011111.11112 31,92187510

    Vemos que con truncamiento hay menor error

  • Jorge Echevarra

    Nmeros Reales Punto Flotante

    Para el caso de los nmeros reales se trabaja en notacin cientfica. -725.832 = -7.25832 . 102 = -725.832 x 100

    3.14 = 0.314 * 101 = 3.14 * 100

    0.000001 = 0.1 * 10-5 = 1.0 * 10-6

    1941 = 0.1941 * 104 = 1.941 * 103

    Para unificar la representacin se recurre a la notacin cientfica normalizada, en donde

    n = f *10e

    0 .1 f < 1

    e es un entero con signo

    En el sistema binario la expresin de un nmero en notacin cientfica normalizada es:

    n = f * 2e

    0 .5 f < 1

    e es un entero con signo

  • Jorge Echevarra

    Nmeros Reales Punto Flotante Representacin en Punto Flotante

    Se representan con los pares de valores (m, e), denotando:(m, e) = +- m * be

    e, llamado exponente, al cual se debe elevar la base numrica (b) de representacin para obtener el valor real

    Mantisa y exponente pueden representarse:con signo, sin signo, con notacin complemento y en exceso.

    Utilizaremos la representacin con exceso de 127(biased).

    Para que las representaciones sean nicas, la mantisa deber estar normalizada.

    Cuando un nmero fraccionario tiene su dgito ms significativo distinto de 0, se dice que est normalizado.

    Siendo f la fraccin, en binario se normaliza llevando el nmero a la forma 0,f. Ejemplo: 1011 se lleva a 0,1011 x 24

    Como el dgito mas significativo de f siempre va a ser 1, para aumentar la precisin y tener un bit ms, la norma IEEE 754 usa el formato 1,f. Ejemplo: 1011 se lleva a 1,011 x 23

  • Jorge Echevarra

    Nmeros Reales Punto Flotante IEEE 754

    Representacin en Punto Flotante de 32 bits IEEE 754 (Formato simple): (Institute of Electrical and Electronics Engineers, Inc. Ao 1985) La representacin es de la forma n = 1,f x 10be (10b es 2d) los bits 0 al 22 (23 Bits) representan la parte fraccionaria de la mantisa

    normalizada. El 1 entero se considera implcito.

    los bits 23 al 30 (8 Bits) representan el exponente en exceso a 127 (exponente + 127).

    el bit 31 llamado S (el primero de la derecha) representa el signo (0 es + y 1 es -).

    la base de exponenciacin es 2 el 0 se representa con todos los bits en 0.

  • Jorge Echevarra

    Ejemplo 1: representar el nro 74,3515625d en PF IEEE 754

    1- Paso a binario por un lado la parte entera y por otro la fraccionaria. 74,3515625d = 1001010,0101101b

    2- corro la coma para llevar al formato 1,f x 2n Queda 1,0010100101101 x 26 La mantisa debe tener 23 bits. Si la precisin del nmero excede 23

    redondeo, trunco y tomo los 23 bits. Si me faltan bits relleno con 0.

    Rellenando 1,00101001011010000000000 x 26. Cuando representemos el nmero, la parte entera de la mantisa se considera implcita, no se escribe.

    3- El signo es positivo (74) por lo que el primer bit izquierdo va a ser 0.

    4- El exponente es 6d o 110b. Se le suma un exceso de 127, para hacerlo ms sencillo suponemos un exponente de 5d o 101b y sumamos 128b obteniendo el mismo resultado:

    10000000b + 00000101b = 10000101

    Resultado: signo exponente mantisa 0 | 100 0010 1 | 001 0100 1011 0100 0000 0000 b

    4 2 9 4 B 4 0 0 h

  • Jorge Echevarra

    Ejemplo 2: representar el nmero -0,10546875d en PF IEEE 754

    1- Paso a binario la parte fraccionaria. La entera es 0. 0,10546875d = 0,00011011b

    2- corro la coma para llevar al formato 1,f x 2n y obtener la mantisa Queda 1,10110000000000000000000 x 2-4 Mantisa = 10110000000000000000000

    3- El signo es negativo, por lo que el primer bit izquierdo va a ser 1.

    4- El exponente es -4d. Tengo que sumarle 127, o lo que da el mismo resultado y es ms facil, supongo un exponente de -5 y le sumo 128.

    5d = 00000101b (completo a 8 bits) C1 = 11111010 +1 = 00000001 C2 = 11111011 Este es el -5 representado con complemento a 2. +128 10000000 Exp = 1|01111011 descarto el carry (1er 1 de la derecha)

    Resultado: signo exponente mantisa 1 | 011 1101 1 | 101 1000 0000 0000 0000 0000 b

    B D D 8 0 0 0 0 h

  • Jorge Echevarra

    Nmeros Reales Punto Flotante IEEE 754

  • Jorge Echevarra

    Pentium Formatos de datos

    General contenido binario arbitrario en 8, 16, 32 y 64 bits

    Entero binario entero con signo representado en Complemento a 2 en 8, 16 y 32 bits

    Ordinal binario entero sin signo en 8, 16 y 32 bits.

    BCD 1 2 dgitos BCD por byte

    Punto flotante precisin simple (32 bits) , doble (64 bits) y ampliada (80 bits).

  • Jorge Echevarra

    Ejercicios 1:

    1- Cambiar de base a decimal: 155o, 1101101b, 6Dh

    2- Cambiar de base a binario: 284d, A0Eh, 653o

    3- Cambiar de base a hexadecimal: 16140d, 1101101b, 653o

    4- Cambiar de base a octal: 284d, 1101101b, A0Eh

    5- Codificar en ASCII: 109XP. Mostrarlo en binario y en Hexadecimal.

    6- Codificar en BCD natural, desempaquetado y codificacin Intel el 284d.

    7- Truncar los nmeros 58,922723d y 10,100110b en tres decimales.

    8- Trunque y redondee 58,922723d y 10,100110b en tres decimales y indique el error que se comete y compare con el error de solo truncar.

    9- Convierta a binario punto fijo el nmero 8,020313d y el 20,53d con 8 enteros y 6 decimales

    10- Obtenga el valor decimal de 011101,1011 y 0111,011

    11 -Escriba en codificacin complemento a 2 los nmeros: -5Eh, -59d, -284d.

  • Jorge Echevarra

    Ejercicios 2:

    12 - Realice las siguientes sumas como lo hara la UAL utilizando complemento a 2.A=8d, B=43d:Realice 1: (-A) + B

    2: A + (-B)3: (-A) + (-B).

    13 - Realice las siguientes restas como lo hara la UAL utilizando complemento a 2.A=8d, B=43d:Realice 1: A - B

    2: (A) - (-B) 3: (-A) - (-B).4: 49d 134d

    14 - Representar en punto flotante IEEE754 los siguientes nmeros:

    1:4096,75d2:148,828125d3:-0,03516d

    15 - Representar en decimal el nmero -4294B400 escrito en punto flotante IEEE754.

  • Jorge Echevarra

    Preguntas Integradoras: 1- Cuntos colores diferentes puede mostrar una tarjeta grfica de 8 bits?

    2- Cuntas muestras de sonido diferentes puede dar un CD (16 bits)?

    3- Cuntos bits necesito en un procesador para direccionar 8 GB de memoria?

    4- Cul es el tamao de palabra de un procesador Intel Core I5? y un ARM Cortex A9? Cuantos MB tiene disco rgido de 2 TB y un pendrive de 16 GB, un CD ROM y un DVD ROM?

    5- A cuntos MHZ funciona un procesador de 3,6 GHz ? Cual es el tiempo que tarda un ciclo de reloj de dicho procesador? Si una suma toma 3 ciclos de reloj? Cuntas sumas realizara por segundo dicho procesador , suponiendo que tiene un solo ncleo?.

    6- Si contrato una banda ancha de 3 Megabit por segundo, cuantos KB y cuantos MB por segundo obtengo cuando descargo datos?.

    7- Sabiendo que cada uno de los pixel de una foto sin comprimir digitalizada usa 8 bits para el rojo, 8 para el verde y 8 para el azul (se necesitan todos para dar color al pixel), cuanta memoria (en MB) se necesita para una foto sin comprimir de las siguientes resoluciones:

    WVGA, 800 x 480 pixels.WXGA , HD o 720p , 1280 x 720 pixels.FULL HD o 1080p, 1920 x 1080 pixels.

    8- Sabiendo que un tema en mp3 transfiere 128Kbit por segundo, cuantos MB se necesitan para una cancin de 5 minutos.

    9- Sabiendo que un video contiene 30 imgenes por segundo y sonido mp3. Cuanta memoria necesito para almacenar un video HD sin comprimir de 1 segundo? Y Full HD?.

    10- Sabiendo que un video en Blue Ray full HD transmite 54 Mbit por segundo, cual es la tasa de compresin con respecto al video calculado en el ejercicio anterior?