Устройство для вычисления функций синуса и косинуса
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
1478 677 ГОСУДАРСТВЕННЫЙ НОМИТЕТПО ИЭОБРЕТЕНИЯМ И ОТНРЬГИЯИПРИ ННт ССО ИЗОБРЕТЕНИЯ(57) Изобретение относнтс тельной те зоваыо для и косинуса ется повьпп к сохра ойств во СССР4, 1985.СССР4, 1985,ЕНИЯ ФУНК ния, опер памяти, м 10, элеметавленнаяновых эле3 ил. к вычисли ИСАНИЕ Й АВТОРСЙОМ хнике и может быть испольвычисления функций синусаЦелью изобретения явля- ение производительности енин заданной точности.содержит блок 1 управлеационный блок 2, блок, 3 льтиплексоры 4-9, триггер т И 11, элемент НЕ 12.Посцель достигается введением ентов и связей. 1 табл.Изобретение относится к вычислительной технике и может быть использовано прн реализации универсальныхпроцессоров, в состав операций которых вводятся команды для вычисленияфункций синуса и косинуса.Цель изобретения - повыщение производительности при сохранении заданной точности. 10На Фиг.1 изображена Функциональная схема устройства; на Фиг. 2 -функциональная схема блока управления; на Фиг. 3 - Функциональная схема операционного блока. 15Устройство содержит блок 1 управления, операционный блок 2, блок 3памяти, мультиплексоры 4-9, триггер1 О, элемент И 11, элемент НЕ 12,вход .13 обращения, адресный вход 14, 20информационный вход 15 и выход 16блока памяти, первый выход 17 блокауправления, адресный 18 и первыйинформационный 19 выходы операционного блока, первый информационный вход 2520 операционного блока, вход 21 кодаоперации, вход 22 признака результата операции блока управления, выход23 признака результата операции операционного блока, второй информационный вход 24 операционного блока,вход 25 пуска устройства, вход 26признака знака Функции блока управления, выходы 27 и 28 старщих разрядоваргумента операционного блока, второй информационный выход 29 операционного блока, выход 30 младщих разрядов аргумента операционного блока,вход 31 адреса операнда, вход 32синхронизации, вход 33 кода операции 40операционного блока, второй 34,третий 35 и четвертый 36 выходы блокауправления, блок 37 памяти микропрограмм, генератор 38 синхроимпульсов,мультиплексор 39, группы 40 и 41 45мультиплексоров, триггер 42, группу43 триггеров, группу 44 элементов И,регистр 45, арифметико-логическийблок 46, регистры 47-51, мультиплексоры 52, коммутатор 53, группу 54 50регистров и блок 55 умножения. В устройстве для вычисления функ"ций совХ и впХ в качестве базовойиспользуется Формула для вычисления 55функции совХ5Бсов(Х) =Аг Х, (1) гле погрешность /Е(Х)/ - 2 100 с Х,/21А( 1Аг = Ою 49999999631А- 0,0416666418- 0,0013888397;А 1Ое 0000247609 э,А- 0,0000002605,Функция впХ вычисляется через функцию совХ по следующему (известному) соотнощению:вхпХ = сов( ю/2 - Х),В устройстве обеспечивается вы числение функций при изменении аргумента от - 2 7 до +2 т, Максимальноезначение аргумента кодируется мащинной единицей,Следовательно, математическое значение аргумента связано с кодовымзначением следующим соотношением;Х = Х, 2 и 4 Х,Р/2Х: Х+,11/2,где Хявляется приведенным к первому квадранту, (О 4 Х ( /7/2) кодовым значением аргумента и представляет собой сдвинутое на 2 разряда кодовое значение аргументах, = х 4.Таким образом, выражение (1) принимает следующий вид:Р(Хмо ) 2 - АгХ 1 (2)10где А г - приведенные константы, рассчитанные с учетом требования отсутствия переполненийА и, -.г2 2Приведенные значения констант вычисляются заранее и хранятся в зоне блока памяти, специально отведенной для констант.Выражение (2) обеспечивает вычисление значений Функций без учета знака.Знак Функции рассчитывается с учетом типа функции и диапазона, в котором находится аргумент. Вычисление функций реализуется по схеме Горнера.Устройство работает следующим образом.В блоке 3 памяти хранятся команды, данные и константыля трункнийсонХ (нзпХ) н блоке 3 памяти хранятся приведенные константы АгДля реализации данных функций нсистему команд введены дополнительно две комаццы, в операционном полекаждой из которых должен содержаться соответствующий код операции (длявыполнения функции сонХ или н 1 пХ), ав адресном поле - непосредственныйили вычисляемый (например, по содержимому базы и одного из регистровобщего назначения) адрес аргумента. 15По сигналу "Пуск" (вход 25) триггеры и регистры процессора устанавливаются в исходное состояние.По синхроимпульсам,поступающимс генератора 38 синхроимпульсов,на 20выходах 17,34, 35 и 36 блока 1 управления формируются сигналы управления.При этом управляющие сигналы выходов 17 и 35 поступают на соотнетствующие входы операционного блока , 25Кроме того, управляющие сигналы 17поступают на вход 13 блока 3 памяти,на стробирующий вход триггера 10, ав блоке 1 управления - на входы регистра 45, триггеров 43 и 42. ЗОСигналы с выхода 36 ттоступают науправляющие входы мультиплексоров5"9 и элемент И 11,На ныходе 34 блока 1 управленияустанавливаются адреса регистровгруппы 54 операционного блока 2,По сигналам обращения на выходе16 блока 3 памяти появляется информация, содержащая или команду или данные, или константу. 40Команда поступает на вход 20 операционного блока 2, а код операциии адрес одетого из регистров группы54 любой из команд поступает на вход21 блокауправления.45По сигналу с выхода 17 блока 1управления код операции и адрес иэрегистров группы 54 записываются соответственно в регистр.45 блока 1 уп-равления и пятый регистр 51 операционного блока 2,Пусть необходимо вычислить функцию совХ.С выхода регистра 45 код операции, являющийся в данном случаеначальным адресом микропрограммы, через группу 40 мультиплексоров, управляемую с выхода 36 блока 1 управления и через триггер 42 и группу 43 триггертв поступает ня ядресттьтй вход блока 37 памяти микропрограмм, В резугтьтяте ня ныходях 17, 34 - 36 блока 1 уттрявления формируются упрявлянтщие сигналы, соответствующие данной микропрограмме, я на выходе блока 37 памяти микрокомянд - адрес следующей микрокоманды.После приема командного слова определяется вычисляемый адрес аргумента Х,.При этом в коттце такта адрес следующей микрокомянды с первого адресного выходя блока 37 памяти микропрограмм поступает через группу 40 мультиплексоров, триггер 42 и группу 43 триггеров ня адресный вход блока 37 памяти микропрограмм. По сигналам обращения; поступающим с второй группы выходов генератора синхроимпульсон 38 на входы обращетптя блока 37 памяти микропрограмм, на выходах 17, 34 - 36 блока 1 управления устанавливаются сигналы, необходимые для формирования вычисляемого адреса, и код адреса следующей микрокоманды.При этом на вход 13 блока 3 памяти поступают сигналы обращения, я на первые входи второй группы 41 мультиплексоров с выхода регистра 45 поступает код ацреся регистра группы 54 и проходит через выход 34 блока,1 управления ня адресный вход операционного блока 2.Содержимое одного из регистров группы 54 н соотнетствии с поступившим адресом через мультиплексор 52 поступает на первый вход арифметикологического блока 46,В следующем такте на выходах 17, 34 - 36 блокауправления устанавливаются сигналы, обеспечиваюшие обращение за аргументом.Арифметико-логический блок 46 складывает информационные коды и полученный результат через мультиплексоры 8, 7, 9 и 6 и нход 24 пересылает в тот же регистр группы 54.В следующем такте результат, за-писанный в регистр группы 54, через мультиплексор 52 записывается н регистр 50. Через выход коммутатора 53 разряды, содержащие вычисленный адрес аргумента, через выход 18 операционного блока 2 поступают на вход 14 блока 3 памяти.По сигналам обращения на выходе 16 блока 3 памяти появляется код ар, Г/2 /2 Х Т Функция О., 3(/2 31;/22 У 00 (+) . 01 (-) 1 О (-) 11 (+) 00 (+) О (+) О (-)(-) созХ зпХ гумента Х и записывается в регистр 5 операционного блока 2, Лри этом разряды- 29 содержат приведенное значение аргумента Х+, а разряды 30 и 31 - информацию о знаке функции,Аргумент Хустанавливается на выходе 30 (разряды 1 - 29), выходах 28 и 27 (раэряды 30 и. 31 соответственно) операционного блока 2,Разряды 1 - 29 поступают на первый информационный вход мультиплексора 9, а разряд 30 через первый инФормационный вход мультиплексора 5 проходит на первый информационный вход мультиплексора 6.Ло управляющим сигналам с выходов 36 блока 1 управления на выходах пятого В и четвертого 7 мультиплексоПри вычислении функции совХ в случае, если аргуменч функции совХ находится в Т или тЧ квадранте,напервом управляющем входе мультиплексора 4 и первом входе элемента И 11устанавливаются логические нули илилогические единицы. Лри прохождениина второй вход элемента И 11 единичного управляющего сигнала с выхода36 блока 1 управления на втором управляющем входе мультиплексора 4 устанавливается нулевой сигнал.В случае, если аргумент ФункциисозХ отрицателен, то на управляющихвходах мультиплексора 4 устанавлива"ется код 01 или 10. Лри этом на еговыходе устанавливается логическаяединица,При вычислении функции МпХ дляобеспечения запоминания знака функции на второй вход элемента И 11 свыхода 36 поступает нулевой сигнал .В соответствии с таблицей на выходепервого мультиплексора 4 устанавливается нулевой сигнал для впХ ) О, иединичный для вдпХ с 0, т,е. аналогично функции созХ,Сигнал с выхода мультиплексора 4поступает на информационный вход ров устанавливаются пулевые сигналы,а на, выходе мультиплексоров 9 и 6соответственно разряды аргумента Х+1 - 29 и 30, благодаря чему на вхо 5де 24 операционного блока 2 устанавливается код аргумента, сдвинутыйна два разряда,Сдвинутый на два разряда код Х+поступает на информационнь 1 е входы регистров 47 и 48 операционного блока2 и записывается в них,Одновременно со сдвигом аргумен та Хна два разряда в триггере 10запоминается знак функции.Допустим, что для определения знака аргумента функции условно приняткод, который приведен в таблице,триггера 10 и по стробирующему импульсу с выхода 7 переводит его внулевое состояние (для совХО,впХ ) 0) или в единичное состояние35 (для соБХ 0 83 пХ ( О) рСледующий такт начинается с обращения в блок 3 памяти за константой А 0На выход 34 блока 1 управления с40 второго адресного выхода блока 37памяти микропрограмм через группу 41мультиплексоров проходит адрес регистра адреса констант регистров груп/пы 54, содержащего адрес константы45 АСодержимое регистра адреса констант поступает на,первый вход арифметико-логического блока 46 п,пройдячерез регистр 50 и первый информационный выход коммутатора 53,устанавливается на выходе 14 блока 3 памяти,По сигналам обращения на выходе16 блока 3 памяти устанавливаетсяконстанта Ащ и по управляющему сигналу записывается в регистр 51 опера 55 ционного блока 2,В этом же такте в блоке 55 умножения перемножается содержимое регистров 47 и 48 и значение произведенияР записывается в регистр 49.Кроме того, и этом же такте формируется.адрес константы А , Для этоГо ярифметико-логическцц блок 46 кзначению адреса конг.танты А, добавляет единицу, Адрес константы Аизаписывается в регистр адреса констант регистров 54 группь 1.В следующем такте значения константы Ачерез ярифметико в логический блок 46 с выходя 29 операционного блока 2 через мультиплексоры 7 - 9и б поступает ня вход 24 операционного блока 2 и записывается в регистр 48, 15Затем н этом же такте в регистр47 записыняется значение Р, для чего оно пересылается в него из регистра 49 через мультиплексор 52 и арифметико-логический блок 46, 20В очередном такте по очередноймикрокоманде аналогично описанномуГпроизводяся операции: обращение вблок 3 памяти за значением константы А и запись А н регистр 51; 25аналогично, увеличением адреса константы Ана единицу определяютадрес константы А ", и записывают егов регистр адреса констант регистровгрупйы 54; в этом же такте содержимое 30регистров 47 и 48 перемножается ирезультат А,Р записывается в третий регистр 49.В следующем такте по очерелнойомикрокоманде АР через мультиплек 35сор 52 поступает на первый вход арифметико-логического блока 46 и складыонается со значением константы.А,Результат сложения А Р + А фор 1 Омируется на выходе 29 операционного 40блока 2 и записывается через мультиплексоры 7 - 9 и 6 и вход 24 операционного блока 2 н регистр 48 операционного блока 2, Далее микрокомандыпоследних двух тактов циклически повторяются до тех пор, пока не будетвычислено выражение А 1,ь Р + А) хх Р + А,)Р + А 4) Р + А, Результатзаписывается н регистр 49Следующий такт начинается с обра 50щения в блок 3 памяти за константойА записи ее в регистр 51 . Содержимое регистра 48 умножается на содержимое регистра 47 н результат, каки в предыдущих случаях, записывается н регистр 49,В этом же такте, аналогично формированию очередной константы, формируется адрес очерелцого командного словз. В этом глучяе с выхоля 34блока 1 управления поступает ядрег.регистра группь 1 54, отвелеццого подсчетчик комлил вВ гледующем такте содержимое регистра 49 перегыляется ця первыйнход арифметике-логцческого блока46, складывается с Аи полученный результат Г(Х) Формируется на четвертом выходе 29 операционного устройства 2.Значение функции Г(Х) сдвигаетсяня один разряд, т.е. по управляющимсигналам с выхода 36 блока 1 управления пропускается информация с нторых входов мультиплексоров б - 9.При этом ня выходе мультиплексора 8устанавливается нулевой сигнал, а навыходах остальных мультиплексоровинформация с 1 по 31 разряды. Сдвинутое ня один разряд значение Р(Х)записывается в один из регистронгруппы 54 по адресу, поступившему иэблока 1 управления,В этом же такте с выходов 36 формируется управляющий сигнал анализаперехода по условию, который разрешает прохождение информации о знакефункции с выходя триггера 10 черезмультиплексор 39 ня вход установкин "1" триггера 42.Начальный адрес микропрограммыфункции выбирается тяк, что в данномтакте адрес очередной микрокомандыимеет четное значение (трнггер 42находится н нулевом состоянии).В случае, если ня выходе триггера 10 устанавливается логический"О" (функция ) О), то состояниетриггера 42 не изменяется. На этомвычисление функции сонХ заканчиваетсяи в следующем такте по изменившемусяеадресу Формируется набор управляющихсигналов, необходимых для обращенияза очередным командным слоном и егоприемом.В случае, если ця выходе триггера10 устанавливается логическая "1"(функция ( О) триггер 42 переходитн едицичцое состояцце, увеличивая,темсамым, зцячецця адреса микрокомяндына единицу,В следующем такте по этому адресу на выходах 17,35, 36 и 34, выходах блокауправления формируютсясигналы, в гоатнс тстццц с которымизначение Фуцкццц Х) появляется напервом входе рцфметцко-логического1478213 55 блока 46, которое инвертирует содержимое первого входа и добавляет единицу в младший разряд, т,е,. функцииприсваивается отрицательное значение,5На этом вычисление функции (длясоэХ с 0) заканчивается.Пля вычисления функции ЫлХ необходимо при формировании приведенного аргумента Х изменить значениетридцатого разряда, кода аргумента. на противоположное, Для этого лриформировании Хуправляющим сигналом с выходов 36 блока 1 управленияоткрывается второй информационныйвход мультиплексора 5. При этом напервый информационный вход мультиплексора 6 поступает проинвертированное значение тридцатого разрядакода аргумента. 20В остальном вычисление функцииэпХ аналогично вычислению функциисовХ,Формула изобретения 25,Устройство для вычисления функций синуса и косинуса, содержащее арифметико-логический блок, блок умножения, блок управления, два регист- Зо ра, группу регистров и блок памяти, причем разряды первого выхода блока управления подключены к входу выборки блока памяти, к синхровходам первого и второго регистров и регистров группы, разряды выхода блока управления подключены к разрядам входа выбора регистров группы, разряды третьего управляющего выхода блока управления подключены к управляющим входам блока умножения и арифметико-логического блока, о т л и ч а ю щ е е с я тем, что, с целью повышения производительности при сохранении заданной точности, в него введены семь мульти плексоров, коммутатор, триггер, элемент И, элемент НЕ и три регистра,1 причем соответствующие разряды чет;вертого выхода блока управления подключены к первому входу элемента И и к управляющему входу первого муль 1 тиллексора, соответствующие разряды первого выхода блока управления.подключены к синхровходам третьего,четвертого и пятого регистров и триггера, информационный вход, вход установки в "1" и выход которого подключены соответственно к выходу второго мультилл.копра, входу пуска устрой-ства и входу признака знака Функцииблока управления, соответствующиеразряды третьего выхода блОка управления,подключены к управляющим входам третьего мультиплексора и коммутатора, соответствующие разряды четвертого выхода блокз управления подключены к управляющим входам четвертого, пятого, шестого и седьмого .мультиплексоров, выходы которых подключены через шину к информационнымвходам первого и второго регистрови регистров группы, выход признакарезультата операции арифметико-логического блока подключен к входу признака результата операции блока управленни, вход кода операции блока управления подключен к выходу блокапамяти и к информационному входу пятого регистра, выход которого подключен к первому информационному входуарифметико-логического блока, входпуска устройства подключен к установочным входам регистров с первого по пятый, выход первого старшего разряда пятого регистра подключен к первому управляющему входу второго мультиллексора, с первого по четвертыйинформационные входы которого подключены соответственно к входам логического нуля, логической единицы,логической единицы и логического нуляустройства, выход второго старшегоразряда пятого регистра подключен квторому входу элемента И, первомуинформационному входу первого мультиплексора и через элемент НЕ к второму информационному входу первого мультиплексора, выход элемента И подключен к второму управляющему входу второго мультиплексора, выход первого старшего разряда арифметико-логического блока подключен к первым информационным входам четвертого,пято-о го и шестого мультиплексоров, выход второго старшего разряда арифметикологического блока подключен к вторым информационным входам четвертого ишестого мультиплексоров, выход первого мультиплексора подключен ктретьему информационному вкоду четвертого мультиплексора, вход логического нуля устройства подключен к третьему информационному входу шестого мультиплексора и второму и третьему информационным входам пятого мультиплексора, выход младших разрядовпятого регистра подключен к первомуинформационному входу седьмого мультиплексора, второй и третий информационные входы которого подключены квыходу младщих разрядов арифметикологического блока, первый и второйвыходы коммутатора подключены соответственно к адресному и информационному входам блока памяти, выходы первого и второго регистров подключенысоответственно к первому и второмуинформационным входам блока умножения, выход которого подключен к информационному пходу третьего регистра, выход которого подключен к первому информационному входу третьего мультиплексора, второй информационный 5вход которого подключен к выходу группы регистров, выход третьего мультиплексора подключен к второму информационному входу арифметико-ло гического блока и к информационномувходу четвертого регистра, выход которого подключен к информационному входу коммутатора,1478213 Составитель М.СилинТехред М.Ходанич Корректор О.Кравцова едактор О ов ГКВТ ССС комбинат "Патент", г. ужгород, ул. Гагарина,101 роизводственно-издател Заказ 2364/48 Тираж 669 Подписное НИИПИ Государственного комитета но изобретениям и открытиям 113035, Москва3-35, Рауаская наб д. 4/5
СмотретьЗаявка
4114268, 01.09.1986
ПРЕДПРИЯТИЕ ПЯ В-2969
ПАНОВА ТАМАРА СТЕПАНОВНА, ЛУКИН НИКОЛАЙ АЛЕКСЕЕВИЧ
МПК / Метки
МПК: G06F 7/548
Метки: вычисления, косинуса, синуса, функций
Опубликовано: 07.05.1989
Код ссылки
<a href="https://patents.su/8-1478213-ustrojjstvo-dlya-vychisleniya-funkcijj-sinusa-i-kosinusa.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для вычисления функций синуса и косинуса</a>
Предыдущий патент: Устройство для деления
Следующий патент: Цифровой интегратор
Случайный патент: Деревянная наборная перстатка