12.07.2015 Views

Periféricos de almacenamiento

Periféricos de almacenamiento

Periféricos de almacenamiento

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

42 Periféricos <strong>de</strong> <strong>almacenamiento</strong>La mayoría <strong>de</strong> las unida<strong>de</strong>s <strong>de</strong> disco sólo llegan hasta aquí, pero es posible usar otrosmétodos <strong>de</strong> codificación más elaborados que permiten corregir errores mucho más extensos. Estoinvolucra la recodificación <strong>de</strong> los bytes <strong>de</strong> datos, o cambiar el or<strong>de</strong>n <strong>de</strong> los bits o bytes (códigos <strong>de</strong>entrelazado cruzado). Esta última técnica es empleada por ejemplo en los CD's <strong>de</strong> música.2.17 CÁLCULO DEL CRCEn el argot CRC, los mensajes se consi<strong>de</strong>ran como largos polinomios <strong>de</strong>ntro <strong>de</strong> los cualescada bit 0 ó 1 se expresa como el coeficiente <strong>de</strong> un término <strong>de</strong> los mismos. El exponente <strong>de</strong> cadatérmino se obtiene <strong>de</strong> la posición ordinal <strong>de</strong>l bit <strong>de</strong>ntro <strong>de</strong>l mensaje.Ej.: 01011010 = 0x + 1x + 0x + 1x + 1x + 0x + 1x + 0x6 4 3 1los términos cero se omiten: x + x + x + x7 6 5 4 3 2 1 0El polinomio mensaje se divi<strong>de</strong> por otro llamado polinomio generador, produciendo uncociente y un resto. La división se realiza con aritmética módulo 2: en lugar <strong>de</strong> una resta ordinariase realiza una operación XOR sin tener en cuenta los arrastres. El resto <strong>de</strong> la división no setransforma en el CRC hasta que se 'limpia' añadiéndose un bit 0 al polinomio mensaje por cadatérmino <strong>de</strong>l resto. Por lo tanto, en un CRC <strong>de</strong> 16 bits, el divi<strong>de</strong>ndo se rellena con 16 bits 0. El valor<strong>de</strong> comparación CRC es precisamente el resto <strong>de</strong> esta división módulo 2 <strong>de</strong>l polinomio mensajerellenado a<strong>de</strong>cuadamente; el cociente, por su parte, se <strong>de</strong>scarga.Los dos polinomios generadores <strong>de</strong> 16 bits que se usan más frecuentemente son:16 12 5- El polinomio CCITT: x + x + x +116 15 2- El polinomio CRC-16: x + x + x +12.17.1 División polinómica por hardwareSe realiza usando circuitos biestables ('flip-flop') y puertas OR-Exclusivas. En la figura(2.19) se muestra el circuito hardware clásico que realiza esta operación empleando el polinomioCCITT. En este caso, el bit <strong>de</strong> datos más significativo se introduce en el bit bajo <strong>de</strong>l registro resto;este registro se <strong>de</strong>splaza a la izquierda en cada etapa. Después <strong>de</strong> la división, el valor <strong>de</strong>l registrocorrespon<strong>de</strong> exactamente al resto obtenido en la división larga. Este circuito divi<strong>de</strong> un polinomiomensaje <strong>de</strong> cualquier longitud por el polinomio <strong>de</strong> 17 bits especificado <strong>de</strong> la siguiente manera:16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0MSBLSBMSBLSBME NS AJEFig. 2.19 Hardware clásico que realiza la operación <strong>de</strong> división con el polinomio CCITT. MSB y LSB indicanel bit más significativo y el menos significativo <strong>de</strong>l mensaje y <strong>de</strong>l registro respectivamente.1.- Se introduce el bit <strong>de</strong> datos <strong>de</strong> más peso en el registro resto.2.- Se <strong>de</strong>splaza el bit en el registro <strong>de</strong>s<strong>de</strong> el más bajo. El bit más alto <strong>de</strong>l resto se <strong>de</strong>splaza hacia laizquierda. En realidad, estos bits altos constituyen el cociente, que carece <strong>de</strong> interés para nosotros.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!