Устройство для поворота вектора
УСТРОЙСТВО ДЛЯ ПОВОРОТА ВЕКТОРА , содержащее генератор тактовых импульсов, И ячеек (где празрядность устройства) ка.ждая из которых, начиная с второй, содержит первый и второй регистры, первый и второй сумматоры-вычитатели , первый и второй коммутаторы, а первая ячейка содержит первый и второй сумматоры-вычитатели и первый и второй регистр, причем в каждой ячейке, начиная с второй, разрядные выходы первого и второго регистров соединены с первыми информационными входами соответственно первого и второго сумматоров-вычитателей , выходы первого и второго коммутаторов соединены с вторыми информационньми входами соответственно второго и первого сумматороввьгчитателей , а информационные выхода первого и второго сумматоров-вычитателей (-и ячейки
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК ((з) (>1) 4(5!) G 06 F 7/548
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ОД (21) 3567094/24-24 (22) 22. 03. 83 (46) 07.03.85. Бюл. N- 9 (72) А.А.Мельник (53) 681.3(088.8) (56) 1. Байков В.Д. и др. Аппаратурная реализация элементарных функций в ЦВМ. Л., 1975, с. 67-72.
2. Авторское свидетельство СССР
Ф 813423, кл. G 06 F 7/548, 1978 (прототип) . (54) (57) УСТРОЙСТВО ДЛЯ ПОВОРОТА ВЕКТОРА, содержащее генератор тактовых импульсов, h ячеек (где и — разрядность устройства) каждая из которых, начиная с второй, содержит первый и второй регистры, первый и второй сумматоры-вычитатели, первый и второй коммутаторы, а первая ячейка содержит первый и второй сумматоры-вычитатели и первый и второй регистр, причем в каждой ячейке, начиная с второй, разрядные выходы первого и второго регистров соединены с первыми информационными входами соответственно первого и второго сумматоров-вычитателей, выходы первого и второго коммутаторов соединены с вторыми информационными входами соответственно второго и первого сумматороввычитателей, а информационные выходы первого и второго сумматоров-вычитателей -й ячейки ((=1,..., ll ) соеди нены с информационными входами соответственно первого и второго .регистров (+1)-й ячейки, о т л и ч а ю— щ е е с я тем, что, с целью сокращения оборудования устройства, устройство содержит блок управления, содержащий сдвиговый регистр, и — 1 элементов И, (l1-1) триггЕров, причем в блоке управления входы I -го и (1+1)-го элементов И соединены с выходом ((+1)-ro разряда сдвигового регистра, второй вход q -го элемента
И соединен с выходом и --го разряда сдвигового регистра, в каждую ячейку устройства, начиная с второй, дополнительно введены первый, второй, третий и четвертый триггеры, а первая ячейка содержит первый и второй триггеры, причем информационные входы первого и второго регистров первой ячейки соединены соответственно с первым и вторым информационными вхо— дами устройства, единичные выходы первого и второго триггеров (+1) -й ячейки соединены с третьими информа— ционными входами соответственно первого и второго сумматоров-вычитателей (i +1) — и ячейки, выходы переносов которых соединены с единичными входами соответственно первого и второго триггеров этой ячейки, разрядные выходы первого и второго регистров первой ячейки соединены соответственно с первыми и вторыми информационными входами первого и второго сумматоров-вычитателей первой ячейки, установочные входы первого и второго триггеров 1 -й ячейки соединены с инверсным выходом ((i+1) /2)-го разряда сдвигового регистра блока управления, выход ((i+1) i/21 -1-го разряда сдвигового регистра блока управления соединен с установочньпки вхо1 дами третьего и четвертого триггеров (+1)-й ячейки, управляющие входы первого и второго коммутаторов е (1+1)-й ячейки соединены с единичным
1144 выходом < -ro триггера блока управления, выход генератора тактовых импульсов соединен со счетным входом сдвигового регистра блока управления и с установочными входами триггеров и регистров каждой ячейки, разрядные выходы первого и второго регистров (1+1)-й ячейки соединены с первыми информационными входами соответственно первого и второго коммутаторов (1+1)-й ячейки, вторые информационные входы которых соединены с единичными выходами соответственно первого и второго триггеров (< +1)-й ячейки, единичные входы которых соединены с информационными входами соответ104 ственно первого и второго регистров (+1)-й ячейки, знаковые входы первого и второго сумматоров-вычитателей
1 I
1-й ячейки соединены с 1 -м входом группы входов направления поворота устройства, первый и второй информационные выходы которого соединены с информационными выходами соответственно первого и второго сумматороввычитателей П -й ячейки, выход генератора тактовых импульсов блока управления соединен с установочными входами сдвигового регистра блока управления и с управляющим входом запуска устройства.,Изобретение относится к вычислительной технике и предназначено для использования в специализированных вычислительных системах для выполнения операции поворота вектора. S
Известны устройства, выполняющие преобразования координат вектора при
его повороте на угол Q по алгоритму
Волдера (1) .
Недостатком устройства является 10 низкое быстродействие, так как каждое новое данное можно начать обрабатывать только после того, как закончена обработка предыдущего.
Наиболее близким по технической 15 сущности к изобретению является вычислительное устройство для реализа- ции алгоритма Волдера, содержащее и ячеек, каждая из которых содержит три регистра, три коммутатора и три 20 сумматора. Известное устройство реализует алгоритм Волдера по конвейерному принципу, причем в каждой ячейке, являющейся ступенью конвейера, выполняется одна итерация алгоритма. 25
Скорость .выполнения операции поворота вектора в устройстве равна л
T, = м+ "см+ PT где t, 7 с м — заДеРжка инфоРмации 30
1Н в коммутаторе и сумматоре.; время записи информации в регистр.
Так как, в устройстве производится па-. раллельная обработка данных, то ь м =
="" см и < =" км+п см+ г- рг °
Затраты оборудования на устройство составляют
Ф, =(Зп ) +(Зп ) „+(З ) м, где первое слагаемое — количество триггеров, второе — одноразрядных сумматоров, третье — одноразрядных коммутаторов (2) .
Недостаток устройства — большие затраты оборудования.
Цель изобретения — сокращение затрат оборудования .
Поставленная цель достигается тем, что в устройство, содержащее генератор тактовых импульсов, rl ячеек (и= 1, 2, ..., П, где и — разрядность- устройства) каждая из которых, начиная с второй, содержит первый и второй регистры, первый и второй сумматорывычитатели, первый и второй коммутаторы, а первая ячейка содержит первый и второй сумматоры-вычитатели и первый и второй регистр, причем в каждой ячейке, начиная с второй, раз— рядные выходы первого и второго регистров соединены с первыми информационными входами соответственно первого и второго сумматоров-вычитателей, выходы первого и второго комму таторов соединены с вторыми информационными входами соответственно второго и первого сумматоров-вычитате4 1144 лей, а информационные выходы первого и второго сумматоров-вычитателей i-й ячейки (i=1, ..., и ) соединены с информационными входами соответственно первого и второго регистров (i+1)-A
5 ячейки, дополнительно введен блок уп. равления, содержащий генератор тактовых импульсов, сдвиговый регистр и -1 элементов И, (и-1) триггеров, в бло.ке управления первые входы х-го и 1р (i+1)-го элементов И соединены с выходом (i+1)-го разряда сдвигового регистра, второй вход i-го элемента
И соединен с выходом П -ro разряда сдвигового регистра, в каждую ячейкУ 15 устройства, начиная с второй, допол-} нительно введены первый, второй, третий и четвертый триггеры, а первая ячейка содержит первый и второй триггеры, причем информационные входы ур первого и второго регистров первой ячейки соединены соответственно с первым и вторым информационными входами устройства, единичные входы первого и второго триггеров (i+1)-й 25
1 ячейки соединены с третьими информационными входами соответственно первого и второго сумматоров-вычитателей (i+1)-й ячейки, выходы переносов которых соединены с единичными входа-Зо ми соответственно первого и второго триггеров этой ячейки, разрядные выходы первого и второго регистров первой ячейки соединены соответственно с первыми и вторыми информационными входами первого и второго сумматороввычитателей первой ячейки, установочные входы первого и второго триггеров -й ячейки соединены с инверсным выходом ((i+1) ° i/2j-го разряда сдви- gp гового регистра блока управления, выход ((+1) ° i/2)-1-разряда сдвигового регистра блока управления соединен с установочными входами третьего и четвертого триггеров (i+1) -й 45 ячейки, управляющие входы первого и второго коммутаторов (i+1)-й ячейки соединены с единичным выходом -гo триггера блока управления, выход генератора тактовых импульсов соединен зо со счетным входом сдвигового регистра блока управления и с установочными входами триггеров и регистров каждой ячейки, разрядные выходы первого и второго регистров (i+1)-й ячейки M соединены с первыми информационными входами соответственно первого и второго коммутаторов (i+1)-й ячейки;
104 4 вторые информационные входы которых соединены с единичными выходами соответственно первого и второго триггеров (i+1) é ячейки, единичные входы которых соединены с информационными входами соответственно первого и второго регистров (+1)-й ячейки, зна— ковые входы первого и второго сумматоров-вычитателей i-й ячейки соединены с i-м входом группы входов на— правления поворота устройства, первый и второй информационные выходы которого соединены с информационнымивыходами соответственно первого и второго сумматоров-вычитателей 11-й ячейки, выход генератора тактовых им-. пульсов блока управления соединен с установочными входами сдвигового регистра блока управления и с управляющим входом запуска устройства.
На фиг. 1 показана функциональная схема, устройства поворота вектора; на фиг. 2 — функциональная схема блока управления; на фиг. 3 — временная диаграмма работы устройства для поворота вектора; на фиг. 4 — временная диаграмма работы блока управления.
Устройство (фиг. 1) содержит первые сдвиговые регистры 1 — 1 втоЭ рые сдвиговые регистры 2 — 2 перn ° вые триггеры 3 — 3, вторые триггеры 4 — 4» третьи триггеры 5 — 5
П» четвертые триггеры 6 — 6„, первые сумматоры-вычитатели 7 — 7 вторые
{ сумматоры-вычитатели 8 — 8 . первые коммутаторы 9 — 9п, вторые коммутаторы 10 — 10„, блок 11 управления, первый 12 и второй 13 информационные входы устройства, управляющие входы
14 — 14 устройства, первый, 15 и второй 16 информационные входы устройства, управляющий вход 17 запуска устройства, первую группу выходов
18 — 18д блока управления, вторую группу выходов 19 — 19п блока управления, третью группу. выходов 20 — 20 п блока управления, установочный выход
21 блока управления. Блок 11 управления (фиг. 2) содержит генератор 22 тактовых импульсов, сдвиговый регистр
23, элементы И 24 — 24„, триггеры
25 — 25п.
Регистры 1 - 1> и 2 — 2 — соотЦ ветственно 1, 2, 3, ..., n. — разрядные (л — разрядность устройства).
Сумматоры-вычитатели и коммутаторы— одноразрядные.
1144104
Выполнение операции поворота вектора в устройстве выполняется по ал-l горитму Волдера, де 1 =» 1 — функция, указывающая
1 направление поворота;
i=0,1,...n-1 — номер итерации.
Обычно углы поворота известны наперед, поэтому значения вычисляются заранее.
Устройство работает следующим образом.
Начальные координаты вектора Хо и У поступают в устройство по входам 12 и 13 младшими разрядами вперед, причем в каждом такте поступает один разряд. Тактовые импульсы вырабатывают генератор 22, запускаемый по входу 17.
С приходом первого импульса, поступающего с выхода 21 генератора 22, в регистры 1 и 2 записываются младшие разряды координат х и у
На.сумматорах-вычитателях 7 и 8»
» над данными разрядами выполняется первая итерация алгоритма Волдера, а код операции: сложение или вычитание определяется по значению, посту пающему по входу 14» устройства.
С приходом второго импульса первые разряды значений х, и у» из сум- З маторов-вычитателей 7» и 8» записы— ваются в первые разряды, регистров
1 и 2, .а переносы записываются в тригг ры 3» и 4». Одновременно в регистры 1 и 2 записываются вторые
»» разрядь. значений хо и уо. На сумматорах †вычитател 7» и 8» выполняется первая итерация над вторыми разрядами, причем в обработке берут участие и переносы, хранимые в триг45 гера х 3» и 4
С приходом третьего импульса вторые разряды значений х » и у записываются в первые разряды регистров
1 и 2, первые разряды данных значе- о ний записываются во вторые разряды
1 и 2, переносы из сумматоров-вычйтателей 7» и 8» записываются в триггеры 3» и 4» . Одновременно в регистры 1, и 2» поступают третьи раэ- ряды значений хо и у>. На сумматорахвычитателях 7» и 8» выполняется первая итерация над данными разрядами, на сумматорах-вычитателях 7 и 8
2 Г вторая итерация алгоритма Волдера над первыми разрядами значений х» и у . При этом на вторые входы сумма» торов-вычитателей 7 и 8 через ком2 мутатор 9 поступают значения с первых разрядов регистров 2 и 1, т.е. осуществляется сдвиг на один разряд вправо. Код операции: сложение или вычитание, определяется по значению, поступающему по входу 14 устройства.
В дальнейшем в каждом такте в устройство поступает новый разряд координат, на сдвиговых регистрах устройства происходит сдвиг промежуточных значений на разряд вправо, а с выходов сумматоров-вычитателей 7» — 7п и 81 — 8д результирующие разряды i-й итерации (i=-1,2, ..., л ) записываются в первые разряды соответственно регистров 1 — 1 и 2 — 2„, а переносы — в р гг ры 3» — 3 и и 4» — 4 .
Соединение информационных входов коммутаторов 9; и 10Ä (i=2,3, ..., ») с выходами первых разрядов соответственно i-разрядных регистров 2 и 1.
» позволяет выполнять сдвиг значений х; и у íà i разрядов вправо,,т.е.
1 их умножение на 2
После поступления ц импульсов на сумматорах-вычитателях 7» и 8» сфор— мируются и -e разряды (знаковые) значений х» и у, которые в (п+1) — м такте записываются в первые разряды регистров 1 и 2 и в триггеры 5
7 и 6 по сйгйалу, поступающему с выхода 19д блока 11 управления. T
Для исключеиия влияния переноса из старшихi разрядов предыдущих коор- . динат на последующие координаты после поступления импульсов производится сброс триггеров 3» и 4» сигналом, поступающим с выхода t8» блока 11 управления.
В (»»+1)-м и (n+2)-м тактах выходы триггеров 5 и 6 через коммутаторы
9о и 10 подключаются соответственно к входам сумматоров-вычитателей 8 и 7 сигналом, поступающим по выходу
20 блока 11 управления. Тем самым старшие разряды не сдвигаемых координат взаимодействуют со знаковыми разрядами сдвигаемых координат, а не с младшими разрядамй последующих координат, которые в (й+2) — м такте поступают в первые разряды регистров 1 и 2 .
7 1144
Подобно сигналу с выхода 18 блока
11 управления сигналы с выходов 18 —
18 (фиг. 3 ) производят сброс соответственно триггеров 3 — 3„,4 и 4 „, что исключает влияние переноса из старших разрядов предыдущих коорди нат на последующие координаты.
Сигналы с выходов 19 — 19я(фиг.3). как и сигнал 192 запись!вают знаковые разряды промежуточных значений координат в триггеры 5 — 5n и 6> — 6Ä а сигналы с выходов 205 — 20n подючают данные триггеры к входам сумматоров.-вычитателей 7 — 7„ и 8 — 8n через коммутаторы 9 — 9n и 10з — 10n 15 когда сдвигаемые значения выходят ) за пределы разрядной сетки и необходимо выполнять сложение либо вычитание знакового разряда. При логическом нуле на выходах 20 — 20„ 3) входы сумматоров-вычитателей 7 — 7п и 8 — 8 соединены с выходами пер вых разрядов регистров 2, 1, 1, 12 2п 1д.
После поступления и /2 импульсов 25
Ф на выходах 15 и 16 устройства появляются младшие разряды результирующих координат, а затем в каждом такте появляются следующие разряды. После
И поступления — + n импульсов появляют L 30 ся младшие разряды следующих результирующих координат и т.д.
Блок 11 управления работает следующим образом.
Когда по входу 17 поступает сигнал логического нуля, кольцевой регистр устанавливается в начальное состояние "00...,01", если во всех разрядах записаны нули, а в и -м разряде — "1". Когда по входу 17 посту40 пает сигнал логической единицы, генератор 22 тактовых импульсов вырабатывает тактовые импульсы. Эти импульсы по выходу 21 поступают на регистры 3 — 3> и 4, — 4,>, а также на
104 8 кольцевой регистр 23. По переднему 1 фронту первого импульса в первый разряд кольцевого регистра 23 записывается единица из )1-го разряда, по переднему фронту второго импульса единица переписывается во второй разряд, а в первый разряд записывается нуль и т.д., т.е. единица движется по разрядам .регистра.
Временная диаграмма работы блока
11 управления приведена на фиг. 4.
Сигнал 18 (i=i,2,...,п) выполняет сброс триггеров переноса в моменты прихода младших разрядов операндов.
Номер импульса или номер разряда кольцевого регистра 23, с инверсного выхода которого снимается сигнал 18, .
Э равен t(i+t) ° i/2j. Сигнал 19, выполняет запись знаковых разрядов операндов в соответствующие триггеры, . т.е. приходит на такт позже, чем
18,, поэтому этот сигнал снимается с прямых выходов разрядов кольцевого регистра 23, имеющих номера ((i+1)>
i/2j-1. Сигнал 20, действует от момента записи знакового разряда операнда в предыдущий регистр до момента записи знакового разряда операнда в последующий регистр, т.е. от момента действия переднего фронта сигнала 1.9, до момента действия перед него фронта сигнала 19 . Он формируется на элементе ИЛИ 24 и счетном
1 триггере 25, .
Таким образом, предложенное устройство позволяет поразрядно обраба тывать данные в темпе их поступления.
Эффективность изобретения заключается в сокращении,затрат оборудования.
Высокая однородность и регулярность структуры, а также малое число внешних выводов делают устройство перспективным для изготовления в виде БИС.. 1144104
° 1144104
° ° °
° °
20р 20З 20
Фиг.2
7 2 3 Ф 7 2 д 6 7 2,У Ф
1Bz
78у
1144104
t8z
Составитель В.Венцель
Редактор P.Öèöèêà Техред А.Кикемезей Корректор О.Билак
Заказ 931/40 Тираж 710 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Филиал ППП "Патент", г.ужгород, ул,Проектная, 4







