КАТЕГОРИИ: Архитектура-(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 и т.д. В таблице 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. Закрепление разрядов кодового слова
При записи числа в коде Хэмминга контрольные разряды заполняются таким образом, чтобы сумма единиц по При схемной реализации контроля по коду Хэмминга устройство контроля должно содержать следующие основные узлы: - приемный регистр на - схемы сверток по - схема свертки по - схемы сравнения контрольных разрядов, получаемых при записи и после считывания числа из ОП, для образования синдромов ошибок; - схемы обнаружения места одиночной ошибки и ее инвертирования. Перед записью информации в ОП кодирующее устройство определяет значения контрольных разрядов и записывает их в соответствующие биты слова. Пусть значения информационных разрядов передаваемого слова А равны: 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. Сложим по контрольные разряды числа А: к' 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; Нарушение авторских прав?; Мы поможем в написании вашей работы! |