Устройство для вычисления элементарных функций
Иллюстрации
Показать всеРеферат
УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ЭЛЕМЕНТАРНЫХ-ФУНКЦИЙ, содержащее три регистра, два сдвигателя, пять сумматоров , блок памяти, блок управления и блок анализа/состояния, причем первые информационные входы регистров соединены с информационной шиной устройства, выходы первого, второго и третьего сумматоров соединены с соответствующими выходами устройства и с вторыми информационными входами соответствующих регистров, первые информационные входы первого, второго и третьего сумматоров соединены соответственно с выходами первого и второго сдвигателей и выходом третьего регистра, второй информационный вход третьего сумматора соединен с вьЕходом блока памяти, при этом блок управления содержит регистр кода операции, генератор импульсов, триггер , элементы И-НЕ, блок анализа состояния содержит коммутатор, одноразрядный узел памяти, триггер, узел буферной памяти и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, при этом информационный вход регистра кода операции блока управления соединен с шиной кода операции устройства, информационный выход регистра кода операции блока управления соединен с первым адресным входом одноразрядного узла памяти блока анализа состояния и управляющим входом коммутатора блока анализа состояния, информационные входы которого соединены с выходами первого, второго и третьего сумматоров, запускающий вход устройства соединен с .управляющим входом регистра кода операции блока управления , входом запуска генератора импульсов блока управления и установочными § входами триггера блока управления и триггера блока анализа состояния, (Л выход генератора импульсов блока управления соединен с синхровходами регистров узла буферной памяти блока анализа состояния, триггера блока уп-; равления и триггера блока анализа состояния , выход элемента И-НЕ блока управления соединен с управляющими входами регистров, выход узла памяти блока анализа состояния соединен с первым входом элемента ИСЮТЮЧАЩЕЕ ИЛИ блока анализа состояния, выходы узла памяти и элемента ИСКЛЮЧАЮЩЕЕ ИЛИ блока анализа состояния подключены к управляющим входам первого, вто- .рого и третьего сумматоров, первый вход элемента И-НЕ блока управления .. соединен с выходом триггера блока управления , первый выход узла буферной памяти блока анализа состояния соединен с адресной шиной устройства, управляемые входы сдвигателей и адресный вход блока памяти соединены с адресной шиной устройства, о т л и
СОЮЗ СОВЕТСКИХ
И \ М
РЕСПУБЛИК (19 (}1) 2 5 А
3@}} G 06 F 7 544
ГОСУДАРСТВЕННЫЙ КомИТЕТ СССР по делАм изоБ етений и отнРытий
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
13 "" л
S (21) 2968651/18-24 (22) 26.06.80 (46) 15.07.84 Бюл. ¹ 26 (72) В.В.Аристов (71) Институт электродинамики Ari
УССР (53) 681.325(088.8) (56) 1. Авторское свидетельство СССР
¹ 5197 17, кл. G 06 F 7/548, 1974.
2. Авторское свидетельство СССР по заявке ¹ 2877479, кл. С 06 F 7/548, 06.06.80 (прототип) . (54)(57) УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ
ЭЛЕМЕНТАРНЫХ. ФУНКЦИЙ, содержащее три регистра, два сдвигателя, пять сумматоров, блок памяти, блок управления и блок анализа, состояния, причем первые информационные входы регистров соединены с информационной шиной устройства, выходы первого, второго и третьего сумматоров соединены с соответствующими выходами устройства и с вторыми информационными входами соответствующих регистров, первые информационные входы первого, второго и третьего сумматоров соединены соответственно с выходами первого и второго сдвигателей и выходом третьего регистра, второй информационный вход третьего сумматора соединен с выходом блока памяти, при этом блок управления содержит регистр кода операции, генератор импульсов, триггер, элементы И-НЕ, блок анализа состояния содержит коммутатор, одноразрядный узел памяти, триггер, узел буферной памяти и элемент ИСКЛ10ЧА10ЩЕЕ ИЛИ, при этом информационный вход регистра кода операции блока управления соединен с шиной кода операции устройства, информационный выход регистра кода операции блока управления соединен с первым адресным входом одноразрядного узла памяти блока анализа состояния и управляющим входом коммутатора блока анализа состояния, информационные входы которого соединены с выходами первого, второго и третьего сумматоров, запускающий вход устройства соединен с .управляющим входом регистра кода операции блока управления, входом запуска генератора импульсов блока управления и установочными входами триггера блока управления и триггера блока анализа состояния, выход генератора импульсов блока управления соединен с синхровходами ре- ювао гистров узла буферной памяти блока анализа состояния, триггера блока уп-, равления и триггера блока анализа состояния, выход элемента И-НЕ блока управления соединен с управляющими входами регистров, выход узла памяти блока анализа состояния соединен с первым входом элемента ИСКЛ10ЧАЮЩЕЕ
ИЛИ блока анализа состояния, выходы узла памяти и элемента ИСКЛ10ЧАЮЩЕЕ
ИЛИ блока анализа состояния подключены к управляющим входам первого, вто-. .рого и третьего сумматоров, первый вход элемента И-НЕ блока управления соединен с выходом триггера блока управления, первый выход узла буферной памяти блока анализа состояния соединен.с адресной шиной устройства, управляемые входы сдвигателей и адресный вход блока памяти соединены с адресной шиной устройства, о т и и—
1103 чающее ся тем, что, сцелью повышения быстродействия, сумматоры выполнены в избыточной знакоразрядной системе счисления, в блок анализа состояния введены узел приоритета и шифратор, причем выходы первого и второго регистров соединены с первыми информационными входами четверто- . го и пятого сумматоров, вторые информационные входы которых соединены с выходами соответственно первого и второго сумматоров, выходы четвертого и пятого сумматоров подключены к информационным входам соответственно второго и первого сдвигателей, выход коммутатор блока анализа состояния соединен с входом узла приоритета блока анализа состояния, информационный
t выход которого подключен к входу шиф225 ратора блока анализа состояния, выход которого соединен с информационным входом узла буферной памяти блока анализа состояния, второй выход которого подключен к второму адресному входу одноразрядного узла памяти блока анализа состояния, управляющий выход узла приоритета блока анализа состояния подключен к информационному входу триггера блока анализа состояния, выход которого соединен с вторым входом элемента И-НЕ и информационным входом триггера блока управления, второй вход элемента ИСКЛ10ЧАНЗЦЕЕ ИЛИ блока анализа состояния соединен с адресной шиной устройства, дополнительный выход регистра кода операции блока управления подключен к стробирующему входу блока памяти.
Изобретение относится к области вычислительной техники, к классу арифметических устройств для .вычисления трансцендентных функций, и может быть использовано в цифровых моделирующих, управляющих и вычислительных систе5 мах как общего, так и специального назначения.
Известно устройство для вычисления элементарных функций, состоящее из трех регистров, четырех блоков сдвига, блока памяти, семи сумматоров, четырех переключателей и управляющей схемы, выполненной в виде блока анализа состояния н блока управ15 ления, причем коррекция деформации решения осуществляется путем вычисления на дополнительных сумматорах соответствующих поправок j1) .
К недостаткам известного устройства относятся низкое быстродействие и ограниченность функциональных возможностей и области применения ввиду ограничения диапазона изменения аргумента и невозможности непрерывного генерирования функций, в том числе с управляемым шагом.
Наиболее близким к предложенному по технической сущности является устройство для вычисления элементарных функций, содержащее три регистра, два сдвигателя, пять сумматоров, блок памяти, блок управления и блок анализа состояния, причем информационные входы регистров соединены с информационной шиной устройства, выходы первого - третьего сумматоров соединены с соответствующими выходами устройства и информационными входами соответствующих регистров, первые информационные входы первого — третьего сумматоров соединены соответственно с выходами первого и второго сдвигателей и выходом третьего регистра, информационный вход третьего сумматора соединен с выходом блока памяти, выходы первого — третьего сумматоров объединены и соединены с информационным входом блока анализа состояния, выход которого соединен с управляющими входами первого, второго и третьего сумматоров (2) .
Недостатком устройства является низкое быстродействие.
Цель изобретения — повышение быстродействия, Поставленная цель достигается тем, что устройство для вычисления элементарных функций, содержащее три регистра, два сдвигателя, пять сумматоров, 1103225 блок памяти, блок управления и блок анализа состояния, причем первые информационные входы регистров соединены с информационной шиной устройства, выходы первого — третьего сумма- 5 торов соединены с соответствующими выходами устройства и с вторыми информацио;.ными входами соответствующих регистров, первые информационные входы первого — третьего сумматоров 10 соединены соответственно с выходами первого и второго сдвигателей и выходом третьего регистра, второй информационный вход третьего сумматора соединен с выходом блока памяти, блок управления содержит регистр кода операции, генератор импульсов, триггер и элемент И-HF., блок анализа состояния содержит коммутатор, однорядный узел памяти, триггер, узел буферной памяти и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, информационный вход регистра кода операции блока управления соединен с шиной кода операции устройства, информационный выход регистра кода операции блока управления соединен с первым адресным входом одноразрядного узла памяти блока анализа состояния и управляющим входом коммутатора блока анализа состояния, информационные ЗО входы которого соединены с выходами первого — третьего сумматоров, запускающий вход устройства соединен с управляющим входом регистра кода операции блока управления, входом запуска З5 генератора импульсов блока управления и установочными входами триггера блока управления и триггера блока анализа состояния, выход генератора импульсов блока управления соединен с синх- 40 ровходами регистров узла буферной памяти блока анализа состояния, триггера блока управления и триггера блока анализа состояния, выход элемента
И-НЕ блока управления соединен с уп- 45 равляющими входами регистров, выход узла памяти блока анализа состояния соединен с первым. входом элемента
ИСКЛОЧАИЗЦЕЕ ИЛИ блока анализа состояния, выходы узла памяти и элемента
ИСКЛЮЧАЮЩЕЕ ИЛИ блока анализа состояния подключены к управляющим входам первого — третьего сумматоров, первый вход элемента И-НЕ .блока-управления соединен с выходом триггера блока уп- 55 равления, первый выход узла буферной памяти блока анализа состояния соединен с адресной шиной устройства, управляемые входы сдвигателей и адрес-, ный вход блока памяти соединены с шиной устройства, сумматоры выполнены в избыточной знакоразрядной системе счисления, в блок анализа состояния введены узел приоритета и шифратор, причем выходы первого и второго регистров соединены с первыми информационными входами четвертого и пятого сумматоров, вторые информационные входы которых соединены с выходами соответственно первого и второго сумматоров, выходы четвертого и пятого сумматоров подключены к информационным входам соответственно второго и первого сдвигателей, выход коммутатора блока анализа состояния соединен с входом узла приоритета, блока анализа состояния, информационный выход которого подключен к входу шифратора блока анализа состояния, выход которого соединен с информационным входом узла буферной памяти блока анализа состояния, второй выход которого подключен к второму адресному входу одноразрядного узла памяти блока анализа состояния, управляющий выход узла приоритета блока анализа состояния подключен к информационному входу триггера блока анализа состояния, выход которого соединен с вторым входом элемента И-НЕ и информационным входом триггера блока управления, второй вход элемента ИСКЛОЧАЮЩЕЕ ИЛИ блока анализа состояния соединен с адресной шиной устройства, дополнительный выход регистра кода операции блока управления подключен к стробирующему входу блока памяти.
На фиг. 1 изображена блок-схема устройства для вычисления элементарных функций; на фиг. 2 — принципиальная схема блок управления, вариант; на фиг. 3 — функциональная схема блока анализа состояния, вариант.
Устройство содержит (фиг. 1) регистры 1 — 3, сдвигатели 4-5, сумматоры 6-10, 11, блок управления 12 и блок анализа состояния 13. Тактирующий и операционный входы блока анализа состояния 13 соединены с выходами блока управления 12, один вход которого соединен с выходом блока анализа состояния 13, другой — с управляющими входами блока памяти 11 и сдвигателей 4, 5. Входы управления каждого из регистров
1 — 3 соединены соответственно с выходом 14 блока управления и информа1103225
x;„=x; p „.2" (v, + „„ ;
z„„=z„ ; е; фор
6 — 8 „ где Х„,, У„,, и 1.;„— мируемые на выходах соответственно;
X H L1 — п емые регистров 1 — 3 перем суммат енные оров еремен соотв ные считываетственно; ации индек яется
1 на которой осуществл ванне с машинным шаr с итер инте гр незави иросимо
55 ом по му аргументу
Н;=2 и истинным шагом С; аргументу, равным (3) по независимому
24 Ь-Я. <
c;=
6 ционной шиной 15 устройства, управляющая шина 16 которого соединена с входом блока управления 12. Выходы сумматоров 6 — 8 соединены с информационным входом блока анализа состояния 13 по шине, а с входами регистров 1 — 3 непосредственно. Выход регистра 3 соединен с входом сумматора
8, вход которого соединен с выходом блока памяти 11. Управляющие входы сумматоров 6 — 8 соединены с выходом блока анализа состояния 13. Выходы сумматоров 6 и 7 соединены с входами сумматоров 9 и 10 соответственно, выходы которых через сдвигатели 4 и
5 соединены с вторыми входами сумматоров 6 и 7 соответственно, входы которых соединены с выходами регистров 2 и 1 соответственно, выходы которых соединены с входами сумматоров 20
10 и 9 соответственно, причем стробирующий вход блока памяти 11 соединен с выходом блока управления t2, вход запуска которого 17 соединен с входом запуска устройства. 25
Последовательность работы устройства состоит в задании, в виде кодов, данных по информационной шине 15, кода операций и запускающего сигнала по управляюшей шине 16 и съеме, в З0 виде кодов, данных регистров 1 — 3 после формирования импульсного сигнала по выходу блока анализа состоя,ния 13.
Работа устройства основывается на следующих рекуррентных соотношениях (= 1 — знак итерации, формируемый блоком анализа состояния 13.
Соотношения (1) — (4) точно, без деформации Во вектора решения описывают процедуру получения наборов элементарных функций.
Блок управления 12 содержит (фиг.2) регистр кода операций 18, управляющий триггер 19, генератор импульсов 20, элемент И-HE 21 и дополнительный выход регистра кода операции 18 (строб), на вход которого с управляющей шины
16 устройства поступает сигнал Р . На вход 23 блока управления поступает. сигнал P2 . Вход запуска 17 соединен со стробирующим входом регистра кода операций 18, с входом обнуления управляющего триггера 19 и с входом блокировки генератора импульсов 20.
В исходном состоянии сигнал Р1 имеет высокий уровень, поэтому элемент НЕ
22 выдает сигнал низкого уровня, устанавливающий э.пементы блока управления 12 в начальное нулевое состояние. При вычислении набора элементарных функций задатчик" (например, центральный процессор) по информационной шине — 15 устройства выставляет исходнь.е данные, а по управляющей шине 16 — код операций (КОП). Через некоторое время, определяемое параметрами элементов устройства, "задатчик" формирует сигнал P низкого уров1 ня, который по управляющей шине 16 поступает на вход блока управления 12, т.е. на элемент HF. 22. С выхода элемента НЕ 22 положительный сигнал разрешает занесение КОП в регистр кода операций 18, а также деблокирует управляющий триггер 19 и генератор импульсов 20, который начинает формировать серию импульсов. Вход 23 блока управления 12 соединен с входом управляющего триггера 19 и одним иэ вхсдов элемента И-НЕ 21, поэтому при поступлении с выхода блока анализа состояния 13 сигнала P2 имеющего высокий уровень в исходном состоянии устройства и в начальных циклах его работы, по выходу 14 блока управления 12 формируется сигнал Со низкого уровня. Поступая на управляющие входы регистров 1-3, этот сигнал подготавливает их к занесению информации, поступающей по информационным шинам
15 на первые входы регистров. Сигнал, поступающий из блока управления 12 также с выхода 14 на управляющие
11032 (стробирующие) входы регистров 1-3, положительным фронтом (окончанием импульса) разрешает занесение икфор- мации в эти регистры иэ информационной шины 15. Этим же фронтом управляющий триггер 19 блока управления
12 переводится в единичное состояние (так как Р имеет высокий уровень), формируя сигнал Со высокого уровня, который, поступая на управляющие !О входы регистров 1-3, обеспечивает с приходом каждого положительного фронта серии занесение информации по вторым входам регистров.
С одного из выходов регистра кода операций 18 блока управления 12 снимается сигнал C который, поступая с выхода блока управления 12 на стробирующий вход блока памяти 11, разрешает или запрещает считывание иэ 20 него информации с константах С (4), что необходимо для органиэации режима непрерывного генерирования функций с дискретно управляемым шагом.
Блок анализа состояния 13 содержит (фиг. 3) коммутатор 24, узел буферной .памяти 25, одноразрядный узел памяти 26, элемент ИСКЛЮЧА!ОЩЕЕ ИЛИ
27, триггер 28, узел приоритета 29 и шифратор 30. Выход элемента ИСКЛО30
ЧАЮЩЕЕ ИЛИ 27 является выходом блока анализа состояния, тактирующий вход которого соединен с синхрониэирующими входами узла буферной памяти 25 и триггера 28, информационный вход которого соединен с выходом "нуля" узла буферной памяти 25, выход младших разрядов которого соединен с одним адресным входом одноразрядного узла памяти 26, другой адресный вход которого соединен с адресным входом коммутатора 24 и бперационным входом блока анализа состояния 13, информационный вход 17 которого соединен с информационными входами коммутатора
24, выход которого соединен с информационным входом узла буферной памяти 25, выходы старших разрядов которого соединены с выходом блока анализа состояния 13, соединенным с опера- 0 ционным входом блока анализа состояния и одним входом элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 27, другой вход которого соединен с выходом одноразрядного узла памяти 26 и выходом блока анализа состояния 13, по шине соединенным с выходом элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 27.
Выход коммутатора 24 подключен к вхо25
8 ду узла приоритета .29, информационный выход которого подключен к входу шифратора 30, выход которого подключен к входу узла буферной памяти 25, управляющий выход узла приоритета 29 подключен к дополнительному информационному входу триггера 28. КОП с регистра кода операций 18 блока управления 12 вместе с инверсным сигналом
P через выход поступает по операциf онкому входу в блок анализа состояния 13, в котором в соответствии с
КОП выбирается канал коммутатора 24.
Кроме того, сигналы КОП являются частью адреса одноразрядного узла памяти
26, а один из разрядов КОП (-о!,), кодирующий величину Ч(Ч= — 1-Ч=1 для тригонометрических функций, q=+1-q=0 — для гиперболических функций, а также экспоненциальных), поступает на элемент ИСКЛ!ОЧАЮЩЕЕ ИЛИ
27, с выхода которого через выход блока анализа состояния 13 выдается сигнал на сумматор 6 для управления знаком операции — сложение или вычитание. Кроме того, разряд КОП через выход блока анализа состояния 13 поступает на управляющий вход блока памя ти 11 в качестве части адреса для выбора типа константы (4). Инверсный сигнал Р подается на установочный вход триггера 28 для сброса в исходное состояние после окончания вычислений.
С выходов коммутатора 24 на вход узла буферной памяти 25 поступают данные с первого выхода одного из сумматоров 6-8. Узел 25 осуществляет формирование знака числа и адреса старшего единичного разряда. Так как каждый разряд сумматоров для двоичного избыточного кодирования (1, О, 1) представлен в виде двух разрядов (1=-1 -- код 10; 0=0= †к 00; =+1код 01), то при подсоединении этих кодов к узлу 25 по приоритету, начиная от старших разрядов, выходкой код этого элемента будет содержать младший разряд, фиксирующий знак ана" лизируемого числа, и старшие разряды, представляющие код номера значащего разряда, т.е. двоичный порядок числа. Знак анализируемого числа поступает в одноразрядный узел памяти
26 для формирования ;;, обеспечивая сходимость процессов вычислений в различных квадрантах пространства допустимых областей определения функций. Старшие разряды Н;, поступают
9 11032 по второму выходу блока анализа состояния 13 на управляющие входы сдвигателей 4, 5 и блока памяти 1f для задания соответственно кода сдвига, т.е. Н, и адреса константы истинного шага по формуле (4).
В случае, когда анализируемое чис- ло равно О, то на "нулевом" выходе узла буферной памяти 25 формируется сигнал низкого уровня, который по fp серии сд .переписывается в триггер
28, а единичного выхода которого формиРУетсЯ cHI HBlI P2 HH3KQFo УРовнЯ, поступающий по первому выходу блока анализа состояния 13 на вход бло- 15 ка управления 12. B этом блоке по сигналу Р и серии управляющий триггер 19 устанавливается в нулевое состояние.
Алгоритм работы устройства осно- 20 вывается на формировании блоком анализа состояния 13 значений и Н для каждой очередной итерации, перезаписи текущей информации в регистры
1-3 и вычисления по соотношениям 25 (i) (2) с анализом очередных параметров 1 и Н; и т.д. до тех пор, пока
7 не будет сформирован сигнал Р, поступающий также задатчику" (цепи выдачи не показаны). "Задатчик считывает данные с регистров устройства и снижает сигнал Р, который низким уровнем устанавливает элементы устройства в исходное состояние.
Так как соотношение (1) имеет не35 явный вид относительно искомых переменных Х, и У; », то их прямая реализация в цифровых кодах с целью облегчения алгоритма функционирования и обеспечения устойчивости вычисле- 40 ний требует использования специальных способов кодирования — избыточной знако-разрядной системы счисления, характеризующейся тем, что глубина распространения переноса при выполнении ряда операций имеет ограниченную длину p . Если,при замыкании обратных связей величины сдвигов кодов в сторону младших разрядов превышают величину р, то для каждого разряда эквивалентная схема вычислений несмотря на структурную замкнутость оказывается разомкнутой, чем
25 l0 и обеспечивается устоичивость вычислений.
В устройстве используется один иэ известных вариантов сумматоров с таким кодированием, выполняющим следующую операцию S=(A+ (; B)C, где S, А и В представлены в избыточной двоичной системе счисления 1, О, 1;
= 1, (код "О" или "1"); С=О или 1.
Так как для такой системы счисления ь =2 разряда, то для предлагаемоP го устройства величина индекса итерации с целью обеспечения устойчивости последовательно соединенных в кольцо сумматора 6, сумматора 9, блока сдвига 4, сумматора 7, сумматора 10 и блока сдвига 5 должна быть не менее
2t, р, т.е. =2ip ) причем начальный сдвиг осуществляется подключением входов сумматоров 9 и
10 к вторым,.сдвинутым на константу, выходам сумматоров 6 и 7 и регистров 1 и 2.
Данное устройство в зависимости от кода операций позволяет одновременно формировать следующие основные наборы функций: операции сложения - вычитания, сдвига, нормализации числа, функциональное преобразование, функциональное генерирование.
Данное устройство, предназначенное для ускоренного вычисления укаэан- ных наборов функций, является многофункциональным, реализующим макрокоманды в языке высокого уровня, имеет широкую область применения в качестве центральных и проблемно-ориентированных процессов микро- и мини-ЭВМ общего и специального применения, в том числе для решения задач спектрального анализа сигналов с помощью БПФ, для преобразования прямоугольных координат в сферические и наоборот в системах управления движением и робототехнике, для вращения координат и векторов, для синтеза криволинейных поверхностей в станках с программным управлением и в других областях.
1103225 с;Рие.1
1103225
1103225
Составитель В.Кайданов
Редактор О.Колесникова Техред А.Бабинец
Корректор И.МУска
Подписное
Филиал ППП "Патент", г.ужгород, ул.Проектная, 4
Заказ 4981/37 Тираж 699
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5