первого коммутатора, выходы входного регистра и счетчика порядка соединены с первым и вторым информационными входами восьмого коммутатора, выход которого соединен с адресным входом дополнительного блока памяти, выход которого соединен с вторым и третьим информационными входами сос1тветственно четвертого и третьего коммутаторов, третийи четвертый информационные входы которого соединены с выходом основного блока памяти и вторым информационным входом седьмого коммутатора, выход регистра функции соединен с выходом устройства, блок управления содержит распределитель импульсов, шифратор, дешифратор циклов и дешифратор признаков,.первьй и второй входы которого соединены с выходами соответственно счетчика порядка и входного регистра, выходы с первого по десятый дешифратора признаков соединены с управляющими входшхги с первого по восьмой коммутаторов, первого дешифратора и второго дешифратора соответственно, выхода распределителя импульсов соединены с первой группой входов шифратора, выход которого соединен с входом дешифратора циклов, выходы с первого по одиннадцатый которого соединены с управляющими входами соответственно вспомогательного регистра, входного регистра, счетчика порядка, с первого по второй сумматоров.
60429
.с первого по третий умножителей, основного и дополнительного блоков памяти и регистра функции, входы второй и третьей групп шифратора соединены с выходами соответственно второго дешифратора и сдвигателя, отличающее ся тем, что, с целью повьшения достоверности вычислений, в него введены сумматор контроля, дешифраторы ошибки и контроля, счетчик ошибок и триггер ошибки, причем выход сумматора контроля соединен с входом дешифратора контроля, выход счетчика ошибок соединен с входом дешифратора ошибки, причем в арифметический блок введен девятый коммутатор, первый и второй информационные входы которого соединены с выходами соответственно основного блока памяти и сумматора контроля, первый информационный вход которого соединен с выходами второго и третьего умножителей и основного блока памяти, второй информационный вход и управляющий вход сумматора контроля соединены соответственно с выходом регистра функции и двенадцатым выходом дешифратора циклов, выход шифратора соединен с входом счетчика ошибок и входом триггера ошибки, выход которого соединен с выходом сигнала неисправности устройства, выход дешифратора ошибки соединен с пятым входом шифратора.
название | год | авторы | номер документа |
---|---|---|---|
Устройство для вычисления элементарных функций | 1983 |
|
SU1160454A1 |
Устройство для вычисления элементарных функций | 1984 |
|
SU1185329A1 |
Специализированный процессор для вычисления элементарных функций | 1984 |
|
SU1265764A1 |
Специализированный процессор | 1977 |
|
SU734705A1 |
Специализированный процессор | 1983 |
|
SU1144117A1 |
Специализированный процессор для вычисления элементарных функций | 1985 |
|
SU1330627A1 |
Специализированный процессор | 1977 |
|
SU723581A1 |
Устройство для вычисления корня @ -степени | 1986 |
|
SU1381494A1 |
Устройство для вычисления тригонометрических функций с плавающей запятой | 1986 |
|
SU1425661A1 |
Специализированный процессор | 1981 |
|
SU1023339A1 |
УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ЭЛЕМЕНТАРНЫХ ФУНКЦИЙ, содержащее арифметический блок и блок управления, причем ари4метический блок содержит три дешифратора, восемь коммутаторов, три умножителя, два cyi iaTopa, основной и дополнительный блоки памяти, счетчик порядка, вспомогательный регистр, входной регистр, сдвигатель и регистр .функции, причем выход вспомогательного регистра соединен с информационным входом первого деши-фратора и первьм информационным входом первого коммутатора, второй и третий информационные входы которого соединены соответственно с выходом первого дешифратора и входом мантиссы аргумента устройства, вход порядка аргумента которого соединен с информационным входом счетчика порядка, выход которого соединен с управлякиц входом сдвигателя, информационный вход которого соединен с выходом входного регистра, информационным входом вспомогательного регистра. первьми информационными входами первого умножителя, коммутаторов с второго по четвертый и с входом второго дешифратора:, выход первого коммутатора соединен с информационным вхйдом входного регистра, выходы старших и младошх разрядов сдвигателя соединены соответственно с пёрвьй и вторым информационными входани первого сумматора, выход старших раадядов сдвигателя и выход первого сумматора соединены соответственно с первым и вторым информационными входами третьего дешифратора, выход которого соединен с адресным входом основного блока памяти, выход третьчО его коммутатора соединен с вторым (Л информационным входом первого умножителя, вьпсод которого соединен с четвертым информационш11м входом первого, | вторым информационным входом второго и первыми информационнь{ми входами с пятого по шестой коммутаторов, выход второго коммутатора соединен а с первым информационным входом втоо 4 ю со рого умножителя, выход которого соединен с вторыми управляющими входами шестого и пятого коммутаторов, выходы которых сое Динены с первыми информационными входами соответственно третьего умножителя и второго сумматора, вторые информационные входа которых соединены с выходами соответственно седьмого и четвертого коммутаторов, выход третьего умножителя соединен с третьим информационным вxoдo f пятого коммутатора, выход второго сумматора соединен с информационным входом регистра функции, вторым информационньм входом третье-: го и пятым информационный входом
I
Изобретение относится к вычислительной технике и может быть использовано в составе неоднородных; вычислительных систем высокой производительности в качестве специализированного -процессора для вычисления элементарных функций е , Ln X, sin х.
Известен специализированный процес-сор для вычисления элементарных функций (цифровой интерполятор высокого порядка), в котором исполь.зуется разложение элементарных функций в степенной ряд. Указанное устройство содержит входной регистр, на пер-вую группу входов которого подается
аргумент, первая группа выходов входного регистра связана с первой группой входов множительного устройства, вторая группа выходов входного
регистра связана с входами постоянного запоминающего устройства (ПЗУ), в котором хранятся значения узловых точек функции, сумматор, первая группа входов Которого связана с выходами множительного устройства, вторая группа входов множительного устройства связана с входами второй группы вентилей, выходы сумматора соединены с первой группой входов регистра ..
функций, выходы ПЗУ связаны с входами второй группы вентилей, регистр функции, выходы которого соединены с первой, группой входов первой группы вентилей, с второй группой входов выходного буфера, выходной буфер, выход которого соединен с входом ЦВМ блока управления, выходы которого связаны с входами регистра функции, первой, второй группы вентилей, входного регистра и выходного буфеРа 1. Недостатком этого специализирован ного процессора-является низкое быстродействие, посколБку вычисление степенного многочлена ведется по схе ме Горнера, т.е. последовательно. Наиболее близким по технической сущности к изобретению является специализированный процессор, содержащий входной регибтр, первое множител ное Устройство, первый сумматор, основную память, регистр, функций, счетчик порядка, вспомогательный регистр, дешифраторы, сдвигатель, второй сумматор, второе множительное устройство, третье множительное устройство, дополнительную память, причем первый выход первого сумматора соеди нен с первым входом регистра функции второй вход которого подключен к пер вому выходу блока управления, первый вход счетчика порядка соединен с вхо дом процессора, первый выход входного регистра соединен с первым входом первого множительного устройства, первый выход которого соединен с пер вым входом сумматора, второй вход которого подключен к первому выходу основной памяти, вход процессора соединен с первым входом входного регистра, второй вход которого под ключен к второму выходу блока управления, третий выход блока управления соединен с третьим входом первого сумматора, четвертый и пятый выход соответственно с первыми входами основной и дополнительной памяти, шеетой, седьмой и восьмой выходы соответственно с первыми входами второго и третьего множительного устройства и с вторым входом первого множительного устройства, девятый и десятый выходы - соответственно с первыми входами второго сумматора и первого коммутатора, одиннадцатый выход .соедйИен с первым входом вспомогательного регистра, двенадцатый выход . .устройства с вторым входом счетчика порядка, первый выход которого соединен с первым входом блока управления, второй выход счетчика порядка соединен с вторым входом дополнительной памяти, третий вход которого подключен к второму-выходу входного регистра, третий выход счетчика порядка соединен с первым рходом сдвигателя, первый выход которого соединен с вторыми входами первого коммутатора и второго сумматора, выход которого соединен с третьим входом первого коммутатора, выход первого коммутатора подключен к второму входу основной памяти, второй, третий и четвертый выходы которой соединены соответственно с третьим входом первого множительного устройства и вторыми входами второго и третьего множительных устройств, выход вспомогательного регистра соединен через второй коммутатор с третьим входом входного регистра и непосредственно с четвертым входом входного регистра, выход которого подключен через третий коммутатор к второму входу блока управления, четвертый выход входного регистра соединен с вторым входом cдви aтeля, второй выход которого подключен к третьим входам второго сумматора и блока управления, четвертый выход входного регистра соединен с вторым входом вспомогательного регистра, первый выход входного регистра соединен с четвертым входом первого сумматора, пятый и тестой выходы которого соединены соответственно с выходами второго и третьего множительных устройств, третьи входы которых соединены соответственно с вторым и третьим выходами первого множительного устройства, п грвый и второй выходы дополнительной памяти соединены соответственно с четвертш входом nepJBoro множительного устройства и с седьмым входом первого сумматора второй выход которого подключен к пятому входу первого множительного устройства, четвертый выход которого соединен с пятьм входом регистра, вход-выход которого подключен к выходу-входу первого сумматора, выход регистра функций соединен с выходом процессора C2j. Недостатком известного процессора является относительно низкая достоверность результатов вычисления, поскольку общий объем оборудования, входящего в состав процессора, достигает нескольких тысяч корпусов интетральных микросхем большой и средней степени интеграции. Положение усугубляется тем, что эмиттерно-связанная логика, на которой реализуются современные высокопроизводительные ЦВМ обладает низкой помехозащищенностью. Поэтому вероятность сбоя в устройстве, в состав которого входят несколько тысяч микросхем эмиттерно-связанной логики, о сазывается достаточно высокой. В ряде применений, например при работе вычислительной системы в контуре управления, ошибка может привести к катастрофическим последствиям.
Контроль достоверности функционирования памяти и пересылок не представляет сложности и может быть выполнен с использованием контрольных сумм. Контроль достоверности функцио нирования арифметики с плавающей запятой представляет существенные трудности, поскольку усечение младших разрядов произведений не позволяет использовать в качестве контрольных операций над остатками.
Цель изобретения - повьшение достоверности вычислений.
Поставленная цель достигается тем, что в устройство для вычисления элементарных функций, содержащее арифметический блок и блок управления, причем арифметический блок содержит три дешифратора, восемь коммутаторов, три умножителя, дда сумматора, основной и дополнительный блоки памяти, счетчик порядка вспомогательный регистр, входной регистрсдвигатель и регистр функции, причем выход вспомогательного регистра соединен с информационным входом первого дешифратора и первым инфб1 1ационным входом первого коммутатора, второй и третий информационные входы которого соединены соответственно с выходом первого дешифратора и входом мантиссы аргумента устройства, вход порядка аргумента которого соединен с информационным входом счетчика порядка, выход которого соединен с управляющим входом сдвигателя, информационный вход которого соединен с выходом входного регистра, информационным входом вспомогатель рого регистра, первыми информационными входами первого умножителя, коммутаторов с второго по четвертый. и с входом второго дешифратора, выход первого коммутатора соединен с информационным входом входного регистра, выходы старших и младших разрядов сдвигателя соединены соответственно с первым и вторым информационными входами первого сумматора, выход старших разрядов сдвигателя и выход первого сумматора соединены соответственно с первым и вторым информационными входами третьего дешифратора, выход которого соединен с адресным входом основного блока памяти, выход третьего коммутатора соединен с вторым информационным входом первого умножителя, выход которого соединен с четвертым информационным входом первого, вторым, информационным входом второго и первыми информационными входами е пятого и по шестой коммутаторов, выход второго коммутатора соединен с первым информационным входом второго умножите ля j выход которого соединен с вторыми управляющими входами шестого и пятого коммутаторов, выходы которых соединены с первыми информационными входами соответственно третьего умножителя и второго сумматора, вторые информационные входы которых соединены с выходами соответственно седьмого и четвертого коммутаторов, 1ВЫХОД третьего умножителя соединен ,с третьим информационным входом пятого коммутатора, выход второго сумматора соединен с информационным входом регистра функции, вторым информационным входом третьего и пятым информационным входом первого коммутатора, выходы входного регистра и счетчика порядка соединены с первым и вторым информационньв и входами восьмого коммутатора, выход которого соединён с адресным входом дополнительного блока памяти, выход которого соединен с вторым и третьим информационными входами соответственно четвертого и третьего коммутаторов, третий и четвертый информационные входы которого соединены с выходом основного блока памяти и вторым информационным входом седьмого коммутатора, выход регистра функции соединен с выходом устройства, блок управления содержит распределитель импульсов, шифратор, дешифратор циклов и дешифратор признаков, первый и второй входы которого соединены с выходами соответственно счетчика
7 1
порядка и входного регистра, выходы с первого по десятый дешифратора признаков соединены с управляющими входами с первого по восьмой гсоммутаторов, первого и второго дешифраторов соответственно, выхода распределителя импульсов соединены с первой группой входов шифратора, выход которого соединен с входом дешифратора циклов, выходы с первого по одиннадцатый которого .соединены с управляющими входами соответственно вспомогательного регистра, входного регистра, счетчика порядка, с первого по второй сумматоров, с первого по третий умножителей, основного и дополнительного блоков памяти и регистра функции, входы второй и третьей групп шифратора соединены с выходами соответственно второго дешифратора и сдвига те ля, дополнительно введены сумматор контроля, дешифраторы ошибки и контроля, счетчик ошибок и триггер ошибки, причем выход сумматора контроля соединен с входом дешифратора .контроля, выход счетчика ошибок соединен с входом дешифратора ошибки, причем в арифметический блок введен девятый коммутатор, первый и второй информационные входы которого соединены с выходами соответственно основного блока памяти и сумматора контроля, первый информационный вход которого соединен с выходами второго и третьего умножителей и основного блока памяти, второй информационный вход и управляющий вход сумматора контроля соединены соответственно с выходом регистра функции и двенадцатым выходом дешифратора циклов, выход шифратора соединен с входом счетчика ошибок и входом триггера ошибки, выход которого соединен с выходом сигнала неисправности устройства, выход дешифратора ошибки соединен с пятым входом шифратора.
На фиг. 1 дана блок-схема устройства; на фиг. 2 - схема арифметического блока; на фиг. 3 - блок-схема блока управления.
Устройство содержит арифметический блок 1, блок 2 управления, счетчик 3 ошибок, дешифратор А ошибок, сумматор 5 контроля, дешифратор 6 контроля, триггер 7 ошибки.
Арифметический блок содержит счетчик 8 порядка, вспомогательный
298
регистр 9, дешифратор 10, входной ,. регистр 11, дешифратор 12, сдвигатель 13, сумматор 14, дешифратор 15, умножители 16-18, основной блок 19
памяти, сумматор 20, дополнительный блок 21 памяти, регистр 22 функции, коммутаторы 23-31, входы 32 и 33.
Блок управления содержит paicnpeделитель 34 импульсов, шифратор 35,
дешифратор 36 циклов, дешифратор 37 признаков.
Процесс вычисления элементарной функции разбивается на два этапа: приведение к интервалу 0,1 и вычисление многочлена. Причем способ приведения к интервалу различен для разных функций.
Для функции е приведение к интервалу осуществляется следующим
образом. Функция представляется в виде
x-enl X
(}
где е - функция от целой
. аргумента; x-enix ч
с- функция от дробной части.
Действия по приведению аргумента выполняются при поступлении в арифметический блок 1 на входной регистр 11 мантиссы MX и кода порядка Ру на счетчик 8 порядка, одновременно в блок 2 управления поступает код функции, обеспечивающий настройку блока на соответствующий алгоритм функционирования. Приведение к интер:валу сводится к сдвигу мантиссы вправо или влево и соответственно прибавлению или вычитанию единицы из
величины порядка. Для повьш1ения быстродействия сдвиги выполняются не последовательно во входном регистре 11, а с использованием вспомогательного регистра 9 и дешифратора 10, управляемых блоком 2 управления. Сдвиг аргумента продолжается до равенства рорядка нулю. Затем из дополнительного постоянного блока 21 памяти выбирается значение , причем
в качестве адреса используется величина сп-1 X.
Рассмотрим приведение к интервалу функции r,jc. Пусть аргумент задается выражением
,
где М, - мантисса;
PJ, - порядок, тогда пх пМ +РхСп2. Если логарифм представить в виде en(Uz), где , то можно записать пМ п(1+г).. где -1, а М - нормализованная мантисса. Таким образом «п ()-Pxfn2: fnMVVtnZ- P en :en(HZ)-(Px-)en2 где Pj -k - код, содержащийся на сче чике 8 порядка. Действия по вычислению функции начинаются с анализа знак; мантиссы При отрицательном аргументе формируется сигнал невозможности вычислени При положительном значении мантиссы аргумент сдвигается влево .до появления единицы в старшем разряде; для одновременного анализа нескольких разрядов мантиссы введен дешифратор 12. Сдвиги выполняются аналогично рассмотренному выше случаю для функции й. . Порядок изменяется пропорционально количеству сдвигов. Для получения дробной части величины fr(1-bz) содержимое входного регистра 11 сдвигается влево на первый разряд без изменения значения порядка. Формирование адреса основного бло ка 19 памяти устройства выполняется аналогично рассмотренному вьше случаю функции е . Величина (Ру-к) имеет небольшую разрядность и умножение величины (РХ-К) на п2 выполняется в постоянном запоминающем устройстве 21. Блок 21 памяти разделен на две зоны В первой зоне хранятся значения gpntx а во второй - значения () . Сведение функции sin х к интервалу 0,1 основано на известном соотЦошении9in X (STTK + W ) sih /, ;где. к -целое число; I 1/- переменная в интервале 0,25 „2j7(x-eptierx),, /д,.Л (, 1Л2JI / - -eniierЕсли обозначить Z 2л 21 .где , то два старших разряда ве личины 2 указывают номер квадранта. 9 В котором находится угол /. Предста ним величину sinf как Sin4 5ih2JfZ sinl-V , где , Вычисление sin зависимости от квадранта, в котором находится аргумент, вычисляется по формулам S-fvдля I квадранта для И квадранта .n|V дляШ квадранта. -5An-(l-V) для IУ квадранта Для функции cos X имеемSin|-(1-Vj ДЛЯ I квадранта -sinlv для Ц квадранта -Sin -O-V) для квадранта для Iу квадранта Приведение к интервалу тригонометрических функций начинается с умножения мантиссы М на -j в первом умножителе 16. Полученный результат заносится во входной регистр 11, затем, в зависимости от номера квадранта и вида ФУНКЦИИ (sin х или cosx), из единицы вычитается величина М, находящаяся во входном регистре. Для перехода от переменной к переменной V, Mj( сдвигается влево на два разряда без изменения порядка. Адрес основного блока памяти вычисляется аналогично случаю Lh х и После формирования адресов блоков 19 и 21 и выборки коэффициентов многочлена начинается процесс собственно вычисления функции. Вычисляемые функции аппроксимируются отрезком ряда Тейлора одинаковой степени. Для формата, принятого в ЕС ЭВМ (56 разрядов мантисса, 7 разрядов порядок) KxH,x(t:,), где Р(х) - вычисляемая функция; feo,..,bj.- коэффициенты многочлена; X - аргумент.
Параллельно с основным процессом осуществляется вычисление проверочной функции по формуле .
, Г( Ьо Ц Цк). ,
Анализ точности вычисления многочлена, показал, что нет необходимости выполнять операции умножения и сложения с той же точностью, что и представление исходного аргумента. Расчеты показали, что для достижеНИЛ точности программной реализации достаточно использовать первое множительное устройство 16-56-разрядное, второе 17-48-разрядное, третье 18-16разрйдное (для формата принятого в ЕС ЭВМ). Множительные устройства построены на основе БИС умножителей 8x8. Подобные БИС серийно выпускаютт ся рядом зарубежных фирм и освоены отечественной промышленностью. Для выполнения полноразрядного умножения (56 разрядов) необходимо семь тактов, так как за один такт происходит перемножение 56 разрядов множимого и 8 разрядов множителя. Второй и третий- умножители выполняют операцию умножения за 6 и 2 такта соответственно.
Блок 2 управления (фиг. 3) соДер,жит распределитель 34 импульсов, включающий регистр, шифратор 35 сигналов распределителя 34, дешифра- . тор 36 циклов при работемножительных устройств, включающий первый счетчик, второй счетчик, третий счетчик, дешифратор 37 признака, включающий дешифратор признака функции. Счетчики необходимы для формирования сигналов работы первого, второго, третьего умножителей соответственно.
Использование предлагаемого устройства особенно эффективно в тех случаях, когда при работе в контуре управления грубая ошибка в результатах вычислений, вызванная случайHbiM сбоем или неисправностью,может привести к катастрофическим результатам.
fieucnpaSHocrrib
. 1
., Писн
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Патент США № 3813528, кл | |||
Упругая металлическая шина для велосипедных колес | 1921 |
|
SU235A1 |
Чугунный экономайзер с вертикально-расположенными трубами с поперечными ребрами | 1911 |
|
SU1978A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Специализированный процессор | 1977 |
|
SU734705A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1985-06-07—Публикация
1983-05-25—Подача