01 Sistemas Numericos 2012
-
Upload
javier-avila -
Category
Documents
-
view
45 -
download
0
Transcript of 01 Sistemas Numericos 2012
-
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?