Файл: Самохин А.Ф. Эксплуатация цифровых вычислительных машин [учеб. пособие].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 ± М ) '