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