Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc100 / #noname_01.DOC
Скачиваний:
29
Добавлен:
01.08.2013
Размер:
156.67 Кб
Скачать
  1. Разработка функциональной схемы блока контроля.

Суть проблемы заключается в том, что при использовании в качестве ОЗУ микросхем динамической памяти возможны ошибки в хранимых словах. Ошибки обычно бывают двух видов - постоянные и типа «сбой». Постоянные ошибки характеризуются тем, что содержимое одной, нескольких или всех адресуемых ячеек БИС заранее определено - из них всегда считывается одна и та же информация. Например, из ячеек с адресами, кратными некоторому числу, может считываться лог. 1, и попытка записи лог. 0 в эти ячейки не даёт желаемых результатов. Ошибки типа «сбой» связаны с разрядом конденсаторов динамических элементов памяти из-за действия кратковременных импульсов случайных помех по цепям питания или линиям управления, из-за пролёта альфа-частиц через кристалл БИС и т.п. Ошибку типа «сбой» можно устранить повторной записью в ту же ячейку считанного и откорректированного кода.

Для этих целей можно использовать блок контроля, использующий код Хэмминга. Код Хэмминга позволяет исправлять одиночные ошибки (ошибки в одном разряде), обнаруживать двойные и тройные ошибки.

Для реализации контроля и исправления ошибок памяти с использованием кода Хэмминга используется специализированная микросхема фирмы IDT - IDT49C460E с временем обнаружения и исправления ошибки 10 нс.

Алгоритм работы корректора следующий. При записи 32-разрядного слова в ОЗУ корректор формирует 7-разрядный код Хэмминга, который также передаётся в накопитель. В результате в адресуемой ячейке ОЗУ запоминается полезная информация (32 бит) и вспомогательная (7 бит). При считывании слова из ячейки памяти оно в неизменном виде поступает в корректор; туда же передаётся код Хэмминга, считанный из той же ячейки.

Корректор анализирует полученную информацию. Если ошибок нет, то поступившее из накопителя 32-разрядное слово без изменений передаётся в магистраль. Если имеется одиночная ошибка в одном из считанных 32 разрядов, то эта ошибка исправляется «на проходе» (но не в самом накопителе) и восстановленное слово передаётся в магистраль. Одновременно с этим формируется сигнал Корректируемая ошибка, который в данной схеме процессором игнорируется (выход ERR# не используется). Допустима также одиночная ошибка в считанных контрольных разрядах, если нет ошибок в информационных. Если в считанном 39-разрядном слове две или более ошибок, то оно не исправляется, формируется сигнал Некорректируемая ошибка, и в контроллер прерываний посылается запрос на прерывание наивысшего приоритета.

Функциональная схема блока контроля приведена рис. 5.

Рис.5. Функциональная схема блока контроля

Описание схемы:

  • входы задания ширины данных СODE ID 1,0 заземлены т.к. ширина данных 32 бита;

  • входы задания режимов диагностики MODE 0,1 заземлены (используется нормальный режим);

  • вход разрешения коррекции correct активизирован;

  • вход разрешения OEsc вывода контрольных битов через порт SC. Если мы читаем из памяти вывод запрещён, если записываем в память вывод разрешён;

  • вход разрешения вывода данных через порт D активизирован на низком уровне синхросигнала при условии что есть обращение к памяти;

  • флаг двойной ошибки MULERR направляется в ЦПУ в контроллер прерываний;

  • выход однократной ошибки ERR не используется т.к. однократные ошибки данная микросхема исправляет.

Соседние файлы в папке doc100