Representación de la Información en un computadormaria/tema2.pdf · Código EBCDIC con n=8...

35
Representación de la Información en un computador Ingeniería de Sistema y Automática Universidad de Valladolid

Transcript of Representación de la Información en un computadormaria/tema2.pdf · Código EBCDIC con n=8...

Representación de la Información en un computador

Ingeniería de Sistema y AutomáticaUniversidad de Valladolid

Índice

Sistemas de numeración:BinariosOctalesHexadecimalesOperaciones. Transformaciones

Códigos de Entrada/SalidaRepresentación interna de la información

Números enterosNúmeros reales.

Circuitos lógicos y Álgebra de BooleÁlgebra de BooleFunciones de conmutación

Sistema de numeración

Sistema de numeración en base b => alfabeto formado por b símbolos.Cada cifra contribuye:

La Cifra en síLa posición dentro del número

Ejemplo: sistema de numeración decimal:b=10 => {0,1,2,3,4,5,6,7,8,9}4518.31=4*103+5*102+1*101+8*100 + 3*10-1+1*10-2

N=...n4n3n3n1n0.n-1n-2n-3......N= ... n4b4 + n3b3 +n2b2 + n1b1+ n0b0 + n-1b-1 +...

Sistema binario

b = 2 => {0,1}Binario Decimal

10100.001)2 = 1*24 + 0*23 + 1*22 + 1*2-3

=20.125)10

Decimal BinarioParte entera se divide entre 2Parte decimal se multiplica por 2Ejemplo: 26.1875)10= 11010.0011)2

Sistema binario

Operaciones aritméticas:SumaResta

a b a + b0 0 00 1 11 0 11 1 0 y me

llevo 1

a b a - b0 0 00 1 1 y me

llevo 11 0 11 1 0

Sistema binarioa b a * b

0 0 00 1 01 0 01 1 1

Operaciones aritméticasMultiplicaciónDivisión.

a b a / b0 0 Indeterminado0 1 01 0 ∞1 1 1

Sistema binarioa b a OR b0 0 00 1 11 0 11 1 1

Operaciones lógicasORANDNOT

a b a AND b0 0 00 1 01 0 01 1 1

a NOT a0 11 0

Sistema binario

Representación en complementosComplemento a la base menos uno de un nº N es el nº que resulta de restar cada una de las cifras de N de la base menos uno del sistema de numeración utilizado:

Base 10 => C9

Ejemplo: C9 63 = 99-63 = 36

Base 2 => C1

Ejemplo: C1 10010 = 11111-10010 = 01101C1 => cambiar los ceros por los unos y los unos por los ceros

Sistema binarioSirve para realizar las restas como sumas.

Ejemplo: 77 – 63 = 1477 + 36 = 113+ 1 = 14

C9 63

Ejemplo:1000111 – 10010 = 01101011000111 + 1101101 = 10110100 + 1 = 0110101

C110010

Sistema binarioComplemento a la base de un nº N, es el nº que resulta de restar cada una de las cifras de N de la base menos uno del sistema de numeración utilizado, y sumar 1 a la diferencia obtenida.

Base 10 => C10

Ejemplo: C10 63 = 99-63 = 36 +1 = 37

Base 2 => C2

Ejemplo: C2 10010 = 11111 – 10010 = 01101+1 = 01110

Sistema binario

Sirve para convertir las restas en sumas:

Ejemplo: 77 – 63 = 1477 + 37 = 114

Ejemplo: 11001 – 10010 = 0011111001 + 01110 = 1 00111

C10 63

C2 10010

Sistema octal

b = 8 = 23 Alfabeto: {0,1,2,3,4,5,6,7}

Binario Octal10 001 101 100.100 10)2 = 2154.64)8

Octal Binario537.24)8 = 101 011 111. 010 100)2

Octal Decimal1367.25)8 = 1 83 + 3 82 + 6 81 + 7 80 + 2 8-1 + 5 8-2 = 759.328125)10

2 1 5 4 6 4

Sistema octal

Decimal OctalParte entera se divide por 8Parte decimal se multiplica por 8 y sólo nos quedamos con la parte entera.Ejemplo: 760.33)10 =1370.2507)8

Tabla:Binario Octal

000 0001 1010 2011 3

Binario Octal100 4101 5110 6111 7

Sistema hexadecimal

b = 16 = 24 => Abecedario: {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

Binario Hexadecimal010 0101 1101 1111. 1010 101)2 = 25DF.BA)H

Hexadecimal Binario1ABC701.C4)H = 0001 1010 1011 1100 0111 0000 0001. 1100 0100)2

2 5 D F B A

Sistema hexadecimal

