ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.12.2021

Просмотров: 5260

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Таким образом, для рассматриваемого случая значения контрольных разрядов

вычисляются по следующим правилам:

Проверим корректность такой схемы на примере. Пусть входной крд равен

00101011, где разряду Z), соответствует правая цифра. Контрольные разряды вы-
числяются следующим образом:

Предположим, что данные в бите 3 содержат ошибку и там вместо 0 находит-

ся 1. После пересчета контрольных разрядов имеем

Путем сложения по модулю двух результатов старой и новой проверок полу-

чим слово синдрома

 (S

8

S

4

S

2

S

1

):

Результат 0110

2

 (6

10

) означает, что в разряде 6, содержащем третий бит данных,

присутствует ошибка.

Описанный код называется

 кодом с исправлением одиночной ошибки

 (SEC —

Single Error Correcting). В большинстве микросхем памяти используется

 код с ис-

правлением одиночной и обнаружением двойной ошибки (SECDED —

 Single Error

Correcting, Double Error Detecting). Из табл. 5.2 видно, что, по сравнению с SEC,

такой код требует одного дополнительного контрольного разряда.

Коды с исправлением ошибок применяются в большинстве ВМ. Например, в ос-

новной памяти ВМ типа IBM ЗОхх используется 8-разрядный код SECDED на каж-

дые 64 бита данных, то есть емкость памяти примерно на 12% больше, чем имеет в
своем распоряжении пользователь. В ВМ типа VAX на каждые 32 разряда данных
добавлен 7-разрядный код SECDED, следовательно, избыточность составляет 22%.

Обнаружение и исправление ошибок  2 4 1


background image

242 Глава 5. Память

Структура одного из вариантов построения устройства для обнаружения оди-

нарных и двойных ошибок с коррекцией одинарных ошибок приведена на рис. 5.17.
Схема предназначена для контроля 16-разрядных данных и размещается между
процессором и памятью. Из табл. 5.2 видно, что код SECDED предполагает шесть

дополнительных разрядов. Таким образом, из процессора и в процессор поступа-
ют 16-разрядные коды

 (UD

15

...UD

0

),

 а в память заносятся 22-разрядные данные

(M

21

... M

0

). Хранящаяся в ячейках памяти информация состоит из 16 бит инфор-

мации

 (MD

15

...

 MD

0

)

 и 6 контрольных битов (

MP

5

...

 MР

0

).

 В последующем первые

буквы в обозначении разрядов могут быть опущены, при этом

 D

 будет означать

информационный разряд кода, а

 Р —

 контрольный разряд.

Система размещения основных и контрольных разрядов была рассмотрена ра-

нее, и для данной схемы она приведена в табл. 5.4.

Таблица 5.4.

 Распределение информационных и контрольных разрядов в 22-разрядном слове

Особенность рассматриваемой схемы состоит в способе формирования конт-

рольного разряда

 Р

5

.

 Он вычисляется путем суммирования по модулю 2 всех ос-

тальных 21 разрядов кода (

D

1

5

...

 D

0

 и

 МР

4

...

 MР

0

).

 По мнению авторов рассматри-

ваемой схемы, это облегчает фиксацию факта неисправимой двойной ошибки.

При чтении из памяти формирователем синдрома вычисляется синдром S

4

... S

0

:

Здесь

 Р

4

...

 Р

0

 —

 контрольные разряды, вычисленные генератором контрольных

разрядов на основании информационных битов считанного из памяти кода

 (MD

15

...

MD

0

). MP

5

... MР

0

 —

 такие же контрольные разряды, полученные тем же генерато-

ром, но перед записью информации в память и хранившиеся там вместе с основ-


background image

Обнаружение и исправление ошибок

  2 4 3

Рис. 5.17.

 Схема обнаружения одинарных и двойных ошибок с коррекцией одинарных

ной информацией. Если синдром не равен нулю, то он указывает на позицию иска-
зившегося бита при одиночной ошибке. С учетом контрольного разряда

 Р

5

 воз-

можны четыре ситуации, показанные в табл. 5.5.

Таблица 5.5.

Синдром

0

0

Обнаружение ошибок

Р5

0

1

0

1

Тип ошибки

Ошибки нет

Одиночная ошибка

Двойная ошибка

Ошибка в контрольном

разряде

Примечания

Корректируемая: синдром указывает

на позицию искаженного разряда

Неисправимая

Искажен контрольный разряд

 Р

5

,

 и он может

быть откорректирован

Сигнал Чт/Зп на схеме определяет выполняемую операцию. Чт/Зп = 1 означает

