Специализированный процессор

Иллюстрации

Показать все

Реферат

 

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

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

Республик

ОП ИСАНИ Е

ИЗОБРЕТЕН ИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (63 ) Дополнительное к авт. свид-ву (22) Заявлено 14.12.77 (21) 2553887/18-24 с присоединением заявки.% (51)М. Кл.

С, 06 F 15/32 авщдэрстаеюльМ кемвтет

СССР (23) Приоритет

Опубликовано15.05.80. Бюллетень № 18 ао делам лаебретеллл и втарнтлв (53) УДК 681.14 (088.8) Дата опубликования описания 18.05.80

Е. П. Балашов, А. И. Водяхо, В. H. Негода, Д. В. Пузанков и В. В. Шаляпин (72) Авторы изобретения

Ленинградский ордена Ленина электротехнический институт им. В. И. Ульянова (Ленина) (7I ) Заявитель (54) СПЕЦИАЛИЗИРОВАННЫЙ ПРОЦЕССОР

Изобретение относится к вычислительной технике и может быть использовано как в качестве автономного функционального преобразователя, так и в качестве нериферийного устройства специализиро,ванных и универсальных ЦВМ для вычисления функций: е", Ьз х, Ы Х .

Известны процессоры для вычисления элементарных функций табличного типа на основе постоянного запоминаюшего устройства (ПЗУ), в состав которых вхо о дит регистр аргумента, в качестве которого используется регистр числа ПЗУ 1

Недостаток известного процессора— значительный объем памяти.

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

2 устройства, вторая группа выходов входного регистра связана со входами постоянного запомннаюшего устройства (ПЗУ),, в котором хранятся значения узловых точек функции, сумматор, первая группа входов которого связана с выходами множительного устройства, вторая группа входов множительного устройства связана с выходами второй группы вентилей, выходы сумматора соединены с первой группой входов регистра функции, выходы

ПЗУ связаны со входами второй группы вентилей, регистр функции, выходы которого соединены с первой группой входов первой группы вентилей, с второй группой входов выходного буфера, выходной буфер, выход которого соединен со входом

11ВМ, блок управления, выходы которого связаны со входами регистра функции, первой, второй групп . вентилей, входного регистра выходного буфера 21 .

Недостаток этого процессора — низкое быстродейс:вие,, связанное с тем, что вычисление функции ведется ио схеме

3 7347

Горнера. Такой способ вычисления функпии требует число умножений равным старшей степени многочлена. Поэтому при повышенных требованиях к точности вычисления (50-60 двоичных разрядов и более) время нахождения функции становится недопустимо большим.

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

Поставленная пель достигается тем, 10 что в специализированный процессор, содержаший входной регистр, первое множительное устройство, первый сумматор, основную память, регистр функции, счетчик порядка, причем первый выход пер- l5 вого сумматора соединен с первым входом регистра функции, второй вход которого подключен к первому выходу блока управления, первый вход счетчика порядка соединен со входом процессора, первый 20 выход входного регистра соединен с первым входом первого множительного устройства, первый выход которого соединен с первым входом первого сумматора, второй вход которого подключен к перво- 25 му выходу основной памяти, вход процессора соединен с первым входом входного регистра, второй вход которого подключен к второму выходу блока управления, введены вспомогательный регистр, деши30 фраторы, сдвигатель, второй сумматор, второе и третье множительные устройства, дополнительная память, причем третий выход блока управления соединен с третьим входом первого сумматора, четвер35 тый и пятый выходы — соответственно с первыми входами основной и дополнительной памяти, шестой, седьмой и восьмой выходы - соответственно с первыми входами второго и третьего множительных 40 устройств и со вторым входом первого множительного устройства, девятый и десятый выходы - соответственно с первы-, ми входами второго сумматора и третьего дешифратора, одиннадпатый выход — с

