Файл: Торгашев В.А. Система остаточных классов и надежность ЦВМ.pdf

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

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

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

Добавлен: 21.07.2024

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

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

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

выполнении текущей программы, в общее основание Ri могут вхо­ дить различные модули исходной СОК. Кроме того, количество мо­ дульных операций, необходимых для вычисления позиционных ха­ рактеристик, не является постоянным (зависит от числа информаци­ онных модулей). Поэтому для управления арифметическими опера­ циями целесообразно ввести управляющее слово еще одного типа. Это слово поступает на УУ, позволяя определить момент окончания вычисления величины л Л', а также указывая те основания СОК, для которых определены символы этой характеристики. Символы данно­ го управляющего слова принимают значения т + 1 и 0 в зависимо­ сти от того, входит ли основание, соответствующее этому символу, в /?і или нет.

Так, для приведенного выше примера после четырех управляю­ щих слов первого типа должно следовать слово {7,7,0, О, О, 0}дг. Для того чтобы иметь возможность определить момент формирова­ ния промежуточного результата операции деления числа на произ­ ведение некоторых модулей (с целью запоминания этого результата в ОЗУ пли в одном из регистров АУ), необходимо еще одно управ­ ляющее слово, все символы которого равны т + 2. Как следует из гл. 1, такая операция широко используется при умножении дробей. Это слово, так же как и предыдущее, поступает в устройство управ­

ления и

не изменяет состояния АУ.

 

данное

слово

имеет

вид:

Для

приведенного

выше

примера

{8, 8, 8, 8, 8, 8}; оно размещается

между

вторым и

третьим

управляю­

щими

словами

первого

типа. Если

желательно

запомнить

лишь

часть

символов

числа,

находящегося

в

АУ, то тем остаткам,

кото­

рые не следует запоминать, должны соответствовать пулевые сим­ волы управляющего слова. Для того же примера можно использо­ вать и слово вида: {8, 8, 0, 8, 0, 8}ЛГ, хотя в данном случае оба ва­ рианта эквивалентны, так как остатки, соответствующие основаниям

Рі и Рі

после вычисления частного

[/Ь/рз/ц] в

сокращенной

СОК,

равны нулю.

 

 

 

модулей

 

В устройство управления с каждой из схем АУ для

......... р„ поступают сигналы, соответствующие

значениям

остатков:

—2,

—1, .0, 1 (либо 0,

1, 2, 3, если

АУ ориентировано на

вычисле­

ние

не

позиционной

характеристики л*, а ее

модификации

6 =

= я,ѵ + 2). Эти сигналы имеют смысл в момент подачи управляю­ щего слова и для тех оснований, для которых символы управляю­

щего слова равны т + 1.

Именно эти основания входят в произве­

дение R I

и

соответствуют

позиционной

характеристике. Так, если

все остатки

характеристики л м(А) равны —1, то число А отрица­

тельно, а

при

равенстве

всех

остатков

нулю число

положительно.

Сигналы

—2 и

1 соответствуют

отрицательному или

положительно­

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

Итак, в зависимости от значения позиционной характеристики в УУ должны формироваться три сигнала: ПЛЮС, МИНУС и ПЕ­ РЕПОЛНЕНИЕ (полагая, что знак переполнения не фиксируется). Поскольку способы получения каждого из сигналов одинаковы, рас­ смотрим только способ образования сигнала ПЛЮС.

Сопоставим символам управляющего слова двоичные перемен­

ные о,, такие,

что

о ,=

1, если

символ, соответствующий

основанию

Р і , равен т +

1 и

а,- =

0 при

нулевом значении этого

символа.

102


Аналогично каждому остатку а,- числа, находящегося в АУ, соответ­

ствует

двоичная переменная

z,-, такая, что z , = 1, если

<іі = О,

и z, =

0, если

а.-^О (во всех

случаях і — 1,2,.... m).

 

Тогда схему формирования сигнала ПЛЮС можно описать сле­

