Файл: Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.06.2024
Просмотров: 141
Скачиваний: 0
- 57-
держалое на противоположное, затем в полученной разности вновь проделать эту же операцию и т .д . до получения остатка.
Рис. 3.6.
Указанная операция выполняется с помощью сдвигающего ре
гистра |
(T j + Т^) |
сумматоров по |
tnod.2 и элемента Mj . |
Элемен |
|
ты И2 |
и ИЛИ служат для передачи |
на выход полученного |
остатка |
||
при кодировании, |
дешифратор - |
для |
формирования сигнала |
ошибки |
при декодировании. Выходы триггеров заведены на входы дешифра тора, обеспечивающего исправление ошибок.
14шульсы CHj подаются одновременно со сдвигающими импульсами
в течение первых л |
тактов ( П |
- |
число разрядов |
в к од е ), |
Импульсы СИ2 подаются |
в четырех тактах, 'начиная с |
I II* 1 )-хм . |
||
Импульс СИг) подается |
в ( II * 4 |
) |
такте. |
|
3ub.U27.
- SS-
кодируемое число последовательно, разряд за разрядом, |
с т а т н |
||||||||
ый разрядами вперед, поступает |
через элемент НИИ на выход и |
||||||||
через сумматор по |
m od2 |
- на вход сдвигающего регистра. При |
|||||||
поступлении |
на триггер |
кода единицы элемент lij открывается |
|||||||
и следующий CItj |
проходит |
на входы сумматоров по mod 2 . |
Благо- |
||||||
даря этому |
происходит сложение |
по |
mod 2 |
очередного |
разряда |
||||
кодируемого |
числа |
и содержимого |
Т р |
передаваемого на |
, |
с |
|||
единицей, т .е . |
происходит |
инвертирование |
содержимого |
двух |
раз |
рядов, отстоящих от старшего на две позиции. Единица старшего
разряда, сдвигаясь нз Т4 , теряется. При поступлении на |
сле |
дующей едишщц операция повторяется. При поступлении п |
сдви |
гающих импульсов в регистре образуется остаток, который импуль сами СИ2 передается на выход и присоединяется, таким образом,
к кодируемому числу, образуя код.
Декодирование осуществляется аналогично, с той лишь разни цей, что в этом случае в регистре образуется модель ошибки, по которой дешифратором формируется сигнал исправления ошибки.
Если ошибки нет, остаток равен нулю.
Работа схемы при кодировашга десятиразрядного числа
I000III00I иллюстрируется временной диаграммой (р и с .3 .7 ) . На диаграмме Рч обозначено значение очередного разряда кодируемо го числа, поданного на вход схемы.
После 14-го такта в регистре образовался остаток 1010.
Последующими четырьмя СИ2 остаток передается на выход, присо единяясь к кодируемому числу, и в результате формируется код
IOOOIIIOOIIOIO.
Формирование циклического кода при параллельной передаче кодов требует большой избыточности и применяется срапнительно редко.
Я |
п |
|
|
|
п _пп . . |
п , |
, . . |
, , |
|
t |
|||||
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|||||||||
си0 vJu U l A A A А А Л Л А А Л Л А А A * |
|||||||||||||||
сиг |
|
|
|
|
|
|
|
|
А А А А |
i |
|
!/ |
|||
|
|
|
|
|
|
|
|
|
|
||||||
1 |
|
1—1 1 1 1 1 1 1 1 1 1 1 1 |
А А |
A |
|||||||||||
си5 |
I |
|
г г |
|
|||||||||||
т, |
h |
- |
1 1 1 |
1 1 1 1 1 1 1 |
1 А 1 |
1 1/ |
|||||||||
|
1 1 1 I I I |
|
I "I |
|
|||||||||||
|
|
П |
|
1 1 |
|
Н И Н Т |
1 , "ТГ П |
|
1 1 |
|
|||||
ъ |
|
1 |
|
' |
|
1 |
1 Т I |
f 1 |
т |
* |
|
TV |
|||
|
|
|
П I Н - Л ь - Г Л л п |
|
|||||||||||
Т 2 . I |
|
|
T V |
||||||||||||
Тц. |
| 1 Г 1 [ 1 Т 1 Т г |
|
-г*—г1 |
|
|||||||||||
1 |
|
1 |
ГЛ |
1 |
ГЛ |
ГЛ |
ГЛГЛ |
гл |
гл |
1 1 ? |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
i i i h |
5 |
i n |
n |
n h |
h |
h i i; |
|||||||
|
|
1 |
|
2 |
3 ц |
6 7 |
8 д |
Ю и п |
13 |
<4 |
IS /5 |
/7 /8 |
Рис. 3.7.
Кроме рассмотренных кодов для контроля передачи информации могут быть использованы и другие коды (равновесный, по наимень шим вычетам и т . д . ). Однако мы ограничимся рассмотренными выше гак наиболее распространенными.
- 60-
Г л а в а 1У
кода ДНЯ КОНТРОЛЯ АИШВПГИШК и лопиеских
ОПЕРАЦИЙ
§ 4 .1 . Общие замечания
Аппаратный контроль арифметических операций - задача более
трудная, чал контроль передачи информации. Эту задачу можно сформулировать так.
Имеются два числа, закодированные надлежащим образом. В резуль тате операции, выполняемой над ними, получается третье число.
Необходимо без повторения операции убедиться в наличии или от сутствии ошибок, которые произошли в результате неправильного срабатывания одного или нескольких элементов арифметического устройства.
Ясно, что корректирующий код в этом случае должен обладать
особдаи свойствами. Обязательным, в частности, является совмес
тимость кода с выполняемой операцией, т .е . чтобы признаки, по
которда определяется наличие ошибок, не исчезали и не изменя лись при выполнении операции. Прн этом желательно иметь такие кода, которые содержали бы признак правильности, общий для всего числа, и чтобы этот признак сохранялся у результата опе рации. Кроме того , желательно, чтобы код был самодополюдацим-
ея, т .е . чтобы дополнение кода совпадало с кодом дополнения этого числа (имеется ввиду дополнение гг -разрядного числа до 2П- I ) .
С точки зрения практического применения значительные пре
имущества имеют систематические кода, особенно такие, при ко торых операции над информационной и контрольной частью можно производить раздельно, а результаты сравнивать по заданному признаку.
Имеется целый ряд кодов, обладапцкх указанными свойствами,
и предназначенных как для обнаружения, так и для исправления ошибок. Однако в настоящее время широкое применение в ЭЦВМ на ходят только сравнительно простые кода, предназначенные лишь для обнаружения ошибок.
Для арифметических кодов, как было показано ранее, поня
тие одиночной и групповых ошибок отличается от аналогичного понятия для случая передачи информации. В связи с этим изменя ется и понятие кодового расстояния. Для кодов, обнаруживающих ошибки в арифметических операциях, важно не количество разря дов, в которых отличаются правильные и неправильные числа, а
величина разности этих чисел.
Расстояние между кодовыми комбинациями, изображающими два
числа, определяется кале вес |
разности этих чисел. Например, если |
А = I0 II0 I, а В = I000II, то |
d = W ( А ~ Ь ) = 2 . |
При таком определении сохраняется введенные ранее соотношения меаду корректирующей способностью и его минимальным кодо
вым расстоянием. Так, для уверенного обнаружения одиночных оши бок необходимо иметь d = 2, двойных ошибок - d = 3 и т*д.
КВк видно из определения понятия ошибки и кодового рассто яния в арифметических операциях затруднительно применять кода о арифметикой по модулю 2 (проверка на четность, Хэмминга и д р .).
Одаако, как будет показано ниже, код с проваркой на четность гложет быть применен для контроля некоторых операций.
- 62-
Рассмотрим некоторые коды, применяемые дня контроля ариф
метических операций. |
|
|
§ 4.2. Коды типа AN |
и ^ Л / + М |
|
Одним из возможных способов образования кода, обеспечива- |
||
пцего обнаружение ошибок d суш е или разности двух числе |
, со |
|
стоит в том, что число А представляется в |
виде A-N , |
где |
N - постоянное число. При этом, |
|
|
AN ± BN = N ( A ± B ) |
|
|
Если N выбрано надлежащим образом, |
ошибки в результате |
могут быть обнаружены. Кодирование в данном случае заключается
в умножении чисел на N , а декодирование - в делении. Деление
без остатка указывает на отсутствие ошибок, на обнаружение ко торых код рассчитан.
Корректирующая способность кода зависит от выбора N . Так,
для обнаружения одиночной ошибки очевидно необходимо поставить
требование, чтобы |
2 1 не делилось |
на |
N . |
Это |
условие |
выпол |
||
няется, если N и |
2 взаимно простые |
числа, |
причем М > |
2. В |
||||
частности, можно положить И/ |
= 3. |
|
|
|
|
|
||
Минимальное кодовое |
расстояние |
при этом d |
- 2, избыточ |
|||||
ность кода т = |
3 |
= 1 , 1 , |
Это |
значит, |
что |
требуется |
не |
|
больше двух избыточных знаков. |
Этот |
код не |
самодополняющийся. |
|||||
Для получения самодополняюшегося кода к рассмотренному |
||||||||
выше добавляют постоянное число М , |
т . е . |
образуют код AN 4 М. |
При этом минимальное кодовое расстояние и корректирующая спо собность остаются такими же, как у кода AN , так как
(AN + M) ±(ЬН + М) = / / f / U B W M ± М ) '