45 первым входом вспомогательного регистра, двенадцатый выход — с вторым входом счетчика порядка, первый выход которого соединен с первым входом блока управления, второй выход счетчика порядка сое50 динен со вторым входом дополнительной памяти, третий вход которой подключен ко второму выходу входного регистра, третий выход счетчика порядка соединен с первым входом сдвигателя, первый

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

Блок схема специализированного процессора представлена на чертеже.

Процессор содержит счетчик 1 порядка, вспомогательный регистр 2, первый дешифратор 3, входной регистр 4, второй дешифратор 5, сдвигатепь 6, первый сумматор 7, третий дешифратор 8, блок

9 управления, первое 10, второе 11 и третье 12 множительные устройства, основная память 13, второй сумматор

14, деполнительная память 15, регистр

16 функпии.

Процессор работает следуюшим образом, Вычисление функции в процессоре разделяется на два этапа. На первом этапе диапазон изменения аргумента функции сводится к интервалу 0, 1) . Затем

734705 происходит процесс вычисления функции.

Следует заметить, что способ приведения аргумента к заданному интервалу зависит от вида функции, а процесс вььчисления функции одинаков для всех 5 указанных функций. Рассмотрим приведение аргумента к интервалу 0, 11 в отдельности для каждой из функций Е г.о Х, п1х(coax) при условии, что

-й диапазон изменении их аргумента + (2

2 )

I. Функция Е

В соответствии с диапазоном представления аргумента выделяют три облас.ти изменения функции:

t5 гг к 2

