Изобретение относится ti вычислительной технике и может быть использовано в качестве специализированного процессора вычислительной системы высокой производительности для вычисления функций одного переменного. Известно устройство для вычисления элементарных функций, содержащее семь сумматоров, три регистра числа, регистр аргумента, регистр остатка, два блока округления, тринадцать элементоа-И, два блока умножения, семь элементов ИЛИ, восемь блоков сравнения и четыре счетчика.. Работа устрой ства выполняется в виде последовательности итераций, причем в каждой итерации выполняется несколько умнож ний TI 1. Недостатком устройства является низкое быстродействие. Наиболее близким к предлагаемому техническим решением является конвейерное устройство для вычисления элементарных функций, содержащее пят надцать регистров, три блока постоян ной памяти ПЗУ , два блока умножени два сумматора и блок управления. Дан ное устройство работает по конвейерн му принципу. Его быстродействие при обработке массивов чисел определяется временем умножения двух чисел на блоке умножения }. Однако в задачах цифровой .обработ ки данных сейсморазведки, радионави гации, результатов физических экспериментов и т,д., где требуется многократное вычисление функций одного переменного, в частности элементарных функций, возникает необходимость дальнейшего повышения производительности обработки. Это связано.как с возрастанием объемов обрабатываемых данных, так и с появлением новых алгоритмов обработки, реализация которых на медленных цифровых устройствах невозможна. Таким об разом, быстродействие известного устройства уже не является удовлетворительным. Цель изобретения - повышение быст родействия. Поставленная цель достигается тем что в цифровой функциональный преобразователь, содержащий два входных р гистра, три блока паияти, семь проме жуточных регистров, два сумматора, блок синхронизации и выходной регис причем выход блока синхронизации соединен с управляющими входами всех 1 322 регистров, выход первого входного регистра соединен с информационным входом первого промежуточного регистра и через первый блок памяти с информационным входом второго промежуточного регистра, выход второго блока памяти соединен с информационным вхо-дом третьего промежуточного регистра, выход которого соединен с первым входом первого сумматора, выход которого соединен с информационным входом выходного регистра, дополнительно введены коммутатор, триггер и два блока памяти, причем выход второго входного регистра через третий блок памяти соединен с информационным входом четвертого промежуточного регистра, выход которого соединен с первым входом второго сумматора, второй вход и выход которого соединены соответственно с выходом второго промежуточного регистра ( информационным входом пятого промежуточного регистра, выход которого через четвертый блок памяти соединен с информационным входом шестого промежуточного регистра, прямой и инверсный выходы которого соединены соответственно с первым и вторым информационными входами ком.мутатора, выход которого соединен с вторым входом первого сумматора, выход первого промежуточного регистра соединен с информационным входом седьмого промежуточного регистра, выход которого соединен с входами второго и пятого блоков памяти, выход пятого блока памяти соединен с информационным входом триггера, синхровход и выход которого соединены соответственно с выходом блока синхронизации и управляющим входом коммутатора. На чертеже представлена блок-схема прербразователя, Преобразователь содержит регистры 1-10, блоки 11-15 памяти, сумматоры 16 и 17, триггер 18, коммутатор 19 блок 20 синхронизации. Преобразователь производит вычисление произвольной функции F(x ) О , по формуле Тейлора с использованием двух членов ряда: FCx)%F(Xj -4xF(Xo). где XQ 0,Х;,,,,,х,П, ,,0 - число, образованное старшими разрядами аргумента;Дх 0,0, .,0хц.,х J,- число, образованное младшими разрядами аргумента.
Погрешность этой формулы можно сделать выходящей за пределы разрядной сетки путем соответствующего выбора параметра К.
Приращение Дх F{х вычисляется по формуле
AxF4Xo)(F()(o))
; ()/
где функция
Г
если X П,
Sicgn |0,
если X О ,
если X О . Для выполнения преобразований . о- F(XO). (XQ), лх - , 2 Л, где Z + locjj/F xoH (п /F(х„)/используются блоки ll-1i памяти Случай FCXp и лх О учитывается тем, что в качестве соответствующих им значений locg-/РЧХ(5)/и в таблицах берутся столь большие, по абсолютной величине отрицательные числа, что полученный результат выходит за пределы разрядной сетки.
Устройство работает следующим образом.
В первом такте в регистр 1 записывается число Хд, а в регистр 2 число лхо По данным числам из блоков 11 и 12 памяти считываются соответственно знамения 1oQr2 /F(XQ)/
и
Во втором такте эти значения записываются соответственно в регистры и 5 а в регистр 3 переписывается содержимое регистра 1. На сумматоре 16 осуществляется сложение содержимого регистров 4 и 5о
В третьем такте число из сумматора 16 записывается в регистр 7, а в регистр 6 переписывается содержимое регистра 3. По содержимому данного регистра из блоков 13 и 14 памяти считываются соответственно значения F(xp; и /F(xo)/.no содержимому регистра 7 из блока 15 памяти считывается значение 2, т.е. на его выходе получается число, равное произведению 4 х / Р (ХО)/.
В четвертом такте считанные из блоков 13-15 памяти значения записываются соответственно в регистр 8, триггер 18 и регистр 9. На сумматоре 17 производится сложение содержимого регистров 8 и 9 т.е„ формируется значение F(x). Причем, содержимое регистра 9 поступает на второй
вход сумматора 17 в прямом или обратном коде, в зависимости от знака F{XJJ; , хранимого в триггере 18, что позволяет производить операцию вычитания.
В пятом такте полученное значение записывается в регистр 10, а из него поступает на выход устройства.
Разделение устройства регистрами позволяет его ступеням работать независимо. Поэтому, как только результат обработки одного элемента массива из одной, ступени передается в следующую, в данную ступень уже поступают результаты обработки второго элемея5 та массива. Управление работой данным устройством сводится к выработке тактовых импульсов, подвигающих промежуточные результаты от регистров одной ступени в регистры следующей ступени. Тактовые импульсы вырабатывает блок 20 синхронизации, который содержит генератор тактовых импульсов и схем пуска и останова, пропускающие или запрещающие прохождение тактовых импульсов на регистры устройства.
Устройство работает по конвейерному принципу, поэтому его быстродействие определяется длительностью такта, равной задержке в наиболее медленной ступени, т.е.
°
где время суммирования на сумматоре;
t,- задержка информации коммута5 тором.
Быстродействие же прототипа равно t .Как известно, операция умножения значительно медленнее операции сложения, в частности при использовании наиболее быстродействующего многослойного перемножителя и сумматора с ускоренным переносом- „ tt. Таким образом, предлагаемое устройство значительно превышает по - производительности прототип.
Общий объем блоков памяти устройства различен для разных функций, в частности при разрядности обрабатываемых чисел 16 для функции sin , Gl 15 кбит, для функции ° 1, Q 22 кбит.
На приведенной структуре можно реализовать любые функции одного переменного, если эти функции принадлежат к классу дважды непрерыва но дифференцируемых. При этом в ПЗУ необходимо иметь коэффициенты для всех функций, или заменять блоки ПЗУ если реализуются отдельные функции.
название | год | авторы | номер документа |
---|---|---|---|
Конвейерное устройство для вычисления элементарных функций | 1980 |
|
SU888132A1 |
Функциональный преобразователь | 1980 |
|
SU962971A1 |
Устройство для потенцирования массивов двоичных чисел | 1982 |
|
SU1043646A1 |
Функциональный преобразователь | 1983 |
|
SU1126968A1 |
Множительное устройство | 1978 |
|
SU824206A1 |
Устройство для вычисления функции @ = @ | 1982 |
|
SU1062693A1 |
Устройство для вычисления функций синуса и косинуса | 1980 |
|
SU922734A1 |
Конвейерное устройство для вычисления логарифмической и экспоненциальной функций | 1982 |
|
SU1027722A1 |
Устройство для логарифмирования | 1981 |
|
SU962926A1 |
Цифровой преобразователь координат | 1980 |
|
SU942004A1 |
ЦИФРОВО ФУНКЦИОНАЛЬНЫЙ ПРЕОБРАЗОВАТЕЛЬ, содержащий два входных .регистра, три блока памяти, семь промежуточных регистров, два сумматора, блок синхронизации и выходной регистр, причем вых&д блока синхронизации соединен с управляющими входами всех регистров, выход первого входного регистра соединен с информационным входом первого промежуточного регистра и через пэрвый блок памяти с информационным входом второго промежуточного регистра, выход второго блока памяти соединен с информационным входом третьего промежуточного регистра, выход которого соединен с первым входом первого сумматора, выход которого соединен, с информационным входом выходного регистра, отличающийся тем, что, с целью повышения быстродействия, в него введены коммутатор, триггер и два блока памяти, причем выход второго входного регистра через третий блок памяти соединен с информационным входом четвертого промежуточного регистра, выход которого соединен с первым входом второго сумматора, второй вход и выход которого соединены соответственно с выходом второго промежуточного регистра и информационным входом пятого промежуточного регистра, выход которого через четвертый блок памяти соединен с информационным входом шестого промежуточного регистра, прямой и инверсный выходы которого соединены соответственно с о первым и вторым информационными вхоkn дами коммутатора, выход которого соединен с вторым входом первого сумматора, выход первого промежуточного регистра соединен с информационным входом седьмого промежутомного регист ра, выход которого соединен с вхо дами второго и пятого блоков памяти, 1C выход пятого блока памяти соединен к с информационным входом триггера, синхровход и выход которого соединены соответственно с выходом блока, ОО tC синхронизации и управляющим входом коммутатора. .
Авторы
Даты
1983-07-07—Публикация
1982-03-02—Подача