Вычислительное устройство для поворота вектора
Иллюстрации
Показать всеРеферат
()857979
ОП ИСАНИЕ
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВМДЕТЕЛЬСТВУ
Союз Советских
Социалистических
Республик
1 (61) Дополнительное к авт. саид-ву (22) Заявлено 10 10.79 (21) 2843417/18-24 (51)М, Кл. е O6 F 7/548 с присоединением заявки 3É
Геоударстееииый комитет (28) Приоритет до делам изобретеиий и открытий
Опубликовано 23.08.81. Бюллетень М 31
Дата опубликования описания 23.08.81 (5З) а ДК 681.3 (088.8) И. Г. Грибков, T. И. Борисова, В. П. Коцтелев и Т. Л. Степукова (72) Авторы изобретения
Ъ- . / (71) Заявитель (54) ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО ДЛЯ ПОВОРОТА
ВЕКТОРА
Изобретение относится к цифровой вычислительной технике и может быль использовано для вылолнения операции поворота вектора в специализированных процессорах.
Известно вычислительное устройство, содержащее четыре сумматора-вычитателя, четыре коммутирующих блока, два регистра сдвига.
Это устройство выполняет поворот вектора с одновременной коррекцией результата (11 и (21
Недостатком этого устройства является боль итой объем оборудования.
Наиболее близким по технической сущности к предлагаемому изобретению является вычислительное устройство для поворота вектора, содержащее два сумматора-вычитателя, выходы ко. торых соединены соответственно с входами
/ первого и второго регистров, выходы которых соединены с первыми входами первого и второ- . го сдвигателей соответственно, первые входы первого и второго мультиплексоров являются входами устройства, выходы первого и второго 2О регистров являются выходами устройства и соединены с первыми входами соответственно первого и второго сумматоров--вычитателей, а также с входами соответственно третьего и четвертого регистров, выходы которых соедине ны со вторыми входами второго и первого мультиплексоров соответственно, выходы первого мультиплексора и первого сдвигателя через первую группу элементов И соединены с вторым входом второго сумматора-вычитателя, а выходы второго мультиплексора и второго сдвигателя через вторую группу элементов И соединены с вторым входом первого сумматора-вычитателя. при этом управляющие входы первого и второго мультиплексоров соединены вместе и являются первым кодовым входом устроиства, управляющие входы первого и второго сдвигателей также соединены вместе и являются вторым кодовым входом устройства, управляющие входы первого и второго сумматоров-вычитателей являются соответственно третьим и четвертым кодовыми входами устройства.
Это устройство обеспечивает поворот вектора, заданного своими проекциями, которые представляются и-разрядными двоичными числами и, коррекцию результата поворота. Пова рот и коррекция в этом устройстве выполня857979 4 и 10 на (2"-1) разрядов, n=0,1......,,со стробированием, сумматоры-вычитатели 11 и 12. информационные входы 13 и 14 устройства, информационные выходы 15 и 16 устройства, пер5 вый и второй управляющие входы 17 и 18 устройства, третий и четвертый управляющие входы 19 и 20 устройства, пятый и шестой управляющие входы 21 и 22 устройства, входы
23 — 30 мультиплексоров 7 и 8.
10 Поворот вектора осуществляется по следующим зависимостям.
Этап 1 (1) (2) (3) (4) Этап П
20 ются последовательно, затрачивая на обе этн операции 2п итераций (31.
Недостатком этого устройства является низкое быстродействие, объяснимое большим временем коррекции результата поворота, которое может еще больше увеличиваться из — за необходимости проведения дополнительно подготовительных пересылок информации между регистрами.
Цель изобретен я — увеличение быстродействия устройства.
Указанная цель достигается тем, что в вычислительное устройство для поворота вектора, содержащее четыре регистра, два мультиплексора, два сумматора-,вычитателя, выходы которых соединены с входами соответственно первого и второго регистров, выходы которых соединены с информационными входами первого и второго сдвигателей соответственно, первые информационные входы первого и второго мультиплексоI ров являются информационными входами устройства, вторые информационные входы первого и второго мультиплексоров соединены с выходами соответственно третьего и четвертого регистров, управляющий вход первого мультиплексора и управляющий вход первого сдвигателя являются соответственно первым и вторым управляющими входами устройства, а управляющие входы первого и второго сумматоров-вычитателей соответственно — третьим и четвертым управляющими входами устройства, введены пятый и шестой регистры, при этом вход пятого регистра соединен с входами первого и четвертого регистров, а выход пятого регистра соединен с третьим и четвертым информационными входами первого мультиплексора, вход шестого регистра соединен с входами второго и третьего регистров, а вь-, ю ход шестого регистра соединен с третьим информационным входом второго мультиплексора, четвертый информационный вход которого соединен с выходом третьего регистра, выходы первого и второго мультиплексоров соединены с первыми информационными входами соответственно первого и второго сумматоров-вычитателей, вторые информационные входы которых соединены с выходами соответственно первого и второго сдвигателей, выходы сумматоров-вычитателей являются информационными выходами устройства, управляющие входы второго мультиплексора и второго сдвигателя являются соотВетственно пятым и шестым управляющими входами устройства.
На чертеже представлена структурная схема вычислительного устройства для поворота вектора.
Устройство, содержит регистры 1 — 6 для хранения начальной и промежуточной числовой информации, мультиплексоры 7 и 8 (четыре информационных входа, один выход), сдвигатели где i -= -0,1... n — 1;
Ое — угол поворота; х „уо — начальные координаты вектора.
Полученные в результате этой процедуры значения х у„в К раз больше истинных
25 координат вектора после поворота. Поэтому необходима коррекция полученных результатов, то есть надо найти х„—, ӄ—, где К—
1 коэффициент деформации вектора.
Этап I в данном устройстве без потери общности не выполняется ввиду того, что устройство используется в режиме, когда утлы
О„хранятся в памяти в требуемом виде, т. е. в виде набора 1, ранее вычисленных. Исполь зование данного устройства в другом режиме легко осуществить, дополнив необходимыми
35 известными схемами, обеспечивающими реализацию этапа I.
Рассмотрим работу предлагаемого устройства в процессе выполнения этапа 11 и коррекции, которые представляют собой итерациой40 ные процессы Начало итерапии есть момент подачи управляющих сигналов на регистры, мультиплексоры, сдвигатели, сумматоры-вычитатели. Управляющие сигналы обеспечивают подключение соответствующих входов мульти45 плексоров 7 и 8, сдвиг на требуемое число разрядов сдвигателями 9 и 10, выполнение требуемой операции сумматорами- вычитателями
11 и 12. Концом итерации является установление на выходах сумматоров-вычитателей 11 и
12 результата конкретной операции, Начальными данными этапа If являются хО, уе и набор (°, соответствующих углу 90.
Перед выполнением этапа П по формулам (3),(4) на данном устройстве необходимо осуществить подготовительную итерацию. Она заключается в том, чтобы начальные условия подать на вход определенных регистров. Пусть на входе 13 присутствует хо, на входе 14 — y>.
857979
1-я итерация
< 4. =Х„"i X„, Х =Х +2".Х °
n„n
11 41 -3 11
Х,1 =Xí 41 Хп
"1
Хlg Х и 2 10.Х 2
Г 1 (5) (6) 5
2-я итерация (7) (8),о 3я итерация
41 =Х +2 И.Х11 и„
Х =О+ х11 и = l13! (9) (10) 15
4-я итерация
Х"" = а " Х"" + g->.Х " п3 у1 «)id gS И
НФ" и,— Хл (12) В результате подготовительной итерации необходимо обеспечить на выходе сумматора-вычитателя 11 значение хо, что достигается подключением входа 23 мультиплексора 7, обеспечением на выходе сдвигателя 9 нуля за счет
1снятия стробирующего сигнала, установкой коi да суммирования на сумматоре-вычитателе 11.
Аналогичным образом на выходе сумматоравычитателя 12 получаем y .
Первая итерация этапа I I начинается с записи в регистры 1 и 4 значения х ; в регистры 2 и 3 записывается у . В вычислении формулы (3) принимают участие регистры 1 и
3, мультиплексор 7, сдвигатель 9, сумматорвычитатель 11. На выходе сумматора-вычитателя
11 имеем у, Одновременно вычисляется формула (4) с участием регистров 2 и 4, мультиплексора 8, сдвигателя 10, сумматора-вычитателя 12. На выходе сумматора-вычитателя 12 имеем х., Вторая итерация начинается с записи х. в регистры 2 и 3 и записи у„в регистры 1 и 4.
На выходе сумматора-вычитателя ll имеем х, на выходе сумматора-вычитателя 12 — у .
И так далее. Таким образом, если на вход 13 подан хо, а на вход 14 — у то на нечетной итерации с сумматора-вычитателя ll получаем, значение у., с сумматора-вычитателя 12 — х .
1 1
На четной итерации наоборот: с сумматора-вычитателя 11 — х., с сумматора-вычитателя 12—
У1
Коррекция полученных результатов x„, уп будет осуществляться последовательно, Сначала корректируется х„, затем у„. Перед выполнением коррекции х д и уд необходимо провести подготовительные итерации.
Подготовительная итерация для коррекции состоит в следующем. Значение х „с выхода сумматора-вычитателя 11 записывается в регистры 5, 1 и 4, а значение у,„с сумматоравычитателя 12 записывается в регистр 3, где хранится до окончания коррекции х,, С выхода сумматора-вычитателя 12 имеем х„. Значение, полученное с сумматора-вычитателя 11 на этой итерации, безразлично: оно не будет записыват ся в регистры.
Первая итерация коррекции х > начинается с записи х в регистры 2 и 6. В регистрах 1 и 5 хп уже записано. Коррекция заключается
1 в умножении х„на константу . Двоичное
A представление этой константы, полученной для
31-й. итерации, имеет вид:
= 0,1001101101110100111011011010100 к„„
Алгоритмы умножения на константу мож<и но представить в вине следующей итерационной процедуры
2О 5- щ ция Х" =Х И -2-® Х" -X п8 i 4. и кgg (13) д
5 де х,„— промежуточное значение, получаемое в результате i-ой итерации коррекции на j-ом сумматоре-вычитателе
25 (1=1, 2, 3, 4; j =11, 12); корректируемая величина; х, — результат коррекции.
Подготовительная итерация для коррекции уп заключается в том, чтобы обеспечить на входе регистров 5,1,6,2 значение у, которое хранилось в регистре 3. Коррекция у,„осуществляется с помощью той же итерационной процедуры, которая используется при коррекции х
В таблице представлено начальное состояние
55 всех компонентов вычислительного устройства для поворота вектора для всех итераций коррекции, в том числе подготовительных. Символом
"-" показано безразличное состояние компонента.
Код сумматора-вычитателя "0" означает сложе40 ние, "1" — вычитание.
Введение двух новых регистров и ряда дополнительных связей в устройство позволило получить уменьшение времени на коррекцию результата поворота вектора по методу Волдера.
45 Так, в известном устройстве для осуществления коррекции результата, являющегося двумя 32разрядными двоичными числами, требуется 32 ггерации (сдвнг, суммирование — вычитание, запись в регистры), не считая подготовительных. Прн использовании предлагаемого изобретения достаточно выполнить пять итераций на одно 32-разрядное число, также не считая одной подготовительной. Время, затрачиваемое на выполнение этих пяти итераций на современной элементной
Последовательное, а не параллельное выполнение коррекции двух чисел результата позволяет совместить счет и выдачу результата в 32-разрядном формате из специализированного процес7 857979 8 сора в ЦВМ, что также сокращает общее время Увеличение быстродействия для 16-разрядных получения результата (ЦВМ.спецпроцессор ЦВМ) ..чисел м 37,5%.
Кроме того, данное устройство без измене- Такое увеличение быстродействия оправдыния микропрограммы коррекции может BbllloJI- вает введение двух дополнительных регистров, нять коррекцию двух 16-разрядных двоичных > которое практически не сказывается на увеличечисел, параллельно, что занимает четыре вычис- нии оборудования. лительных итерации, формулы (5), (7), (9), Данное устройство может работать и с дру(11). Так как результат и в этом случае фор- гими форматами данных,.например с 24-раэрядмируется в виде 32-разрядного слова (два 16- ными. В этом случае можно либо применять разрядных слова), его также удобно выдавать 1ð приведенную в описании микропрограмму для в ЦВМ. коррекции 32-разрядных слов, так как конЭффективность данного устройства по срав- станты коррекции совпадают в 24-разрядах, нению с известным характеризуется относитель. либо разработать новую микропрограмму, чем ным увеличением быстродействия. Увеличение можно добиться уменьшения числа итераций . быстродействия для 32-разрядных чисел:ь34%. на коррецию.
l4
-85797913
Формула изобретения
Вычислительное устройство для поворота вектора, содержащее четыре регистра, два В. мультивибратора, два сумматора-вычитателя, выходы которых соединены с входами соответственно первого и второго регистров, выходы которых соединены с инфсрмационными входами первого и второго сдвигателей соответственно, первые информационные входы первого и второго мультиплексоров являются информационными входами устройства, вторые информационные входы первого и второго мультиплексоров соединены с выходами соответственно третьего и четвертого регистров, управляющий вход первого мультиплексора и управляющий вход первого сдвигателя являются соответственно первым и вторым управляющими входами устройства, а управляющие входы первого и второго сумматоров-вычитателей соответственнотретьим и четвертым управляющими входами устройства, о т и и ч а ю щ е е с я тем, что, с целью увеличения быстродействия, в него введены пятый и шестой регистры, при этом вход пятого регистра соединен с входами первого и четвертого регистров, а выход пятого регистра соединен с третьим и четвертым информационными входами первого мультиплексора, вход шестого. регистра соединен с входами второго и третьего регистров, а выход шестого регистра соединен с третьим информационным входом второго мультиплексора, четвертый информационный вход которого соединен с выходом третьего регистра, выходы первого и второго мультиплексоров соединены с первыми информационными входами соответственно первого и второго сумматоров-вычитателей, вторые информационные входы которых соединены с выходами соответственно первого и второго сдвигателей, выходы сумматоров-вычитателей являются информационными выходами устройства, управляющие входы второго мультиплексора и второго сдвнгателя являются соответственно пятым и шестым управляющими входами устройства.
Источники информации, 20 принятые во внимание при экспертизе
1. Авторское свидетельство СССР N 445042, кл. G 06 F 7/38, 1973.
2. "lEEE Transactions on Computers".—
1974, vol. с — 23, Н 10, рр. 993 — 1001 (про25
"тотип).
3. Байков В. Д. и др. Аппаратурная реализация элементарных функций в ЦВМ. Л., ЛГУ, 1975, с. 67 — 76.
857979
Составитель В. Березкин
Техред Л. Пекарь
Корректор M Kocxa
Редактор П. Ортутай
Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4
Заказ 7245/79 Тираж 745 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб,, д. 4/5