дующим логическим выражением:

 

ПЛЮС =

(а,\/агѴ ■ •- Vom) ( z , V<Â) U jV Ö j- . ^ raV

 

Если все

символы управляющего слова равны т + 1, то

легко

убедиться в том, что сигнал ПЛЮС соответствует нулевому значе­ нию числа, находящегося в арифметическом устройстве.

В том случае, если при появлении управляющего слова, содер­ жащего, по крайней мере, один символ, равный п г + 1, не выраба­ тывается ни один из трех перечисленных выше сигналов, то должен формироваться сигнал ОШИБКА АУ. Этот сигнал прерывает вы­ полнение основной программы и обеспечивает переход к подпро­ грамме локализации и коррекции ошибок, составленной в соответ­ ствии с алгоритмами, рассмотренными в гл. 2. Кроме непосредствен­ ной коррекции ошибки, эта подпрограмма должна определять, вызвана ли ошибка случайным сбоем или отказом некоторого эле­ мента. Методы такой проверки аналогичны тем, которые использу­ ются в схемах защиты ЗУ, с той лишь разницей, что счетчику числа ошибок соответствует не специальная схема, а некоторая ячейка ОЗУ.

При появлении ошибки постоянного типа с помощью этой под­ программы изменяется содержимое ячеек ОЗУ, в которых хранятся управляющие слова и константы, таким образом, чтобы в ходе дальнейших вычислении отключенный модуль не использовался. Кро­ ме того, переводится в состояние «1» триггер отказа, соответствую­ щий данному основанию. Этот триггер обеспечивает индикацию не­ исправности . и отключение всех цепей, связанных с отказавшим модулем.

Сигналы ПЛЮС, МИНУС, ПЕРЕПОЛНЕНИЕ и ОШИБКА АУ используются для организации условных переходов в процессе выполнения программ пли микропрограмм. Поэтому схемы, формирую­ щие эти сигналы, следует размещать только в тех блоках устрой­ ства управления, которые непосредственно связаны с дешифратора­ ми УУ или ПЗУ. Отказы, возникающие в этих схемах, будут обна­

руживаться

и исправляться

схемами защиты

УУ либо ПЗУ в зави­

симости от

того, куда поступит искаженный

сигнал.

В заключение приведем

пример того, как

изменяются управляю­

щіе слова при отказе информационного модуля СОК.

Для приведенного выше примера использовалась следующая по-

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

слов:

 

 

{2,

2,

2,

2,

2,

2}ли

{4,

4,

4,

4,

0,

4}діі

{8,

8,

0,

8,

0,

8}лі >

{1,

1,

1,

1,

1,

Пло

{3,

3,

з ,

3,

з ,

О}ли

{7,

7,

0,

0,

0,

0}лг

103


Предположим теперь, что в результате отказа модуль исклю­ чен из СОК, а основание ps стало информационным. Тогда для уп­

равления топ же операцией

следует

использовать такие слова:

{ 2,

2

,

2,

0,

2,

2} Л[,

{4,

4,

4,

О,

О,

4}/Ѵ„

{8,

8,

ü,

1),

0,

8}уѴІ,

{ 1 ,

1

,

1 ,

0 ,

1,

1} /И,

{5,

5,

5,

0,

5,

0},и,

{7, О, О, О, О, 0}ЛІ.

Если же модуль р5 остался контрольным, то на пятом месте появит­ ся управляющее слово 770000 и операция закончится раньше.

3.6. ЦВМ, ИСПОЛЬЗУЮЩАЯ ПАРНОЕ ПРЕДСТАВЛЕНИЕ ЧИСЕЛ

Как отмечалось ранее, переход к парному представлению чисел в СОК позволяет существенно увеличить минимальное расстояние Я-кода при тех же аппаратурных затратах за счет снижения быстро­ действия. Однако оказывается, что, применяя некоторые схемные ре­ ализации, использующие свойства парного представления чисел, можно устранить этот недостаток, существенно повысив быстродей­ ствие ЦВМ, а также упростить большинство алгоритмов выполнения арифметических операций по сравнению с алгоритмами для рас­ смотренной выше ЦВМ, работающей в СОК.

Дело в том, что каждое из чисел пары изменяется в диапазо­

не, уменьшенном в ~]/~N раз по сравнению с исходным диапазоном, равным N. Поэтому появляется возможность использовать для определения позиционных характеристик не последовательные, а таб­ личные методы. Как правило, длина разрядной сетки в управляю­ щих вычислительных машинах лежит в пределах 16—24. Переход к парному представлению чисел позволяет вдвое уменьшить ука­ занные пределы.

