Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Торгашев В.А. Система остаточных классов и надежность ЦВМ

.pdf
Скачиваний:
22
Добавлен:
23.10.2023
Размер:
5.18 Mб
Скачать

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

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

Пусть, например, коды операций представлены в СОК с осно­ ваниями 5, 7, 8, 9, где первые два модуля являются информацион­

ными,

а два других — контрольными. Минимальное расстояние кода

равно

трем и /Ѵко = 35.

Предположим теперь, что NM„ = 280, где

«и» — суммарное число

микрокоманд, входящих во все микропро-

'раммы. Тогда для сохранения корректирующих возможностей кода следует в СОК ввести еще одни модуль ps— \l. При выполнении микропрограммы используется весь объем ДШ и полная СОК. При

подаче же на вход ДШ кода операции исключается основание

11 н

в рабочем состоянии остается лишь

35 первых

выходных элемен­

тов ДШ.

 

 

 

В состав отдельных микрокоманд могут входить также адреса

ячеек ОЗУ или ПЗУ, используемых при выполнении некоторых

ие-

модульиых арифметических операций.

управления

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

Подобная структура устройства

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

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

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

100

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

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

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

Каждый символ управляющего слова равен либо нулю, либо номеру какого-либо основания pj. Нулевые символы управляющего слова соответствуют тем основаниям СОК, которые в момент по­ ступления данного слова в АУ не принимают участия в выполнении иемодульного преобразования.

Для пояснения структуры управляющих слов приведем неболь­

шой пример.

Пусть в системе остаточных классов, состоящей из шести моду­

лей р\,

...,

Ре, требуется вычислить

частное

от деления

некоторого

числа А

на

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

оснований

psp.і при условии,

что

модули

Рь и рв являются контрольными.

 

рассмотренными

в гл. 1,

Тогда

в соответствии

с алгоритмами,

на АУ следует подать управляющие слова в такой последователь­ ности

Рі.

Р&1

Рі<

Рз<

Рг,

Р 1— основания;

{2,

2,

2,

2,

9

2}ді

{4,

4,

4,

4,

0,

4}щ ■— управляющие слова

1,

{1,

1,

1,

1,

1 Ьи

(3,

3,

3,

3,

3,

0} м

Естественно, что устройство управления должно выдавать в АУ специальные сигналы, позволяющие отличать числа от управляю­

щих слов.

Как было показано в предыдущей главе, для определения зна­ ков чисел, наличия переполнения разрядной сетки и ошибок, возни­ кающих в ходе вычислений, используются символы позиционной ха­ рактеристики {JTJV}#, либо ее модификации — векторы {6)^. В зави­

симости от того, какая из возможных СОК реализуется в ЦВМ при

101

выполнении текущей программы, в общее основание 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

рации деления требуется значительно меньше времени, чем для умножения.

Рассматриваемый ниже метод в какой-то степени аналогичен ши­ роко известному методу деления чисел без восстановления остатка.

Пусть

X — переменная,

соответствующая делителю, У (0)— делимо­

му и

Z(0) = 0, причем

|Л'| < | У (0) |.

Предположим, что перед началом деления были определены знаки делителя St (Л-,) и делимого Si(K,(0)). Обозначим:

5 (п) = (—I)5' <x ‘>© <n» .

Тогда процесс деления можно описать следующими рекуррентными выражениями:

Y (n + l)

=

2K(/i) +

S(/i) Х\

 

 

Z (л + 1)

=

2Z (л) +

S (0) [S, (Л-,)© Sl

(л))].

 

Для определения частного требуется 2/е итераций,

причем Z(2k)

со­

ответствует частному,

а

У(2k)— остатку. Поскольку в выражении,

определяющем У( л+1) ,

знаки

слагаемых всегда

различны, то

нет

необходимости обращаться к таблице непосредственно после вычис­

ления величины 2У(я), т. е. на таблицу достаточно

подавать

лишь

результат

