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

Иллюстрации

Показать все

Реферат

 

ОПИСАНИЕ

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ.Союз Советских

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

Республик (61) Дополнитвльное к авт. свид-ву (22) Заявлено 12. 02. 81 (2т) 3247823/18-24 (31} М. КЛ.

G 06 F 7/556 с присоединением заявки М (23) Приоритет

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

СССР по делам изобретений и открытий

}53} УДК 681 ° 325 (088.8) Опубликовано 30.09.82. Бюллетень йо36

Дата опубликования описания 30 Qg 82 (72) Авторы изобретения

A.A.ÌåëüHêê и И.С.Осипишин 1 =;"

Ь . Ъ

Р ,.4

t г;г;

Львовский ордена Ленина политехнический институт им. Ленинского комсомола (71) Заявитель (54) КОНВЕЙЕРНОЕ УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ фуНКЦИИ ех

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

Известно устройство для вычисле.ния функции вида у е", содержащее регистр аргумента, блок маскирования аргумента, блок постоянной памяти, блок оперативной памяти, блок выделения младшей эоны аргумента, .блок управления, блок определения нулевых значений аргумента, блок умножения (1j.

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

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

Данное устройство аппаратно реали15 .зует операцию вычисления функции у = е". Быстродействие данного уста ройства при вычис.-ении функции у В не превышает времени Т.< 2,5п t ы, где и †. разрядность обрабатываемых операндов, t<< - время суммирования. двух чисел на сумматоре. При реализации данного устройства необходим блок памяти для хранения 2п констант, .а также микропрограмм блока микропрограммнбго управления (2)..

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

962927

Цель изобретения — повышение быстродейств:;я и сокращение объема памяти.

Поставленная цель достигается тем, что в устройство, содержащее блок управления, промежуточный ре- 5 гистр и выходной сумматор, первый вход которого соединен с прямым выходом промежуточного регистра, дополнительно введены (2n-1) блоков вычисления итераций (где и — раз- 0 рядность аргумента), триггер, выход ной коммутатор и выходной регистр, выход которого является выходом устройства, управляющий и информационный нходы выходного регистра соединены соответственно с выходом блока управления и выходом выходного сумматора, второй вход которого соединен с выходом выходного коммутатора, первый и второй управляющие входы которого соединены соответственно с инверсным и прямым выходами триггера, первый и второй информационные входы нь.ходного коммутатора соединены соответственно с прямым и инверсным выходами промежуточного регистра, первый и второй входы блока управления соединены соответственно с нходом задания длины массива и пуска устройства, каждый блок вычисления итерации содержит два входных ре- -ЗО гйстра, дна промежуточных коммутатора и два промежуточных сумматора, причем первый и второй входы каждого промежуточного сумматора соединены

oooòâeòcTâåHío с прямым выходом со- 35 ответствующего входного регистра и выходом соответствующего промежуточного коммутатора, перный и второй управляющие входы промежуточных коммутаторов соединены соответственно с 40 иннерсным и прямым выходами второго входного регистра, первый и второй информационные входы первого промежуточного коммутатора соединены соот. ветственно с прямым и инверсным выхо- 5 дами первого входного регистра, управляющие входы первого и второго входных регистров соединены с выходом блока управления, информационные входы первого и второго входных регистров первого блока вычисления итерации соединены соответственно с входом начального значения функции и входом аргумента устройства, выходы первого и второго промежуточных сумматоров К-го блока вычисления 55 итерации (К 1,2 ° ..2n-2) соединены с информационными входами соответственно первого и второго входных регистров (К+1)-го блока вычисления итерации, выходы первого и второго проме- 60 жуточных сумматоров (2п-1)-го блока вычисления итерации соединены с информационными входами соответственно промежуточного регистра и триггера, управляющие нходы которых соеди- 65 з. —..э,+ . Г" >

i+1" 1 1

