Устройство для логарифмирования
Иллюстрации
Показать всеРеферат
ОПИСАНИЕ
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
Союз Советскик
Социалистических
Республик (1)962926 (61) Дополнительное к авт. свид-ву (22) Заявлено 12.02.81 (21) 3247262/18-24 с присоединением заявки ¹ (У1) М Кп 3
G 06 F 7/556
Государственный комитет
СССР ио делам изобретений и открытий (23) Приоритет (53) УДК 681. 325 (088. 8) Опубликовано 300982. Бюллетень ¹ 36
Дата опубликования описания 30 09 82 (72) Авторы изобретения
Н,В.Черкасский, А.A.Ìåëüíèê и В,С.Митьков
Львовский ордена Ленина политехнический институт им. Ленинского комсомола (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ЛОГАРИФМИРОВАНИЯ
Изобретение относится к вычислительной технике и предназначено для испольэбвания в универсальных и специализированных ЦВМ при обработке больших массивов данных.
Известно устройство для логарифмирования двоичных чйсел,.содержащее
;регистры старших и младших разрядов аргумента, три блока памяти, блок управления, коммутатор, сумматор, выходной регистр, триггер, сдвигатель, блок управления сдвигателем (1 1.
Недостатком известного устройства является низкое быстродействие.
Наиболее близким к предлагаемому является устройство для логарифмирования массивов двоичных чисел, содержащее входной регистр, три блока памяти, два сумматора, семь регистров, блок для возведения в квадрат. блок умножения, блок управления. Известное устройство работает по конвейерному принципу и реализует операцию логарифмирования над массивами чисел с быстродействием, равным времени возведения в квадрат (при реализации на элементах 155 серии это время равно 165 нс). Производительность данного устройства выше, чем s известных устройствах для логарифмирования, разработанных в
СССР и за рубежом (2 1.
Однако его производительность можно еще более повысить, если уменьшить задержку в наиболее медленной ступени конвейера, которой является ступень, содержащая квадратор. Задержка в этой ступени более, чем вдвое превосходит задержку в остальных ступенях конвейера, поэтому половину такта работы конвейера они простаивают.
Цель изобретения — увеличение быстродействия устройства.
Поставленная цель достигается тем, что в известное устройство содержащее два сумматора, три блока памяти, входной регистр, выходной регистр, шесть промежуточных регистров, первый блок возведения в квадрат и блок управления, первый выход которого соединен с управляющим входом первого промежуточного регистра, второй выход блока управ25 ления соединен с управляющими входами входного регистра, с второго по шестой промежуточных регистров и выходного регистра, информационный вход входного регистра соединен с
З0 входом аргумента устройства, выход
962926
ЗО
4О у = А + И(х + В) 45
65 входного регистра соединен с первым входом лс->ного сумматора, второй вхоц которого через первый блок памяти соединен с выходом старших разрядов входного регистра и информационным входом второго промежуточного регистра, выход которого соединен с информационным входом четвер-. того промежуточного регистра, ныхо»; которого соединен с входом второго блока памяти и информационным входом шестого промежуточного регистра, выход которого через третий блок памяти соединен с первым входом нторого сумматора, второй вход которого соединен с выходом пятого
3 промежуточного регистра, выход первого сумматора соединен с информационным входом первого промежуточного регистра, выход которого соединен с нходом первого блока возведения н квадрат, выход второго сумматора соединен с информационным входом выходного регистра, выход которого соединен с выходом устройства, дополнительно введены седьмой промежуточный рЕгистр, второй блок возведения н квадрат, коммутатор и сднигатель, причем третий выход блока управления соединен с управляющим входом седьмого промежуточного регистра„ информационный вход и выход которого соединены соответственно с выходом первого сумматора и входом второго блока возведения B квадрат, четвсртый и пятый выходы блока управления соединены соответственно с первым и вторым управляющими входами коммутатора, первый и второй информационные входы которого соединены с выходами соответствующих блоков возведения в квадрат, выход коммутатора соединен с информационным входом третьего промежуточного регистра, выход которого соединен с
IIepBblM >3xopoM сдвигателя, второй вход и выход которого соединены соответственно с выходом второго блока памяти и информационным входом пятого регистра, первый и второй входы блока управления соединены соответственно с входами задания длины массива и пуска. устройства.
При этом блок управления содержит три триггера, счетчик, генератор импульсов, элемент ИЛИ-ЙЕ, элемент НЕ и три элемента И, причем первый вход блока управления соединен с входом записи счетчика, выход которого соединен через элемент ИЛИ-НЕ с первым входом первого триггера, второй вход и выход которого соединены соответственно-с вторым входом блока управления и первым входом первого элемента И, второй вход которого соединен с.выходом генератора импульсон выход первого элемента И соединен с счетным входом счетчика, первыми входами второго и третьего элементов И, синхронходом второго триггера и вторим ныходом блока управления и через элемента HF. с синхровходом третьего триггера, прямой и инверсный
5 выходы которого соединены соответственно с четвертым и пятым выходами блока управления, первый и третий выходы которого соединены соответственно с выходами третьего и второго
1О элементов И, прямой и инверсный выходы второго триггера соединены соответстненно с вторыми входами второго и третьего элементов И.
На фиг. ° 1 дана блок-схема устройства для логарифмирования) на фиг. 2 — схема блока управления.
Устройство для логарифмирования содержит регистр 1 входной, регистры
2-8 промежуточные, регистр 9 выходной, сумматоры 10 и 11, блоки 12-14 ,памяти, блохи 15 и 16 возведения в квадрат, коммутатор 17, сдвигатель
18, блок 19 упранления, выходы 20-24 и входы 25 и 26 блока управления.
Влок 19 управления содержит счетчик 27, элемент ИЛИ-НЕ 28, триггер
29, генератор 30 иьнульсов, элемент
И 31, триггер 32, элементы И 33 и
34, элемент НЕ 35, триггер 36, выходы 37 и 38 триггера 32, выход 39 элемента ИЛИ-HE 28 и выход 40 триггера 29.
Устройство предназначено для обработки нормализованных данных, представленных в формате с фиксированной запятой.
Вычисление функции у = Зо.-.; x производится в устройстве табличйо-алгоритмическим методом путем хранения сжатых таблиц, данных н памяти и их восстановления при помощи арифметического устройства на основе соотношения где константы А, В и М выбираются из условия минимизапии абсолютной погрешности.
Диапазон изменения аргумента
E1/2, 11 разбивается на интервалы, количество которых определяется требуемой точностью, причем границы интервалон выражаются К старшими двоичными разрядами аргумента. Как показал вычислительный эксперимент, проведенный на ЭВМ, для 15-разрядных двоичных чисел использование вышеуказанного алгоритма при разбиении диапазона изменения аргумента на 24 интервала позволяет достичь точности o" <2 < .
На разных интервалах константы имеют различные значения. Константы
В хранятся н блоке 12 памяти, константы W н блоке 13 памяти и константы А в блоке 14 памяти. Адресация к каждому блоку памяти осуществляет9629?6 ся по К старшим разрядам аргумента, которые указывают в каком интервале находится аргумент.
Структура устройства представляет собой цепочку последовательных ступеней, разделенных регистрами, в ко торой каждая ступень предназначена для реализации определенных операций над поступающими на ее входы операндами и передачи получаемых результатов соседней ступени. Разделение ступеней регистрации, позволяет им ра ботать независимо, поэтому сразу после освобождения первой ступени в нее загружается новый операнд, а во второй ступени уже отрабатывается операнд, ранее отработанный в первой ступени. Последовательность операций, выполняемых над операндами при прохождении всех. ступеней цепочки, определяют выполнение операции логарифмирования.
Устройство работает следующим об.— разом.
Аргумент х поступает во входной регистр 1, а иэ него — на сумматор
10. Одновременно иэ блока 12 по адресу, укаэанному К старшими разрядами аргумента х, выбирается константа В и также поступает на сумматор . 10. В сумматоре 10 производится выработка суммы, которая по сигналу, поступающему от блока 19 управления по выходу 22 записывается в регистр
2, а из него поступает на блок 15 возведения в квадрат, из которого квадрат поступившего числа передается через коммутатор 17 по сигналу, поступающему от блока 19 управления по выходу 24 в регистр 5. В следующем такте информация с выхода сумматора 10 поступает уже в регистр 3 по сигналу 21 и из него на блок 16 возведения в квадрат, из которого ре-;:: зультат вычисления выражения (х + В) по сигналу 23 поступает через коммутатор 17 на регистр 5. Таким образом, включение двух блоков возведения в квадрат параллельно позволяет сделать такт работы конвейера, равным половине задержки в каждом из них, поскольку они могут отрабатывать параллельно разные операнды со сдвигом во времени на такт конвейера. Одновременно по регистрам 4 и 6 продвигаются К.старших разрядов операнда х, которые. указывают адрес в блоке. 13 константы Ф, соответствующей данному интервалу. При расчете коэффициентов константы И выбирались равными степени двойки, поэтому выполнение операции умножения W на (х + В) можно заменить операцией сдвига на И двоичных разрядов. Данная операция выполняется в сдвигатепоступают на регистры устройства, построенные на D-триггерах, и .с по40 ступлением каждого импульса по его переднему фронту в соответствующий регистр записывается информация. С каждым тактовым импульсом содержимое счетчика 27 уменьшается на единицу, 4$ и как только оно станет равным нулю, т.е. массив чисел обработан, на выходе 39 элемента ИЛИ-HE 28 появляется сигнал, сбрасывающий триггер 29 в состояние ноль. Сигнал с выхода
5О 40. этого триггера запретит прохождение тактовых Ймпульсов через элемент
И 31 на регистры устройства.
В таблице приведены значения константы А, В и W га разных интер55 валах измерения аргумента и значение абсолютной погрешности, получаемой при вычислениях на каждом интервале. При этом считалось, что аргумент имеет разрядность N = 15 и границы интервалов выражаются К = 5 старшими разрядами аргумента. Видно, что погрешность не превышает единицы младшего разряда.
35 ле 18, на выходе которого получает- . ся число из регистра 5, сдвинутое на W разрядов. Из сдвигателя 18 это число поступает в регистр 7, а из него — на сумматор 11, где суммируется с константой А, выбранной из блока 14 пс адресу, указанному Содержащим регистра 8. Сформированное в сумматоре число, являющееся искомым логарифмом аргумента х, поступает на регистр 9 и иэ него - на вход устройства.
Тактовые импульсы, управляющие работой устройства для логарифмирования вырабатываются в блоке 19 управления.
Блок управления работает следующим образом.
Перед началом обработки массива чисел в счетчике 27 по входу 25 поступает число, равное длине массива.
По сигналу, поступающему на вход 26 пуска, устанавливается в состояние единица и сигнал с его выхода 40 разрешает прохождение тактовых импульсов через элемент И 31 иэ генератора 30 импульсов, которые поступают на счетчик 27; С поступлением каждого импульса иэ содержимого счетчика вычитается единица. Кроме того, тактовые импульсы поступают на триггер 32 и элементы И 33 и
И 34, а также через элемент НЕ 35 на триггер Зб. Сигналы 37 и.38 триггера 32 формируют в элементах И ЗЗ и 34 сигналы управления, поступающие на выходы 21 и 22, а сигналы с триг гера 36 поступают на выходы 23 и 24.
По выходам 20-24 управления сигналы
962926
Конечная точка интервала
Начальная точка интервала
О, 0358740865 -1,219676202
0,64 10
2,1781 10
0,5
0,5078125
0,5078125 0,5234375 ° 0,0230906405 -1,215167096
0,4531 10
1,47385 10
0,5234375, 0,53125
0,012404961
0,546875
0,0039603795
0,53125
1,053 . 10
0,546875 0,5625
Ос00455675
-0,010186279
0,578125
0,66655 . 10
0,5625
-0,01329138
Ос3116 10.
0,578125 0,59375
0,01675 - 10
1,88355 - 10
3,9684 " 10
1,33835 - 105
1,5499 - 10
0,59375
-0,014192187
-0,01173775
0,609375
0,609375 0,640625
-1,21035734 !
-1,214056116, 0,671875 . 0,6875
0,6875
0,703125
0,703125 0,71875
1, 3042 °
1,1189
-1,72562102
0,71875
-1,719423172
0 734375
0,734375 0,75
-1 0,9451 10
-1,7141443
-1,709727508
0,78195 - ",О
2,2269 - 10
2,02725 ° 10
2,89395 10
0,75
0,765625
0,765625 0,796875
0,796875 0,84375
-1,704697984 е
-1,699908841
0,84375
-1,699747944
0,90625
0,90625 0,9375
1,8461 . 10
-1,704428614
2,51384 . 10
-1,7001644
0,9375
0,96875
0,96875
0 9В4375
0 81551 10
0,984375 1-1,719230041
Формула изобретения
0 „640625 0,671875 -О, 00329845
0,006177828, 0,13938804
0,537364245
0,524919939
0,514547181
0,506047208
0,496590181
0,487915.732
0,487591039
0,495051631
0,503647104.
0,511433361
0,517283697
ПОскольку устройство работает по конвейерному принципу, то его быстродействиЕ при обработке массивов чисел определяется длительностью такта, равной задержке в наиболее медленной ступени устройства. такой ступенью в данном устройстве является ступень, содержавшая блок возведения в квадрат. Но, поскольку оба бло- ® ха возведения в квадрат работают параллельно, то быстродействие устройства для логарифмирования равно
Т -ф -, где t„ - время возведения
-1,211300582
-1,2081853
-1,204959228
-1,202766372
-1,201523804-1,201154507
-1,202198272
-1,205952 .
-1,715238103 -1 0,74345 - 10 в квадрат. Быстродействие же прототипа Т„ t ©, т.е. быстродействие предЛагаемого устройства увеличено в два раза.
Кроме того, поскольку в данном случае остальные ступени конвейера, такие же как и в прототипе, работают быстрее в два раза, то повышается эффективность использования оборудования.
1. Устройство для логарифмирования, содержашее два сумматора, три
962926 блока памяти, входной регистр, выходной регистр, шесть промежуточных регистров, первый блок возведения в квадрат и блок управления, первый выход которого соединен с управляющим входом первого промежуточного регистра, второй выход блока управления соединен с управляющими входами входного регистра, с второго по шестой промежуточных регистров и выходного регистра, информационный вход входного регистра соединен с входом аргумента устройства, выход входного регистра соединен с первым входом первого сумматора, второй вход которого через первый блок памяти .соединен с выходом старших разрядбв входного регистра и информа ционнымм входом второго промежуточного регистра, выход которого соединен с информационным входом четвертого промежуточного регистра, выход которого соединен с входом второго блока памяти и информационным входом шестого промежуточного регистра, выход которого через третий блок памяти соединен с Первым входом второго сумматора, второй вход которого соединен с выходом пятого промежуточного регистра, выход первого сумматора соединен с информационным входом промежуточного регистра, выход которого соединен с входом первого блока возведения в квадрат, выход второго сумматора соединен с информационным входом выходного регистра, выход которого соединен с выходом устройства, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия, в него введены седьмой промежуточный регистр, второй блок возведения в квадрат, коммутатор и сдвигатель, причем третий выход блока управления соединен с управляющим входом седьмого промежуточного регистра, информационный вход и выход которого соединены; соответственно с выходом первого сумматора и входом второго блока возведения в квадрат, четвертый и пятый выходы блока управления соединены соответственно с первым и вторым управляющими входами коммутатора, первый и второй информационные входы которого соединены с выходами соответствующих блоков возведения в квадрат, выход коммутатора соединен с информационным входом третьего промежуточного регистра, выход которого соединен с первым входом сдвигателя, второй вход и выход которого соединены соответственно с выходом второго блока памяти и информационным входом
10 пятого регистра, первый и второй входы блока управления соединены соответственно с входами задания длины массива и пуска устройства.
2. Устройство по п.1, о т л и15 ч а ю щ е е с я тем, что блок управления содержит три триггера, счетчик, генератор импульсов, элемент ИЛИ-НЕ, элемент НЕ и три элемента И, причем первый вход блока управления соеди;щ нен с входом записи счетчика, выход которого соединен через элемент
ИЛИ-НЕ с первым входом первого триггера, второй вход и выход которого соединены соответственно с вторым входом блока управления-и первым входом первого элемента И, второй вход которого соединен с выходом генератора импульсов, выход первого элемента И соединен с счетным входом счетчика, первыми входами второго и третьего элементов И, синхровходом второго триггера, вторым выходом блока управления и через элемент НЕ с синхровходом третьего триггера, прямой и инверсный выходы которого соединены соответственно с четвертым и пятым выходами блока управления, первый и третий выходы которого соединены соответственно с выходами третьего и второго элементов И, пря40 мой и инверсный выходы второго триг гера соединены соответственно с вторыми входами второго и третьего элементов И. Источники информации, 45 принятые во внимание при экспертизе
1. Авторское свидетельство СССР . 9593212, кл. G 06 F 7/556, 1978 °
2. Авторское свидетельство СССР по заявке Р 2862892/18-24, 1979 (про5Q тотип1.
962926
9hz 2
Составитель A.Çoðèí
Техред С.Мигунова Корректор A.1 Ð ÍeH <
Редактор Н.Гришанова
Филиал ППП "Патент", r. Ужгород, ул. Проектная, 4
Заказ 7513/68 Тираж 731 .Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5