Конвейерное устройство для вычисления функций синуса и косинуса

Иллюстрации

Показать все

Реферат

 

ОПИСАНИЕ

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

Союз Советских

Социалйстических .

Реслублнк (>1 ООЗО80 (61) Дополнительное к авт. свид-ву— (22) Заявлено 091081 (21) 3346478/18-24 с присоединением заявки ¹â€”

f53) М Кл з

С 06 F 7/548

Гостдаветвеииый комитет

СССР ио делам изобретеиий. и открытий (23) Приоритет153) УДК 681. 325 (088. 8) Опубликовано 070383. Бюллетень № 9

Дата опубликования описания 0 70 33 3 с

1

{72) Автор. .изобретения

А ° А. Мельник (71)заявитель (54 ) КОНВЕЙЕРНОЕ УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ

ФУНКЦИЙ СИНУСА И КОСИНУСА

Т 2,5 nt (см), 4

Изобретение относится к вычислительной технике и предназначено для использования в быстродействуюй иХ специализированных IIBN для вычисления функций синуса и косинуса.

Известно устройство для вычисления функций вида увiпx содержащее

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

Недостатком этого устройства является низкое быстродействие.

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

Быстродействие данного устройства где t .- время суммирования двух чисел на сумматоре Г21.

Недостатками известного устройства являются низкое быстродействие и большие объемы дорогостоящих ПЭУ для хранения констант и микропрограмм блока микропрограммного управлЕния.

Целью изобретения является повышение .быстродействия устройства.

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

30 первым входом входного сумматора, 1003080 рых соединены с соответствующими информационными входами блока, выход старшего разряда третьего регистра соединен с управляющими входами первого, второго и третьего коммутаторов, прямые выходы первого и второго регистров соединены с первыми информационными входами соответствующих коммутаторов и первыми. входами соответствующих сумматоров, 0 инверсные выходы первого и второго регистров соединены са вторыми информационными входами соответствующих коммутаторов, ныходы первого и второго коммутаторов соединены со вторыми входами соответственно второго и первого сумматоров, первый и второй информационные входы третьего коммутатора соединены с входами соответственно прямого и обратного кода константы arctg2 выход третьего коммутатора и прямой выход третьего регистра соединены соотнетстненно с первым и вторым входами

15 рых соединены соответственно с первым информационным входом блока вычис-: ления итерации и вторым входом входного сумматора, первый и второй информационные входы первого входного комму-. татора соединены с входами соответственна.прямага и обратного кодов на-, чальных условий нычисления косинуса устройства, первый и второй информационные входы второго входного коммутатора соединены с входами соответственно прямого и обратного кодов константы 0,25 Й устройства, вход прямого кода начальных условий вычисления косинуса которого соединен со вторым информационным входом блока вычисления итерации, третий информационный вход которого соединен с выходом входного сумматора, выходы с первого по третий-.1-го блока вычисления итерации (i 1,2,...,n-3) соединены соответственно с первого 40 по третий информационными входами (i+1)-ro блока вычисления итерации, выходы с первого по третий (n-2)-ro блока вычисления итераций соединены с информационными входами соатвет- 45 стненна первого и второго промежуточных регистров и триггера, выход которога соединен с управляющими входами выходных коммутаторов, первые и вторые информационные входы кото- 50 рых соединены с прямыми и инверсными выходами соответствующих промежуточных регистров, выходы первого и второго выходных коммутаторов соединены со вторыми входами,соответ-55 стненна второго и первого выходных

