Конвейерное устройство для вычисления функции @ = @ Советский патент 1982 года по МПК G06F7/556 

Описание патента на изобретение SU964635A1

(54) КОНВЕЙЕРНОЕ УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ

ФУНКЦИИ Изобретение относится к вычислительн технике и может быть использовано в качестве специализированного процессора вычислительной системы высокой производительности, построенной на основе бол ших. интегральных схем для вычисления функции У S Вп X. При цифровой обработке сигналов, например, в задачах, связанных с обработко физической информации, требуется вьшолнять операции вычисления логарифмическо функции над массивами чисел. Причем, в системах реального времени при исследовании быстропротекающих процессов требования к быстродействию выполнения данной операции очень высоки. Известно устройство для вычисления логарифмов чисел, содержащее регистр числа, накопитель, блок деления, схему сравнения, кольцевой сдвигающий регистр регистры результата и блок управления. ;Алгорйтм работы устройства основан на методе проб и оценок {i . Недостатког данного устройства является низкое быстродействие, поскольку логарифм числа вьшолняется за количество тактов, равное разрядности данного числа. Наиболее близким к изобретению по технической сущности является устройств во, содержащее входной регистр, первый выходной регистр, входной сумматор и выходной сумматор, первый вход которого соединен с выходом первого выходного регистра, первый вход входного сумматора соединен с прямым выходом входного регистра, блок сдвига, вспомогательныйрегистр для кратковременного хранения констант, постоянное запоминающее устройство (ПЗУ) для хранения констант, счетчик адреса, блок микропрограммного управления. Известное устройство аппаратно реализует операцию вычисления функции . Быстродействие устройства при вычислении функции V ЕП Х- -не превышает времони 2,5ntcA гДе f1 - разряднсх:ть обрабатываемых операторов; i-cд - время суммирования двух чисел на сумматоре. При реализации известного устройства необходимо ПЗУ для хранения 2п констант, а также микропрограмм блока микропрограммного управления 2 . Недостатком известного устройства является низкое быстродействие и большие объемы дорогостоящих ПЗУ для хранения констант и микропрограмм. Целью иэобоетения является повьпиение быстродействия. Поставленная цель достигается тем, 4TQ в конвейерное устройство для вычисления функции Y 6п X , содержащее входной регистр, первый входной регистр, вход ной сумматор и выходной сумматор, первый вход которого соединен с выходом первого выходного регистра, первый вход входного сумматора соединен с прямым выходом входного регистра, дополнительно введены (2ti -2) блоков вычисления ите.рации (где П - разрядность аргумента), второй выходной регистр, выходной коммуTfTop, два элемента И, регистр результата, блок управления и два входных коммутатора, npH4ef/ информационный вход входного регистра соединен с входом аргумента устройства, инверснь1й выход знакового разряда и прямой выход старшего разряда входного регистра соединены соответствен но с входами первого элемента И, прямой и инверсный выходы которого соединены соответственно с первыми и вторыми упра ляющпми входами первого и второго вход,дьис коммутаторов, первый и второй информационные входы первого входного коммутатора соединены соответственно с прямым и инверсным выходами jвxoднoгo регистра, первый и второй информационные входы второго входного коммутатора соединены, с входами задания констант устройства, выход первого входного коммутатора соединен с вторым входом входного сумматора, инверсный выход знакового разряда и прямой выход старшего разряда второго выходного регистра соединены соответственно с первым и вторым ттравляющими входами выходного коммутатора, информационные входы которого соединены с входами задания констант устройства, выход выходного коммутатора соединен с вторым входом выходного сумматора, выход котораго Соединен с информационным входом регистра результата, причем каждый блок вычисления итерации содержит два рюгистра, два коммутатора, два сумматора и элемент И, входы которого соединены с инверсным выходом знакового разряда и выходом старшего разряда первого регистра, прямой выход которого соединен с первым входом первого сумматора, второй вход которого соединен с выходом первого коммутатора, первый и второй управляющие входы которого соединены соответственно с инверсным и прямым выходами элемента И и соответственно с первым и вторым управляющими входами вто-. рого коммутатора, первый и второй информационные входы которого соединены с входами констант устройства, первый и второй входы второго сумматора соединены соответственно с выходом второго регистра и выходом второго коммутатора, первйй и второй информационные входы первого коммутатора соединены соответственно с прямым и инверсным выходами первого регистра, выходы первого и второго сумматоров 2-го блока вычисления итерации ( i 1, 2, . .,, 2 П -3), соединены соответственно с информационными входами первого и второго регистров ( -( +1)-го блока вычисления , выходы входного сумматора и входного коммутатора соединены соответственно с информационными входами первого и второго регистров первого блока вычисления итераций, выходы первого и второго суммматоров (2ц -2)-го блока Ьычисления итераций соединены соответственно с информационными входами второго и первого выходных регистров, выход блока уп- равления соединен с управляющими входами всех регистров, первый и второй входы блока управления соединены соответственно с входом задания длины массива и входом пуска устройства, причем блок управления содержит счетчик, элемент ИЛИ-НЕ, триггер, генератор импульсов и элемент И, первый и второй входы которого соединены соответственно с выходом генератора импульсов и выходом триггера, первый и второй входы которого соединены соответственно с вторым входом блока управления и выходом элемента ИЛИНЕ,. вход которого соединен с выходом счетчика, вход записи которого соединен с первым входом блока управления, счетный вход счетчика соединен с выходом элемента и выходом блока управления. На фиг. 1 представлена блок-схема устройства; на фиг, 2 - вариант вьшолнения блока управления. Конвейерное устройство для вычисления фукции Y th X содержит регистр входной элемент И 2, коммутаторы 3 и 4 входные, сумматор 5 входной, блоки 6 вычисления итерации, каждый из которых содержит регистры 7 и 8, элемент И 9, коммутаторы 1О и 11 и сумматоры 12 и 13. Кроме того, устройство содержит регистры 14 и 15 выходные, элемент 16 И, коммутатор 17 выходной, сумматор 18 выходной; регистр 19 результата блок 2О управления, входы 21 и 22 блока управления ив выход 23 блока управления. Блок 20 управления содержит триггер ,24, генератор 25 импульсов, элемент И 26, счетчик 27 и элемент ИЛИ-НЕ 28. На первый и второй информационные входы второго входного коммутатора 4 подаются константы соответственно Сп() и En (), на первый и второй- информационные входы выходног коммутатора 17 подаются константы COOT ветственно 8п ( и 6п (1-2 Значения констант, подаваемых - на перг вый и второй информационные входы втор го коммутатора 11 каждого блока 6 вычисления итераций, указаны ниже. Алгоритм вычисления функции Y г 6 П X описывается следующими итерационными формулами:,. -X44,X;. Y.. (-(), . 1при 1 четном 2при 4 нечетном которые при начальных значениях V О, дают после 2fl итераций . Коммутаторы 1О каждого ёлока 6 содержат две группы элементов И Han-K(i) входов, объединенных. пементом ИЛИ. Устройство работает следующим образом. В первом такте в регистр 1 поступает значение операнда в обратном коде в форме с фиксированной запятой. При помощи элементов И 2, И 16 и И 9, каждого бло ка 6 находится знак (), который определяется из соотношения если Х 1 } s;gn( если К 1 , Поскольку значение Х не превьпиает ДвуХ;.. OU т. е. число Х может иметь лишь один двоичный разряд для отображения его целой части, то можно записать .a, где 01 - значение знакового разряда регистра 1; значение первого разряда регнстгра 1, обозначающего целую часть числа. ,-ie(ln Таким образом, в первом такте, если знак отрицательный, то через коммутатор 3 на сумматор 5 по сигналу с .прямого выхода элемента И 2 проходит инверсный код содержимого регистра 1, сдвинутый на один разряд вправо, т. е. f где суммируется со значением а через коммутатор 4 по .тому же управляющему сигналу на входы регистра 8 первого блока 6 вычисления итерации поступает обратимый код 6п (1 ), На сумматоре 5 формируется выражение о-Ч, , а на выходе коммута - тора 4 - выражение (1-2М. ЕСЛИ же знак д положительный, то через коммутатор 3 на сумматор 5 по сигналу с инверсного выхода элемента И 2 проходит прямой код содержимого регисрра 1, сдвинутый на один разряд вправо, а через коммутатор 4 по тому же управляющему сигналу на входы регистра 8 первого блока 6 поступает обратный код бп (1+2), образованный, как и код 6 Г (1 - 2 ), на информационных входах коммутатора 4 монтажным способом. На сумматоре 5 формируется выражение Х XQ- XQ- 2, а на выходе кЪммутатора 4 - выражение Ч (1 +2 ). Во втором такте производится запись результатов вычисления из первой ступени конвейера во торую: запись полученного на сумматоре 5 числа X/i - в регистр 7 первого блока 6 и числа с выходов коммутатора 4 - в регистр. 8 первого вычислительного блока 6. Одновременно в регистр 1 поступает.значение второго операнда. В первой ступени конвейера {гроизводитя вьшолнение первой итерации над вторым операндом, аналогичное выполненной в пер-. вой итерашга над первым операндом, а во второй ступени конвейера, которой является первый блок 6 вычисления итерации, вьпюлняется вторая итерация над первым операндом, и на сумматоре 12 получается число X 2., а на сумматоре 13 число . В третьем такте результаты вычислений, полученные во второй ступени конвейера записываются в третью ступень, а результаты первой - во вторую. В регистр 1 поступает третий операнд. В дащ нейшем результаты предыдущих блоков поступают b последующие блоки,, а В регистр 1 поступает новый операнд и т. д., причем в каждом четном и следующем I за ним блоке промежуточные результаты с коммутатора 10 поступают на сумматор 12 со сдвигом на один разряд впра во большим, чем в |редыдущих двух блоках а в выражениях логарифмов, которые подаются монтажным способом на коммутатор 11, степень двойки возрастает на-еди ницу. В 2П -м такте сформированное на сум маторе 13 (2 Я -2)-го блока 6 вычислекия итерации выражение записывается в регистр 15, а содержимое знакового и первого разряда сумматора 12 (2п-2)н блока 6 переписывается в регистр 14, ин формация с выходов которого поступает на элемент И 16,, сигналы с прямого и инверсного выходов которой управляет (прохождением на суммаюр 16 значенйд ffrrd+S) или end-2) через коммутатор 17. На сумматоре 18 формируется значение искомой функиии от первого операнда. Одновременно результаты обработки всех последующих операндов сдвигаются на одну ступень вниз и произ водится их обработка. В (2h + 1)-м такте на выходном регистре 19 получается первый результат, а в дальнейшем в каждом такте на выходе будет по$голяться новый результат, т. результат вычисления функции Y Гп X от первого операнда массива чисел будет по лучен через 2 п тактов, а от каждого no следующего операнда йа ссива - через один такт. Тактовые импульсы, управляюшие работой устройства генерирует блок 20 управления Предлагаемое устройство работает по конвейерному принципу поэтому в каждом такте в.него мозкно вводить новый операнд, а на выходе получать новый резуль тат вычисления. При обработке массивов чак&л быстродействие устройства опреаепяется дли1«льностью такта обработки данных, которая равна задержке в одной ступени конвейера устройства и определяется выражением -см Ном где t,jjj - время сумм1фования на сумматоре;Ком задержка информации коммутатором. По быстродействию предлагаемое устройство значительно превосходит извест ное. В предлагаемом устройстве при обработке массивов чисел быстродействие повышено в 2-5n-t 2,5П ра,а. см -КОН Кроме того, в предлагаемом устройств ве нет необходимости хранить в ПЗУ константы, количество которых равно 2 П , поскольку они подаются на схемы устройства монтажным способом, а также не нужно ПЗУ для хранения микропрограмм сложного блока микропрограммного управления, так как управление устройства осуществляется от простого блока управления. Предлагаемое устройство обладает вью ОКОЙ однородностью структуры, что позволяет его реализовать в виде больших интегральных схем. Предлагаемое устройство предназначено для применения в цифровой аппаратуре, используемой для обработки результатов измерений релаксационных процессов, возникающих при поляризации, а также может найти применение в других областях цифровой обработки сигналов, требующих повыценного быстродействия при вычислении логарифмической функции. Формула изобретения 1. Конвейерное устройство для вычисления функции У 6 П X f содержащее входной регистр, первый выходной регистр, входной оумматор и выходной сумматор, первый вход которого соединен с выходом первого выходного регистра, первый вход входного сумматора соединен с прямым выходом входного регистра, отличающееся тем, что, с Целью повьпиения быстродействия, в него введены (2 П - 2) блоков вычисления итерации (где П - разрядность аргумента), вто рой выходной регистр, выходной коммутатор, два элемента И, регистр результата, блок управления и дю входных коммутатора, причем информационный вход входного регистра соединен с входом аргумента устройства, инверсный выход знакового разряда и прямой выход старшего раз|ряда входного регистра соединены соответственно с входами первого элемента И, прямой и инверсный выходы которого соединены соответственно с первыми и вторыми управляющими входами первого и второго входнь1Х коммутаторов, первый и второй информационные входы первого входного коммутатора Соединены соответственно с прямым и инверсным выходами входного регистра, первый и второй информационные входьг второго входного коммутатора соединены с входами задания констант устройства, выход первого входного коммутатора соединен с вторым входом входного сумматора, инверсный выход знакового разряда и прямой выход

старшего разряда второго выходного регистра соединены соответственно с первым и вторым управляющими входами выходного коммутатора, информационные входы которого соединены с входами за- 5, Дания констант устройства, выход выходного коммутатора соединен с вторым входом выходного сумматора, выход которого соединен с информационным входом регистра результата, , причем каждый блок вы-О числения итерации содержит два регистра, два коммутатора, два сумматора и элемент И, входы которого соединены с инверсным выходом знакового разряда и выходом старшего разряда первого регистра, 15 прямой выход которого соединен с первым входом первого сумматора, второй вход которого соединен с выходом первого коммутатора, первый и второй управляющие входы которого соединены соответст- 20 венно с инверсным и прямым выходами элемента И и соответственно с первым и вторым управляющими входами второго коммутатора, первый и второй информационные входы которого соединены с вхо- 25 дами констант устройства, первый и второй входы второго сумматора соеданены соответственно с выходом второго регистра и выходом второго коммутатора, первый и второй информационные входы первого зо коммутатора соединены соответственно с прямым и инверсным выходами первого регистра, выходы первого и второго сумматоров чо блока вычисления итерации ( d 1, 2,...} 2 П -3) соединены соот- ,. ветственно с информационными входами первого и второго регистров (4 + 1)-го блока вычисления итераций, выходы вход-

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

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

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

1.Авторское свидетельство СССР N9 590733, кл. с; 06 7/38. 1978.

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

S

К

Похожие патенты SU964635A1

название год авторы номер документа
Конвейерное устройство для вычисления функции Y=е @ 1981
  • Мельник Анатолий Алексеевич
  • Осипишин Иван Саввович
SU962927A1
Конвейерное устройство для вычисления гиперболических функций 1981
  • Мельник Анатолий Алексеевич
SU1026141A1
Конвейерное устройство для вычисления функций синуса и косинуса 1981
  • Мельник Анатолий Алексеевич
SU1003080A1
Конвейерное устройство для вычисления логарифмической и экспоненциальной функций 1982
  • Мельник Анатолий Алексеевич
SU1027722A1
Устройство для вычисления функции @ = @ 1982
  • Мельник Анатолий Алексеевич
SU1062693A1
Устройство для вычисления функции 1986
  • Пьянков Евгений Константинович
SU1348829A1
Устройство для вычисления функции @ = @ 1982
  • Мельник Анатолий Алексеевич
SU1034033A1
Устройство для вычисления элементарных функций 1982
  • Каневский Юрий Станиславович
  • Куц Наталия Евгеньевна
  • Лозинский Вадим Иванович
  • Сергиенко Анатолий Михайлович
SU1141399A1
Устройство для цифровой обработки сигналов 1985
  • Альховик Александр Сергеевич
  • Байков Владимир Дмитриевич
  • Дорофеев Иван Геннадиевич
  • Попов Алексей Максимович
SU1336028A1
Устройство для вычисления функций 1989
  • Пьянков Евгений Константинович
SU1705822A1

Иллюстрации к изобретению SU 964 635 A1

Реферат патента 1982 года Конвейерное устройство для вычисления функции @ = @

Формула изобретения SU 964 635 A1

Zl

Z$

2J

26

Фиг. 2

SU 964 635 A1

Авторы

Мельник Анатолий Алексеевич

Осипишин Иван Саввович

Даты

1982-10-07Публикация

1981-03-09Подача