Hexadecimal DecimalA798C.1E)H = 10 * 164 + 7 * 163 + 9 * 162 + 8 * 161 + 12 * 160 + 1 * 16-1 + 14 * 16-2 = 686476.1171)10

Binario HexadecimalParte entera se divide por 16Parte decimal se multiplica por 16 y nos quedamos sólo con la parte entera de cada multiplicación.Ejemplo:4373.79)10 = 11DD.CA3D)H

Sistema hexadecimal

Binario Deci-mal

Hexa-decimal

0000 0 00001 1 10010 2 20011 3 30100 4 40101 5 50110 6 60111 7 7

Binario Deci-mal

Hexa-decimal

1000 8 81001 9 91010 10 A1011 11 B1100 12 C1101 13 D1110 14 E1111 15 F

Códigos de Entrada/Salida (E/S)

Código E/S: es una correspondencia biunívoca entre dos conjuntos

Caracteres combinación de bitsα ={0,...,9,A,,...,Z,a,...,z, ;,:,...} β = {0, 1}n

donde n es el nº de bits Si n=2 4 combinacionesSi n=3 8 combinacionesSi n=n m= 2n combinaciones

Por el contrario, si queremos representar m símbolos ¿cuántos bits necesitamos?

m = 2n => n ≥ log2 m

Códigos de Entrada/Salida (E/S)Código BCD (intercambio normalizado), tiene n=6 bits => m=26 = 64 símbolosCódigo EBCDIC con n=8Código ASCII (American Standard Code for Information Interchange) n=7 bits

Eficiencia de un código: 0≤τ≤1

Ejemplo: ASCII para representar 95 símbolos: τ = 95 / 27 = 0.742

Redundancia: R = (1 - τ)* 100%Ejemplo: R=(1-0.742)*100 = 25.8%

nm2

Códigos de Entrada/Salida (E/S)

Un código poco eficiente es redundanteRedundancia es útil para detectar erroresDos criterios:

Bit de paridad par: se añade un bit para que el número total de 1 sea par.Bit de paridad impar: se añade un bit para que el número total de 1 sea impar.

100 0001 0100 0001 (par)101 1011 1101 1011 (par)

000 0000 1000 0000 (impar)110 1000 0110 1000 (impar)

Representación interna de la información

En la memoria y en la CPU la información se transmite y almacena en palabras.

La longitud de palabra debe ser múltiplo entero del nº de bits utilizados para representar un carácter (8,16,32 o 64 bits)

Los datos se introducen según un código E/S253)10= 1011 0010 0011 0101 0011 0011)ASCII

253)10 = 11111101)2

El computador realiza una conversión del código de E/S a una representación interna.

Representación interna de la informaciónNúmeros enteros:Varias formas:

Sin signo: en base 2 => 18)10= 0001 0010)2Con signo:

Signo y magnitud: en el bit más significativo (MSB) se pone el signo (0 para positivos y 1 para negativos) y luego el número en binario.Complemento a 1: en el MSB se pone el signo, y luego el número en complemento a 1, para negativos, y en binario natural para positivos.Complemento a 2: en el MSB se pone el signo, y luego el número en complemento a 2 para negativos y en binario natural para positivos.

Representación interna de la información

Ejemplo: N = -3675 con n=16 bits.3675)10 = 1110 0101 1011)2

3675)10 = 0000 1110 0101 1011)2 con 16 bitsSin signo => 0000 1110 0101 1011Con signo:

Signo y magnitud => 1000 1110 0101 1011Complemento a 1 => 1111 0001 1010 0100Complemento a 2 => 1111 0001 1010 0101

Representación interna de la informaciónNúmeros reales:Notación científica => N = M BE

Normalización IEEE754B=2 predeterminadoEl nº se representa como : s e m

s: campo del signo => 1bit: 0 si el nº es positivo, 1 si es negativoe: campo del exponente => ne bits: se representa como el exponente + el sesgo => E+S donde S = 2ne-1 – 1;m: campo de la mantisa => nm bits que se calculan como => n= 1 + ne + nm, con n el nº total de bits para representar el número.

Representación interna de la información

La mantisa tiene que estar normalizada: 1.00110 2E y el primer 1 no se almacena.Ejemplo: N = -37.48 n=16 bits y ne=8.37.48)10= 111101.01111010 )2

Normalizar el número y ponerle de forma exponencial: 1.1110101111010 25

Signo: 1 => número negativoExponente: e = E+S = 5 + 28-1 –1 = 132)10= 11000100)2

Mantisa: nm=16-1-8= 7 => m=1110101N = 1 1100100 1110101 => s e m

Representación interna de la informaciónSituaciones especiales:

Cuando e=0, la mantisa se almacena desnormalizada y el valor de E = e – 2ne-1 +2El número N=0, se representa con todos los bits del exponente y la mantisa a 0Si todos los bits del exponente son 1

