Специализированный процессор для вычисления элементарных функций
Иллюстрации
Показать всеРеферат
Изобретение относится к области вычислительной техники и может быть применено для вычисления элементарных функций 1пх, аппаратными методами. Цель изобретения - повышение точности. Процессор содержит входные коммутаторы 1 и 2, счетчик порядка 3, входной регистр 4, сдвигатель 5- блок 6 вычисления многочлена , блоки памяти 7-9, дешифратор подынтервалов 10 и блок управления 11. 7 ил.
1265764
=E е 2 и
2й
Этим трем областям можно соотнести два интервала изменения аргумента:
Изобретение относится к автоматике и вычислительной технике и может быть применено при вычислении х элементарных функций 7пх. 6, sin x аппаратными методами.
Целью изобретения является повышение точности.
На фиг. 1 представлена блок-схема процессора, на фиг. 2 — блок-схема блока вычисления многочлена; на фиг. 3-5 — блок-схемы алгоритмов; на фиг. 6 и 7 — блок-схема блока управления.
Процессор содержит входные коммутаторы 1 и 2, счетчик 3 порядка, входной регистр 4, сдвигатель 5, блок 6 вычисления многочлена, блоки
7-9 памяти, дешифратор 10 подынтервалов и блок 11 управления.
Блок 6 вычисления многочлена (фиг. 2) содержит коммутаторы 12 и
13, блок 14 умножения, коммутатор
15, сумматор 16, коммутатор 17 и регистр 18 результата.
Блок 11 управления (фиг.6 и 7) содержит блок 19 микрокоманд, регистр .20 микрокоманд, шифратор 21 микрокоманд, счетчик 22 адреса микрокоманд и дешифратор 23 аргумента.
Шифратор 21 микрокоманд содержит элементы И 24-44, элементы ИЛИ 45—
49, элементы НЕ 50-52 и дешифратор 53.
Дешифратор 23 аргумента содержит дешифратор 54, элементы И 55-69, селекторы 70 и 71, элементы И 72 и 73 и элементы НЕ 74 — 91.
Вычисление функции разделяется на два этапа: этап предварительной обработки и вычисление многочлена.
Алгоритмы предварительной обработки основаны на известных соотношениях и различны для каждой функции. Сущность предварительной обработки сводится к приведению аргумента функции к интегралу (0, 1J, Пусть представление чисел в ЦВИ
-Ф находится в диапазоне + (2 -2 ) .
Для ЕС ЭВМ Б= +256. Тогда для функции е диапазону. изменения аргументов соответствуют три области изменения функции:
}xl+ NFn2 для областей I u III х =
jx) NXn2 для области II
При Jxj > NEn2 в зависимости от знака М, процессор генерирует либо оо либо О, Вычисления проводятся только для второй области изменения функции. Диапазон изменения аргумента при этом: -7, +7. х
Для вычисления функции е (фиг.3) в указанном диапазоне необходимо выделить целую часть аргумента, вычислить функции от обеих частей аргумента и затем перемножить полученные значения: х ел x х-еЫ» е=е е
15 (3) Если 0х -7, то формируется сигнал e = О. Код, получаемый на выхох де сдвигателя 5, передается на адресные входы второго 8 и третьего
На вход процессора поступают мантисса аргумента (на коммутатор 2), порядок аргумента (на коммутатор 1), х признак функции е и сигнал "Пуск" (в блок 11 управления). По сигналу
"Пуск" блок 11 управления записыва. ет аргумент во входной регистр 4 и счетчик 3 порядка. Затем начинается анализ величины порядка в блоке 11 управления. .Если порядок аргумента не равен нулю, то в зависимости от знака порядка алгоритм приведения к интервалу разделяется на две ветви. Пусть знак порядка аргумента > О, тогда при 1„ 7 формируется сигнал e = ee, к если F 7, то мантисса аргумента сдвигается влево с одновременным
35 вычитанием единицы из величины порядка. При сдвиге влево старшие разряды мантиссы заносятся в 1-8 разряды входного регистра 4. Эти разряды в дальнейшем служат адресом для первого блока 7 памяти, где
entx хранятся величины е
При Px О необходимый сдвиг всей мантиссы аргумента вправо не проис45 ходит, а с помощью сдвигателя 5 вправо сдвигаются лишь разряды, составляющие старшую часть мантиссы (S разрядов) . Величина сдвига зависит от величины порядка аргумента, но не больше 7.
В таблице поясняется работа сдвигателя 4 для Б = 10, управляемого тремя последними разрядами счетчика
3 порядка.
3 1265764
9 блоков памяти и на входы дешифра — r тора 10 подынтервала. Причем 1-5 разряды сдвигателя 5 соединены с адресными входами второго блока 8 в памяти и входами дешифратора 10, 5 и а 1-3 и 6 — 10 разряды — с адресными П входами третьего блока 9 памяти. н
После анализа кода подынтервала ре начинается вычисление многочлена в блоке 6 вычисления многочлена (фиг., 10 на
2) по схеме Горнера. сы
По окончании вычисления многочле- гу на в блоке » управления анализирует- ле ся содержимое 1 — 8 разрядов входного ти регистра 4. Если все 1-8 разряды рав- 5 сд ны нулю, значением функции является ст значение многочлена. Если 1-8 разря- 4 ды не равны нулю, то из первого ня блока / памяти выбирается значение сд ея6х е и передается в блок 14 умно- 20 но жения вместе со значением многочле- жи на. Произведение P (x)e через еМх ся коммутатор 17 и регистр 18 резуль- мн тата передается на выход. На этом сч процессор заканчивает свою работу. 2 ги
Приведение к интерваЛу (О, 1) но аргумента функции fn x основано ре на следующем. Пусть аргумент зада- те ется выражением ки х. = М„2Р„, где М к — мантисса аргумента
- р„— порядок аргумента х
Логарифмируя равенство (5), получают:
fn к = Рп М „+ Р„ In 2.
Имеет место равенство
En+„= Яп(1+2) где 0<Е 1 (и
Z =М„-1„4„— мантисса, сдвинутая таким образом, что может быть представлена кодом (8) 1 - ° ° ° У 1.где Z — двоичная цифра числа.
Сдвиг выполняется до первой ситуации, при которой перед запятой устанавливается единица, т.е. можно записать к
Мх=k Phõç (9) где К вЂ” число сдв и г ов до получения кода (8).
Таким образом де (Р„-К) — код, содержащийся на счетчике 3 порядка, Как и в предыдущем случае, на ход процессора поступают аргумент, ризнак функции и сигнал нПуск . о сигналу "Пуск" блок 11 управлеия записывает аргумент во входной гистр 4 и счетчик 3 порядка.
Действия по вычислению функции чинаются с анализа знака мантис(фиг. 6). При отрицательном арменте формируется сигнал "Вычисние невозможно". Если знак манссы положительный, то аргумент вигается влево до появления в аршем разряде входного регистра единицы. Порядок аргумента измеется пропорционально количеству вигов. Затем для получения дробй части величины Pn(1+Z) содермое входного регистра 4 сдвигаетеще раз влево. Для вычисления огочлена приведенный аргумент со етчика 3 порядка и входного рестра 4 передается в блок 14 умжения. 10-19 разряды входного гистра 4 передаются через сдвигаль 5 без сдвига, благодаря блоровке выходов счетчика 3 порядка
30 признаком функции, на адресные входы второго 8 и третьего 9 блоков памяти и на вход дешифратора 10, где производится анализ кода на выходе сдвигателя 5. Если подынтервал "длинный", то при вычислении (6) многочлена выборка производится из блока 9 памяти, если подынтервал
"короткий" — из блока 8. Значение (7)
P(x) фиксируется на входном регист40 ре 4. Затем величина, хранимая на счетчике 3 порядка (Q), передается в блок 14 умножения, где умножается на константу 1п 2. Константа
Еп 2 реализуется путем установки
45 в пятой группе входов четвертого коммутатора 13 необходимых потенциалов. С входного регистра 4 на сумматор 16 поступает значение многочлена, а с выхода блока 14 умножения — произведение Q kn 2. Результат суммирования (значение функции) через шестой коммутатор 17 и регистр
18 результата поступает на выход, и процессор заканчивает свою работу.
Сведение аРгУмента функции sin Х к интервалу (0 11 основано на соотношении
fnx=Pn(<+Z)+(P„-K) Хп2 (10) s Ь К sin(27ik +({) =sing, 1265764
g =2и (— — ant — ) л Х к
2% 2к (12) 50
55 циям.
5 где K — целое число;
Ю вЂ” переменная в интервале (О, 2 7 ), Обозначим Z= — — ent — . где х Х
2л 2к
0 i Z с1. Два старших разряда величины Z указывают номер квадранта, в котором находится угол Ц
Представим величину sin Q как
sing = sin 2ХЕ = sin — (13)
2 где 0 с. 1 .
Вычисление s in — ) в зависимости
2 от квадранта, в котором находится аргумент, выполняется по известным формулам.
По сигналу "Пуск" блок 11 управления записывает аргумент во входной регистр 4 и счетчик 3 порядка. Затем аргумент передается в блок 14 умно1 жения, где умножается на †. Произ21 ведение вновь записывается на входной регистр 4. Если порядок произведения Р 4 0 и 1„ О, то сдвигая х влево содержимое входного регистра
4, добиваются равенства порядка нулю (получаем переменную Z) . После выполнения сдвигов или при P „ < 0 в
4 блоке 11 управления анализируются
10 и 11 разряды входного регистра
4. В зависимости от номера квадранта и вида функции (sin х и созх) принимается решение о вычитании
Мк из единицы. Для этого аргу 7i мент передается на вход сумматора
16. Полученная разность снова записывается во входной регистр 4.
Затем содержимое входного регистра
4 сдвигается влево. Если не было необходимости получать разность, то подобные сдвиги выполняются сразу после определения квадранта. После этих действий содержимое входного регистра 4 передается на вход блока 14 умножения. Код с выхода сдвигателя 5 поступает на вход дешифратора 10. После определения вида подынтервала (длинный" или "короткий") начинается вычисление многочлена аналогично первым двум функ5
Формула изобретения
Специализированный процессор для вычисления элементарных функций, содержащий счетчик порядка, входной регистр, сдвигатель, блок управления и два блока памяти, причем выходы счетчика порядка соединены с входом первой группы разрядов сдвигателя, входы второй группы разрядов которого соединены с выходами входного регистра и адресным входом первого блока памяти, выход сдвигателя соединен с адресным входом второго блока памяти, отличающийся тем, что, с целью повышения точности, в него введены два входных ком— мутатора, блок вычисления многочлена, дешифратор подынтервалов и третий блок памяти, причем входы порядка и мантиссы процессора соединены с первыми информационными входами соответственно первого и второго входных коммутаторов, выходы которых соединены с информационными входами соответственно счетчика порядка и входного регистра, выход сдвигателя соединен с входами первой группы разрядов дешифратора подынтервалов и адресным входом третьего блока памяти, причем блок вычисления многочлена содержит четыре коммутатора, блок умножения, сумматор и регистр результата, первый и второй информационные входы первого коммутатора соединены с выходами соответственно счетчика порядка и входного регистра, выход которого соединен с первым информационным входом второго коммутатора, второй и третий информационные входы которого соединены с выходами соответственно второго и третьего блоков памяти и соответственно с первым и вторым информационными входами третьего коммутатора, информационные входы с третьего по шестой которого соединены соответственно с выходом первого блока памяти, входами первой и второй констант процессора и выходом сумматора, соединенным также с вторыми информационными входами первого и второго входных коммутаторов, первым информационным входом четвертого коммутатора, выход и второй информационный вход которого соединены соответственно с информационным входом регистра результата и выхо1265764
Разряды входного регистра 4 на выходе сдвигателя 5
Значения трех последних раз рядов счетчика 3 порядка
1 2 3 4 5 6 7 8
000
001
010
011
100
101
110 означает наличие на выходе сдвигателя 5 значения К -ro разряда входного регистра 4. дом блока умножения, соединенным с третьими информационными входами первого и второго входных коммутаторов и первым информационным входом сумматора, второй информационный вход которого соединен с выходом второго коммутатора, выходы первого и третьего коммутаторов соединены соответственно с первым и вторым информационными входами блока умножения, выход регистра результата соединен с выходом процессора, причем вход пуска блока управления является входом пуска процессора, группа выходов ограничения условий вычисления t5 блока управления является группой управляющих выходов процессора, выход входного регистра соединен с входом задания функции блока управ— ления, выходы группы разрядов с первой по шестнадцатую соединены с управляющими входами соответственно первого и второго входных коммутаторов, входного регистра, счетчика порядка, сдвигателя, дешифратора подынтервала, с первого по третий блоков памяти, с первого по четвертый коммутаторов, блока умножения, сумматора и регистра результата, группа входов признаков блока управления соединена с выходом дешифратора подынтервалов, выход, счетчика порядка соединен с входом граничных условий блока управления.
12()bi<)4
1265764! 265764
Ма
Юдга
Р .М фИ ОЯ
РхоФаю
PPNff
Ф юГоУРо
peaé
ЛН/СИ/
Составитель А.Зорин
Редактор И.Николайчук Техред S.Кадар Корректор А.Тяско . „
Заказ 5665/46 Тираж 671 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
1 1 3035 р Москва у R-35 у Раутпская наб . ° д . 4 /5.
Производственно-полиграфическое предприятие, r, Ужгород, ул. Проектная, 4