Вычислительное устройство
Изобретение относится к вычислительной технике и может быть использовано для построения высокопроизводительных вычислительных систем. В вычислительной системе предусмотрены средства для выполнения повторных вычислений в случае неправильного выполнения команды. Вычислительная система содержит устройства ввода данных, коммутатор, вычислительные блоки, блоки памяти операндов и управляющих слов, блоки буферной памяти данных и команд, блок микропрограммного управления, регистр данных, регистр адреса, блок вывода данных, элементы ИЛИ. 7 ил., 2 табл.
Изобретение относится к вычислительной технике и может использоваться при построении высокопроизводительных вычислительных систем для решения задач, алгоритмы которых имеют последовательно - параллельную структуру.
Известно вычислительное устройство [1], содержащее общее запоминающее устройство, блоки обработки информации. Производительность такого устройства существенно снижается, когда параллельные ветви алгоритмов представляют собой последовательность небольшого числа операций, после выполнения которых необходимо осуществить обмен данными между блоками обработки информации, что характерно, например, для алгоритмов вычисления полиномов, цепных дробей и других многоместных выражений. В качестве прототипа выбрано вычислительное устройство [2], содержащее блоки ввода и вывода данных, блоки обработки информации, блоки буферной памяти данных и команд, запоминающие устройства управляющих слов и операндов, регистры адреса и данных. Недостатком указанного устройства является то, что выход из строя блока обработки информации приводит к неправильному результату вычислений, так как в устройстве не предусмотрены средства для выполнения повторных вычислений в случае неправильного выполнения команды. Целью изобретения является повышение надежности за счет повторения вычислений в случае неправильного выполнения команды. Это достигается тем, что в вычислительное устройство, содержащее n блоков обработки информации, блок ввода данных, блок вывода данных, блок буферной памяти данных, блок буферной памяти команд, регистр данных, регистр адреса, блок памяти операндов, блок памяти управляющих слов, коммутатор, блок микропрограммного управления, причем информационный вход устройства соединен с информационным входом блока ввода данных, выход которого соединен с первым информационным входом коммутатора, выход которого соединен с информационным входом блока буферной памяти данных, первый информационный выход которого соединен с информационным входом регистра данных, второй информационный выход блока буферной памяти данных соединен с информационным входом регистра адреса, выход которого соединен с первым информационным входом блока памяти управляющих слов, первым информационным входом блока памяти операндов, первым информационным входом блока буферной памяти команд, первый выход регистра данных соединен с вторыми информационными входами блока памяти управляющих слов, блока памяти операндов и блока буферной памяти команд, третий информационный вход которого соединен с первым выходом блока памяти операндов, информационный выход блока памяти управляющих слов соединен с четвертым информационным входом блока буферной памяти команд, первый и второй выходы которого соединены с информационным входом блока вывода данных и с информационными входами блоков обработки информации с первого по n-й, информационные выходы которых соединены соответственно с информационными входами с второго по (n+1)-й коммутатора, первый выход блока микропрограммного управления соединен с управляющим входом блока ввода данных, выход признака данных которого соединен с первым входом режима блока микропрограммного управления, второй выход которого соединен с управляющим входом коммутатора, i-й выход первой группы блока микропрограммного управления (где i=1,...,n) соединен с первым входом кода операции i-го блока обработки информации, выход признака завершения операции которого соединен с i-м входом режима группы блока микропрограммного управления. i-й выход второй группы которого соединен с вторым входом кода операции i-го блока обработки информации, выход признака занятости блока буферной памяти данных соединен с вторым входом режима блока микропрограммного управления, третий выход которого соединен с управляющим входом блока буферной памяти, четвертый и пятый выходы блока микропрограммного управления соединены соответственно с входами записи/считывания регистра адреса и регистра данных, второй выход последнего из которых соединен с третьим входом режима блока микропрограммного управления, шестой и седьмой выходы которого соединены соответственно с входами записи/считывания блока памяти управляющих слов и блока памяти операндов, второй выход последнего из которых соединен с четвертым входом режима блока микропрограммного управления, восьмой выход которого соединен с управляющим входом блока буферной памяти команд, третий выход которого соединен с пятым входом режима блока микропрограммного управления, девятый выход которого соединен с управляющим входом блока вывода, выход признака готовности и информационный выход которого соединены соответственно с шестым входом режима блока микропрограммного управления и информационным выходом устройства, введены блок памяти операнда, шифратор, группа из n элементов ИЛИ, первый и второй элементы ИЛИ, причем i-й выход первой группы блока микропрограммного управления соединен с i-м входом первого элемента ИЛИ и первым входом i-го элемента ИЛИ группы, i-й выход второй группы блока микропрограммного управления соединен с i-м входом второго элемента ИЛИ и со вторым входом i-го элемента ИЛИ группы, выходы элементов ИЛИ группы соединены с входами шифратора, выход которого соединен с адресным входом блока памяти операнда, выход которого соединен с (n+2)-м информационным входом коммутатора, третий и четвертый выходы блока буферной памяти команд соединены соответственно с первым и вторым информационными входами блока памяти операнда, входы считывания и записи которого соединены соответственно с выходами первого и второго элементов ИЛИ, пятый выход блока буферной памяти команд соединен с седьмым входом режима блока микропрограммного управления, десятый выход которого подключен к входу режима блока памяти операндов, шестой выход блока буферной памяти команд объединен с вторым выходом блока буферной памяти команд по схеме монтажное ИЛИ и соединен с информационными входами блоков обработки информации с первого по n-й и блоком вывода данных. На фиг. 1 представлена структурная схема вычислительного устройства; на фиг. 2 - формат управляющего слова; на фиг. 3 - формат слова данных; на фиг. 4 - граф алгоритма вычисления функции f1; на фиг. 5 - алгоритм загрузки в блок буферной памяти данных управляющих слов, слов данных, результата выполнения команды, а также второго операнда и номера операции при повторном выполнении команды; на фиг. 6 - алгоритм формирования команды; на фиг. 7 - алгоритм распределения команд между блоками обработки информации. Вычислительное устройство содержит блок 1 ввода данных, информационный выход которого подключен к первому информационному входу коммутатора 2, выход которого связан с информационным входом блока 3 буферной памяти данных. Управляющий вход и выход признака данных блока 1 ввода данных соединены с соответствующими входом и выходом блока 4 микропрограммного управления, выход которого подключен к управляющему входу коммутатора 2. Управляющие входы блока 3 буферной памяти данных, которые обеспечивают занесение информации и продвижение очереди, подключены к выходам блока 4 микропрограммного управления, соответствующие входы которого соединены с выходами сигналов блока 3 буферной памяти данных, характеризующих степень его заполнения ("Буфер занят" и "Буфер пуст"). К информационным входам регистра данных 5 и регистра адреса 6 подключены соответственно первый и второй информационный выходы блока 3 буферной памяти данных. Входы записи/считывания регистров 5 данных и 6 адреса подключены к выходам блока 4 микропрограммного управления, а выход одного разряда регистра данных 5 (признак типа информации) подключен к соответствующему входу блока 4 микропрограммного управления. Информационный выход регистра адреса 6 связан с адресными входами блока 7 памяти операндов и блока 8 памяти управляющих слов. Информационный выход регистра данных 5 подключен к информационным входам блока 7 памяти операндов, блока 8 памяти управляющих слов и первому информационному входу блока 9 буферной памяти команд. В блоке 9 буферной памяти команд формируется команда, которая условно разбита на четыре информационных слова (первый операнд, второй операнд, управляющее слово, адрес команды). В этом случае с входа регистра 5 на вход блока 9 поступает первый операнд. Второй, третий и четвертый информационные входы блока 9 буферной памяти команд соединены соответственно с информационными выходами блока 7 памяти операндов (второй операнд), блока 8 памяти управляющих слов (управляющее слово), регистра адреса 6 (адрес команды). К входам записи/считывания блока 7 памяти операндов и блока 8 управляющих слов подключены соответствующие выходы блока 4 микропрограммного управления. Один выход блока 4 связан с входом режима блока 7 памяти операндов, который представляет собой вход одного информационного разряда (признак наличия операнда), а выходы двух разрядов блока 7 операндов (разряды признака наличия операнда и признака повторения команды) соединены с двумя входами блока 4. Выходы, указывающие на степень заполнения, а также управляющие входы записи и продвижения очереди блока 9 подключены к соответствующим входам и выходам блока 4. Информационные выходы (первый, второй и третий) блока 9 буферной памяти команд подключены к информационным входам блоков обработки информации 10.1, ...,10.n и информационному входу блока 11 вывода данных, управляющий вход и выход признака готовности которого связаны с соответствующими выходом и входом блока 4. Первый и четвертый информационные выходы блока 9 буферной памяти команд соединены с информационными входами блока 12, выход которого подключен к (n+2)-му информационному входу коммутатора 2. Группы управляющих входов и выходов блока 4 микропрограммного управления подключены к соответствующим выходам входам блоков обработки информации 10.1,...,10.n, информационные выходы которых соединены с информационными входами коммутатора 2. К управляющим входам чтения и записи блока 12 подключены выходы элементов ИЛИ 13 и 14. Входы элемента ИЛИ 13 соединены с одним из управляющих входов каждого блока обработки информации 10.1, . ..,10.n, по которому подается сигнал "Прием кода" от блока 4. Кроме того, эти же входы блоков обработки информации 10.1,...,10.n соединены с первыми входами элементов ИЛИ группы 15.1,. . . , 15. n соответственно. К входам элемента ИЛИ 14 подключены управляющие входы блоков обработки информации 10.1,...,10.n, по которым от блока 4 передается сигнал "Повтор команды". Эти же входы блоков обработки информации 10.1,...,10.n соединены с вторыми входами элементов ИЛИ группы 15.1,...,15. n соответственно. Выходы группы элементов ИЛИ 15.1,...,15.n подключены через шифратор 16 к адресным входам блока 12. Информационный вход блока 1 ввода данных связан с информационным входом устройства 17, информационный выход 18 которого соединен с информационным выходом блока 11 вывода данных. В качестве блока 3 буферной памяти данных и блока 9 буферной памяти команд можно использовать любое запоминающее устройство, работающее по принципу "первым пришел - первым вышел" (FIFO). Каждый из блоков 10.1,...,10.n обработки информации содержит таймер, который формирует два сигнала, один из которых соответствует интервалу времени t1, а второй - большему интервалу времени t2. Таймер запускается блоком 4 микропрограммного управления и сбрасывается самим блоком 10.j. Вычислительное устройство работает следующим образом. Исходная для вычислений информация вводится с информационного входа устройства 17 через блок 1 ввода данных и представляет собой последовательность управляющих слов и слов данных. Управляющее слово, формат которого представлен на фиг. 2, содержит q-разрядное поле кода операции, разряд номера вычисляемого операнда, s-разрядное поле номера следующей операции, разряд признака типа информации и поле номера операции, имеющее m разрядов. Разряд признака типа информации для всех управляющих слов имеет значение "1". Информация, записываемая в остальные поля управляющего слова, определяется заданным графом алгоритма вычислений, который строится независимо от числа n блоков обработки информации. В качестве примера (фиг. 4) представлен граф алгоритма вычислений выражения f1 = (-b +






Формула изобретения
ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО, содержащее n блоков обработки информации, блок ввода данных, блок вывода данных, блок буферной памяти данных, блок буферной памяти команд, регистр данных, регистр адреса, блок памяти операндов, блок памяти управляющих слов, коммутатор, блок микропрограммного управления, причем информационный вход устройства соединен с информационным входом блока ввода данных, выход которого соединен с первым информационным входом коммутатора, выход которого соединен с информационным входом блока буферной памяти данных, первый информационный выход которого соединен с информационным входом регистра данных, второй информационной выход - с информационным входом регистра адреса, выход которого соединен с первыми информационными входами блока памяти управляющих слов, блока памяти операндов и блока буферной памяти команд, первый выход регистра данных соединен с вторыми информационными входами блока памяти управляющих слов, блока памяти операндов и блока буферной памяти команд, третий информационный вход которого соединен с первым выходом блока памяти операндов, информационный выход блока памяти управляющих слов соединен с четвертым информационным входом блока буферной памяти команд, первый и второй выходы которого соединены с информационным входом блока вывода данных и с информационными входами n блоков обработки информации, информационные выходы которых соединены соответственно с информационными входами с второго по (n + 1)-й коммутаторов, первый выход блока микропрограммного управления соединен с управляющим входом блока ввода данных, выход признака данных которого соединен с первым входом режима блока микропрограммного управления, второй выход которого соединен с управляющим входом коммутатора, i-й выход первой группы блока микропрограммного управления (где i = 1, ..., n) соединен с первым входом кода операции i-го блока обработки информации, выход признака завершения операции которого соединен с i-м входом режима группы блока микропрограммного управления, i-й выход второй группы которого соединен с вторым входом кода операции i-го блока обработки информации, выход признака занятости блока буферной памяти данных соединен с вторым входом режима блока микропрограммного управления, третий выход которого соединен с управляющим входом блока буферной памяти, четвертый и пятый выходы блока микропрограммного управления соединены соответственно со входами записи-считывания регистра адреса и регистра данных, второй выход последнего соединен с третьим входом режима блока микропрограммного управления, шестой и седьмой выходы которого соединены соответственно с входами записи-считывания блока памяти управляющих слов и блока памяти операндов, второй выход которого соединен с четвертым входом режима блока микропрограммного управления, восьмой выход которого соединен с управляющим входом блока буферной памяти команд, третий выход которого соединен с пятым входом режима блока микропрограммного управления, девятый выход которого соединен с управляющим входом блока вывода, выход признака готовности и информационный выход которого соединены соответственно с шестым входом режима блока микропрограммного управления и с информационным выходом устройства, отличающееся тем, что, с целью повышения надежности за счет повторения вычислений в случае неправильного выполнения команды, в устройство введены блок памяти операнда, шифратор, группа из n элементов ИЛИ, первый и второй элементы ИЛИ, причем i-й выход первой группы блока микропрограммного управления соединен с i-м входом первого элемента ИЛИ и первым входом i-го элемента ИЛИ группы, i-й выход второй группы блока микропрограммного управления соединен с i-м входом второго элемента ИЛИ и с вторым входом i-го элемента ИЛИ группы, выходы элементов ИЛИ группы соединены с входами шифратора, выход которого соединен с адресным входом блока памяти операнда, выход которого соединен с (n + 2)-м информационным входом коммутатора, третий и четвертый выходы блока буферной памяти команд соединены соответственно с первым и вторым информационными входами блока памяти операнда, входы считывания и записи которого соединены соответственно с выходами первого и второго элементов ИЛИ, пятый выход блока буферной памяти команд соединен с седьмым входом режима блока микропрограммного управления, десятый выход которого подключен к входу режима блока памяти операндов, шестой выход блока буферной памяти команд объединен с вторым выходом блока буферной памяти команд по схеме монтажное ИЛИ и соединен с информационными входами n блоков обработки информации и блоком вывода данных.РИСУНКИ
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9