Si m=0 => representa ±∞Si m≠ 0 => representa un NaN (valores no válidos)

Precisión:Simple: n=32 bits, ne=8 Doble: n=64 bits , ne=11

Circuitos lógicos y Algebra de Boole

Sistemas:Analógicos: variables continuas (Tª, presión...)Digitales: un dispositivo destinado a la generación y/o transmisión y/o procesamiento y/o almacenamiento de la información, la cual está representada por variables físicas limitadas a tener valores discretos.Sistema digital con sólo dos valores discretos se llama sistema binario.Sistema digital se puede representar como:

Bloque con entradas y salidasTabla de verdad

Algebra de Boole

Herramienta matemática para el análisis y síntesis de sistemas digitalesPostulados:

Conjunto de elementos, ∃ B / x,y ∈B / x≠yLeyes de composición interna: ∀ x, y ∈B x.y ∈B y x+y ∈B Elementos neutros únicos:

∃ 0 ∈B / ∀ x∈B x + 0 = 0 + x = x∃ 1 ∈B / ∀ x∈B x . 1 = 1 . x = x

Conmutatividad: ∀ x, y ∈B x + y = y + x ; x . y = y . x

Algebra de BooleDistributividad:

∀ x, y, z ∈B x + ( y + z) = (y+x) . (x+z) ; x . (y + z) = (x . y) + (x . z)

Asociatividad:∀ x, y, z ∈B x + (y+z) = (y + x)+z = x+y+z; x . (y . z) = (x . y) . z = x . y . Z

Elemento opuesto (complementó) único∀ x∈B ∃ ∈B / x + =1; x . = 0

Ejemplos de Algebra de Boole:B={0, 1} con las operaciones AND, OR y NOTB = conjuntos, con la ∪ y la ∩

x x x

Funciones de conmutación

Una variable de conmutación es símbolo que sólo puede tomar el valor 1 o el 0.Función de conmutación f(x1, x2,...,xn) es una aplicación: f {0, 1}n {0,1}Se puede representar:

Tabla de verdadExplicitamente: f(x,y,z) = x . (y+z) + y.zEjemplo: f(0,0,0) =0, f (010) = 0 ...

Funciones de conmutación

Algebra de conmutación, es una álgebra de Boole con los siguientes elementos:

Relación de igualdad: dos funciones son iguales si lo son sus tablas de verdad.Operación Y (.) Operación O (+) Complemento

Y 0 10 0

00

1 1

O 0 10 0

11

1 1

-0 1

01

Funciones de conmutaciónElemento 0 => función {0,1}n 0 Elemento 1 => función: {0,1}n 1

Minterms: es una función que asigna un 1 a una combinación de entradas y 0 a todas las demás.Toda función de conmutación de n variables se puede poner como una suma única de minterms. (aparece un minterm por cada 1 que aparezca en la tabla de verdad de la función)

Funciones de conmutación

x1 x2 x3 m0 m3 m6 minterms f100011110

f20 0 0 1 0 0 00 0 1 0 0 0 10 1 0 0 0 0 10 1 1 0 1 0 01 0 0 0 0 0 01 0 1 0 0 0 01 1 0 0 0 1 01 1 1 0 0 0 1

321 xxx

321 xxx321 xxx

321 xxx

321 xxx

321 xxx321 xxx

321 xxx

f1 = + + +f2 = + + 321 xxx 321 xxx 321 xxx

321 xxx 321 xxx 321 xxx 321 xxx

Funciones de conmutación

Maxterms:es una función que asigna un 0 a una combinación de entradas y 1 a todas las demás.Toda función de conmutación de n variables se puede poner como un producto único de maxterms. (Hay un maxterm por cada 0 que aparezca en la tabla de verdad de la función)

Funciones de conmutación

x1 x2 x3 M0 M3 M6 Maxterms f1x1 + x2 + x3 0

0011110

x1 + x2 + x1 + + x3

f20 0 0 0 1 1 00 0 1 1 1 1 10 1 0 1 1 1 10 1 1 1 0 1 01 0 0 1 1 1 01 0 1 1 1 1 01 1 0 1 1 0 01 1 1 1 1 1 1

3x2x

321 xxx ++

321 xxx ++

321 xxx ++

321 xxx ++

321 xxx ++

f1 = f2 = )xxx(*)xxx(*)xxx(*)xxx(*)xxx( 321321321321321 ++++++++++

)xxx(*)xxx(*)xxx(*)xxx( 321321321321 ++++++++

Funciones de conmutación

Circuito lógico: dos posibilidades

3x

1x

2x1x

1x

1x

2x

2x

2x

3x

3x

3x

1ff1

1x

2x

3x

1x2x3x

1x2x3x