Файл: Торгашев В.А. Система остаточных классов и надежность ЦВМ.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