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

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

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

Эти числа в дальнейшем используются для формирования двух таблиц констант при отказе еще одного информационного модуля СОК.

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

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

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

Пример 2. 8. В исходной системе остаточных классов с основа­ ниями 3, 5, 7, 11, 13, 17, 19 первые четыре модуля являются инфор­

мационными (Л7 =

3 • 5 - 7 • 11), а остальные — контрольными (R, =

= 1317- 19).

что информационные модули 7 и 11 пришлось

Предположит,

исключить из СОК, так как в них возникли ошибки постоянного типа. Тогда:

 

 

 

Qs = 7-11;

R s = 13-17;

7?tJ = 17-19.

Новый знаменатель

N '

равен произведению 3-5-13-17, а основание

сокращенной СОК М' = N'19.

 

 

 

 

 

 

 

Определим

числитель дроби

{Л,}^,,

которая

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

исходному

числу {Л}^,

где

.4 = 99:

Л, = /1 — (13 -17)/7 • 11.

Вычисление

будем

вести последовательным

способом: А (2) =

= Л -13/7;

Л .=

Л(3) =

Л(2)-17/П;

 

 

 

 

 

ІУ, = 3.5.7-13;

 

 

 

N 2 =

3-5-1Ы З;

I N ,13/7 I, = 1;

 

 

 

|А^217/11|„ =

4;

 

{ А } м

> =

{0, 4, 8, 14, 4}уИ, ;

5, =

K N

I (/1) +

2;

{5,Ь

и =

{14' 10Ь ІЛ;

 

 

 

 

 

 

 

{Ві7ь:

-t13'

13W

 

I А 13 |7

=

6;

 

 

 

 

 

 

 

 

 

 

 

{ \А 13 \і}м'— {0>1.6,6,6}Л„

в2 =

 

 

(Л (2)) -)- 2;

И < 2 )Ь г = { ° . 3,1,13, 12}/И,;

| Ш 21 ^

=

16;

 

 

 

 

 

 

 

( М

^ =

{3- 17Ь и ;

 

 

■Л (2) 17 |„ = 9;

 

 

Л, =

Л (3) =

282.

І118* } * ,,-

О 6' 16Ь

и ;

 

 

 

 

 

 

 

 

{|Л(2)17|П}Л , =

{0, 4, 9, 9, 9}ЛІ, ;

 

 

 

 

 

 

(3)}лі-= {0,2,9,10.16}*,;

Оценим разность между величинами дробей A jN и A J N 1:

70

99

282

1

Д = 3■ 5■ 7• 11 — 3-5-13-17-

7-13-17 '

Таким образом, можно считать, что A / N «

A J N '.

2.8. ИЗМЕНЕНИЕ

КОРРЕКТИРУЮЩИХ СПОСОБНОСТЕЙ

 

Я-КОДОВ

 

Как показано выше минимальное расстояние для корректирую­

щего кода в СОК пропорционально числу

контрольных модулей г.

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

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

В этом случае знаменатель уменьшается в р„ раз. Деление

числите­

ля дроби на р„ осуществляется обычным

способом,

так

как мо­

дуль р„ является исправным.

разрядов,

необходимых

Обычно в управляющих ЦВМ число

для представления входной информации

или

констант,

значи­

тельно меньше

длины

разрядной сетки, с которой

работает

ЦВМ.

Следовательно,

если

N яа p k — диапазон

представления

- чисел

в ЦВМ, а — диапазон представления входной информа­ ции, то исходные данные можно записывать в ЦВМ в следующей форме:

 

 

 

М Я - U W , } "

 

 

 

 

где

N 2 =

N /N y

а Ay является

числителем дроби

соответ­

ствующей

по

величине позиционной

дроби,

поступающей

на

вход ЦВМ.

 

один из

модулей, входящих в про­

 

Если из СОК исключается

изведение

N 2,

то деление числителя на данный модуль можно

выполнять формально. Если же

исключается какой-либо информа­

ционный

модуль, входящий

в

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

7V,,

