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

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

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

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

Добавлен: 21.07.2024

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

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

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

Унитарным кодом числа называется код, содержащий только одну единицу, положение которой и определяет величину числа. Например, для р = 23 LP( T ) = 1937.

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

Lp {T) = 2/-2г + 2-2гІ -I- /-2г_1.

Для того же модуля р — 23; L P(T) =3472. Такую же сложность имеют таблицы для модуля, величина которых лежит в интервале (16,32).

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

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

ному модулю р, являются целыми числами, лежащими

в интерва­

ле [——1)/2, (р—1)/2]. Тогда каждому

остатку а

из

интервала

[О, р — 1] можно сопоставить число а' из

интервала

[0,

— 1)/2],

взятое со знаком плюс либо минус в соответствии со следующим правилом:

 

а' =

- fa,

 

если

0 < а < ( р — 1)/2

 

и

а ' =

— (р — а),

если

(р — 1 ) / 2 < а < р .

 

Обозначим знак величины а’ через S a, причем для положитель­

ных чисел

Sa — 0,

а

для отрицательных — 5а = 1.

Тогда

можно

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

величины а и (Sa, a') соответствуют дополнитель­

ным и прямым

кодам

чисел

из интервала [— (р — 1)/2, ( р — 1)/2]

при условии, что дополнение берется

до модуля р.

В дальнейшем

величины Sa и а'

будем соответственно называть

знаком

и ман­

тиссой остатка

а.

 

 

 

 

 

 

Как известно,

при

обычном умножении чисел,

представленных

в прямых

кодах,

отдельно вычисляются произведение мантисс и

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

Пусть

 

 

 

 

а — (Sa,

О : P =

(Sß,

П

и 7 = | a p | „ - ( S T, r) -

Обозначим

[a'ß' |р =

(S-p

у')-

Тогда

S 7 = S o ® S ß 0 S 7 и у' = у ' .

Очевидно, что переход к прямым кодам позволяет при выполнении

операции

умножения

уменьшить объем

таблицы

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

раза.

 

 

 

 

Так, если считать, что сложность сумматора по модулю 2 рав­

на 6, то

для модуля

р = 23 сложность

таблицы,

реализующей опе­

рацию умножения, уменьшается до 518 при использовании непол­ ных дешифраторов и до 988 при использовании полных шифраторов и дешифраторов.

87


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

Пусть

 

(5Т>

Г) =

I « +

ß

\„

(5-,, Г) =

I

«' +

р,

где V =

= fи

 

(-1)- P' I

 

5а ф

5р.

Тогда

f

 

и 5-j = 5а + 5-,.

 

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

достаточно лишь изменить знак вычитаемого.

сложения

Структурная схема таблицы, реализующей операции

и вычитания по модулю р в прямых кодах, приведена на

рис. 3.3, а,

где уі—управляющий сигнал, соответствующий операции вычитания. В этой таблице одновременно вычисляется как сумма мантисс (бло­

ки Ш1-1, Ш2-1), так и их разность (блоки Ш1-2, Ш2-2),

и в зависи­

мости от знаков операндов коммутационная схема

КС

подключает

к выходным шинам либо одну либо другую часть таблицы.

Если считать, что сложность КС равна 6/, то для

модуля р = 23

сложность

таблицы, реализующей операции сложения

и

вычитания

в прямых

кодах, равна 830,

а при

использовании

полных деши­

фраторов L V(T) = 1360.

более

экономичная схема

табличного

На рис. 3.3, б приведена

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

р = 2Z_1 — 1 — ß'.

Затем вычисляется сумма | a' + ß/ |p, из которой в процессе перехо­ да от унитарного кода к двоичному вычитается константа (2І_1—1).

Пусть V = 5а ® 5р, ß' = nß' + tiß',

(ST, 7 ' ) = | “' + ß '— w(2, - , - l ) | p .

Тогда знак 5Т и

мантисса

результата сложения

двух остатков

I а + р

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

 

варианте

схемы

S r =

5T® 5 a;

7' = ? -

 

Таким

образом, в отличие от предыдущего варианта в данном

ратор Ші,

 

содержится вместо двух лишь один большой шиф­

сложность которого равна

(р+1)2/4 либо

22' — 2 в за­

висимости от способа построения таблицы, но добавляется значи­ тельно более простая коммутационная схема КС1, содержащая I—1

сумматоров по модулю 2

и столько же инверторов. В целом для

модуля р = 23 сложность

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

88


рис. 3.3,6, равна 714 (1132) *. Следовательно, применение прямых кодов для представления остатков позволяет уменьшить объем таб­ лиц, реализующих операции сложения и вычитания примерно в три раза.

Таблицы сложения, вычитания и умножения можно реализовать при помощи одной универсальной схемы. При этом за счет исполь-

Рис. 3.3

зования общих дешифраторов удается получить определенный вы­ игрыш в оборудовании по сравнению с вариантом, когда каждая из элементарных операций реализуется с помощью отдельной таб­ лицы. Структурная схема таблицы, реализующей операции сложе­ ния, вычитания и умножения для остатков, представленных в пря­ мых кодах, приведена на рис. 3.4, где iji — управляющий сигнал, со­ ответствующий операции умножения. Для модуля р — 23 сложность такой схемы равна 920 (1480).

Более подробные сведения о способах построения схем сложе­ ния, вычитания и умножения для различных модулей читатель мо­ жет найти в монографии И. Я. Акушского и Д. И. Юдицкого «Ма­ шинная арифметика в остаточных классах» (М., «Сов. радио», 1968).

* В скобках указывается сложность схемы при использовании полных дешифраторов и шифраторов.

89


Рис. 3.4

3.3. АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО

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

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

90

В состав АУ по каждому из основании СОК входит отдельная схема умножения, подключаемая к выходу схемы, реализующей операции сложения и вычитания. Тогда при вычислении позицион­ ных характеристик за время одного такта выполняются операции как вычитания, так и умножения полученной разности на константу вида 1/рі. Суммарная сложность схем сложения (вычитания) и ум­ ножения Lp(T) примерно в 1,3—1,5 раза выше, чем сложность уни­ версальной схемы, реализующей любую из элементарных операций. Если же отнести эти аппаратурные затраты ко всему оборудованию числового тракта, то они составят 10—20%. Во втором варианте число тактов, необходимое для выполнения немодульиых операций, ■сокращается примерно в два раза.

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

Естественно, что окончательные выводы о целесообразности при­ менения той или иной структуры АУ могут быть сделаны лишь пос­ ле тщательного анализа с учетом специфики элементов, используе­ мых в ЦВМ, однако в дальнейшем для определенности будем счи­ тать, что арифметическое устройство строится на базе универсаль­ ных таблиц (рис. 3.4.)

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

Так, если

Рі>рі, то при вычислении разности |а,- — а ;-[р,- для не­

которых

справедливо неравенство аі ^ Р і . В этом случае с помо­

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

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

Значительно сложнее осуществить согласование схем, относя­ щихся к различным модулям, если остатки представлены в прямых

91


кодах Предположим, чго остаткам аі п aj соответствуют прямые

коды

и (Saj , “ у)- Если Süj = 1, то a.j=pja'j В то же

время для схемы, осуществляющей сложение (вычитание) по мо­

дулю pi, данному прямому коду (і, a'j'j соответствует число аj =

= pi a'j=£aj. Таким образом, при вычислении разности ( а,- -

аі\рі появляется ошибка, если код (Saj , a^.) непосредственно по­

ступает на схему вычитания по модулю р /. Поскольку на

одну

и ту же схему могут поступать остатки aj, соответствующие

раз­

личным основаниям СОК, то корректировать значения a'j, поступив­

шие на вход данной схемы, довольно трудно. К тому же

следует

учесть, что при

— 1)/2 возникает необходимость

дополни­

тельного преобразования

 

 

* 'j ~ > P i - « j

и соответствующего изменения знака

Рис. 3.5

В езязи с этим передачу остатков, относящихся к раз­ личным основаниям СОК, повиднмому, целесообразно осу­ ществлять в дополнительных кодах. В этом случае в состав

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

из

устройства

для

каждого

оснований

СОК,

помимо

таблицы,

реа­

лизующей элементарные

опе­

рации,

должны

входить

схе­

мы преобразования

остатков

из прямого кода в дополни­

тельный и

из

дополнительного

в прямой.

Причем

последняя-

схема должна

соответствовать

максимальному

по

величине

модулю СОК Для того, чтобы

обеспечить

необходимое

со­

гласование

остатков.

Суммар­

ная

сложность этих

схем

Lp(T)

=

3/гі^ірі

а хрт а х)

для основания р,-; при исполь­ зовании полных дешифраторов

L V(T)

=

3(/;2г/ - І +

/m„s

X

X 2lmax~1)-

наиболее

простых

Один

из

вариантов

структурной

схемы

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

устройства

для

одного

основания

СОК

приведен

на

рис.

3.5.

 

В

со­

92