65 прямые выходы первого и второго промежуточных регистров соединены с перными входами соответствующих выходных сумматоров, дополнительно введены два входных коммутатора, два выходных коммутатора, дна выходных регистра, триггер и (и-2) блоков вычисления итерации (где n — разрядность аргумента), причем первый и второй входы блока управления янляются входом задания размерности массива и входом пуска соответственно, выход блока управления соединен с синхровходами входного регистра, промежуточных регистров, триггера, выходных регистров и блоков вычисления итерации, выход старшего разряда входного регистра соединен с управляющими входами первого и второ,го входных коммутаторов, выходы кото- сумматоров, выходы .которых соединены с информационными входами соответст- вующих выходнь1х регистров, при этом блок вычисления итерации (1 1,2,... и-2) содержит три регистра, три ком мутатора и три сумматора, причем синхронход блока соединен с синхровходами первого, второго:и третьего регистров информационные входы кото- третьего сумматора, выходы первого, второго и третьего сумматоров соединены с соответствующими выходами блока, причем блок управления содержит генератор импульсан, триггер, элемент И, элемент ИЛИ-HE и счетчик, установочный вход которого соединен,с перным входом блока, второй вход которого соединен с первым входом триггера, второй вход которого через элемент ИЛИ-НЕ соединен с выходом счетчика, счетный вход которого соединен с выходом элемента И и выходом блока управления, выходы триггера и генератора импульсов соединены со входами элемента И.

На фиг. 1 дана блок-схема устройстна1 иа фиг. 2 — блок-.схема блока управления.

Канейерное устройство для вычисления функций синуса и косинуса содержит входной регистр 1, входные ком мутаторы 2 и 3, входной сумматор 4, блок 5 вычисления итерации, регистры 6,7 и 8 блока вычисления итера ции коммутаторы 9, 10 и 11 блока вычисления итерации, сумматоры 12, 13 и 14 блока вычисления итерации, промежуточные регистры 15, 16, триггер 17, коммутаторы

18 и 19 выходные, сумматоры 20 и

21 выходные, регистры 22 и 23 выходные, выход 24 блока 25 управления.

Блок 25 управления содержит триггер 26, генератор 27 импульсов, элемент 28 И, счетчик 29, элемент

30 ИЛИ-НЕ, входы 31 и 32 блока управления.

Алгоритм вычисления функций sintp и сов Ч описывается следующими ите.рационными Формулами:

Y +4 = Y1 +3 Х1 ° 2 ";

><;+q х ы. У.. 2 .

11 1

1003080 с е которые нри начальник нначенияк т П, к =1Д (1тф = р дают после и итераций х соьЧ и Yns}nч, и с точностью 2 " .", I

Устройство работает следукщим образом.

По в оду 31 в счетчик 29 блока

25 управления загружается число, равное длине обрабатываемого массива. По сигналу "Пуск",поступающему по входу 32, триггер 26 устанавливается в состояние "1" и сигнал с его выхода пропускает на выход элемента И 28 импульсы, вырабатываемые генератором 27 импульсов, которые по выходу 24 поступают на регистры устройства. 20

Регистры устройства построены на О-триггерах, поэтому запись информации в регистры производится по . переднему фронту импульса записи.

По первому импульсу во входной 25 регистр 1 записывается значение операнда, представленное в обратном коде в форме с фиксированной запятой ° ..Сигнал с выхода старшего разряда 30 регистра 1, определяющий знак и

>о> управляет прохождением информацйи через коммутаторы 2 и 3. Если знак

М положительный, то через коммутатор 2 пропускается значение хд, сфор-3 мированное на входе монтажным способом, а через коммутатор 3 значение

Rj4 представленное в обратном коде и также сформированное монтажным способом. Если знак Ч отрицательный, 40 то через коммутаторы 2, 3 проходят хо и й/4, сформированное на их входах монтажным способом. На сумматоре 4 формируется значение Ч., = -$ Я/4, С приходом из блока управления второго импульса в регистр 6 первого 45 блока 5 вычисления итерации записывается значение с выхода коммутатора

2, в регистр 7-значение х, а в регистр 8 - значение с выхода сумматора 4. Одновременно в регистр 1 посту- 50 пает следующий операнд массива.

