1. En una almacen automotriz se usa una computadora para almacenar todos lo números de las refacciones en código ASCII de siete números con una paridad impar. Los códigos de cada parte automotriz están almacendos en ubicaciones sucesivas de memoria. Liste el contenido binario de la memoria que almacena el número de la refacción ASR32-5.
Código | ASCII 7 bit | ASCII 7 bit + paridad impar |
A | 1000001 | 1 1000001 |
S | 1010011 | 1 1010011 |
R | 1010010 | 0 1010010 |
3 | 0110011 | 1 0110011 |
2 | 0110010 | 0 0110010 |
- | 0101101 | 1 0101101 |
5 | 0110101 | 1 0110101 |
2. En una computadora de control de proceso se usan código octales para representar direcciones de memoria de 20 bits.
a) ¿Cuántos digitos octales se requieren? Se requieren 7 dígitos octales
b) ¿Cuál es el rango de direcciones en octal? 00000008 hasta 37777778
c) ¿Cuántas ubicaciones de memoria hay? 87 = 2'097,152 ubicaciones
3.- En una computadora se usa un código de direcciones de 40 bits para sus ubicaciones de memoria.
a) ¿Cuántos digitos hexadecimal se necesitan para representar una dirección de memoria? Se requieren 10 dígitos hexadecimales
b) ¿Cuál es el rango de de las direcciones? 000000000016 hasta FFFFFFFFFF16
c) ¿Cuál es el número total de ubicaciones de memoria? 1610 = 1.099511628 x 1012 ubicaciones
4.-En la mayoria de las calculadoras se usa el código BCD para almacenar valores de decimales, a medida que se ingresen mediante el teclado, para llevar a la visualización de los dígitos.
a) Si una calculadora es diseñada para manejar números decimales de 12 dígitos. ¿Cuantos bits se requieren?
12 dígitos x 4 bit (BCD) = 48 bits
b) ¿Cuantos son los bits que se almacenan cuando ingrese el número 89234 en la calculadora?
Decimal | 8 | 9 | 2 | 3 | 4 |
BCD (20 bits) | 1000 | 1001 | 0010 | 0011 | 0100 |
5.-Convierte los siguies números decimales a código BCD y luego agrégueles un bit de paridad impar:
Decimal | BCD | BCD + bit paridad impar |
a) 774 | 0111 0111 0100 | 0 0111 0111 0100 |
b) 338 | 0011 0011 1000 | 0 0011 0011 1000 |
c) 448 | 0100 0100 1000 | 0 0100 0100 1000 |
d) 1234 | 0001 0010 0011 0100 | 0 0001 0010 0011 0100 |
e) 9955 | 1001 1001 0101 0101 | 1 1001 1001 0101 0101 |
6.- En cierto circuito digital, los números digitales de 000 a 999 se representan en código BCD. También se incluye un bit de paridad impar al final de cada grupo de código. Examine cada grupo de código se muestra a continución y suponga que cada uno apenas ha sido transferido de una ubicación a otra. Algunos de los grupos contienen errores. Suponga que no han ocurrido más de dos errores en cada grupo. Determine cuál de los grupos de código tiene un solo error y cuál definitivamente tiene un error doble. (Sugerencia: recuerde que este es un código BCD).
Código BCD | Conversión y/o comentario |
a) 1001 0101 1000 0 | 958 ok! |
b) 0100 0111 0110 0 | 476 bit de paridad error (hay un error) |
c) 0111 1100 0001 1 | 7B1 bit de paridad ok, pero existe más de un error, B en BCD no puede ser representado con 4 bits |
d) 1000 0110 0010 1 | 862 ok! |
e) 1000 1000 1001 1 | 889 ok! |
f) 1001 0001 0011 1 | 913 bit de paridad error (hay un error) |
7.-Los siguientes bytes (mostrados en hex) representan el nombre de una persona en la forma en la que lo almacenaría la memoria de una computadora. Cada byte es un código ASCII de relleno. Determine el nombre de la persona.
42 45 4E 20 53 4D 49 54 48
Hexadecimal | 42 | 45 | 4E | 20 | 53 | 4D | 49 | 54 | 48 |
ASCII | B | E | N | <space> | S | M | I | T | H |
Nombre: BEN SMITH
8.- Represente la afirmación "X= 25/Y" en código ASCII (excluya las comillas) Agregue el bit de paridad impar.
8.- Represente la afirmación "X= 25/Y" en código ASCII (excluya las comillas) Agregue el bit de paridad impar.
ASCII | X | = | 2 | 5 | / | Y |
Hexadecimal | 58 | 3D | 32 | 35 | 2F | 59 |
Binario + paridad impar | 0 101 1000 | 0 011 1101 | 0 011 0010 | 1 011 0101 | 0 010 1111 | 1 101 1001 |
Decimal | 88 | 61 | 50 | 53 | 47 | 89 |
9.-Convierta estos valores hexadecimal a decimal.
a)92 b)1A6 c)37FD d)ABCD e)000F f)55 g)2C0 h)7FF
Hexadecimal | Binario | Decimal |
92 | 1001 0010 | 146 |
1A6 | 0001 1010 0110 | 422 |
37FD | 0011 0111 1111 1101 | 14333 |
ABCD | 1010 1011 1100 1101 | 43981 |
000F | 0000 0000 0000 1111 | 15 |
55 | 0101 0101 | 85 |
2C0 | 0010 1100 0000 | 704 |
7FF | 0111 1111 1111 | 2047 |
10.-Convierta estos valores decimales a hexadecimal
a)75 b)314 c)2048 d)141 e)389
Decimal | Hexadecimal |
75 | 4B |
314 | 13A |
2048 | 800 |
141 | 8D |
389 | 185 |
11.-Convierta los valores hexadecimal del problema 9 a binario. Conversión hecha en problema 9
12.-Suponga que el receptor recibio los siguientes datos del transmisor del ejemplo 2.10
El ejemplo 2.10 del libro Principios y Fundamentos de Sistemas Digitales de Ronald J.Tocci dice:
Un trasmisor envía a un receptor datos codificados en ASCII con un bit de paridad par. Muestre los códigos que el trasmisor enviará cuando trasmita el mensaje "HELLO" (HOLA).
Solución:
El mensaje enviado es:
ASCII | Paridad | Binario |
H | 0 | 1001000 |
E | 1 | 1000101 |
L | 1 | 1001100 |
L | 1 | 1001100 |
O | 1 | 1001111 |
El mensaje recibido es:
ASCII | Paridad | Binario |
H | 0 | 1001000 |
E | 1 | 1000101 |
L | 1 | 1001100 |
H | 1 | 1001000 |
L | 1 | 1001100 |
¿Que errores puede determinar el receptor en estos datos?
Para la paridad par, los unicos datos que no coinciden son el penúltimo ("H" en lugar de "L"), hay otro error en el último dato ("L" en lugar de "O") mas sin embargo, este no puede ser detectado ya que tambien la paridad es par.
13.-Explique en que consiste el código Hamming de corrección de error.
13.-Explique en que consiste el código Hamming de corrección de error.
El código de Hamming se refiere al (7.4) que Hamming introdujo en 1950. El código de Hamming agrega tres bits adicionales de comprobación por cada cuatro bits de datos del mensaje.
El algoritmo de Hamming (7.4) puede corregir cualquier error de un solo bit, pero cuando hay errores en más de un bit, la palabra transmitida se confunde con otra con error en un sólo bit, siendo corregida, pero de forma incorrecta, es decir que la palabra que se corrige es otra distinta a la original, y el mensaje final será incorrecto sin saberlo. Para poder detectar (aunque sin corregirlos) errores de dos bits, se debe añadir un bit más, y el código se llama Hamming extendido. El procedimiento para esto se explica al final.
1. Todos los bits cuya posición es potencia de dos se utilizan como bits de paridad (posiciones 1, 2, 4, 8, 16, 32, 64, etc.).
2. Los bits del resto de posiciones son utilizados como bits de datos (posiciones 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.).
3. Cada bit de paridad se obtiene calculando la paridad de alguno de los bits de datos. La posición del bit de paridad determina la secuencia de los bits que alternativamente comprueba y salta, a partir de éste, tal y como se explica a continuación.
Posición 1: salta 0, comprueba 1, salta 1, comprueba 1, etc.
Posición 2: salta 1, comprueba 2, salta 2, comprueba 2, etc.
Posición 4: salta 3, comprueba 4, salta 4, comprueba 4, etc.
Posición 8: salta 7, comprueba 8, salta 8, comprueba 8, etc.
Posición 16: salta 15, comprueba 16, salta 16, comprueba 16, etc.
Regla general para la posición n es: salta n-1 bits, comprueba n bits, salta n bits, comprueba n bits...
Y así sucesivamente.
En otras palabras, el bit de paridad de la posición 2k comprueba los bits en las posiciones que tengan al bit k en su representación binaria. Dicho a la inversa, el bit 13, por ejemplo, es chequeado por los bits 8, 4 y 1, al ser estos los de su representación binaria: 13=1101(2); 8=1000(2); 4=0100(2); 1=0001(2).
Así, por ejemplo, para los primeros términos se tiene:
En la Posición 1 (2^0 = 1), comprobaríamos los bits: 3, 5, 7, 9, 11, 13...
En la Posición 2 (2^1 = 2), los bits: 3, 6, 7, 10, 11, 14, 15...
En la Posición 4 (2^2 = 4), los bits: 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23...
En la Posición 8 (2^3 = 8) tendríamos: 9, 10, 11, 12, 13, 14, 15, 24-31...
Siguiendo el algoritmo hasta completar la nueva cadena.
14.-Explique la diferencia entre Método de paridad y código Hamming.
El método de paridad permite detectar un solo error de acuerdo a la cantidad de bits 1´s de un byte o palabra enviada, si sucede que cambian más de un bit de tal manera que el bit de paridad no sea afectado, el error no será detectable, en cambio el método Hamming depende de la cantidad de bits a trasmitir para asignar la cantidad de bits de paridad a asignar (ver ejercicio 15) de tal manera que cada bit de paridad se encarga de revisar o validar mas de un dato a la vez esto permite que el código Hamming sea mejor.
15.-De un ejemplo de código Hamming.
15.-De un ejemplo de código Hamming.
Determinar el código Hamming para los bits de datos 11101 utilizando paridad impar.
Paso 1. Determinar el número de bits de paridad necesario para p =4
2p ≥ 24 = 16
d + p +1 = 5 + 4 +1 = 10 → no. De bits de paridad es cuatro
Paso 2. Construir tabla de posiciones de los bits y escribir los bits de datos.
Desiganción de bit | P1 | P2 | D1 | P3 | D2 | D3 | D4 | P4 | D5 |
Posición de bit | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Posición en binario | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 |
Bits de datos | 1 | 1 | 1 | 0 | 1 | ||||
Bits de paridad | 0 | 1 | 1 | 0 | |||||
Resultado | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
No hay comentarios:
Publicar un comentario