Х,.„„= Х,. — en (W y,. 1 ""P у(р <." S1%rl Х ° — + 1 при i четном; г

1+1 i E(1„n)

†. - при i нечетном; где K(i) которые при начальных значениях уп

1, xo = x дают после 2п итераций у. = е ° п

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

В первом также в регистр 2 первого блока 1 записывается константа +1, а в регистр 3 поступает значение операнда x в обратном коде в форме с фиксированной запятой, Если x < 1, то = -1, то есть знаковый разряд регнстра 3 равен единице. Управляющий сигнал, поступающий с прямого выхода иены с выходом блока управления, первый и нторой информационные входы второго промежуточного коммутатора

К-ro блока вычисления итерации соединены с входами задания констант соответственно 1п (1+2 ") и 2п (1-2 " } устройства.

Блок управленик содержит счетчик, элемент ИЛИ-НЕ, триггер, генератор импульсов и элемент И, выход которого соединен с выходом блока упранления и счетным входом счетчика, информационный вход и выход которого соединены соответственно с первым входом блока управления и входом элемента ИЛИ-НЕ, ныход которого соединен с первым входом триггера, второй вход и выход которого соединены соответственно с вторым входом блока управления и первым входом элемента

И, второй вход которого соединен с выходом генератора импульсов.

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

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

1 вычисления итерации, регистры 2 и

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

15 блока управления и выход 16 бло-. ка управления.

Блок 13 управления содержит триггер 17, генератор 18 импульсе;,, элемент И 19, счетчик 20 и элемент

ИЛИ-НЕ 21.

Алгоритм вычисления е описывается следующими итерационными формулами i

962927 знакового разряда регистр- 3, пропускает через коммутатор 4 обратное значение содержимого регистра 2, сдвинутое на один разряд вправо, на сумматор б и через схему коммутатора

5 обратное значение кода In (1-2 ") на сумматор 7. На сумматоре б производится сложение числа +1, хранимого в регистре 2, с числом, поступающим с коммутатора 4. Поскольку зто,число равно -0,1, и поступает в обратном коде, то на выходе сумматора 6 полу чается число 0,9. На сулматоре 7 производится сложение обратных кодов операнда х, поступающего иэ регистра 3, и значения In (1-2 ), то есть производится вычитание из значения х значения In (1-2 ).

Если же x v О, то „ = +1, то есть знаковый разряд регистра 3 равен нулю. управляющий сигнал, поступаю- щий с инверсного выхода знакового разряда регистра 3, пропускает через коммутатор 4 прямое значение содержимого регистра 2, сдвинутое на один разряд вправо, на сумматор б, и через коммутатор 5 обратное значение кода In (1+2 ) на сумматор 7.

На сумматоре 6 число +1, хранимое

- в регистре 2, суммируется с числом, поступающим с коммутатора 4, равным

0,1, то есть формируется число 1 1.

На сумматоре 7 производится сложение обратных кодов операнда х, поступающего из регистра 3, и значения

Jn (1+2 ") .

Во втором такте производится запись результатов вычислений первого блока 1 во второй запись полученного на сумматоре б числа р регистр

2 второго блока 1 и запись полученного на сумматоре 7 числа в регистр

3 второго блока 1. Одновременно в регистр 3 первого блока 1 поступает значение второго операнда.

В первом блоке 1 производится выполнение первой итерации над вторым операндом, аналогичное выполненной в первом такте над первым операндом, а во втором блоке 1 выполняется вторая итерация над первым операндом. В третьем такте результаты вычислений, полученные во втором блоке 1, записываются в третий блок 1., а результаты первого блока 1 — во второй. В регистр 3 первого блока 1 поступает третий операнд. В первом блоке 1 выполняется первая итерация над третьим операндом, во втором— вторая итерация над вторым операндом, в третьем — третья итерация над первым операндом, причем в третьем блоке 1 промежуточный результат с коммутатора 5 поступает на сумматор б со сдвиговым на два разряда вправо, а на сумматор 7 через коммутатор 5 поступают значения In (1+2 ) или

Хп (1-2 ).

55 где 1 - время суммирования на сум-, маторе, задержка информации коммутатором.

Видно, что по быстродействию, предлагаемое устройство значительно превосходят прототип при обработке массивов чисел. Быстродействие повы- шено в 2,5 ° и раэ.

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

19 подаются монтажным способом.на коммутатор 5, степень двойки возрастает на единицу.

В 2п-м такте сформированное на сумматоре 6 (?n-1)-ro блока 1 выра)5 жение записывается в регистр 8, а содержимое знакового разряда сумматора 7 (2n-1)-го блока 1 переписы.вается в триггер 9, сигналы с прямого и инверсного выходов. которого управляют прохождением прямого или . инверсного значения регистра 8 через коммутатор 10 на сумматор 11 со сдвигом на (n-1) разряд.. На сумматоре 11 формируется значение искомой

ZS Функции от первого операнда. Одновременно результаты обработки всех

Р последующих операндов сдвигаются на одну ступень вниз и производится их обработка.

В (2n+1)-м такте на выходном регистре 12 получается первый результат, и в дальнейшем в каждом такте на выходе. будет появляться новый результат, то есть результат вычисления функции от первого операнда масЗ5 сива чисел будет получен через 2п тактов, а от каждого последующего операнда массива - через один такт.

Тактовые импульсы, управляющие

1 работой устройства, генерирует блок

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

1 устройства и определяется выраже»

5О нием см кем

962927

ЗО

35 ства монтажным способом, а также не нужен блок памяти для хранения микропрограмм сложного блока микропрограммного управления, так как управление устройством осуществляется от простого блока управления. формула изобретения

1. Конвейерное устройство для вычисления функции у е", содержащее блок управления, промежуточный регистр и выходной сумматор, первый вход которого соединен с прямым выходом промежуточного регистра, о тл и ч а ю щ е е с я тем, что, с целью повышения быстродейстния, в него введены (2n-1) блоков вычисления итераций (где n - разрядность аргумента), триггер, выходной коммутатор и выходной регистр, выход которого является выходом устройства, управляющий и информационный входы выходного регистра соединены соответственно с выходом блока управления и выходом выходного сумматора, второй вход которого соединен с выходом выходного коммутатора, первый и второй управляющие входы которого соединены соответственно с иннерсным и прямым выходами триггера, первый и второй информационные входы выходного коммутатора соединены соответственно с прямым и инверсным выходами промежуточного регистра, первый и второй входы блока управления соединены соответственно с входом задания длины массива и пуска устройства, каждый блок вычисления итерации содержит два входных регистра, два промежуточных коммутатора и два промежуточных сумматора, причем первый и второй входы каждого промежуточного сумматора соецинены соответственно с прямым выходом соответствующего входного регистра и выходом соответ-. ствующего промежуточного коммутатора, первый и второй управляющие входы промежуточных коммутаторов соединены соответственно с инверс ныл и прямым выходами второго входного регистра, первый и второй информационныв входы nepsoro промвжуточного коммутатора соединены соответственно с прямым и инверсным выходами первого входного регистра, управляющие нходы первого и второго входных регистров соединены с выходом блока управленияр информационныв входы первого и второго входных регистров первого блока вычисления итерации совдинены соответственно с входом начального значения функции и входом аргумента устройства, ныходы первого и второго промежуточных сумматоров К-го блока вычисления итерации (К1,2,...,2n-2) соединены с информационными входами соответственно первого и второго входных регистров (К+1)-го блока вычисления итерации, выходы первого и второго промежуточных сумматоров (2n-1)-го блока вычиаления итерации соединены с информационными входами соответственно промежуточного регистра и триггера, управляющие входы которых соединены с выходом блока управления, первый и второй информационные входы второго промежуточного коммутатора K-ro блока вычисления итерации соединены с входа ли задания констант соответственно In (1+2 " ) и Хп (1-2 " ) устройства.

2. Устройство по п.1, о т л и— ч а ю щ е е с я тем, что блок управ- . ления содержит счетчик, элемент

ИЛИ-НЕ, триггер„ генератор импульсов и элемент И, выход которого соединен с выходом блока управления и счетным входом счетчика, информационный вход и выход которого соединены соответстненно с первым входо л блока управления и входом элемента ИЛИ-НЕ, выход которого соединен с первым входом триггера, второй вход и выход которого соединены соответственно с вторым входом блока управления и первым входом элемента И, второй вход которого соединен с выходом генератора импульсов, Источники информации, принятые во внимание при экспертизе

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

0631924, кл. G Об F 7/556, 1978.

2. Байков В.Д., Смолов В,Б. Агпаратурная реализация элементарных функций в УВМ. Из-во Ленинградского университета, 1975.

962927

Составитель A.Çîðèí

Редактор Т.Портная Техред С.Мигунова Корректор А.Гриценко

Заказ 7513/68 Тираж 731 Подписное

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

113035, Москва, Ж-35, Раушская наб., д. 4/5

Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4