КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Обнаружение и исправление ошибок при обращении к ОП
При работе с полупроводниковой памятью не исключено возникновение различного рода отказов и сбоев. Причиной отказовмогут быть производственные дефекты, повреждение микросхем или их физический износ. Проявляются отказы в том, что в отдельных разрядах одной или нескольких ячеек постоянно считывается 0 или 1, вне зависимости от реально записанной туда информации. Сбой – это случайное событие, выражающееся в неверном считывании или записи информации в отдельных разрядах одной или нескольких ячеек, не связанное с дефектами микросхемы. Сбои обычно обусловлены проблемами с источником питания или с воздействием альфа-частиц, возникающих в результате распада радиоактивных элементов, которые в небольших количествах присутствуют практически в любых материалах. Как отказы, так и сбои крайне нежелательны, поэтому в большинстве систем основной памяти содержатся схемы, служащие для обнаружения и исправления ошибок. Вне зависимости от того, как именно реализуется контроль и исправление ошибок, в основе их всегда лежит введение избыточности. Это означает, что контролируемые разряды дополняются контрольными разрядами, благодаря которым и возможно детектирование ошибок, а в ряде методов – их коррекция. На рисунке 3.10 показано, каким образом осуществляются обнаружение и исправление ошибок. Перед записью М -разрядных данных в память производится их обработка, обозначенная на схеме функцией «f», в результате которой формируется добавочный К -разрядный код. В память заносятся как данные, так и этот вычисленный код, то есть (М + К)-разрядная информация. При чтении информации повторно формируется К -разрядный код, который сравнивается с аналогичным кодом, считанным из ячейки. Сравнение приводит к одному из трех результатов: 1. Не обнаружено ни одной ошибки. Извлеченные из ячейки данные подаются на выход памяти. 2. Обнаружена ошибка, и она может быть исправлена. Биты данных и добавочного кода подаются на схему коррекции. После исправления ошибки в М -разрядных данных они поступают на выход памяти. 3. Обнаружена ошибка, и она не может быть исправлена. Выдается сообщение о неисправимой ошибке. Рис 3.10. Общая схема обнаружения и исправления ошибок Коды, используемые для подобных операций, называют корректирующими кодами или кодами с исправлением ошибок. Одним из таких кодов является код Хэмминга. Код Хэмминга является групповым систематическим кодом. В систематическом коде позиции информационных и контрольных разрядов постоянны. Такой код строится путем добавления m информационным разрядам k контрольных разрядов. Общее количество разрядов кодового слова . Минимальное количество контрольных разрядов К, необходимых для построения кода Хэмминга, обнаруживающего одиночную ошибку (кодовое расстояние d =3), определяется из уравнения Все m информационных разрядов разбиваются на k контрольных групп, являющихся взаимно пересекающимися подмножествами. Это означает, что определенный информационный разряд может входить в одну или несколько контрольных групп. Каждый контрольный разряд относится только к отдельной контрольной группе (определенному подмножеству). При формировании кода (перед его записью в ОП) в контрольные разряды записываются символы 0 или 1, являющиеся дополнениями до четности числа единиц в контролируемых ими подмножествах. Модифицированный код Хэмминга имеет кодовое расстояние d =4, что позволяет обнаруживать и корректировать одиночные ошибки и обнаруживать двойные. Для образования модифицированного кода Хэмминга в разрядную сетку вводят дополнительный контрольный разряд для проверки на четность общего количества единиц во всем кодовом слове, включая все контрольные разряды. Правила построения и использования кода Хэмминга рассмотрим на примере, для случая: 1. общее количество разрядов кодового слова ; 2. количество контрольных разрядов ; 3. количество информационных разрядов . Первым этапом построения кода Хэмминга является разбиение разрядов кодового слова на взаимно пересекающиеся подмножества. За каждым подмножеством закрепляется контрольный разряд четности, дополняющий до четного количество единиц в разрядах кодового слова, включенных в данное подмножество. Контрольные разряды имеют номера , где . В рассматриваемом примере контрольные разряды имеют номера: 1, 2, 4, 8, т.е. располагаются в 1, 2, 4 и 8 разрядах кодового слова при нумерации его разрядов слева направо: 1, 2, 3,..., 15.
Формирование контролируемых подмножеств проведем на основании анализа номеров разрядов кодового слова при записи их в двоичной системе счисления. Все разряды кодового слова, имеющие единицу в первом разряде своего номера, включаются в подмножество Е 1, во втором – в подмножество Е 2 и т.д. В таблице 3.1 показано закрепление разрядов кодового слова за подмножествами. Для первого подмножества контрольным разрядом является первый разряд кодового слова – к 1, для второго подмножества – второй разряд кодового слова – к 2, для третьего – четвертый разряд к 3 и для Е 4 – восьмой разряд к 4. Таким образом, в подмножества по Хэммингу входят следующие разряды кодового слова: Е 1={ 1, 3, 5, 7, 9, 11, 13, 15} E 2={ 2, 3, 6, 7, 10, 11, 14, 15} E 3={ 4, 5, 6, 7, 12, 13, 14, 15} E 4={ 8, 9, 10, 11, 12, 13, 14, 15} Из приведенной схемы видно, что контрольные разряды (подчеркнуты) входят только в контролируемые ими подмножества и начинают эти подмножества. Другие разряды могут входить в несколько подмножеств, (например 15 – во все четыре). Таблица 3.1. Закрепление разрядов кодового слова
При записи числа в коде Хэмминга контрольные разряды заполняются таким образом, чтобы сумма единиц по информационных разрядов каждого подмножества E S и его контрольного разряда равнялась нулю. При схемной реализации контроля по коду Хэмминга устройство контроля должно содержать следующие основные узлы: - приемный регистр на разрядов; - схемы сверток по для каждого из подмножеств с целью образования контрольных кодов (кодирующие устройства); - схема свертки по , охватывающая все n разрядов для обнаружения двойной ошибки; - схемы сравнения контрольных разрядов, получаемых при записи и после считывания числа из ОП, для образования синдромов ошибок; - схемы обнаружения места одиночной ошибки и ее инвертирования. Перед записью информации в ОП кодирующее устройство определяет значения контрольных разрядов и записывает их в соответствующие биты слова. Пусть значения информационных разрядов передаваемого слова А равны: . 1. Запишем число, пропуская позиции контрольных разрядов: Таблица 3.2.
2. Вычислим первый контрольный разряд. В первое подмножество входят разряды 3, 5, 7, 9, 11, 13, 15. 3, 5, 9 и 11 разряды равны единице, а остальные – нулю. Следовательно к 1=0. Аналогично получаем значения остальных контрольных разрядов. C учетом контрольных разрядов код числа А будет иметь вид, приведенный в таблице 3.3. Таблица 3.3.
Контрольные разряды к 1, к 2, к 3, к 4 записаны в 1, 2, 4, 8 разряды кодового слова А. Цифры в контрольных разрядах по каждому подмножеству Е 1, Е 2, Е 3, Е 4 дополняют до нечетного значения число единиц в соответствующем подмножестве. Число А вместе с контрольными разрядами записывается в оперативную память. Пример 1. Пусть значения информационных разрядов передаваемого числа . C учетом контрольных разрядов код числа А будет иметь вид, приведенный в таблице 3.4. В процессе хранения или считывания этого числа из ОП может произойти искажение информации. Теория и практика показывают, что наиболее вероятны одиночные ошибки. После считывания числа А из ОП вновь выделяются контрольные разряды к' 1, к' 2, к' 3, к' 4 и поразрядно сравниваются с первичными контрольными разрядами к 1, к 2, к 3, к 4, выделенными перед записью числа А в ОП. Таблица 3.4.
Если сравниваемые контрольные разряды равны, ошибка отсутствует. В противном случае – в считанной информации имеется ошибка. Одиночные ошибки могут быть исправлены путем определения разряда числа, содержащего ошибку и инверсии его содержимого. Пример 2. Введем ошибку в 13 разряд числа А путем замены 0 на 1. Код считанного числа А' с ошибкой приведен в таблице 3.5. Таблица 3.5.
Вычислим значения контрольных разрядов для считанного числа А с использованием подмножеств по Хэммингу. Отметим, что 13-й разряд входит только в подмножества Е 1, Е 3, Е 4, следовательно, произойдет инверсия контрольных разрядов (определенных для числа А) только в данных подмножествах. Получим: к' 1=1, к' 2=1, к' 3=1, к' 4=0. Сложим по одноименные контрольные разряды кодового слова (числа А) и числа А'. В результате получим номер разряда кодового слова (числа А'), содержащего ошибку 13 разряд (D16 = 1310). контрольные разряды числа А: к' 4=1, к' 3=0, к' 2=1, к' 1=0 контрольные разряды числа А': к' 4=0, к' 3=1, к' 2=1, к' 1=1 Номер разряда числа А', содержащего ошибку: 1 1 0 1 = 1310 Рассмотренный код Хэмминга имеет d = 3 и позволяет обнаруживать и корректировать одиночную ошибку. Обнаружение двойной ошибки возможно при использовании модифицированного кода Хэмминга, с кодовым расстоянием d = 4.
Дата добавления: 2013-12-12; Просмотров: 869; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |