RU2030785C1 - Computing device - Google Patents
Computing device Download PDFInfo
- Publication number
- RU2030785C1 RU2030785C1 SU4867678A RU2030785C1 RU 2030785 C1 RU2030785 C1 RU 2030785C1 SU 4867678 A SU4867678 A SU 4867678A RU 2030785 C1 RU2030785 C1 RU 2030785C1
- Authority
- RU
- Russia
- Prior art keywords
- output
- input
- information
- block
- data
- Prior art date
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может использоваться при построении высокопроизводительных вычислительных систем для решения задач, алгоритмы которых имеют последовательно - параллельную структуру. The invention relates to computer technology and can be used in the construction of high-performance computing systems for solving problems whose algorithms have a sequentially parallel structure.
Известно вычислительное устройство [1], содержащее общее запоминающее устройство, блоки обработки информации. Производительность такого устройства существенно снижается, когда параллельные ветви алгоритмов представляют собой последовательность небольшого числа операций, после выполнения которых необходимо осуществить обмен данными между блоками обработки информации, что характерно, например, для алгоритмов вычисления полиномов, цепных дробей и других многоместных выражений. Known computing device [1], containing a common storage device, information processing units. The performance of such a device is significantly reduced when parallel branches of the algorithms are a sequence of a small number of operations, after which it is necessary to exchange data between information processing units, which is typical, for example, for algorithms for calculating polynomials, continued fractions, and other multi-location expressions.
В качестве прототипа выбрано вычислительное устройство [2], содержащее блоки ввода и вывода данных, блоки обработки информации, блоки буферной памяти данных и команд, запоминающие устройства управляющих слов и операндов, регистры адреса и данных. Недостатком указанного устройства является то, что выход из строя блока обработки информации приводит к неправильному результату вычислений, так как в устройстве не предусмотрены средства для выполнения повторных вычислений в случае неправильного выполнения команды. As a prototype, a computing device [2] was selected that contains data input and output blocks, information processing blocks, buffer data and command memory blocks, memory devices for control words and operands, address and data registers. The disadvantage of this device is that the failure of the information processing unit leads to an incorrect calculation result, since the device does not provide means for performing repeated calculations in case of incorrect execution of the command.
Целью изобретения является повышение надежности за счет повторения вычислений в случае неправильного выполнения команды. Это достигается тем, что в вычислительное устройство, содержащее n блоков обработки информации, блок ввода данных, блок вывода данных, блок буферной памяти данных, блок буферной памяти команд, регистр данных, регистр адреса, блок памяти операндов, блок памяти управляющих слов, коммутатор, блок микропрограммного управления, причем информационный вход устройства соединен с информационным входом блока ввода данных, выход которого соединен с первым информационным входом коммутатора, выход которого соединен с информационным входом блока буферной памяти данных, первый информационный выход которого соединен с информационным входом регистра данных, второй информационный выход блока буферной памяти данных соединен с информационным входом регистра адреса, выход которого соединен с первым информационным входом блока памяти управляющих слов, первым информационным входом блока памяти операндов, первым информационным входом блока буферной памяти команд, первый выход регистра данных соединен с вторыми информационными входами блока памяти управляющих слов, блока памяти операндов и блока буферной памяти команд, третий информационный вход которого соединен с первым выходом блока памяти операндов, информационный выход блока памяти управляющих слов соединен с четвертым информационным входом блока буферной памяти команд, первый и второй выходы которого соединены с информационным входом блока вывода данных и с информационными входами блоков обработки информации с первого по n-й, информационные выходы которых соединены соответственно с информационными входами с второго по (n+1)-й коммутатора, первый выход блока микропрограммного управления соединен с управляющим входом блока ввода данных, выход признака данных которого соединен с первым входом режима блока микропрограммного управления, второй выход которого соединен с управляющим входом коммутатора, i-й выход первой группы блока микропрограммного управления (где i=1,...,n) соединен с первым входом кода операции i-го блока обработки информации, выход признака завершения операции которого соединен с i-м входом режима группы блока микропрограммного управления. i-й выход второй группы которого соединен с вторым входом кода операции i-го блока обработки информации, выход признака занятости блока буферной памяти данных соединен с вторым входом режима блока микропрограммного управления, третий выход которого соединен с управляющим входом блока буферной памяти, четвертый и пятый выходы блока микропрограммного управления соединены соответственно с входами записи/считывания регистра адреса и регистра данных, второй выход последнего из которых соединен с третьим входом режима блока микропрограммного управления, шестой и седьмой выходы которого соединены соответственно с входами записи/считывания блока памяти управляющих слов и блока памяти операндов, второй выход последнего из которых соединен с четвертым входом режима блока микропрограммного управления, восьмой выход которого соединен с управляющим входом блока буферной памяти команд, третий выход которого соединен с пятым входом режима блока микропрограммного управления, девятый выход которого соединен с управляющим входом блока вывода, выход признака готовности и информационный выход которого соединены соответственно с шестым входом режима блока микропрограммного управления и информационным выходом устройства, введены блок памяти операнда, шифратор, группа из n элементов ИЛИ, первый и второй элементы ИЛИ, причем i-й выход первой группы блока микропрограммного управления соединен с i-м входом первого элемента ИЛИ и первым входом i-го элемента ИЛИ группы, i-й выход второй группы блока микропрограммного управления соединен с i-м входом второго элемента ИЛИ и со вторым входом i-го элемента ИЛИ группы, выходы элементов ИЛИ группы соединены с входами шифратора, выход которого соединен с адресным входом блока памяти операнда, выход которого соединен с (n+2)-м информационным входом коммутатора, третий и четвертый выходы блока буферной памяти команд соединены соответственно с первым и вторым информационными входами блока памяти операнда, входы считывания и записи которого соединены соответственно с выходами первого и второго элементов ИЛИ, пятый выход блока буферной памяти команд соединен с седьмым входом режима блока микропрограммного управления, десятый выход которого подключен к входу режима блока памяти операндов, шестой выход блока буферной памяти команд объединен с вторым выходом блока буферной памяти команд по схеме монтажное ИЛИ и соединен с информационными входами блоков обработки информации с первого по n-й и блоком вывода данных. The aim of the invention is to increase reliability by repeating calculations in case of incorrect execution of the command. This is achieved by the fact that in a computing device containing n information processing units, a data input unit, a data output unit, a data buffer memory block, an instruction buffer memory block, a data register, an address register, operand memory block, a control word memory block, a switch, a microprogram control unit, wherein the information input of the device is connected to the information input of the data input unit, the output of which is connected to the first information input of the switch, the output of which is connected to the information input of the buffer unit data memory, the first information output of which is connected to the information input of the data register, the second information output of the data buffer memory unit is connected to the information input of the address register, the output of which is connected to the first information input of the control word memory block, the first information input of the operand memory block, the first information the input of the block of the buffer memory of commands, the first output of the data register is connected to the second information inputs of the memory block of the control words, the memory block operand c and a block of the buffer memory of commands, the third information input of which is connected to the first output of the memory block of the operands, the information output of the block of memory of the control words is connected to the fourth information input of the block of the buffer memory of commands, the first and second outputs of which are connected to the information input of the data output block and to the information the inputs of the information processing blocks from the first to the n-th, the information outputs of which are connected respectively to the information inputs from the second to the (n + 1) -th switch, the first output of the mic unit the program control is connected to the control input of the data input unit, the output of the data attribute of which is connected to the first input of the mode of the firmware control unit, the second output of which is connected to the control input of the switch, the i-th output of the first group of the firmware control unit (where i = 1, ... , n) is connected to the first input of the operation code of the i-th information processing unit, the output of the operation completion indicator of which is connected to the i-th input of the group mode of the microprogram control unit. the i-th output of the second group of which is connected to the second input of the operation code of the i-th information processing unit, the output of the busy indicator of the data buffer memory unit is connected to the second mode input of the microprogram control unit, the third output of which is connected to the control input of the buffer memory unit, the fourth and fifth the outputs of the microprogram control unit are connected respectively to the write / read inputs of the address register and data register, the second output of the last of which is connected to the third mode input of the microprogram unit control, the sixth and seventh outputs of which are connected respectively to the write / read inputs of the control word memory block and operand memory block, the second output of the last of which is connected to the fourth mode input of the microprogram control block, the eighth output of which is connected to the control input of the instruction buffer block, the third output of which is connected to the fifth mode input of the firmware control unit, the ninth output of which is connected to the control input of the output unit, the output of the readiness indicator and information The operational output of which is connected respectively to the sixth mode input of the firmware control unit and the information output of the device, an operand memory unit, an encoder, a group of n OR elements, the first and second OR elements are introduced, the i-th output of the first group of the firmware control unit connected to i- the input of the first OR element and the first input of the i-th element of the OR group, the i-th output of the second group of the microprogram control unit is connected to the i-th input of the second OR element and the second input of the i-th element of the OR group, outputs copies OR groups are connected to the inputs of the encoder, the output of which is connected to the address input of the operand memory block, the output of which is connected to the (n + 2) -th information input of the switch, the third and fourth outputs of the instruction buffer memory block are connected respectively to the first and second information inputs of the block the operand memory, the read and write inputs of which are connected respectively to the outputs of the first and second OR elements, the fifth output of the instruction buffer memory block is connected to the seventh mode input of the microprogram control unit, the tenth output of which is connected to the input of the operand memory block mode, the sixth output of the instruction buffer memory block is combined with the second output of the instruction buffer memory block according to the assembly OR circuit and is connected to the information inputs of the information processing blocks from the first to the nth and the data output block.
На фиг. 1 представлена структурная схема вычислительного устройства; на фиг. 2 - формат управляющего слова; на фиг. 3 - формат слова данных; на фиг. 4 - граф алгоритма вычисления функции f1; на фиг. 5 - алгоритм загрузки в блок буферной памяти данных управляющих слов, слов данных, результата выполнения команды, а также второго операнда и номера операции при повторном выполнении команды; на фиг. 6 - алгоритм формирования команды; на фиг. 7 - алгоритм распределения команд между блоками обработки информации. In FIG. 1 is a structural diagram of a computing device; in FIG. 2 - control word format; in FIG. 3 - data word format; in FIG. 4 is a graph of the algorithm for computing the function f1; in FIG. 5 is an algorithm for loading control words, data words, the result of a command, as well as the second operand and operation number when the command is repeated, into the buffer memory block; in FIG. 6 - team building algorithm; in FIG. 7 is an algorithm for distributing commands between information processing units.
Вычислительное устройство содержит блок 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 (адрес команды). The computing device comprises a
К входам записи/считывания блока 7 памяти операндов и блока 8 управляющих слов подключены соответствующие выходы блока 4 микропрограммного управления. Один выход блока 4 связан с входом режима блока 7 памяти операндов, который представляет собой вход одного информационного разряда (признак наличия операнда), а выходы двух разрядов блока 7 операндов (разряды признака наличия операнда и признака повторения команды) соединены с двумя входами блока 4. Выходы, указывающие на степень заполнения, а также управляющие входы записи и продвижения очереди блока 9 подключены к соответствующим входам и выходам блока 4. The write / read inputs of the
Информационные выходы (первый, второй и третий) блока 9 буферной памяти команд подключены к информационным входам блоков обработки информации 10.1, ...,10.n и информационному входу блока 11 вывода данных, управляющий вход и выход признака готовности которого связаны с соответствующими выходом и входом блока 4. The information outputs (first, second and third) of the
Первый и четвертый информационные выходы блока 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 вывода данных. The first and fourth information outputs of
В качестве блока 3 буферной памяти данных и блока 9 буферной памяти команд можно использовать любое запоминающее устройство, работающее по принципу "первым пришел - первым вышел" (FIFO). Каждый из блоков 10.1,...,10.n обработки информации содержит таймер, который формирует два сигнала, один из которых соответствует интервалу времени t1, а второй - большему интервалу времени t2. Таймер запускается блоком 4 микропрограммного управления и сбрасывается самим блоком 10.j. As
Вычислительное устройство работает следующим образом. The computing device operates as follows.
Исходная для вычислений информация вводится с информационного входа устройства 17 через блок 1 ввода данных и представляет собой последовательность управляющих слов и слов данных. Управляющее слово, формат которого представлен на фиг. 2, содержит q-разрядное поле кода операции, разряд номера вычисляемого операнда, s-разрядное поле номера следующей операции, разряд признака типа информации и поле номера операции, имеющее m разрядов. Разряд признака типа информации для всех управляющих слов имеет значение "1". Информация, записываемая в остальные поля управляющего слова, определяется заданным графом алгоритма вычислений, который строится независимо от числа n блоков обработки информации. В качестве примера (фиг. 4) представлен граф алгоритма вычислений выражения
f1 = (-b +/2a
Каждой вершине графа, которая соответствует определенной операции, присваивается номер, отличный от номеров других вершин. Управляющие слова для каждой вершины графа представлены в табл. 1. Вершина с номером 1 соответствует действию α= а ˙с. В поле кода операции управляющего слова для данной вершины записывается код операции умножения, в поле номера операции - "1" (номер вершины), в поле следующей операции - "4" (номер вершины, для которой результат операции является операндом) или можно записать приращение "3" (разность номеров вершин, с помощью которой получают номер следующей операции, просуммировав номер текущей операции с разностью). Разряд номера вычисляемого операнда имеет смысл для операций, которые не обладают свойством коммутативности (деление, вычитание и др.). В этом случае делимое и делитель, уменьшаемое и вычитаемое имеют разные номера (0 или 1). Для операции, соответствующей первой вершине, в разряде номера вычисляемого операнда, отмеченном прочерком, можно записать любую цифру, так как следующая (четвертая) операция умножения обладает свойством коммутативности. Каждой дуге графа соответствует слово данных (фиг. 3), включающее n - разрядное поле значения операнда в принятой для данной операции форме (с фиксированной или плавающей запятой и т.д.), m - разрядное поле номера операции (номера вершины на графе, для которой дуга является входной), разряд номера операнда и разряд типа информации, который для слов данных (в отличие от управляющих слов) всегда имеет нулевое значение. Слова данных для дуг графа (фиг. 4) представлены в табл. 2.The initial information for calculations is entered from the information input of the
f1 = (-b + / 2a
Each vertex of the graph that corresponds to a certain operation is assigned a number different from the numbers of other vertices. Control words for each vertex of the graph are presented in table. 1. The vertex with
Для определенности предполагается, что для вычисления f1 используются операции умножения ("*"), сложения ("+"), вычитания ("-"), деления ("/") и извлечения корня (""). Операнд α1 для операции извлечения корня необходим лишь для инициализации выполнения данной операции (см. ниже). В разряде номера этого операнда записывается "1", а в операнде, из которого извлекается корень, - "0". Вершине с номером 9 на графе соответствует операция передачи результата в блок 11 вывода данных. Слово данных, в котором записано значение результата, имеет нулевой признак операнда. Для инициализации или начала передачи результата в блок 11 вывода данных служит операнд α2, признак номера которого имеет значение "1". Граф для каждого алгоритма строится независимо от других. Номера вершин ни в одном графе не должны повторяться.For definiteness, it is assumed that multiplication ("*"), addition ("+"), subtraction ("-"), division ("/"), and root extraction (" "). The operand α1 for the operation of extracting the root is necessary only to initiate the execution of this operation (see below). In the digit of the number of this operand,“ 1 ”is written, and in the operand from which the root is extracted,“ 0 ". Vertex with
Длина q поля кода операции (фиг. 2) определяется количеством команд и должна включать не менее log2N разрядов. Разрядность m должна обеспечивать возможность записи самого большого номера операции (вершины на графе), а разрядность S - либо максимального номера, либо максимальной по модулю разности номеров операций. Разрядность n поля значения операнда (фиг. 3) зависит от формы и точности представления операндов. Это поле может включать знаковые разряды, мантиссу и порядок.The length q of the operation code field (Fig. 2) is determined by the number of instructions and must include at least log 2 N digits. Bit depth m should provide the ability to record the largest operation number (vertices on the graph), and bit S - either of the maximum number or the maximum modulus of the difference of operation numbers. The bit depth n of the operand value field (Fig. 3) depends on the shape and accuracy of the operands. This field may include signed digits, mantissa, and order.
В исходном состоянии блоки 7 буферной памяти данных и 9 буферной памяти команд пусты (в них вырабатываются сигналы "буфер пуст"). Цепи установки исходного состояния условно не показаны. При функционировании устройства можно выделить следующие процессы:
ввод в блок 3 буферной памяти данных информации из блока 1 ввода данных, из блоков обработки информации 10.1,...,10.n (в случае исправной работы блоков 10.1,...,10.n) и из блока 12 памяти операнда (в случае повторного выполнения команды);
формирование команды и засылка ее в блок 9 буферной памяти команд;
распределение команд между блоками 10.1,...,10.n обработки информации (для дальнейшей обработки) и блоком 11 вывода данных.In the initial state, blocks 7 of the buffer data memory and 9 buffer memory of the commands are empty (they generate signals "buffer empty"). The initial state setting chains are not shown conditionally. When the device is functioning, the following processes can be distinguished:
the input of information into the
the formation of the team and sending it to block 9 of the buffer memory commands;
the distribution of commands between blocks 10.1, ..., 10.n information processing (for further processing) and block 11 data output.
Рассмотрим работу устройства в случае, когда отказы блоков обработки информации отсутствуют. Первый из указанных процессов иллюстрируется алгоритмом (фиг. 5). Блок 4 анализирует сигнал "Буфер данных заполнен" блока 3 буферной памяти данных. При отсутствии указанного сигнала, когда в блок 3 буферной памяти данных можно записать информацию, блок 4 проверяет сигнал на выходе признака данных блока 1 ввода данных и сигналы на выходах признака завершения операции блоков обработки информации 10.1,...,10.n. Наличие первого из указанных сигналов свидетельствует о том, что блок 1 ввода данных принял данные с информационного входа 17 устройства. В этом случае по сигналам из блока 4 микропрограммного управления информация из блока 1 через коммутатор 2 записывается в блок 3. Аналогичным образом производится запись в блок 3 из блока 10.j в случае его готовности. В последнем случае в блок 10. j обработки информации передается сигнал "Результат принят" из блока 4 микропрограммного управления и блок 10.j снимает сигнал признака завершения операции. Если блок 3 не готов к записи (заполнен), то выполняется ожидание момента, когда запись будет возможна (снимается сигнал "Буфер данных заполнен"). Consider the operation of the device when there are no failures of the information processing units. The first of these processes is illustrated by the algorithm (Fig. 5).
Если блок 10.j обработки информации не выставляет сигнала признака завершения операции, то блок 4 микропрограммного управления проверяет условие t>t2, где t2 - промежуток времени, за который результат может быть получен обязательно, если блок 10.j не вышел из строя. Когда блок 10.j обработки информации работает правильно, условие t>t2 не выполняется и проверяется сигнал признака завершения операции в следующем блоке 10.j+1. If the information processing unit 10.j does not display a signal indicating the completion of the operation, then the
В процессе ввода исходной информации из блока 1 ввода данных сначала вводится управляющее слово, а затем слово данных для соответствующей операции. Процесс формования команды осуществляется следующим образом. Управляющее слово записывается в блок 8 управляющих слов по адресу, совпадающему с номером операции. Первое из поступающих слов данных для этой операции записывается по этому же адресу в блок 7 памяти операндов. Затем управляющее слово и один из операндов ожидают поступления из блока 3 данных недостающего операнда, после чего выполняется компоновка команды. Команда содержит управляющее слово, оба операнда, номер операции и записывается в блок 9 (в очередь для выполнения), причем номер операции записывается из регистра 6. In the process of inputting initial information from the
Алгоритм формирования команды приведен на фиг. 6. Блок 4 микропрограммного управления анализирует сигнал "Буфер пуст" блока 3 буферной памяти данных. При отсутствии указанного сигнала (в блоке 3 имеется хотя бы одно слово) слово с его выхода записывается в регистры адреса 6 и данных 5, причем в регистр 5 записывается поле номера операции (см. фиг. 2 и 3). Блок 4 проверяет в регистре данных 5 признак типа информации, который имеет единичное значение для управляющего слова и нулевое - для слова данных. Если признак типа информации равен "1", то в блок 8 записывается управляющее слово. Одновременно с этим в блок 7 записывается "1" в разряд признака наличия операнда (это означает, что для данного управляющего слова в блоке 7 нет ни одного операнда). В процессе записи адресом для блоков памяти операндов 7 и управляющих слов 8 является содержимое регистра 6. В блок 8 данные записываются из регистра 5, в блок 7 единичное значение на вход разряда признака наличия операнда подается из блока 4 микропрограммного управления. The command generation algorithm is shown in FIG. 6.
В случае, если в регистре 5 признак типа информации равен "0" (слово является данными), осуществляется проверка признака повтора команды и признака наличия операнда в блоке 7 памяти операндов. Для этого осуществляются чтение блоков 7 и 8 и анализ указанных признаков. Если признак повтора команды равен "0" (команда формируется впервые), необходимо проанализировать и признак наличия операнда. При равенстве этого признака "1" (в блоке 7 памяти операндов нет операнда для данного управляющего слова) осуществляется запись в блок 7 слова из регистра 5. Одновременно с этим в признак наличия операнда записывается "0" (имеется один операнд для данной операции). При равенстве признака наличия операнда "0" и отсутствии сигнала "Буфер заполнен" готовая к выполнению команда (управляющее слово из блока 8 памяти управляющих слов, один операнд из блока 7, другой операнд из регистра данных 5 и номер операции из регистра 6) записывается в блок 9 буферной памяти команд. Разряд признака наличия операнда в блоке 7 устанавливается в "1". If in
Если в блоке 9 имеется хотя бы одна команда (нет сигнала "Буфер пуст"), то блок 4 анализирует поле типа команды на выходах блока 9 и обеспечивает передачу команды в блок 11 или в один из блоков обработки информации 10.j. Если команда имеет вычислительный характер (сложение, умножение и т.д.), передача ее в блок 10.j осуществляется в соответствии с алгоритмом, представленным на фиг. 7. Готовый к приему команды блок 10.j обработки информации выдает в блок 4 сигнал "Готовность приема команды". Блок 4 поочередно анализирует готовность каждого блока обработки информации 10.1,...,10.n, способного выполнить данную команду. Блок 4 передает готовому блоку 10.j управляющий сигнал "Принять команду". Команда из блока 9 буферной памяти команд передается в блок 10.j обработки информации. Одновременно с этим в блок 12 из блока 9 записываются второй операнд и номер операции. Адрес, по которому осуществляется запись, формируется с помощью шифратора 16 и совпадает с номером j блока 10.j обработки информации (на шифратор 16 поступает через один из элементов ИЛИ 15 сигнал "Принять команду", предназначенный для j-го блока обработки информации). Кроме того, сигнал "Принять команду" через элемент ИЛИ 13 поступает на вход записи блока 12 памяти операнда, что обеспечивает фиксацию информации в этом блоке. Далее блок 4 запускает таймер блока 10. j обработки информации на промежутки времени t1 и t2, а сам блок 10.j сбрасывает сигнал "Готовность приема команды" и начинает выполнение своей команды. После снятия сигнала "Готовность приема команды" блок 4 микропрограммного управления вырабатывает сигнал "Продвинуть очередь" для блока 9 буферной памяти команд. Описанный процесс формирования команды повторяется циклически. If in
В процессе обработки команды каждый блок 10.j обработки информации обменивается с блоком 4 микропрограммного управления двумя входными и двумя выходными управляющими сигналами. Одна пара сигналов (входной и выходной) используются для ввода команды, а другая - для выдачи результата после выполнения команды. Операнды, которые используются для инициализации выполнения операций и не имеют смыслового значения (например, α1 на графе на фиг. 4), в блоках 10.1,...,10.n необрабатываются. In the process of processing the command, each information processing unit 10.j exchanges two input and two output control signals with the
При работе вычислительного устройства могут возникнуть сбои в работе одного или нескольких блоков обработки информации. Сбои могут возникнуть до того, как выставлен сигнал "Готовность приема команды " или после того, как он сброшен. В обоих случаях необходимо повторить команду, которая должна была выполняться или выполнялась в неисправном блоке обработки информации. Рассмотрим случай, когда блок 10. j обработки информации не сбрасывает сигнал "Готовность приема команды", т.е. он вышел из строя до начала выполнения команды. Как видно из алгоритма на фиг. 7, блок 4 микропрограммного управления анализирует, сброшен ли сигнал "Готовность приема команды" на промежутке времени t>t1. Время t1 выбирается таким образом, что за данный промежуток времени блок обработки информации при правильном функционировании обязательно примет команду и снимет сигнал "Готовность приема команды". Если по истечении времени t1 этого не произошло, то блок 4 микропрограммного управления повторяет процедуру передачи команды следующему (j+1)-му блоку обработки информации. Таким образом, если имеется хотя бы один работоспособный блок, то команда будет передана ему. When the computing device is operating, malfunctions may occur in the operation of one or more information processing units. Failures can occur before the signal "Ready to receive a command" or after it is reset. In both cases, it is necessary to repeat the command that should have been executed or was executed in the faulty information processing unit. Consider the case where the
Рассмотрим второй случай, когда блок 10.j выходит из строя после приема команды, т.е. после снятия сигнала "Готовность приема команды". В этом случае также используется таймер, который запускается блоком 4 микропрограммного управления (фиг. 7). Промежуток времени t2 выбирается таким образом, чтобы правильно функционирующий блок успел выполнить любую команду. При считывании результата операции (фиг. 6) блок 4 микропрограммного управления поочередно проверяет сигнал "Готовность выдачи результата" в каждом блоке 10. j и при его отсутствии проверяет, не закончилось ли выделенное для операции время t2. Если сигнал "Готовность выдачи результата" формируется на протяжении отрезка времени t2, то результат считается правильным и записывается в блок 3 буферной памяти данных. Если по истечении времени t2 блок 10. j не выставил сигнал "Готовность выдачи результата", то осуществляется повторная запись в блок 3 буферной памяти данных второго операнда с номером операции данной команды из блока 12 памяти операнда, т.е. невыполненная команда будет повторно сформирована и передана в исправный блок обработки информации. Повторная запись второго операнда осуществляется с помощью сигнала "Повторить команду" для блока 10.j, который через элемент ИЛИ 14 поступает на вход считывания блока 12 и, кроме того, устанавливает нужный адрес, равный номеру j, поступая через элемент ИЛИ 15.j на соответствующий вход шифратора 16. При занесении второго операнда в блок 3 буферной памяти данных разряд признака типа информации устанавливается в нулевое состояние, а разряд признака повтора команды - в единичное аппаратным способом (к соответствующим входам подведены сигналы соответствующих уровней). Так как управляющее слово и первый операнд хранятся в блоках 8 и 7, то в соответствии с алгоритмом (фиг. 6) после проверки признака повтора команды независимо от признака наличия операнда невыполненная команда будет сформирована и записана в блок 9. Consider the second case when block 10.j fails after receiving a command, i.e. after removal of the signal "Readiness for receiving a command." In this case, a timer is also used, which is started by the microprogram control unit 4 (Fig. 7). The time interval t2 is chosen so that a correctly functioning unit has time to execute any command. When reading the result of the operation (Fig. 6), the
Таким образом, устройство остается работоспособным при отказах блоков обработки информации. Thus, the device remains operational in case of failures of the information processing units.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4867678 RU2030785C1 (en) | 1990-09-21 | 1990-09-21 | Computing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU4867678 RU2030785C1 (en) | 1990-09-21 | 1990-09-21 | Computing device |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2030785C1 true RU2030785C1 (en) | 1995-03-10 |
Family
ID=21536849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU4867678 RU2030785C1 (en) | 1990-09-21 | 1990-09-21 | Computing device |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2030785C1 (en) |
-
1990
- 1990-09-21 RU SU4867678 patent/RU2030785C1/en active
Non-Patent Citations (2)
Title |
---|
1. Авторское свидетельство СССР N 1464168, кл. G 06F 15/00, опублик.1989. * |
2. Авторское свидетельство СССР N 1709331, кл. G 06F 15/16, опублик. 1992. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3304418A (en) | Binary-coded decimal adder with radix correction | |
US5081573A (en) | Parallel processing system | |
US4943915A (en) | Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit | |
US3286236A (en) | Electronic digital computer with automatic interrupt control | |
US3564226A (en) | Parallel binary processing system having minimal operational delay | |
US3597600A (en) | Electronic desk top calculator having a dual function keyboard logic means | |
US3192362A (en) | Instruction counter with sequential address checking means | |
US5251321A (en) | Binary to binary coded decimal and binary coded decimal to binary conversion in a VLSI central processing unit | |
JPS63129425A (en) | Data processor | |
US3234366A (en) | Divider utilizing multiples of a divisor | |
RU2030785C1 (en) | Computing device | |
US3311739A (en) | Accumulative multiplier | |
GB1116675A (en) | General purpose digital computer | |
US3500027A (en) | Computer having sum of products instruction capability | |
RU102407U1 (en) | CPU COMPUTER | |
EP0166772B1 (en) | Improvements in or relating to computer systems | |
US4276608A (en) | Fibonacci p-code parallel adder | |
Panyukov et al. | Parallel algorithms of integer arithmetic in radix notations for heterogeneous computation systems with massive parallelism | |
RU2758410C1 (en) | Fail-safe processor with error correction in two bytes of information | |
RU2758065C1 (en) | Fault-tolerant processor with error correction in a byte of information | |
Lin et al. | A systolic generation of combinations | |
RU204275U1 (en) | FAIL-SAFE PROCESSOR WITH ERROR CORRECTION IN THE DATA BYTE | |
UA151093U (en) | Computing unit | |
RU204690U1 (en) | FAIL-SAFE PROCESSOR WITH ERROR CORRECTION IN TWO BYTES OF INFORMATION | |
GB794171A (en) | Electronic calculating apparatus |