![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation -1-I-I-I-I-I-I-г информационные биты Столбцы являются кодовыми словами с одним контрольным битом проверки на четность
Строки являются кодовыми словами кода С Строки являются кодовыми словами с одним конт-рольным битом проверки на четность Столбцы являются кодовыми словами кода С , -1-I-I-I-1-I-г Условия четности по строкам не нарушены Условия четности по столбцам не нарушены Рис. 2.14. Двумерные коды: (а) общая структура; (Ь) код с проверкой на четность в строках и столбцах с минимальным расстоянием, равным 4; (с) типичная конфигурация необнаруживаемых ошибок Чтобы получить еще большее минимальное расстояние, в отношении строк и/или столбцов можно применить код Хэмминга с минимальным расстоянием 3 или 4. Можно также построить код с большим числом измерений и минимальным расстоянием, равным произведению минимальных расстояний в каждом измерении. Важным применением двумерных кодов являются запоминающие устройства типа RAID (Redundant Array of Inexpensive Disks, набор недорогих дисков с избыточностью). В таком устройстве используются п+\ дисков для хранения данных, объем которых соответствует емкости п дисков. Например, восемь 8-гигабайтовых дисковых накопителей можно использовать для хранения 64 гигабайтов данных без избыточности, а девятый 8-гигабайтовый диск мог бы служить для записи проверочной информации Нарис. 2.15 схематически изображен двумерный код для системы RAID, каждый дисковый накопитель считается строкой кода. В каждом накопителе сохраняются т блоков данных, содержащих обычно по 512 байтов. В частности, на 8-гига-байтовом диске можно запомнить около 16 миллионов блоков Как показано на рисунке, каждый блок включает свои собственные проверочные биты, образуемые по правилу циклического кода, чтобы обнаруживать ошибки внутри блока. В первых п накопителях хранятся данные без избыточности Каждый блок (и-И )-го накопителя содержит контрольные биты для соответствующих битов первых и накопителей Это означает, что /-й бит в Ь-и блоке на {п+\)-м диске выбирается так, чтобы число единиц в /-х разрядах Ь-х блоков на всех дисках было четным Диск 1 Диск 2 ДискЗ Диск 4 Диск 5 Диск 6 Диск я Дискп+1 -1-I-I-I-г информационные блоки I I I I LLJ I I I U Байты данных 1 2 3 4 5 6 7 II I I I I I г - Один блок проверочные блоки 512 CRC Рис. 2.15. Структура кода, исправляющего ошибки, для системы RAID (CRC -проверочные биты циклического кода) В процессе работы ошибки в информационных битах обнаруживаются циклическим кодом. В любом случае, когда обнаружена ошибка в блоке на одном из дисков, правильное содержимое этого блока можно получить путем простой проверки на четность соответствующих блоков на всех других дисках, включая (и+1 )-й. И хотя это требует и дополнительных чтений с дисков, это все же лучше, чем потерять ваши данные! При записи нового информационного блока также требуются дополнительные обращения к дискам для обновления соответствующего проверочного блока (см. задачу 2.46) Поскольку обычно записи происходят значительно реже, чем чтения, эти накладные расходы не обременительны. 2.15.6. Коды с контрольной суммой Операция проверки на четность, о которой говорилось в предыдущих разделах, является по существу сложением битов по модулю 2: сумма набора битов по модулю 2 равна О, если число единиц в этом наборе четно, и равна 1, если оно нечетно. Правило сложения по модулю можно распространить на другие основания, отличающиеся от 2, и таким образом получать проверочные цифры В компьютерах, например, данные хранятся в виде совокупности 8-битовых, байтов. Можно считать, что каждый байт имеет десятичное значение от О до 255. Поэтому для образования проверки по байтам можно воспользоваться сложением по модулю 256 Одиночный проверочный байт, являющийся суммой по модулю 256 всех информационных байтов, называется контрольной суммой (сИесЬит) Получающийся в результате код с контрапьной суммой (checksum code) может обнаружить любую одиночную ошибку в байте, поскольку такая ошибка приведет к расхождению между вновь вычисленной суммой байтов и контрольной суммой Для построения кодов с контрольной суммой при сложении можно использовать и другие модули. Важными, в частности, являются коды с контрольной суммой, которую находят путем сложения по модулю 255, то есть коды сконтрочьной суммой, образуемой путем сложения в обратном коде (ones-complement checksum codes); такие коды обладают особыми свойствами в отношении вычислений и обнаружения ошибок, в связи с чем эти коды применяются для защиты от ошибок в заголовках пакетов в вездесущем протоколе Интернета (Internet Protocol, IP; см. Обзор литературы). Номер блока 123456789 10 11 12 m 2.15.7. Коды т из л Минимальное расстояние в кодах ! из и и т из и , введенных в парафафе 2.13, равно 2, поскольку изменение только одного бита изменяет число единиц в кодовом слове и приводит, таким образом, к слову, не являющемуся кодовым. Эти коды обладают другим полезным свойством с точки зрения обнаружения ошибок; они обнаруживают множественные однонаправленные ошибки. Под однонаправленной ошибкой {unidirectional error) понимают случай, когда изменение во всех ошибочных битах происходит в одну сторону (нули изменяются на единицы или наоборот). Это свойство оказывается очень полезным, если преобладающий механизм ошибок в системе имеет тенденцию изменять все биты в одну и ту же сторону. 2.16. Коды для последовательной передачи и хранения данных 2.16.1. Параллельное и последовательное представление данных в большинстве компьютеров и в других цифровых системах данные передаются и хранятся в параллельном формате {parallel data). При параллельной передаче данных для каждого бита в слове данных предоставлена отдельная сигнальная линия. При параллельном хранении данных все биты слова данных можно записать и прочитать одновременно. В некоторых приложениях применение параллельных форматов не оправдывает затрат. Например, для параллельной передачи байтов данных по телефонной сети потребовалось бы восемь телефонных линий, а для параллельного хранения байтов данных на магнитном диске нужно было бы иметь накопитель с восемью отдельными головками для чтения/записи. Последовательные форматы {serial data) позволяют передавать данные, а также записьшать и считывать их при хранении по одному биту за раз, благодаря чему стоимость системы во многих случаях снижается. Рис. 2.1 б является иллюстрацией основных идей, относящихся к последовательной передаче данных. Периодическим тактовым сигналом CLOCK задается скорость передачи битов: по одному биту за период тактового сигнала. Таким образом, скорость передачи, измеряемая числом битов в секунду (бит/с; bit rate, bps), равна частоте тактового сигнала, выраженной числом периодов в секунду (герц, Гц). Величина, обратная скорости передачи (выраженной в бит/с), называется длительностью бита {bit time); численно она равна периоду тактового сигнала в секундах (с). Это время отводится в линии послс-довательной передачи данных (названной на рисунке SERDATA) на каждый передаваемый бит. Иногда время, занимаемое каждым битом, называют битовой ячейкой {bit cell). Фактический вид сигнала, возникающего в линии в пределах каждой ячейки, зависит от сигнального кода {line code). В случае простейшего сигнального кода, называемого кодам без возврата к нулю {Non-Rettim-to-Zero, NRZ), единичный бит передается путем удерживания на линии 1 в течение всего времени, занимаемого битовой ячейкой, а ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |