Tema 2: Sistemas y Códigos Númericos

Anuncio
Tema 2:
Sistemas y códigos
numéricos
Sistemas Digitales I
Sistemas y códigos numéricos
Sistemas numéricos posicionales
En este sistema la posición de cada digito tiene un peso asociado.
El valor de un número es una suma ponderada de los dígito, por
ejemplo:
2568 = 2 ⋅ 1000 + 5 ⋅ 100 + 6 ⋅ 10 + 8 ⋅ 1
En forma general
Base
D = d1 ⋅ 101 + d 0 ⋅ 100 + d −1 ⋅ 10−1 + d −2 ⋅ 10−2
=
D
p −1
i
d
⋅
r
∑ 1
i= −n
El digito que se encuentra en el extremo izquierdo es el digito mas
significativo y el que se encuentra en el extremo derecho es el
menos significativo.
Sistemas Digitales I
Sistemas y códigos numéricos
Los sistemas que mas vamos a utilizar en el diseño digital serán
decimal, binario y hexadecimal.
=
D
p −1
i
d
⋅
10
∑ 1
i= −n
=
B
p −1
i
b
⋅
2
∑1
i= −n
H
=
p −1
i
16
h
⋅
∑1
i= −n
Por ejemplo
10101.12 = 1 ⋅ 16 + 0 ⋅ 8 + 1 ⋅ 4 + 0 ⋅ 2 + 1 ⋅ 1 + 1 ⋅ 0.5 = 21.510
15.816 = 1 ⋅ 161 + 5 ⋅ 160 + 8 ⋅ 0.0625 = 21.510
La base 10 es la que utilizamos en las operaciones cotidianas.
La base 2 es importante por que los números binarios se pueden
procesar directamente en los circuitos digitales.
La base 16 es útil para representar números de múltiples bits,
debido a que la base es potencia de 2.
Sistemas Digitales I
Sistemas y códigos numéricos
Para convertir fácilmente de binario a hexadecimal hay que agrupar
los dígitos binarios en grupos de 4 bits alrededor del punto binario.
01001101.1110
0100
=
= 4D.E
 . 1110
 1101

