вычислительная система для интервальных вычислений
Классы МПК: | G06F15/16 сочетание двух или более вычислительных машин, каждая из которых снабжена по меньшей мере арифметическим устройством, программным устройством и регистром, например для одновременной обработки нескольких программ |
Автор(ы): | Желнов Ю.А. |
Патентообладатель(и): | Желнов Юрий Аркадьевич |
Приоритеты: |
подача заявки:
1991-02-11 публикация патента:
30.01.1994 |
Изобретение относится к вычислительной технике и может использоваться для оценки точности вычислительных алгоритмов и программ ЭВМ. Вычислительная система содержит три процессора с оперативными запоминающими устройствами, устройство ввода-вывода и блок микропрограммного управления. С целью сокращения времени выполнения интервальных арифметических операций в систему введены блок постоянной памяти и коммутаторы. Второе и третье оперативные запоминающие устройства соединены с вторым и третьим процессорами через коммутаторы, управляющие входы которых соединены с выходами блока постоянной памяти. Адресные входы блока постоянной памяти соединены с выходами двух сдвигающих регистров, введенных в первый процессор и подключенных входами к выходам арифметико-логического устройства. В третьем и втором процессорах введены коммутаторы, подключенные входами к выходу блока локальной памяти, а выходами к входу арифметико-логического устройства. Логика управления коммутаторами построена так, что в системе реализуется интервальная арифметика. При этом во втором и третьем процессорах вычисляются соответственно нижние и верхние границы точного результата вычислений. 4 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5
Формула изобретения
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА ДЛЯ ИНТЕРВАЛЬНЫХ ВЫЧИСЛЕНИЙ, содержащая три процессора, устройство ввода-вывода, три оперативных запоминающих устройства и блок микропрограммного управления, причем каждый из процессоров содержит арифметико-логический блок и блок локальной памяти, отличающаяся тем, что в систему введены шесть коммутаторов и блок постоянной памяти, причем информационные входы-выходы системы соединены соответственно с информационными входами-выходами первой группы устройства ввода-вывода, информационные входы-выходы второй, третьей и четвертой групп которого соединены соответственно с информационными входами-выходами первого, второго и третьего оперативных запоминающих устройств, вход кода операции системы соединен с информационным входом блока микропрограммного управления, выходы групп с первой по пятую блока микропрограммного управления соединены соответственно с управляющими входами первого оперативного запоминающего устройства, с входом кода микрокоманды первого процессора, с управляющими входами второго и третьего оперативных запоминающих устройств, с входами кода микрокоманды второго и третьего процессоров и с управляющими входами устройства ввода-вывода, первый, второй и третий выходы первого процессора соединены соответственно с первым и вторым адресными входами блока постоянной памяти и с информационным входом первого оперативного запоминающего устройства, выход которого соединен с информационным входом первого процессора, первые выходы второго и третьего процессоров соединены соответственно с информационными входами второго и третьего оперативных запоминающих устройств, выходы которых соединены соответственно с первыми и вторыми информационными входами коммутаторов с первого по четвертый, выходы первого и второго коммутаторов соединены соответственно с информационными входами пятого коммутатора, выход которого соединен с первым информационным входом второго процессора, выходы третьего и четвертого коммутаторов соединены соответственно с информационными входами шестого коммутатора, выход которого соединен с первым информационным входом третьего процессора, второй выход второго процессора соединен с вторым информационным входом третьего процессора, второй выход третьего процессора соединен с вторым информационным входом второго процессора, выход блока микропрограммного управления соединен с управляющими входами пятого и шестого коммутаторов и с первыми управляющими входами второго и третьего процессоров, первый выход блока постоянной памяти соединен с управляющим входом первого коммутатора и с вторым управляющим входом второго процессора, второй выход блока постоянной памяти соединен с управляющим входом третьего коммутатора и с вторым управляющим входом третьего процессора, третий выход блока постоянной памяти соединен с управляющим входом второго коммутатора и с третьим управляющим входом второго процессора, четвертый выход блока постоянной памяти соединен с управляющим входом четвертого коммутатора и с третьим управляющим входом третьего процессора, причем в первый процессор введены первый и второй сдвигающие регистры, при этом в первом процессоре вход кода микрокоманды соединен соответственно с входом кода операции арифметико-логического узла, с управляющими входами первого и второго сдвигающих регистров, с управляющим входом блока локальной памяти, выход которого соединен с первым информационным входом арифметико-логического узла, второй информационный вход которого соединен с информационным входом первого процессора, первый и второй выходы арифметико-логического узла соединены соответственно с информационными входами первого и второго сдвигающих регистров, выходы которых соединены соответственно с первым и вторым выходами первого процессора, третий выход арифметико-логического узла соединен с информационным входом локальной памяти и с третьим выходом первого процессора, при этом во второй и третий процессоры введены по три коммутатора, причем во втором и третьем процессорах входы кода микрокоманды соединены соответственно с входом кода операции арифметико-логического узла, с управляющим входом блока локальной памяти, выход арифметико-логического узла соединен с информационным входом блока локальной памяти и с первым выходом процессора, первый информационный вход которого соединен с первым информационным входом арифметико-логического узла, выход блока локальной памяти соединен с вторым выходом процессора и с первыми информационными входами первого и второго коммутаторов, выходы которых соединены соответственно с информационными входами третьего коммутатора, выход которого соединен с вторым информационным входом арифметико-логического узла, второй информационный вход процессора соединен с вторыми информационными входами первого и второго коммутаторов, первый, второй и третий управляющие входы процессора соединены соответственно с управляющими входами первого, второго и третьего коммутаторов.Описание изобретения к патенту
Устройство относится к цифровой вычислительной технике и может использоваться для анализа точности алгоритмов и программ ЭВМ методом интервальных вычислений (интервальной арифметики), позволяющим определить интервал погрешности вычислений. Известны способы реализации алгоритмов интервальной арифметики с помощью специальных подпрограмм ЭВМ общего назначения. При этом интервальные операции выполняются на один-два порядка медленнее обычных арифметических операций. Известны многопроцессорные вычислительные системы (например, [1,2] ), позволяющие повысить производительность (в том числе при интервальных вычислениях) за счет параллельного выполнения вычислений на нескольких процессорах. Однако ввиду ограничений распараллеливания быстродействие ЭВМ для интервальных вычислений остается низким (в 4. . . 8 раз ниже номинального). Наиболее близкой к предлагаемому устройству по технической сущности является известная многопроцессорная вычислительная система, содержащая несколько процессоров с модулями оперативной памяти и общее управляющее устройство [2] . Цель изобретения заключается в повышении быстродействия многопроцессорной вычислительной системы при реализации интервальных арифметических вычислений. Цель достигается тем, что в вычислительную систему, содержащую три процессора, каждый из которых содержит арифметико-логический блок и блок локальной памяти, три оперативных запоминающих устройства, устройство ввода-вывода и блок микропрограммного управления, введен блок постоянной памяти и шесть коммутаторов. Входы-выходы системы соединены с информационными входами-выходами первой группы устройства ввода-вывода, вторая, третья и четвертая группы входов-выходов которого соединены соответственно с входами-выходами первого, второго и третьего запоминающих устройств. Вход кода операций (команд) системы соединен с информационным входом блока микропрограммного управления. Выходы групп с первой по пятую блока микропрограммного управления соединены соответственно с управляющим входом первого оперативного запоминающего устройства, входом микрокоманды первого процессора, с управляющими входами второго и третьего оперативных запоминающих устройств, с входами микрокоманды второго и третьего процессоров, с управляющим входом устройства ввода-вывода. Первый, второй и третий выходы первого процессора соединены соответственно с первым адресным входом блока, вторым адресным входом блока постоянной памяти и входом первого оперативного запоминающего устройства, выход которого соединен с информационным входом первого процессора. Первые выходы второго и третьего процессоров соединены соответственно с информационными входами второго и третьего оперативных запоминающих устройств, выходы которых соединены соответственно с первыми и вторыми информационными входами первого, второго, третьего и четвертого коммутаторов. Выходы первого и второго коммутаторов соединены соответственно с информационными входами пятого коммутатора, выход которого соединен с первым информационным входом второго процессора. Выходы третьего и четвертого коммутаторов соединены соответственно с информационными входами шестого коммутатора, выход которого связан с первым информационным входом третьего процессора. В первый процессор введены первый и второй сдвигающие регистры, информационные входы которых соединены соответственно с первым и вторым выходами арифметико-логического блока. Выходы первого и второго сдвигающих регистров арифметико-логического блока соединены соответственно с первым и вторым выходами первого процессора. Информационный вход первого процессора соединен с входом его блока локальной памяти и первым информационным входом арифметико-логического блока, второй информационный вход которого соединен с выходом блока локальной памяти. Третий выход арифметико-логического блока подключен к выходу первого процессора и к входу блока локальной памяти. Вход кода микрокоманды первого процессора соединен с управляющим входом блока локальной памяти, входом кода операции арифметико-логического блока и управляющими входами первого и второго сдвигающих регистров. Первые информационные входы во втором и третьем процессорах соединены соответственно с входом блока локальной памяти и с первым информационным входом арифметико-логического блока. Выход арифметико-логического блока соединен с первым информационным выходом процессора и с входом блока локальной памяти. Во второй и третий процессоры введены по три коммутатора, причем выходы блоков локальной памяти соединены с первыми информационными входами первого и второго коммутаторов и с вторым информационным входом процессора. Выходы первого и второго коммутаторов соединены с информационными входами третьего коммутатора, выход которого соединен с вторым информационным входом арифметико-логического блока. Второй выход второго процессора соединен с вторым информационным входом третьего процессора, а второй выход третьего процессора - с вторым информационным входом второго процессора. Вход кода микрокоманды во втором и третьем процессорах соединен с управляющим входом блока локальной памяти и входом кода операции арифметико-логического блока. Управляющие входы первого, второго и третьего коммутаторов соединены соответственно с первым, вторым и третьим управляющими входами процессора. Первый выход блока постоянной памяти соединен с управляющим входом первого коммутатора и первым управляющим входом второго процессора, второй выход блока постоянной памяти соединен с управляющим входом второго коммутатора и вторым управляющим входом второго процессора, третий выход - с управляющим входом третьего коммутатора и первым управляющим входом третьего процессора и четвертый выход - с управляющим входом четвертого коммутатора и вторым управляющим входом третьего процессора. Управляющие входы пятого и шестого коммутаторов, а также третьи управляющие входы второго и третьего процессоров соединены с выходом блока микропрограммного управления. На фиг. 1 приведена функциональная схема вычислительной системы для интервальных вычислений; на фиг. 2 - временные диаграммы; на фиг. 3 - пример реализации блока микропрограммного управления; на фиг. 4 - пример реализации устройства ввода-вывода. Вычислительная система для интервальных вычислений содержит процессоры 1, 2, 3, оперативные запоминающие устройства 4, 5, 6, устройство 7 ввода-вывода, вход 8 кода операций системы, блок 9 микропрограммного управления, блок 10 постоянной памяти с выходами u1, u2,![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006929/2006929t.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006929/2006929-2t.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006929/2006929-3t.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006929/2006929-4t.gif)
A+B= [aн, ав] +[bн, bв] = [aн+bн, ав+bв] ;
A-B= [ан, ав] -[bн, bв] = [ан-bв, ав- bн] ;
A
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006017/729.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006006/183.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006017/729.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006017/729.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006017/729.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006017/729.gif)
max { aн
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006017/729.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006017/729.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006017/729.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006017/729.gif)
A/B= [aн, ав] /[bн, bв] = [min { aн/bн, ан/bв, ав/bн, ав/bв} ,
max { aн/bн, ан/bв, ав/bн, ав/bв} ] , где ан, ав - соответственно нижняя и верхняя границы числа А;
bн, bв - нижняя и верхняя границы числа В;
min { . . . } и max { . . . } - соответственно минимальное и максимальное из чисел, записанных в скобках. В процессоре 1 (в арифметико-логическом блоке 13) программно или схемно реализуется округление до ближайшего по модулю машинного числа, в процессоре 2 (в арифметико-логическом блоке 14) - округление до ближайшего меньшего числа (округление с "недостатком") и в процессоре 3 (в арифметико-логическом блоке 15) результаты арифметических операций округляются до ближайшего большего числа (округление с "избытком"). Вычислительная система работает так, что процессор 1, используя оперативное запоминающее устройство 4, выполняет обычные приближенные (ввиду округлений) вычисления по программе, хранящейся в памяти устройства 4. Процессор 2 при этом вычисляет в соответствии с алгоритмами (1) нижние границы приближенных результатов, для хранения которых используется оперативное запоминающее устройство 5 или блок 17 локальной памяти, а процессор 3 вычисляет верхние границы чисел, размещая их в оперативной памяти устройства 6 или в блоке 18 локальной памяти. Вычисление нижних и верхних границ результатов арифметических операций в процессорах 2 и 3 обеспечивается соответствующей выборкой нижних и верхних границ каждого из операндов из оперативной памяти устройств 5, 6 или из блоков 17, 18 локальной регистровой памяти, что обеспечивается с помощью коммутаторов 19-30, управляемых выходными кодами блока 10 постоянной памяти. Логика работы блока постоянной памяти и коммутаторов поясняется таблицей. Процессор 1 работает в соответствии с диаграммой 31 (фиг. 2). После поступления на вход 8 кода операции системы очередной операции (например, из оперативного запоминающего устройства 4), т. е. считывания команды - 33, в 2n-разрядный регистр 11 кода операции записывается n-разрядный код операции (поступающий из блока микропрограммного управления на вход кода операции арифметико-логического блока) - 37 и код в регистре 11 сдвигается на n разрядов вправо - 38. При этом код выполняемой операции (сложения, вычитания, умножения или деления) размещается в n старших разрядах регистра 11, а n младших разрядов освобождаются для приема кода операции следующей команды (операции). После выборки первого операнда - 34 (из оперативной или локальной памяти) код его знака ("0" или "1") записывается - 39 в первый разряд четырехразрядного регистра 12 знаков операндов. Аналогично после считывания второго операнда - 35 код его знака записывается - 40 во второй разряд регистра 12 знаков операндов, после чего код в регистре 12 сдвигается на два разряда вправо - 41. При этом в двух старших разрядах регистра 12 размещаются коды первого и второго операндов выполняемой операции, а два младших разряда регистра освобождаются для приема кодов знаков операндов следующей операции. Затем (n+2)-разрядный код с выходов регистров 11 и 12 подается на адресные входы блока 10 постоянной памяти, из которого в соответствии с логикой таблицы считываются - 42 управляющие коды u1, u2,
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006929/2006929-5t.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006929/2006929-6t.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006003/945.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006003/945.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006929/2006929-7t.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006929/2006929-8t.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006929/2006929-9t.gif)
![вычислительная система для интервальных вычислений, патент № 2006929](/images/patents/467/2006929/2006929-10t.gif)
Класс G06F15/16 сочетание двух или более вычислительных машин, каждая из которых снабжена по меньшей мере арифметическим устройством, программным устройством и регистром, например для одновременной обработки нескольких программ