книги из ГПНТБ / Торгашев В.А. Система остаточных классов и надежность ЦВМ
.pdfЭтот способ перехода используется в тех случаях, когда требу ется нарушить естественный порядок следования микрокоманд (ус ловные и безусловные переходы). В остальных случаях считывание микрокоманд осуществляется из последовательно расположенных ячеек, и для изменения адресов используется счетчик микрокоманд, выполняющий одновременно и функции регистра адреса.
Интересно отметить, что число символов в кодах операции мо жет быть меньше, чем в кодах адресов микрокоманд. Поэтому при поступлении кода операции на дешифратор УУ некоторые символы адресного кода окажутся неопределенными. В этом случае необхо димо исключить из СОК те основания, символы которых не опреде лены, и, кроме того, отключить часть дешифратора подобно тому, как это описывалось в предыдущем параграфе. Выбранная в соот ветствии с кодом операции микрокоманда задает уже полный ад рес следующей микрокоманды, и, следовательно, дешифратор может даже работать в полном диапазоне представления кодов операций.
Пусть, например, коды операций представлены в СОК с осно ваниями 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