У( л+ 1).

то при его вы­

Что касается второго рекуррентного выражения,

числении

можно вообще не обращаться к таблице,

если для

пер­

вых k итераций применять эту формулу только к Z u вычисляя

тем

самым старшие разряды частного, а для последующих итераций ис­ пользовать это выражение при определении Z2.

Таким образом, для деления чисел указанным способом требует­ ся 2/е тактов, т. е. в два-три раза меньше, чем при выполнении опе­ рации умножения.

При переходе к знаменателям дробей, кратным 2П, существенно

облегчается

задача перевода

чисел

из

СОК в двоичную систему

счисления

и

обратно,

причем

в отличие

от

методов,

рассмотренных

в гл. 1, такой

перевод осуществляется

без

погрешностей.

Поскольку

алгоритмы выполнения

основных арифметических

операций

значительно

упрощаются,

то, естественно,

уменьшается

и объем устройства управления, что в известной степени компенси­ рует усложнение аппаратуры, входящей в состав АУ.

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

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

107

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

При использовании рассмотренных выше таблиц можно осу­ ществлять и обменные операции между точностью и корректирующи­ ми возможностями Я-кодов, хотя и в меньших пределах.

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

3.7.ОСНОВНЫЕ РЕЗУЛЬТАТЫ

Внастоящей главе освещен ряд вопросов, связанных с примене­ нием системы остаточных классов в вычислительных машинах и с ис­ пользованием корректирующих свойств этой системы.

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

Методы выполнения немодульных операций, определяющие структуру АУ, основаны на переводе чисел из СОК в обобщенную позиционную систему счисления. Благодаря этому удается распре­

делить

всю аппаратуру АУ

по независимым числовым

трактам.

В этом

случае отказ любого

элемента арифметического

устройства

не может привести к ошибкам более чем в одном основании СОК. Другим достоинством рассмотренной структуры АУ является то, что она позволяет без каких-либо структурных изменений и добавоч­ ных аппаратурных затрат выполнять вычисления в любых системах остаточных классов, основания которых входят в исходную СОК. Причем все модули равноправны и любые из них могут использо­

ваться в качестве контрольных или информационных.

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

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

108

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

что их

число не

превышает корректирующих возможностей С01\.

За

счет отклонения части выходных элементов дешифратора

можно

обеспечить

надежную работу определенной группы ячеек ЗУ

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

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

В данной главе рассмотрен также вопрос об использовании для управления работой АУ специальных управляющих слов, записан­ ных в ОЗУ. Это позволяет упростить структуру устройства управ­ ления и, самое главное, дает возможность произвольно изменять чис­ ло модулей, входящих в СОК, корректирующие возможности R-ко­ дов, а также выбирать любые основания в качестве контрольных или информационных. Причем все эти вариации осуществляются чисто программными способами с помощью изменения управляющих слов.

Показано, что использование в ЦВМ, работающей в СОК, парно­ го представления чисел и табличных методов определения позицион­

ных характеристик

позволяет удачно сочетать высокую надежность

и быстродействие

(при выполнении модульных операций), обуслов­

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

ЗАКЛЮЧЕНИЕ

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

Если СОК содержит два контрольных и шесть информационных модулей, то она обеспечивает исправление любых одиночных оши­ бок, причем ЦВМ, в которой используется эта СОК, лишь на 30— 40% сложнее неизбыточной машины. Для обеспечения той же на­ дежности за счет резервирования приходится утраивать исходноеколичество оборудования. Правда, подобное сравнение не совсем корректно, так как машина в системе остаточных классов все же не­ сколько сложнее, чем эквивалентная ей по диапазону представления чисел позиционная ЦВМ. Однако, даже с учетом этого обстоятель­ ства применение системы остаточных классов позволяет получить определенную экономию аппаратуры по сравнению с использованием резервирования. К тому же следует отметить, что при переходе на

109

Соседние файлы в папке книги из ГПНТБ