Студопедия

КАТЕГОРИИ:


Архитектура-(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       к 4              

Формирование контролируемых подмножеств проведем на основании анализа номеров разрядов кодового слова при записи их в двоичной системе счисления. Все разряды кодового слова, имеющие единицу в первом разряде своего номера, включаются в подмножество Е 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 4 E 3 E 2 E 1
  (к 1)         +
  (к 2)       +  
          + +
  (к 3)     +    
        +   +
        + +  
        + + +
  (к 4)   +      
      +     +
      +   +  
      +   + +
      + +    
      + +   +
      + + +  
      + + + +

При записи числа в коде Хэмминга контрольные разряды заполняются таким образом, чтобы сумма единиц по информационных разрядов каждого подмножества E S и его контрольного разряда равнялась нулю.

При схемной реализации контроля по коду Хэмминга устройство контроля должно содержать следующие основные узлы:

- приемный регистр на разрядов;

- схемы сверток по для каждого из подмножеств с целью образования контрольных кодов (кодирующие устройства);

- схема свертки по , охватывающая все n разрядов для обнаружения двойной ошибки;

- схемы сравнения контрольных разрядов, получаемых при записи и после считывания числа из ОП, для образования синдромов ошибок;

- схемы обнаружения места одиночной ошибки и ее инвертирования.

Перед записью информации в ОП кодирующее устройство определяет значения контрольных разрядов и записывает их в соответствующие биты слова.

Пусть значения информационных разрядов передаваемого слова А равны: .

1. Запишем число, пропуская позиции контрольных разрядов:

Таблица 3.2.

Номера разрядов к 1 к 2   к 3       к 4              
Код числа A                              

 

2. Вычислим первый контрольный разряд. В первое подмножество входят разряды 3, 5, 7, 9, 11, 13, 15. 3, 5, 9 и 11 разряды равны единице, а остальные – нулю. Следовательно к 1=0. Аналогично получаем значения остальных контрольных разрядов.

C учетом контрольных разрядов код числа А будет иметь вид, приведенный в таблице 3.3.

Таблица 3.3.

Номера разрядов к1 к2   к3       к4              
Код числа A                              

 

Контрольные разряды к 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.

Номера разрядов к1 к2   к3       к4              
Код числа A                              

 

Если сравниваемые контрольные разряды равны, ошибка отсутствует. В противном случае – в считанной информации имеется ошибка. Одиночные ошибки могут быть исправлены путем определения разряда числа, содержащего ошибку и инверсии его содержимого.

Пример 2. Введем ошибку в 13 разряд числа А путем замены 0 на 1. Код считанного числа А' с ошибкой приведен в таблице 3.5.

Таблица 3.5.

Номера разрядов к1 к2   к3       к4              
Код числа A'                              

 

Вычислим значения контрольных разрядов для считанного числа А с использованием подмножеств по Хэммингу.

Отметим, что 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; Просмотров: 833; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.034 сек.