например

рі,

то

частное {А/рі}^', определим

по формуле:

 

 

 

 

 

 

{■^1РіУм' = {(Л — Иі^2ІріІРі)}%''

 

 

где

N ' =

Njpi,

M' = М /pi.

 

 

 

 

 

 

71

Величину l/li-W,,]^ найдем с помощью метода, предложенного в предыдущем параграфе. Так как < N u то минимальное рас­ стояние кода при вычислении величины {А/р/}^', определяется

модулями, входящими в произведение R N 2.

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

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

чиваются, можно перейти к парному

.представлению числовой

ин­

формации в СОК.

 

 

 

 

 

 

Пусть

А = ЛдЛ'', Ч-МЕ, где | /11<

N 2.

Тогда дробь A j N \ можно

представить

и СОК в виде пары

чисел {лЛді'

11

 

Если

N - n N 2t

го

минимальное

расстояние

увеличивается

примерно

на п/2 единиц по сравнению с соответствующим

расстоянием

при

обычном представлении чисел.

 

 

 

 

 

При таком методе задания чисел потребуется увеличить число

ячеек ОЗУ и,

кроме того,

возрастет

время выполнения

основных

арифметических операций. Однако, если учесть, что число информа­ ционных модулей, а следовательно, и время выполнения операции перевода чисел из СОК в ССО уменьшатся в два раза, то число модульных операций, необходимых для выполнения вычислений, увеличится примерно в полтора раза для умножения и деления, в п/2 раз для сложения и вычитания, а для остальных операций менее чем в полтора раза. Количество модульных операций, необ­

ходимых для определения знака числа, даже уменьшится

примерно

в два раза

Для того

Пусть, например, /Ѵ=3 • 5 • 7 • 8 • 11 • 13 • 17 • 19«22Б.

чтобы код позволял исправлять ошибки постоянного типа в любых

двух основаниях СОК,

необходимо

иметь,

по меньшей мере, три

контрольных модуля: R і =23 ■2931.

 

представлению

чисел, то для

Если же перейти к парному

 

сохранения

точности

и надежности

вычислений

достаточно при­

нять: ЛГ, = 3-5-7-8-11;

228; /?'

=

13-17-19,

т. е.

N = , N tR[.

Данный

метод представления

чисел,

по-видимому, целесооб­

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

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

72

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

Предположим, что запоминающее устройство содержит N ячеек

и числа,

соответствующие, номерам

ячеек,

представлены в СОК

с основаниями

рі, .. .,

рп,

р„ + 1.

Если

Р і< Р г< • • • <Р>,+і и

N = p t ...

р„,

то такой

код

может

обнаружить любую одиночную

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

ме. Если ошибка была случайной,

корректирующая способность

кода останется неизменной. Если

же ошибка вызвана отказом

какого-либо элемента адресного тракта, то переход к выполнению

программы,

размещенной

в ячейках с номерами, не превышаю­

щими N/p„,

эквивалентен

повышению на единицу минимального

кодового расстояния. При

этом появляется возможность опреде­

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

Таким образом, R-код с минимальным расстоянием d = 2 позво­ ляет исправлять одиночные ошибки постоянного типа.

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

Предположим, что ЦВМ решает ряд различных самостоятельных задач л программы, соответствующие некоторым из этих задач, можно разместить в первых N/p„ ячейках ПЗУ. Тогда при исклю­ чении какого-либо модуля прежнюю корректирующую способность кода можно сохранить, если ограничиться лишь выполнением про­ грамм, расположенных в первых N/pn ячейках ПЗУ. При появле­ нии второй ошибки номер неисправного модуля можно определить, переходя к программам, расположенным в первых N/(pn_\, р„) ячейках и т. д.

Таким образом, использование приведенного выше корректиру­ ющего кода позволяет обеспечить безошибочное выполнение всей программы, записанной в ЗУ при отказе любого модуля системы остаточных классов, в которой представлен код адреса, или безоши­ бочное выполнение части программы, записанной в первых N/p„ ячейках ПЗУ при отказе двух любых модулей, или части програм­ мы, записанной в первых NI(pn-iPn) ячейках ПЗУ при отказе трех любых модулей и т. д.

73

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

N/pп, Nj(pn_\pn) ячеек ОЗУ и т. д.

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

2.7.ФУНКЦИОНАЛЬНОЕ КОДИРОВАНИЕ

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

К числу наиболее эффективных алгоритмических способов обна­ ружения и коррекции ошибок относится метод избыточных пере­ менных (функциональное кодирование) [6—8].

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

множества входных переменных Хі, . .

x m во множестве выходных

переменных у і, ..., у п, причем в качестве

переменных могут использо­

ваться действительные, целые или булевы

числа. Расширим множество

выходных переменных, добавляя функции у„ +1 ...........У п + г такие, что:

у „ + і (дг...............* т ) = ф і ( і / і ............Уп ) , где і = 1,

2, . . . ,

Г.

Естественно, что эти добавочные функции

могут

быть исполь­

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

В работах [6, 7] подробно исследуются вопросы построения функциональных кодов для таких исходных функций у\, . .., у п, которые являются линейными относительно некоторой базисной си­

стемы ÜJ (ДГі, . . .,

Xm),

■■■, V s ( x I,

. . Xm),

T.

C.

 

 

 

 

S

 

 

 

где i— 1, 2.........

m,

причем все

переменные

и коэффициенты

Со­

относятся к множеству действительных чисел.

 

до-

Следует отметить, что класс

подобных

функций является

74

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

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

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

 

п

 

Уп+і (*і.......х т) = — 2

Уі С*і.........х т) =

( = 1

 

 

= 2

^л+ 1, у ѵ/ (Х>’ • • • >х т)>

]= 1

 

 

где

п

 

 

 

^п+і, у =

— 2 ^ '/>

7 = l > 2 , . . . , s .

 

г= 1

 

Добавочная переменная вычисляется либо непосредственно п разложению относительно базисных функции, либо путем «сверты­ вания» его в более удобную формулу. Очевидно, что при отсут­ ствии ошибок должно выполняться следующее условие:

п + 1

2 У '1(•*!’ ' ' ' 1Хт) = t= 1

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