Естественно, что таблицы, содержащие 28—212 узлов, имеют примерно ту же или даже меньшую сложность, что и рассмотренные ранее постоянные запоминающие устройства. Во всяком случае, при современном уровне развития микроэлектроники подобные таблицы можно реализовать в виде нескольких или даже одной интегральной схемы. Применение таблиц для определения позиционных характери­ стик позволяет изменить сами алгоритмы основных арифметических операций, а также методы коррекции ошибок, возникающих в ходе выполнения этих операций.

Как следует из гл. 1, выбор в качестве знаменателя дробных чисел произведения некоторых модулей заданной системы остаточ­ ных классов обусловливается методами определения позиционных характеристик. Поскольку в данном случае такое ограничение сни­ мается, используем в качестве знаменателя 2К Тогда операции умножения и деления можно осуществлять с помощью методов,

104


очень похожих на те, которые используются в позиционных вычисли­

тельных машинах.

 

 

 

(—22k,22k) представим в си­

 

Итак, любое число А из интервала

стеме остаточных классов

с основанием Л4>2к+> в виде пары

чисел

Аі

и А 2 таких,

что А =

Л ,-2к-\- А2.

Причем положительные

числа

Аі

и А2 лежат

в интервале

(0,2А),

а отрицательные— в

интервале