Над вторым операндом производятся операции, аналогичные выполняемым в первом такте над первым операндом, т.е. над вторым операндом выполняет- 55 ся первая итерация. Над первым операндом в первом блоке 5 вычисления итерации выполняется вторая итерация

В зависимости от знаками(, записанного в регистре 8, через коммутато- gp ры 9, 10 и 11 проходят соответствующие прямые или обратные значения регистров 6 и 7, а также значения

arctic 2 в прямом или обратном коде. На сумматор" 12 формируется зна- 65 чение У>, на сумматоре 13 — х, на сумматоре 14 — . Сдвиг значений х„ и У„ на один разряд вправо, т.е. их умножение на 2-1, осуществляется путем соединения выходов регистров 6 и 7 с соответствующими входами коммутаторов 9 и 10 со сдвигом на ра ряд вправо, т.е. k-й разряд регистра соединяется с (r+1)-м разрядом комму т атора.

С приходом третьего импульса ре-зультаты вычислений, полученные в .первом блоке 5 вычисления итерации, записываются в регистры второго вычислительного блока 5,. вычисления итерации, а в первый бло.: 5 записываются результаты иэ первой ступени конвейера. Во входной регистр 1 поступает значение третьего операнда обрабатываемого массива. В первой ступени выполняется первая итерация над третьим операндом, во второй— вторая итерация над вторым операндом, в третьей — третья итерация над первым операндом.

В дальнейшем, с приходом каждого импульса, результаты предыдущих блоков 5 вычисления итерации поступают в последующие блоки, а во входной регистр поступает новый операнд и т.д., причем в каждом следующем блоке эначения из регистров 6 и 7 пос ,тупают на коммутаторы 9 и 10 со сдвигом на один разряд вправо большим, чем в предыдущем блоке, а в выражениях арктангенсов, которые формируются монтажным способом на входах коммутаторов 11, степень двойки возрастает на единицу.

С приходом и-го импульса в регистры 15 и 16 записываются значения из сумматоров 12 и 13 (и+2)-го блока, а в триггер 17 поступает значение знакового разряда сумматора 14. По сигналам с выходов этогс триггера из регистров 15 и 16 через коммутаторы 18 и 19 на сумматоры

20 и 21 поступают значения Y> g u х,,, сдвинутые íà (n-1)-разрядов вйраво. На сумчато >ах 20 и 21 формируются первые результаты У и х, которые по приходу (n+ 1)-ro импульса записываются в выходные регистры

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

Вместе с поступлением на регистры устройства тактовые импульсы иэ элемента И 28 поступают на счетчик 29, и с поступлением каждого импульса лз содержимого счетчика вычитается единица. Как только содержимое счетчика станет равным нулю, что указывает на окончание обработки всего массива чисел, элементом ИЛИ-HE 30 вырабатывается сигны, который поступает

100З08О на триггер 26 и сбрасывает его в "О"

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

И 28, на регистры устройства и работа прекращается.

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

Т с + t см кМ где г., - время суммирования на сумсгл маторе;

t — задержка информации коммуКм татором.

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

Т1 25 с — — а 2,5 и раз, см

Кроме того, в предлагаемом устройстве нет ндсбходимости хранить в ПЗУ константы, количество которых равно 2п, поскольку они подаются монтажным способом, а также нЕ нужно ПЗУ для хранения микропрограмм сложного блока микропрограммного управления, так как управление устройством осуществляется от простого бароха правления.

Формула изобретения

1. Конвейврное устройство для вычисления функций синуса и косинуса, содержащее входной регистр, два про. межуточных регис-.ра, входной сумматор, два выходных сумматора и блок управления, причем прямой выход входного регистра соединен с первым входом входного сумматора, прямые выходы первого и второго .промеж гоч ных регистров. соединены с первыми входами соответствующих выходных сумматоров, о т л;и ч а ю щ е е с я тем, что, с целью псвышения быстродействия устройства при вычислении функций для массива чисел, в него введены два входных коммутатора, два выходных коммутатора, два выход ных регистра,:триггер И (n-2) блоков вычисления итерации (где и — разрядность аргумента), причем первый и второй входы блока управления явля. ются входом задания размерности массива и входом пуска соответственно, I выход блока управления соединен с ,синхровходами входного регистра, промежуточных регистров, триггера, выходных регистров и блоков вычисления итерации, выход старшего разряда входного регистра соединен с уп.-. равляющими входами первого и второго входных коммутаторов, выходы ко,торых соединены соответственно.с . первым информационным входом блока ! вычисленйя итерации и вторым входом входного сумматора, первый и второй

10 информационные входы первого входного коммутатора соединены с âõoäàìè соответственно прямого и обратного кодов начальных условий вычислений косинуса устройства, первый и второй

Я информационные входы второго входного коммутатора соединены с входами соответственно прямого и обратного кодов константы 0,25Ф устройства, вход прямого кода начальных условий

2О вычисления косинуса которого соединен с вторым информационным входом блока вычисления итерации, третий информационный вход которого соединен с выходом входного сумматора, выходы с первого по третий i--го блока вычисления итерации (i=1, 2,. п-3) соединены соответственно с первого по третий информационными входами {1+1)-го блока вычисления итерации, выходы с первого по третий (n-2)-.го блока вычисления итераций соединены с информационными входами .соответственно первого и второго промежуточных регистров и триггера, выход которого соединен с : управляющими входами выходных коммутаторов, первые и вторые информационные входы которых соединены с прямыми и инверсными выходами соответствующих промежуточных регистров

40 выходы первого и второго выходных коммутаторов соединены с вторыми входами .соответственно второго и первого выходных сумматоров, выходы которых соединены с информацион45 ными входами соответствующих выход" ных регистров.

2. Устройство по п.1; о т л ич а ю щ е е с я тем, что i-й блок вычисления итерации (1=1, 2, 50 и-2) содержит три регистра, три ком,мутатора и три сумматора, причем синхровход блока соединен с синхровходами первого, второго и третьего регистров, информациснные входы

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

gg коммутаторов, прямые выходы первого и второго регистров соединены с первыми информационными входами со.ответствующих коммутаторов и первыми входами соответствующих сумма оров, инверсные выходы первого и

1003080 второго регистров соединены с вторы,ми информационными входами соответствукицих коммутаторов, выходы первого и второго коммутаторов соединены с вторыми входами соответственно вто5 . рого и первого сумматоров, первый и второй информационные входы третьего коммутатора соединены с ходами соответственно прямого.и обратного кода константы arctg2 ", выход третьего коммутатора и .прямой выход третьего регистра соединены соответственно с первым и вторым входами третьего сумматора, выходы первого, второго и третьего сумматоров соединены с соответствующими выходами блока.

3. Устройство по п.1, о т л и ч а ю щ е е с я тем, что блок управления содержит генератор импульсов, JF 71 триггер, элемент И, элемент ИЛИ-НЕ и счетчик, установочный вход которого соединен с первым входом блока, втсРрой вход которого соединен с первым входом триггера, второй вход которого через элемент ИЛИ-HE соединен с выходом счетчика, счетный вход которого соединен с выходом элемента И и выходом блока управления, выходы триггера и генератора импульсов соединены с входами элемента И.

Источники информации, принятые во внимание при экспертизе

1. Авторское свидетельство СССР

9 760111, . G. 06 F 15/31, 1978.

2. Оранский А..М. Аппаг атные методы в цифровой вычислительной технике. Минск, БГУ, 1977, с. 132, рис. 5. 20 (прототип ).

Составитель А. Зорин

Редактор Г; Волкова Техред М,Тепер Корректор О. Билак

Заказ 1554/32 Тираж 704 Подписное

ВНИИХИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35,. Раушская наб., д. 4/5 филиал ППП "Патент", г. Ужгород, ул.,Проектная, 4