You are on page 1of 48

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 unidades
Reglas
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 10
2
+ 3 x 10
1
+ 1 x 10
0
+ 5 x 10
-1
b d
i n
i
Valor *
0

Jorge Echevarra
Sistema Decimal
Sistema Decimal
Base = 10
Smbolos {0,1,2,3,4,5,6,7,8,9}
Notacin: NNN
d
NNN
10
Ejemplo de 4 dgitos
d
3
d
2
d
1
d
0
= 1436
d
= d
3
x 10
3
+ d
2
x 10
2
+ d
1
x 10
1
+ d
0
x 10
0
= 1 x 10
3
+ 4 x 10
2
+ 3 x 10
1
+ 6 x 10
0
= 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 d
0
(Shift)
Jorge Echevarra
Nmeros binarios enteros positivos
Sistema Binario
Base = 2
Smbolos o bits (binary digits)= {0,1}
Notacin: NNN
b
NNN
2
Ejemplo de 4 dgitos. Cambio de base de binario a decimal.
d
3
d
2
d
1
d
0
= 1010
b
= d
3
x 2
3
+ d
2
x 2
2
+ d
1
x 2
1
+ d
0
x 2
0
= 1 x 2
3
+ 0 x 2
2
+ 1 x 2
1
+ 0 x 2
0
= 1 x 8 + 0 x 4 + 1 x 2 + 0 x 1
= 8 + 2
= 10
d
Nota:
Sumas y Restas: Pueden llevar o quitar 2s
Multiplicacin y Divisin por 2: Shift a Izquierda o Derecha
Se necesitan aproximadamente 10 bits por cada 3 dgitos decimales para
representar un nmero. (10
3
aproxima a 2
10
)
Jorge Echevarra
Nmeros octales enteros positivos
Sistema Octal
Base = 8
Notacin: NNN
o
NNN
8
Smbolos = {0,1, 2, 3, 4, 5, 6, 7}
Ejemplo de 4 dgitos. Cambio de base de octal a decimal.
d
3
d
2
d
1
d
0
= 1703
8
= d
3
x 8
3
+ d
2
x 8
2
+ d
1
x 8
1
+ d
0
x 8
0
= 1 x 8
3
+ 7 x 8
2
+ 0 x 8
1
+ 3 x 8
0
= 1 x 512 + 7 x 64 + 0 x 8 + 3 x 1
= 512 + 448 + 0 + 3
= 963
d
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 = 2
4
Permite manejar mejor los nmeros binarios grandes agrupando de a 4.
Notacin: NNN
h
NNN
16
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.
d
3
d
2
d
1
d
0
= 12AFh
= d
3
x 16
3
+ d
2
x 16
2
+ d
1
x 16
1
+ d
0
x 16
0
= 1 x 16
3
+ 2 x 16
2
+ A x 16
1
+ F x 16
0
= 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 16s
Multiplicacin 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 representacin
Con n bits se pueden formar 2
n
combinaciones binarias distintas. Cada una de ellas
corresponde a su respectivo nmero decimal. Ej: con 8 bits, 2
8
= 256
combinaciones, de 0 a 255.
Si se comienza la representacin en 0, entonces el nmero ms grande
representable es 2
n
1
Se pueden usar n bits para representar los nmeros decimales
Ejemplo con 4 bits. Se pueden formar 2
4
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
111
b
+ 10
b
--------
Multiplicacin por potencias de 2 Divisin por potencias de 2
1010
b
+ 111
b
--------
101
b
- 10
b
--------
1001
b
- 111
b
--------
Por 2
1
: 100
b
* 10
b
= 1000
b
Por 2
2
: 11
b
* 100
b
= 1100
b
Por 2
3
: 100
b
* 1000
b
= 100000
b
Por 2
1
: 100
b
/ 10
b
= 10
b
Por 2
2
: 1100
b
/ 100
b
= 11
b
Por 2
3
: 100000
b
/ 1000
b
= 100
b
1001
b
10001
b
011
b
010
b
Jorge Echevarra
Operaciones con hexadecimales enteros positivos
Suma Resta
181
h
+ 89
h
--------
Multiplicacin por potencias de 16 Divisin por potencias de 16
1510
h
+ E11
h
--------
1E1
h
- 1F
h
--------
1001
h
- 111
h
--------
Por 16
1
: 20
h
* 10
h
= 200
h
Por 16
2
: 3
h
* 100
h
= 300
h
Por 16
1
: 105
h
/ 10
h
= 10
h
Por 16
2
: 10E0
h
/ 100
h
= 10
h
20A
h
2321
h
1C2
h
EF0
h
Jorge Echevarra
Cambio de base
Binario a Hexadecimal: Agrupo de a cuatro.
10 bits: 1001011001
2
(= 601
10
)
Agrupando de a 4: 0010 0101 1001
Reemplazo con Hexa: 2 5 9
16
Hexadecimal a Binario: reemplazo el dgito por binario.
Binario: Reemplazar cada dgito hexadecimal por sus 4 dgitos binarios
Ejemplo: A9F
h
= 1010 1001 1111
b
Jorge Echevarra
Cambio de base
Binario a Octal: Agrupo de a tres.
16 bits: 1000101001101110
2
(= 35468
10
)
Agrupando en 3: 001 000 101 001 101 110
Reemplazo con Hex: 1 0 5 1 5 6
8
Octal a Binario:
Binario: Reemplazar cada dgito octal por sus 3 dgitos binarios
Ejemplo: 134
8
= 001 011 100
b
Jorge Echevarra
Cambio de base
Decimal a Binario, Octal, Hexadecimal
Dividir 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
249
d
= 11111001
b
Jorge Echevarra
Cambio de base
Decimal a Binario otra forma sencilla
Utilizar la tabla de potencias de 2 a modo de switch de prendido
apagado para llegar al nro decimal que queremos convertir.
2
n
+ 2
9
+ 2
8
+ 2
7
+ 2
6
+ 2
5
+ 2
4
+ 2
3
+ 2
2
+ 2
1
+ 2
0
N + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
Ej: pasar 138d a binario.
2
8
+ 2
7
+ 2
6
+ 2
5
+ 2
4
+ 2
3
+ 2
2
+ 2
1
+ 2
0
256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
me paso 1 0 0 0 1 0 1 0b
Y lo verifico:
1 x 2
7
+ 1 x 2
3
+ 1 x 2
1 =
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! 33
h
30
h
36
h
20
h
69
h
73
h
20
h
46
h
55
h
4E
h
21
h
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
348
10
= 0011 0100 1000 en BCD
Los nmeros decimales no se representan por su
correspondiente combinacin binaria
En binario en cambio el resultado sera otro:
348
10
= 101011100
2
BCD Empaquetado: en cada byte hay dos dgitos
decimales codificados en BCD natural.
BCD Desempaquetado: cada dgito ocupa 1 byte
348
10
= 00000011 00000100 00001000
CPUs Intel: Agregan 1 byte para el signo, el 1er bit del
byte indica el signo.
Ejemplo -48
10
= 10000000 0100 1000
Jorge Echevarra
Unidades de Medidas
Algunas abreviaturas:
Nibble = 4 bits
Word (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 bytes
MB = Megabyte, 1024 kilobytes
GB = Gigabyte, 1024 Megabytes
TB = Terabyte, 1024 Gigabytes
PB = Petabyte, 1024 Terabytes
Analoga: 1 peridico = 0,25 MB
Solo texto.
Frecuencia (suele indicar velocidad)
Hz = 1 ciclo de reloj por segundo.
KHz = 1000 Hz, 10
3
MHz = 1000000 Hz, 10
6
GHz = 1000000000 Hz, 10
9
Tiempo
milisegundo = 1/1000 segundos
Microsegundo = 1/1000000 s
Nanosegundo = 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 1
Un 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=-1d
magnitud: 000 0001b = 1
signo: 1 o sea, nmero negativo.
Ejemplo 2: 00000010b=+2d
Magnitud: 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.
+1
10
0000 0001b
Complemento 1111 1110b
Sumar 1 + 1
------------------- ---------------
-1
10
1111 1111b = FFh
Encuentre la representacin de 1 en complemento a 2 con 8 bits
+1
10
0000 0001b = 01h
Encuentre el valor decimal del valor FEh en complemento a 2
Bit 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 valor
del 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 ]
-1
10
1111 1111b
Complemento 0000 0000b
Sumar 1 + 1
------------------- ---------------
+1
10
0000 0001b = 01h Funciona !!!
Cuantas representaciones para 0? [nica]
0
10
0000 0000b
Complemento 1111 1111b
Sumar 1 + 1
------------------- ---------------
0
10
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 2
n
nmeros naturales
diferentes, es decir con 4 bits, 2
4
= 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 (2
n-1
1 valores positivos, el 0 y 2
n-1
valores negativos)
Rango para valores positivos y negativos:
Todos los negativos comienzan con 1
Rango: -2
n-1
..... 0 ..... 2
n-1
-1
Ej: con 4 bits, -2
3
.. 0 .. 2
3
-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 desplazamientos
Multiplicar 2 cifras binarias de n bits darn como resultado otra cifra
binaria de 2.n bits! (1111
2
x 1111
2
= 11100001
2
)
1101
x 101
1101
+ 0000
1101
1000001
Multiplicando
Multiplicador
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 11011
101
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 Fijo
Signo 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,65625
0,65625 * 2 = 1,3125
0,3125 * 2 = 0,625
0,625 * 2 = 1,25
0,25 * 2 = 0,5
0,5 * 2 = 1
0,828125
d
= 0,110101
b
Jorge Echevarra
Nmeros Reales
Como convertir un nmero decimal a binario:
0,828125 * 2 = 1,65625
0,65625 * 2 = 1,3125
0,3125 * 2 = 0,625
0,625 * 2 = 1,25
0,25 * 2 = 0,5
0,5 * 2 = 1
0,828125
d
= 0,110101
b
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
(a
n
a
n-1
..a
0
. a
-1
a
-2
..a
-m
)
2
= (-1)
s
(a
n
2
n
+..+ a
0
2
0
+ a
-1
2
-1
+ ..+ a
-m
2
-m
)
Donde: s=0 si el nmero es positivo o =1 si el nmero es negativo
a
i
es un entero y 0 a
i
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 redondeo
Punto fijo en posicin 4 con 11 bits:
31,9375
10
= 0011111.1111
2
0,0625
10
= 0000000.0001
2
32,0000
10
= 0100000.0000
2
Si tenemos el siguiente nmero 31,906025
10
0011111.111010
2
Si se trunca en 4 bits
0011111.1110
2
31,875
10
Si se redondea y trunca en 4 bits
0011111.1111
2
31,921875
10
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 . 10
2
= -725.832 x 10
0
3.14 = 0.314 * 10
1
= 3.14 * 10
0
0.000001 = 0.1 * 10
-5
= 1.0 * 10
-6
1941 = 0.1941 * 10
4
= 1.941 * 10
3
Para unificar la representacin se recurre a la notacin cientfica
normalizada, en donde
n = f *10
e
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 * 2
e
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 * b
e
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 2
4
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 2
3
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 10b
e
(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 2
n
Queda 1,0010100101101 x 2
6
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 2
6
. 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 2
n
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,75d
2:148,828125d
3:-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?

You might also like