2
4
D
E
Para convertir de cualquier base r a decimal utilizamos la formula:
=
D
p −1
i
⋅
d
r
∑ 1
i= −n
Para convertir de decimal a cualquier base r debemos utilizar
divisiones sucesivas del numero decimal en r. Por ejemplo:
179 ÷ 2 = 89 resto 1 (LSB)
÷2 = 44 resto 1
÷2 = 22 resto 0
17910 = 101100112
÷2 = 11 resto 0
÷2 = 5 resto 1
÷2 = 2 resto 1
÷2 =1 resto 0
÷2 = 0 resto 1 (MSB)
Sistemas Digitales I
Sistemas y códigos numéricos
Suma de números no decimales
Para realizar la operaciones de suma nos guiamos por la siguiente
tabla:
cent
x
y
csal
s
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
Ejemplos:
Sistemas Digitales I
Sistemas y códigos numéricos
Resta de números no decimales
Para realizar la operaciones de resta nos guiamos por la siguiente
tabla:
pent
x
y
psal
s
0
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
1
0
0
0
1
1
1
1
1
Ejemplos:
Sistemas Digitales I
Sistemas y códigos numéricos
Representación de números negativos
Para representar los números negativos se utilizan principalmente:
• Representación de magnitud y signo
• Representación de complemento
Representación de magnitud y signo
En este sistema el numero se compone de una magnitud y de un
símbolo (+ o -).
En este sistema existen dos posibles representaciones de cero, “+0”
y “-0”, ambas con el mismo valor.
Para aplicar en números binarios se utiliza un bit extra para el signo
(bit de signo).Para representar “+” se utiliza el cero y el uno para “-”.
Tiene la misma cantidad de números positivos y negativos. Que van
desde − ( 2n−1 − 1) hasta + ( 2n−1 − 1)
Sistemas Digitales I
Sistemas y códigos numéricos
Ejemplos:
010101012 = +8510
110101012 = −8510
011111112 = +12710
111111112 = −12710
000000002 = +010
100000002 = −010
Representación de complemento de base
En este sistema el numero negativo se obtiene tomando el
complemento del numero.
El complemento de base de un numero de n dígitos se obtiene al
restarlo de rn.
En un sistema de complemento de base solo tenemos una
representación del cero.
Se puede calcular fácilmente complementando los dígitos
individuales y sumándole 1.
Para el sistema binario se conoce como complemento a dos.
Sistemas Digitales I
Sistemas y códigos numéricos
En el sistema de complemento a dos, el bit mas significativo indica el
signo del numero.
Para convertir a decimal el bit mas significativo se lo tiene que
considerar con peso de −2n−1 en vez de +2n−1 .
n−1
n−1
El intervalo de números representables va desde − ( 2 ) a + ( 2 − 1) .
Ejemplos de complemento a 2:
Sistemas Digitales I
Sistemas y códigos numéricos
Entonces para hallar el complemento a la base de un numero N:
N=' r n − N
N
=' 10 p − N10
N=' 2 p − N 2
Para convertir un numero X de n bits de complemento a dos en
uno de m bits, siendo m>n tenemos que agregar m-n copias del
bit de signo a la izquierda de X.
Representación de complemento de base reducida
Este complemento se obtiene de restar un numero D de n bits a
rn – 1.
Este complemento se denomina complemento a 9 en el sistema
decimal y complemento a 1 en el sistema binario.
Para calcular el complemento a 1 solo basta con complementar
el numero sin sumarle 1.
Al igual que en el complemento a dos el bit mas significativo
indica el signo.
Sistemas Digitales I
Sistemas y códigos numéricos
El complemento a 1 posee dos representaciones del 0, cero positivo
(00···00) y cero negativo (11···11).
Para convertir a decimal el bit mas significativo se lo tiene que
n−1
considerar con un peso de −(2 − 1) .
n−1
El intervalo de números representables va desde − ( 2 − 1) a + ( 2n−1 − 1)
Ejemplos de complemento a 1:
Sistemas Digitales I
Sistemas y códigos numéricos
Suma y resta de complemento a dos
En complemento a dos son mucho mas sencillas las operaciones
aritméticas.
En el caso de la suma se utiliza una suma binaria común y se debe
ignorar cualquier acarreo más allá del bit MSB.
El resultado siempre será correcto siempre y cuando no se exceda el
intervalo de representación del sistema numérico.
Ejemplos de sumas de complemento a 2:
Sistemas Digitales I
Sistemas y códigos numéricos
Desbordamiento (Overflow)
Si el resultado de una suma excede el intervalo del sistema numérico,
ocurre un desbordamiento.
La suma de números de diferente signo nunca produce
desbordamiento, pero cuando tienen el mismo signo se puede llegar
a producir.
Una suma provoca desbordamiento si los signos de los sumandos son
iguales y el signo del resultado es diferente del signo de los
sumandos.
Sistemas Digitales I
Sistemas y códigos numéricos
En el caso de la resta la mayoría de los circuitos realizan el
complemento a 2 del sustraendo y luego lo suman al minuendo
aplicando las reglas normales para la suma.
Ejemplos de resta en complemento a dos:
El desbordamiento en la resta se puede detectar analizando los
signos del minuendo y sustraendo complementado, usando la misma
regla que en la suma.
Sistemas Digitales I
Sistemas y códigos numéricos
Códigos binarios para números decimales
Un conjunto de cadenas de n bits, en el cuales diferentes cadenas de
bits representan diferentes números se denomina código.
Una combinación particular de valores de n bits se conoce como
palabra código.
Para representar los 10 dígitos decimales se necesitan por lo menos
cuatro bits.
Existen muchísimos códigos decimales, pero el mas común es el
decimal codificado en binario (BCD). El cual codifica los dígitos de 0 a
9 mediante sus representaciones binarias desde 0000 hasta 1001.
Para representar números negativos en BCD lo mas común es utilizar
magnitud y signo o complemento a 10.
Sistemas Digitales I
Sistemas y códigos numéricos
Códigos decimales mas comunes
Sistemas Digitales I
Sistemas y códigos numéricos
La suma de los dígitos BCD es semejante a la adicción de números
binarios sin signo de 4 bits. Pero debe hacerse una corrección si el
resultado excede 1001. Esta corrección consiste en agregarle 6.
Sistemas Digitales I
Sistemas y códigos numéricos
El BCD es un código ponderado, ya que cada bit de la palabra de
código tiene asignado un peso fijo.
Los códigos como el 2421 son autocomplementados, esto significa
que se puede obtener la palabra de código para el complemento a
nueve de cualquier digito con solo complementar los bits
individuales de la palabra de código.
Los códigos decimales pueden tener mas de 4 bits. Un ejemplo de
esto es el código biquinario y el código 1 de 10.
La principal ventaja de utilizar mas bits del mínimo es la propiedad de
detección de errores.
Sistemas Digitales I
Sistemas y códigos numéricos
Código Gray
Es un tipo de código en el cual cambia solamente un bit entre cada
par de palabras de código sucesivas. Se denominan códigos continuos.
Número
Decimal
Código
binario
Código
Gray
0
000
000
1
001
001
2
010
011
3
011
010
4
100
110
5
101
111
6
110
101
7
111
100
Sistemas Digitales I
Sistemas y códigos numéricos
Códigos carácter (ASCII)
Es un tipo de código utilizado para representar caracteres. El mas
utilizado es el ASCII (American Standard Code for Information
Interchange).
El ASCII representa cada carácter con una cadena de 7 bits, y produce
un total de 127 caracteres diferentes.
Por ejemplo:
A = 1000001
a = 1100001
Sistemas Digitales I
? = 0111111
Sistemas y códigos numéricos
Códigos detectores de error
Un código detector de error tiene la propiedad de que cuando se
produce un error en la palabra de código se genera una palabra de
código no valida.
Un código detecta todos los
errores simples si la distancia
mínima entre todos los pares
posibles de palabras de código es
2.
En general se necesitan n + 1 bits
para construir un código de
detección de errores simples con
2n palabras de código. Es decir que
se le agrega un bit adicional, el
cual se denomina bit de paridad.
Bits de
Código de
Código de
información paridad par paridad impar
000
000 0
000 1
001
001 1
001 0
010
010 1
010 0
011
011 0
011 1
100
100 1
100 0
101
101 0
101 1
110
110 0
110 1
111
111 1
111 0
Sistemas Digitales I
Sistemas y códigos numéricos
Corrección de errores y detección de errores múltiples
El código que se utiliza para corregir errores se denomina código de
corrección de errores. En general si un código tiene:
Distancia mínima = 2c + d + 1
Siendo c la cantidad de bit erróneos a corregir y d la cantidad a detectar.
Por ejemplo si tenemos un código con distancia mínima de 4 podremos
detectar y corregir 1 bit de información.
Cuando se quiere corregir un error hay que tomar la decisión de que
palabra se quiso transmitir originalmente, esta función la realiza un
decodificador de corrección de errores.
Sistemas Digitales I
Sistemas y códigos numéricos
Códigos de Hamming
Estos son códigos que poseen una distancia mínima de tres.
Estos códigos para cualquier valor de i producen un código de (2i − 1)
bits con i bits de verificación y 2i − 1 − i bits de información.
En estos códigos cualquier posición que sea potencia de 2 será un bit de
verificación y las posiciones restantes serán bits de información.
Bits de información
Bits de paridad
Bits Totales
1
2
3
Menor o igual a 4
3
Menor o igual a 7
Menor o igual a 11
4
Menor o igual a 15
Menor o igual a 26
5
Menor o igual a 31
Menor o igual a 57
6
Menor o igual a 63
Menor o igual a 120
7
Menor o igual a 127
Sistemas Digitales I
Sistemas y códigos numéricos
Códigos para almacenamiento y transmisión de datos serie
En los dispositivos digitales existen dos formas para transmitir y
almacenar los datos
Serie
Paralelo
Los datos se envían en una misma línea
de a un bit a la vez. Es mas barato y lento.
Se proporciona una línea independiente
para cada bit. Es mas rápido y caro.
Sistemas Digitales I
Sistemas y códigos numéricos
Transmisión de datos serie
La señal de CLOCK define la velocidad a la cual se van a transmitir los datos, un bit
por cada ciclo de reloj. La señal SYNC indica cuando se va a enviar un nuevo dato.
El tiempo que ocupa cada bit se conoce como celda de bit.
El formato de la señal real que aparece en cada celda de bit depende del código de
línea. El código mas simple que se utiliza es el de no retorno a cero (NZR), se
transmite un 1 al colocar un 1 en toda la celda y un 0 al colocar un 0 en toda la celda.
Sistemas Digitales I
Sistemas y códigos numéricos
Códigos de línea utilizados comúnmente para datos serie
El código NRZI (no retorno a cero invertido) la señal cambia de nivel cuando se
transmite un 1 y se mantiene igual cuando se transmite un 0. Se utiliza en las
cintas o discos magnéticos.
El código RZ (retorno a cero) es similar al NRZ solo que los 1 se transmiten solo
una fracción de tiempo de bit. Es mas fácil recuperar la señal de clock.
El BPRZ (retorno a cero bipolar) transmite con 3 niveles de señal +1, 0 y 1. La
ventaja que tiene es que esta balanceado en CD.
El Manchester proporciona una transición por celda por bit sin importar el valor.
Esto permite recuperar mas fácilmente la señal de clock.
Sistemas Digitales I
Descargar