(М — 2'\ М).

 

 

таблицы

в

рассматриваемом

варианте

 

Упоминавшиеся выше

ЦВМ используются для определения знаков чисел, выявления пере­ полнения разрядной сетки, обнаружения и коррекции ошибок. В свя­ зи с этим число элементов такой таблицы не превышает величи­ ны 2к+2.

Предположим, что вычислительная машина, использующая пар­ ное представление чисел, состоит из двух одинаковых частей. Каж­ дая из этих частей является самостоятельной ЦВМ и обрабатывает числа, лежащие в диапазоне (—2 \2 А). При операциях с полноразрядными числами эти ЦВМ работают совместно, причем управление осуществляется той машиной, которая обрабатывает старшие разря­ ды этих чисел.

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

ружения и коррекции

ошибок полностью идентичны для любого

из устройств ЦВМ.

устройстве для каждого из оснований СОК

В арифметическом

содержится помимо регистров схема сложения и вычитания по за­ данному модулю и таблица, на вход которой поступают остатки от

всех

оснований

СОК,

а с выхода снимаются сигналы:

S3-, Т3 и Vj,

где

у =

1,2. Первый из

этих сигналов

определяет знак

числа

(если

Aj<0,

то Sj =

1), второй — наличие

переполнения, а третий

указы­

вает на отсутствие ошибок. Кроме того, в арифметическое устрой­

ство для основания р,- могут входить

схемы,

осуществляющие сло­

жение остатков

а,- с константами ± 1

и \ ±

2 h\pj , а также

умноже­

ние этих остатков на 2 по модулю рь

 

 

выполнения

основных

Рассмотрим

теперь вкратце способы

 

арифметических операций. Прежде всего отметим, что результат лю­ бой модульной операции, будь то сложение, вычитание или умноже­ ние на два (умножение произвольных чисел в данном случае не входит в состав модульных операций), обязательно подается на таб­

лицы.

Если получившееся число выходит за

пределы интервала

(—2к.

2'1),

но остается

в интервале (—2*+*,

2Л+І),

т. е. Т, — 1 и

Ѵ ,= І,

то

выполняется

коррекция результата

путем

сложения его

с константой

,

 

 

 

| (—1)- >2Л[м. Таким образом, так же как и в позици­

онных

ЦВМ,

в рассматриваемых машинах операции

выполняются

по модулю 2к.

При выполнении арифметических операций сложения и вычита­ ния после получения результата в каждой из ЦВМ к числу, которое находится в АУ, предназначенному для операций со старшими раз­

рядами, прибавляется

величина

(—1 )5’ Г2.

В то же время, если

Т| = 1, то формируется

сигнал

переполнения

и в зависимости от

значения сигнала Si вырабатывается признак

условного перехода.

105


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

в которых и множитель и множимое сдвигаются в процессе выпол­ нения операции влево.

Для описания алгоритма умножения введем некоторые обозна­

чения. Пусть X — переменная, соответствующая

множимому;

Y(n),

Z (п) — рекурсивные переменные, такие, что У(0)

соответствует

мно­

жителю, a'Z(O) = 0 . Предполагается, что каждая

из указанных ве­

личин представлена в виде пары чисел. Обозначим через Т}8(А{)

величину

(—1) ІТ),

которая

формируется при подаче иа вход

таб­

лицы числа Aj, где /

= 1,2.

число /1 получено в результате

мо­

Будем

считать,

что если

дульных операции сложения, вычитания или умножения на констан­ ту, равную двум, то каждое из пары чисел А\ и А2 автоматически

приводится

в

интервал

(—2Ä, 2h)

и, кроме того,

осуществляется

перенос из младших разрядов числа А в старшие,

т. е. к

числу А t

прибавляется

T2 S(^г) •

 

 

 

 

 

 

 

 

 

Процесс умножения можно описать при помощи следующих ре­

куррентных выражений:

 

 

 

 

 

 

 

 

 

у

 

(л + 1 ) =

2 Y { n )

+

TiS ( z

(Л +

1)) + T t s (Z (Л + 1));

 

Z

(

n

+

1) =

Z (л) +

T l S (

Y

t (

n +

l ) ) X ;

 

 

 

Z

(

n

+

1) =

2Z (л +

1).

 

 

 

 

 

 

 

Умножение заканчивается при n

 

=

2k,

причем переменной

Y(2k)

со­

ответствуют старшие разряды

произведения, а переменной Z(2k)

младшие.

 

 

убедиться

в

том,

что приведенные

выше

формулы

Нетрудно

справедливы при любых знаках сомножителей и результат формиру­ ется с учетом этих знаков.

На первый взгляд приведенные выше выражения противоре­

чивы, так

как Y (л +

1) является функцией от переменных Z (п

1)

и Z (л +

1), которые

в свою

очередь зависят

от Y (п -)- 1). Однако

в действительности при л <

2k переменная

T^s ( К, (л + 1)) не зави­

сит от значений переменных

(Z ( я -(- 1))

и

Tts(.Z(n + 1)), а

оп­

ределяется только величиной

множителя, т. е.

 

 

7’lS(K1(n + l)) = r ]S (2Г(л)).

 

В процессе одной итерации приходится выполнять не более од­

ной операции сложения или

вычитания чисел Z(n) и X в

зависимо­

сти

от значений переменной

(ГіЯ(У і(л+

1)),

две операции^ умноже­

ния иа два, не более двух

сложений с константами ±1

и,'наконец,

два

либо

три обращения

к

таблицам.

Именно число

обращений

к таблицам

и

определяет

в

основном время

выполнения

операции.

Если считать,

что для вычисления каждого

из приведенных выше

выражений требуется один такт, то для умножения двух 2^-разряд-

ных чисел потребуется не более 6k тактов.

Для хранения переменных X, Y и Z в состав АУ должны вхо­ дить три регистра. Как ни парадоксально, но для выполнения опе­

106