чтение из памяти, а Чт/Зп = 0 — запись в память.

Проанализировав полученный синдром и разряд

 Р

5

,

 обнаружитель ошибки фор-

мирует двухразрядный код ошибки

 E

1

E

0

 (табл. 5.6).

Таблица 5.6.

 Кодирование ошибок

Код ошибки

 ЕО)

00

01

10

Ошибки нет

Одиночная ошибка — исправимая

Двойная ошибка — неисправимая

Ошибка в контрольном разряде — исправимая


background image

2 4 4 Глава 5. Память

Стековая память

Стековая память

 обеспечивает такой режим работы, когда информация записы-

вается и считывается по принципу

 «последним записан — первым

 (LIFО—

Last In First Out). Память с подобной организацией широко применяется для запо-

минания и восстановления содержимого регистров процессора (контекста) при об-
работке подпрограмм и прерываний. Работу стековой памяти поясняет рис. 5.18,

 а.

Рис. 5.18. Организация стековой памяти: а — логика работы;

б —

 аппаратно-программный стек

Когда слово А заносится в стек, оно располагается в первой свободной ячейке.

Каждое следующее записываемое слово перемещает все содержимое стека на одну

ячейку вверх и занимает освободившуюся ячейку. Запись очередного кода, после

Н, приводит к переполнению стека и потере кода А. Считывание кодов из стека

осуществляется в обратном порядке, то есть начиная с кода Н, который был запи-
сан последним. Отметим, что доступ к произвольному коду в стеке формально не-

допустим до извлечения всех кодов, записанных позже.

Наиболее распространенным в настоящее время является внешний или аппа-

ратно-программный стек, в котором для хранения информации отводится область

ОП. Обычно для этих целей отводится участок памяти с наибольшими адресами,

а стек расширяется в сторону уменьшения адресов. Поскольку программа обычно

загружается, начиная с меньших адресов, такой прием во многих случаях позволя-
ет избежать перекрытия областей программы и стека. Адресация стека обеспечи-
вается специальным регистром —

 указателем стека

 (SP — stack pointer), в кото-

рый предварительно помещается наибольший адрес области основной памяти,
отведенной под стек (рис. 5.18,

 б).

При занесении в стек очередного слова сначала производится уменьшение на

единицу содержимого указателя стека (УС), которое затем используется как ад-
рес ячейки, куда и производится запись, то есть указатель стека хранит адрес той
ячейки, к которой было произведено последнее обращение. Это можно описать
в виде: УС:= УС - 1; ОП[(УС)]:=ШД.

При считывании слова из стека в качестве адреса этого слова берется текущее

содержимое указателя стека, а после того как слово извлечено, содержимое УС


background image

Ассоциативная память  2 4 5

увеличивается на единицу. Таким образом, при извлечении слова из стека реали-
зуются следующие операции: ШД:= ОП[(УС)]; УС := УС +1.

Ассоциативная память

В рассмотренных ранее видах запоминающих устройств доступ к информации тре-

бовал указания адреса ячейки. Зачастую значительно удобнее искать информа-
цию не по адресу, а опираясь на какой-нибудь характерный признак, содержащийся
в самой информации. Такой принцип лежит в основе ЗУ, известного как

 ассоциа-

тивное запоминающее устройство

 (АЗУ). В литературе встречаются и иные на-

звания подобного ЗУ: память, адресуемая по содержанию (content addressable
memory); память, адресуемая по данным (data addressable memory); память с па-
раллельным поиском (parallel search memory); каталоговая память (catalog memory);
информационное ЗУ (information storage); тегированная память (tag memory).
Ассоциативное ЗУ — это устройство, способное хранить информацию, сравнивать
ее с некоторым заданным образцом и указывать на их соответствие или несоответ-
ствие друг другу. Признак, по которому производится поиск информации, будем
называть

 ассоциативным признаком,

 а кодовую комбинацию, выступающую в роли

образца для поиска, —

 признаком поиска.

 Ассоциативный признак может быть ча-

стью искомой информации или дополнительно придаваться ей. В последнем слу-
чае его принято называть

 тегом

 или

 ярлыком.

Рис.

 5.19. Структура ассоциативного запоминающего устройства

Один из вариантов построения ассоциативной памяти показан на рис. 5.19. АЗУ

включает в себя:

• запоминающий массив для хранения

 N m

-разрядных слов, в каждом из кото-

рых несколько младших разрядов занимает служебная информация;

• регистр ассоциативного признака, куда помещается код искомой информации

(признак поиска). Разрядность регистра

 k

 обычно меньше длины слова

 т;


Смотрите также файлы