С= 2 (9. (2г ()1 »< 1Н

Этим трем областям соответствуют две области изменения аргумента:

„ jXÜN 2

При t<(> HM 2 в зависимости от знака Х процессор должен генерировать ЗО сигнал" сы и "0 . Таким образом, вычисление имеет смысл лишь для х < < ИЮв, что соответствует двоичному порядку Рх (1. переменной Х .

Функцию е можно представить в х

or+ х — функция от целой части

ed аргумента;

Р— функция от дробной части

x- eni x аргумента.

Т. е. для вычисления функции е в указанном диапазоне необходимо вьгделнть

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

Действия по приведению аргумента начинаются после поступления на входной регистр 4 мантиссы аргумента Нх на счетчик 1 порядка аргумента Р и в блок 9 управления признака функции. По признаку функции блок 9 управления настраивается на выполнение определенного алгоритма, который начинается с анализа порядка арг умеггта.

Если порядок аргумента не равен нулю, то в зависимости от знака порядка алгоритм приведения к интервалу разделяетса на две ветви. Пусть знак порядка ) О, тогда при Р» > 1- формируется сигнал

> если Рх с 1., то мантисса аргумента сдвигаетса влево с одновременным вычитанием единицы из величины порядка. г1ля повышения быстродействия сдвиги выполняютса не последовательно во входном регистре 4, а с помсиггью вспомогательного регистра 2 и дешифратора 3. Сдвиг происходит в дешифраторе

3, на который подается аргумент, предварительно записанный во вспомогательный регистр 2. Сдвинутый аргумент вновь поступает во входной регистр 4. Дешифратор 5 представляет собой набор стандартных схем И-ИЛИ, управляемых блоком 9 управления. Сдвиг аргумента продолжается до равенства порядка нулю 1. разрядов входного регистра 4 (соответствующие целой части аргумента), проверяются затем на равенство нулю (условие о() и в случае наличия ненулевых битов из памяти 15 выбирается значение ет х

Формирование адреса памяти 13 связано с методом сокрашении степени многочлена, аппроксимирующего функцию, Суть метода состоит в следующем. К таблично-алгоритмическим методам относятся методы, использующие хранение коэффициентов многочлена в запоминающем устройстве и алгоритмический способ вычисления самого многочлена. При этом мантисса аргумента разделяется на две части: старшую Х с., разрядность кото.рой определяется адресностью запоминаю щего устройства, и младшую

Каждому значению Хс на интервале 0, 1$ изменения функции соответствует своя узловая точка. Всего таких точек

2 ", где Ь - величина Хсг. После анализа $ +1 разряда аргумента формируется адрес памяти 13 на основании разложения:

f (ê + „, )=Г(к +к2 +х „-л2 )= ,д Ж где ) ОeCae Хмл < 2

Ф вЂ” A/2 т,ЕСЛИ W äÚ 2.

-S/2

Т. е., если значение Х,, ) 2, то к значению Х прибавляется единица т и из памяти выбираются коэффициенты многочлена, соответствующие соседней узловой точке.

000

001

010

011

100

101

П р и м е ч а и и e . + означает наличие на выходе сдвигателя 6 значения к-го разряда входного регистра 4.

Если после сдвига (S +1)-ый разрщ равен единице, то значения первых 5 разрядов складываются с ним на втором сумматоре 14 и через дешифратор 3 подаются на адресные входы памяти 13.

Одновременно с этими действиями из

Хмх вычитается единица на первом сумматоре 7.

Если (S +1)-ый разряд сдви ателя

6 не равен единице, т о блок 9 управления никаких действий flo преобразованию

Xñ, Xм не производит. Х, з обход

МА t второго сумматора 14 через дешифратор

Э сразу поступает на адресные входы памяти 13 (дешифратор строится на ос. нове стандартных с х ем И-ИЛИ ) .

II. Функция Ь х .

Пусть аргумент задается выражением

Используя известное в элементарной .математике соотношение, получаем

ax=EN„+P„ 2. (6) Обычно логарифм представляют в виде

Рп (1+ Z. ), где 0 <2.< 1. Это соответствует равенству

Ьi М Х= ((+ )((7) а. ° I где 7. = г х -1 Мх — мантисса сдвинутая таким образом, что может быть представлена кодом

"i,, ... Z (8) где Z; — двоичная цифра числа.

Сдвйг выполняется до первой ситуации, при которой перед запятой устанавливается единица, т.е. можно записать

x= й„й ", (g I

1 х= х 2, (9) где К вЂ” число сдвигов до получения кода (10). Таким образом где Мх - мантисса Х

P порядок х

7 734705 Я

От Х „затем необходимо отнять служат сдвигатель 6, второй сумматор величину 2 . Если Х „< 2, то 14 и дешифратор 3. Сдвигатель 6 необ» модификации аргумента не происходит. ходим для сдвига старших S +1 разряИспользование формулы (4) уменьшает да аргумента вправо. Сдвиг вправо всей в 2 раза аргумент аппроксимируюшего мантиссы приводит к значительной потере многочлена, в силу чего абсолютная ошиб- точности представления аргумента. Be.KG сокрашается в 2 раз. При заданной личина сдвига зависит от порядка у арточности описанный прием позволяет со гумента, но не больше \ . Таблица кратить степень многочлена, что приводит поясняет работу сдвигателя 6 для S =.-1С к повышению быстродействия. 10 управляемого тремя последними разрядаДля схемной реализации этого метода, . ми счетчика 1 порядка.

9 734705 л к=6;(Vi 2 «)+p р„2-к«M -«к«гi з««яю ходится

+P„en2*9n(i+2)+(P„-«)Ь 2 О) 10

Sin 4 = Sin 25tss=«in — V

37.

2 где 0 (Ч(l. х

Вычисление 1 г — Ч в зависимости

2. от квадранта, в котором находится аргумент, нроизводится по формулам:

1а (д — у для X

sin — (Л-V) для

2.

5МЛч= . х — для г

-Ып — (Л-v) для

Ж

1 2

I квадранта, П квадранта, (15)

И1 квадранта, 1 У квадранта .

Переход к функции сов х можно осуществить по формуле

mssxx-siin Ox+42 ., Лб

В этом случае формулы вычисления

2 ,рот — gg-V j для 1 квадранта, 2 яй — у для И квадранта, (17)

СО 1 . Х

sin — (g-v) ап«Ш к«в@а«та, 3

+i< 2 V для 1У квадранта, Приведение к интервалу в спецпроцессоре начинается с умножения мантиссы

oý, то сдвигами влево содержимого входного регистра 4 добиваются равенства порядкa нулю (т.е. получаем переменную X ).

В зависимости or номера: квадранта и вида функции (Й Х или сОэк ) из единицы вычитается H y, находяшаяся во входном регистре 4 (формулы 15 и 17) .

Для перехода от переменной Z к пеI ременной 4 М х сдвигается влево на два разряда без изменения порядка.

Действия блока 9 управления для получения адреса памяти 13 аналогичны действиям в обоих предыдуших случаях.

После формирования адресов памяти

13 и 15 и выборки коэффициентов многочлена начинается вычисление ункции. к-е х

Вычисление величины E

1 е. (л+ 1, производится алгор тмически. Все эти функции аппрокгде (Р„- К )-код, содержашийся на счетчике 1 порядка.

Действия по вычислению функпии начинаются с анализа знака мянтиссь .

При отрицательном аргументе формируется сигнал В числение невозможно .

Если знак мант исс ы положительный, то аргумент сдвигается влево до появления в старшем разряде входного регистра 4 единицы. Величина сдвига определяется количеством старших нулевых разрядов аргумента во входном регистре 4. Для их обнаружения введен дешифратор 8, принпип работ ы которого определяется уравнениями типа:

Р.=a sa ьа в...а«(к4) где Р; — i -ый выход схемы; а,, с(, ..., Π— инверсный к старших разрядов аргумента.

Дешифратор имеет несколько выходов рЬ на определенн е величины сдвига. Сдвиги вь. полняются так же, как в случае функх ции е . Порядок соответственно изменяется пропорпионально количеству сдвигов. Затем для получения дробной части Зр величины Pn (1 + 7. ) содержимое входного регистра 4 сдвигается еше раз влево без изменения кода в счетчике 1 порядка. Формирование адреса памяти

13 вытюлняется так же, как и в предыдушем случае на основании формулы (6).

Величина (Р -к) малоразрядна и в целях повышения быстродействия целесообразно выполнить умножение (Р -к) íà Ьт 2 в ПЗУ.

Для эгой цели служит память 15. Она сос-, тоит из gвух частей: в первой части содержатся значения е " ", а во второй— значения (Р - К ) t ri 2

Ш. Функция ъ г )(Сведение аргумента функции a in)( интервалу (0, 1 основано на соотношении

Sin«=Sin(2n«+ 4)-Ы«Ф, (42) где K — пелое число; Ю вЂ” переменная в интервале 0, 2 ) (.

2 т. (Х - en& e г w) = 2 (+ - еП((,ег 1 Л

2. Л:,ЯЛ . 2Л/, SS

Обозначим 2 = =-е()6е — „, где 0(7. (1

2 и. (Два старших разряда величины Z уканомер квадранта, в котором наугол 1 . Представим величикак

734705

Р(Х)=Ь +X(b tb y+b ж1+bx+b v41 (Ь) д

Специализированный процессор, содержащий входной регистр, первое множительное устройство, первый сумматор, основную память, регистр функции, счетчик порядка, причем первый выход первого сумматора соединен с первым входом регистра функции, второй вход которого подключен к первому выходу блока управления, первый вход счетчика порядка соединен со входом процессора, первый выход входного регистра соединен с первым вХодом первого множительного устройства, первый выход которого соединен с порвь*м входом первого сумматора, второй вход которого подключен к первому выходу основной памяти, вход процессора соединен с первым входом входного регистра, второй вход которого подключен к второму выходу блока управления,,о тл и ч а ю и и и с я тем, что, с целью повы|шения быстродействия, в процессор введены вспомогательн и ре гис тр, дешифраторы, сдвигатель, второй сумматор, второе и третье множите ьные устройства, дополнительная память, причем третий выход блока управления соединен с третьим входом перво ro с уммато ра, чет верт ый и пятый выход — соответственно с первыми входами основной и дополнительной памяти, шестой, седьмой и восьмой выходы— соответственно с первь.ми входами второго и третьего множительного устройств и со вторым входом первого |.ножительного устройства, девятый и десятый выходы — соответственно с первыми входами второго сумматора и третьего дешифратора, одиннадцатый выход с первым входол| вспомогательного регистра, двенад итйй выход — со втор м входом счетчика порядка, первый выход которого соединен с первым входом блока управления, второй выход счетчика порядка coE динен со вторым входом дополнительной памяти, третий вход которой подключен ко второму выходу входного регистра, третий выход счетчика порядка соединен с где F (x) - вычисляемая функция;

b b „, b — коэффициент. многочлена; о, Х - аргумент.

Степень многочлена выбрана и" требований по точности вычисления Г (x) (разрядность аргумента 50-60 разрядов) .

Сначала на первом множигельном

2 устройстве вычисляется значение X u параллельно с ним на втором множительном устройстве 11 значение Ь Х. На д втором этапе вычисления работают параллельно все множительнь,е устройства и второй сумматор 14: на первом множительном устройстве 10 вычисляется

3 на втором 11 — t? X, на третьем 12 — yg

2.

М

4 на втором сумматоре 14 - сумма Ь + b2 х .

:Затем одновременно находятся значения Ь х на нервом множительном з

4 устройстве 10, 5õ на третьем множительном устройстве 12 Ь Ь,? Х Ь Х +

+ЬвУ4,на втором сумматоре 14.

Причем первый сумматор 7 формирует сумму во время работ первого множительного устройства 10. Последующую 4Q работу процессора составляет нахождение всей суммы в скобке формулы (18), ее умножение на Х в первом множительном устройстве 10 и вычислсн| .е окопчательного результата. 45

Так как первое множительное у трой|.-.тво 10 обрабатывает огерандь, полной разрядности, а остальн е множителы; е устройства малоразрядпые и работают параллельно с первым, то время умноже- о ния определяется только временем работо.: первого множительного устройства 10.

Время вычисления функции в предлагаемом процессоре составляет

7 =4 +$ +т уиц. сg ыб симируются рядом Тейлора одинаковой степени. Последовательность действий по вычислению многочлена может бьггь избрана разная. i Для повышения быстродействия в предлагаемом процессоре ис пользуются еще дополнительно два малоразрядных множительных устройства. Это позволяет распараллелить . процесс вычисления функции. Последовательность действий по вычислению многочлена пятой степени:

Сигнал для управления работой всех блоков процессора поступают из блока

9 управления, который представляет собой конечный автомат Мили или Мура.

Уменьшение времени вычисления в предла гаемом процессоре составляет

1,1 мкс или около 50% по отношению времени вычисления функции в известном при увеличен ни а и парат урн ых затрат н а

15-20%.

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

734705

ПНИИПИ Заказ 2226/13 Тираж 751 Подписное

Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4 первым входом сдвигателя, первый выход которого соединен со вторыми входами

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

S которых соединены соответственно со вторым и третьим выходами первого множи-. тельного устройства, первый и второй выходы дополнительной памяти соединены соответственно с четвертым входом пер10 вого множительного устройства и с седьмым входом первого cóììàòîðà„ âòîpoé выход которого подключен к пятому входу первого множительного устройства, четвертый выход которого соединен с пятым входом входного регистра, вход1 выход которого подключен к выходувходу первого сумматора, выход регистра функции соединен с выходом процессора. и Источники информации, принятые во внимание при.,экспертизе

1. Оранский А. М. и Рейхенб ерг A. А»

Теория и применение математических машин. Минск, 197 2, с. 1 58.

2. Патент CLUA № 3813529, кл. 235/152 (прототип) .