л+ 1

2 УI ("И >• ' ■' х т) < д . /=1

где А — максимально допустимая ошибка, которая может появиться в результате суммирования указанных погрешностей.

Нетрудно убедиться в том, что рассмотренный код позволяет

обнаружить любую ошибку, выводящую какую-либо одну

из пере­

менных у\, . . у п+ \

за пределы границ, обусловленных

допусти­

мыми погрешностями.

Такого рода ошибки называются

грубыми.

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

видно, что доля

этих ошибок от общего их числа равна

1—Д/Т,

где L — диапазон

представления чисел в. ЦВМ. Интересно

отметить

аналогию между

обнаруживающими

возможностями функциональ­

ных кодов и І?-кодов, для которых

доля обнаруживаемых

ошибок

75

составляет 1—NIL. Поскольку A/LÄ;0, можно считать, что практи­ чески любые ошибки, возникающие в процессе решения задачи, могут быть обнаружены с помощью подобного простейшего функ­ ционального кода.

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

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

у, = х, sin а -+- A'jjlcos’a; у2 = х хCOS а + Sin а.

Положим у3 = — (Уі + Уг)- Тогда, выполняя элементарные триго­ нометрические преобразования, получим:

Уз = — 1,41 [л', cos (я/4 — а) -f- jr* Sin (it/4 — а)]. При этом выполняется контрольное условие

I Ух +

Уг + Уз I А-

Функциональные коды позволяют не только о б и а р у ж н в а т ь,

но и и с п р а в л я т ь ошибки,

возникающие в процессе решения

задачи. Если грубые ошибки, искажающие отдельные выходные пе­ ременные, являются независимыми, то для коррекции любых /-крат­ ных ошибок достаточно использовать 2t добавочных переменных. Причем подавляющую часть этих ошибок можно исправить при использовании лишь t+ 1 добавочных переменных. Здесь также мож­ но провести определенную аналогию с корректирующими /^-кодами. Следует отметить, однако, что отказ какого-либо из элементов ЦВМ чаще всего приводит к искажению всех функций, вычисляемых в ходе решения задачи. Поэтому корректирующие функциональные коды принципиально не могут применяться для борьбы с подоб­ ными ошибками и область их применения обычно ограничивается коррекцией ошибок, обусловленных случайными сбоями. В то же время даже простейший функциональный код в сочетании с систе­ мой остаточных классов позволяет в известной степени бороться

с ошибками, вызванными отказами элементов ЦВМ.

Пусть в вычислительной машине используется нензбыточная

система остаточных

классов с основаниями

и

для конт­

роля хода решения

задачи к исходным

функциям

у

...

добав-

 

 

«+і

 

 

 

ляется еще одна переменная у„+і, такая,

что

При

появ-

 

 

і = \

 

 

 

лении ошибки нарушается контрольное условие: м+ 1

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

76

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

л+1

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

Если же исключен исправный модуль р>, то вероятность выпол­

нения

контрольного

условия

не превышает величины

mpjA/M

(здесь

M — L). Более

того,

учитывая тот факт, что при

любых

искажениях символов по основанию р,- минимальная величина ошиб­

ки равна

{М/p:) »р,Д ,

можно

утверждать, что

при

исключении

исправного

модуля контрольное

условие всегда

окажется и а р у-

ш е и н ы м.

локализации

неисправного основания

в

дальнейшем

После

машина продолжает работать в сокращенной СОК, т. е. с умень­ шенной точностью. Тем временем неисправный блок можно ремон­

тировать, а устранив неисправность, вновь вернуться

к вычислени­

ям в исходной системе остаточных классов.

лишь в том

Подобный способ целесообразно использовать

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

Время поиска неисправного модуля можно сильно сократить, если вместо повторных решений задачи в сокращенной СОК вести вычисления в полной системе остаточных классов, но использовать

ОСІІОВйНИЯ

Pm —I

И

pm в качестве контрольных. Естественно;

при

этом

уменьшается

точность вычислений

в

р т-\Рт

раз. Но в

дан­

ном

случае

это

не имеет значения, так

как

задача

выполняет

роль

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

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

77

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

 

В данной главе рассмотрены различные корректирующие

коды

в системе остаточных классов. L-коды и і?І-коды обладают рядом

интересных свойств, однако целесообразность их применения в

циф­

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

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

время,

необходимое

для

выполнения этих операций,

не зависит

от числа контрольных

оснований (т. е. от минимального

расстояния

кода).

Для обнаружения

ошибок практически не требуется спе­

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

С помощью корректирующих ^-кодов можно обнаруживать, а порой и исправлять значительную долю''ошибок более высокой кратности, чем та, которая допускается заданным минимальным расстоянием кода. В частности, для коррекции одиночных ошибок можно использовать /?-код с минимальным расстоянием cf= 2, по­ степенно локализуя место ошибки в процессе выполнения операций модульного типа.

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

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

Это свойство является

очень ценным, так как позволяет достаточ­

но гибко использовать

резервы точности или надежности при реше­

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

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

78

і-іия задачи, позволяет даже при использовании неизбыточной си­

стемы остаточных классов обеспечить работоспособность вычисли­ тельной машины.

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

Г Л А В А Т Р Е Т Ь Я

ПРИНЦИПЫ ПОСТРОЕНИЯ ЦВМ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ

3.1. О СТРУКТУРЕ ВЫЧИСЛИТЕЛЬНЫХ МАШИН, РАБОТАЮЩИХ В СИСТЕМЕ ОСТАТОЧНЫХ КЛАССОВ

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

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

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

ход

к системе

остаточных

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

на

внутренней

организации

отдельных устройств (особенно ариф­

метического устройства АУ)

при неизменной структуре связей между

устройствами.

 

 

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

79

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