RU2216033C2 - Computer - Google Patents

Computer Download PDF

Info

Publication number
RU2216033C2
RU2216033C2 RU2000106032A RU2000106032A RU2216033C2 RU 2216033 C2 RU2216033 C2 RU 2216033C2 RU 2000106032 A RU2000106032 A RU 2000106032A RU 2000106032 A RU2000106032 A RU 2000106032A RU 2216033 C2 RU2216033 C2 RU 2216033C2
Authority
RU
Russia
Prior art keywords
input
output
control
information
block
Prior art date
Application number
RU2000106032A
Other languages
Russian (ru)
Other versions
RU2000106032A (en
Inventor
В.С. Бурцев
И.К. Хайлов
Э.В. Сызько
В.К. Ершов
Л.А. Козлов
В.П. Торчигин
В.Б. Федоров
Ю.Н. Никольская
Л.Г. Тарасенко
Original Assignee
Нодал Текнолоджиз, Инк.
Эмеральд Роберт Л.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from RU97113129A external-priority patent/RU2130198C1/en
Application filed by Нодал Текнолоджиз, Инк., Эмеральд Роберт Л. filed Critical Нодал Текнолоджиз, Инк.
Priority to RU2000106032A priority Critical patent/RU2216033C2/en
Publication of RU2000106032A publication Critical patent/RU2000106032A/en
Application granted granted Critical
Publication of RU2216033C2 publication Critical patent/RU2216033C2/en

Links

Images

Abstract

FIELD: computer engineering. SUBSTANCE: computer using data stream control for information processing has central processor unit incorporating program fragment processor for executing program segments, input-output selector switch, command loading switch, command memory, and data access unit depending for its operation on data stream computing principle. EFFECT: enhanced speed due to reduced capacity of associative memory. 2 cl, 15 dwg

Description

Настоящее изобретение относится к вычислительной технике, в частности к вычислительным устройствам, в которых для обработки информации (особенно для применения в цифровых вычислительных системах, обладающих высоким быстродействием) используют управление потоком данных. The present invention relates to computing, in particular to computing devices in which data flow control is used to process information (especially for use in digital computing systems with high speed).

ПРЕДПОСЫЛКИ ДЛЯ СОЗДАНИЯ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
Устройство для обработки информации, в котором для обработки информации используют поток данных, описано в патенте США 4675806, выданном Учида. Учида описывает систему, в которой выполнение команд осуществляют на основе доступности данных и в которых разделяют поток данных и команды, но данные передают в соответствии с предписаниями и требованиями команд. Такое устройство имеет относительно низкий уровень быстродействия, который является общим для других вычислительных устройств, в которых при вычислении используют управление потоком данных и прямую адресацию к оперативной памяти в качестве аппаратного средства для хранения данных. Пониженное быстродействие имеет место вследствие сложной организации аппаратного обеспечения управляющих средств и затрат времени в процессе динамического распределения памяти.
BACKGROUND OF THE INVENTION
An information processing apparatus in which a data stream is used to process information is described in US Pat. No. 4,675,806 to Uchida. Uchida describes a system in which the execution of commands is based on data availability and in which the data stream and the commands are shared, but the data is transmitted in accordance with the instructions and requirements of the commands. Such a device has a relatively low level of speed, which is common for other computing devices that use data flow control and direct addressing to RAM as a hardware for storing data during the calculation. Reduced performance occurs due to the complex organization of hardware for control tools and time spent in the process of dynamic memory allocation.

Другое известное устройство для обработки данных, описанное в патенте Российской Федерации 2029359, в котором поток данных используют для управления процессом вычисления, содержит центральный процессор, переключатель ввода-вывода, переключатель загрузки команд, память для хранения команд, блок доступа к данным, а также первый и второй информационные выходы. В этом устройстве первый управляющий выход центрального процессора соединен с первым управляющим входом переключателя ввода-вывода, первый управляющий вход которого соединен с первым управляющим входом блока доступа к данным, первый информационный вход которого соединен с информационным выходом переключателя загрузки команд, первый управляющий вход которого соединен со вторым управляющим выходом центрального процессора, первый и второй информационные выходы которого соединены, соответственно, с первым информационным входом переключателя загрузки команд и первым информационным входом переключателя ввода-вывода, третий информационный выход процессора соединен с первым информационным выходом компьютера, обнуляющий вход блока доступа к данным соединен с обнуляющим выходом компьютера, а информационный вход памяти для хранения команд и информационный вход переключателя загрузки команд соединены с первым информационным входом компьютера. Another known device for processing data described in the patent of the Russian Federation 2029359, in which the data stream is used to control the calculation process, contains a central processor, an input / output switch, a command loading switch, a memory for storing commands, a data access unit, and the first and second information outlets. In this device, the first control output of the central processor is connected to the first control input of the I / O switch, the first control input of which is connected to the first control input of the data access unit, the first information input of which is connected to the information output of the command download switch, the first control input of which is connected to the second control output of the central processor, the first and second information outputs of which are connected, respectively, with the first information input of the command load selector and the first information input of the I / O switch, the third information output of the processor is connected to the first information output of the computer, the null input of the data access unit is connected to the null output of the computer, and the information input of memory for storing commands and the information input of the command download switch are connected to the first information input of the computer.

В этом устройстве для управления процессом вычисления используют поток данных, а для хранения данных и результатов вычислений - аппаратное обеспечение ассоциативной памяти (блока доступа к данным). Ассоциативная память одновременно выполняет функцию аппаратного обеспечения управляющих средств. В соответствии с этим увеличивается быстродействие, поскольку нет потерь времени на процессы распределения памяти. In this device, a data stream is used to control the calculation process, and associative memory (data access unit) is used to store data and calculation results. Associative memory simultaneously performs the function of hardware management tools. In accordance with this, performance is increased, since there is no loss of time on memory allocation processes.

Однако в этом устройстве быстродействие устройства непосредственно зависит от ассоциативной памяти (в блоке доступа к данным) и ограничено скоростью вывода данных из ассоциативной памяти (число операндов, готовых для выполнения в единицу времени N=1/Таm, где Таm = время работы ассоциативной памяти с момента запроса вывода данных). However, in this device, the device’s performance directly depends on the associative memory (in the data access unit) and is limited by the speed of data output from the associative memory (the number of operands ready to be executed per unit time N = 1 / Tam, where Tam = the operating time of the associative memory with moment of request for data output).

Значение величины Tam непосредственно зависит от объема ассоциативной памяти. Поскольку значение Таm, определяемое из времени запроса из рабочей программы, увеличивается по мере увеличения размера ассоциативной памяти, быстродействие устройства уменьшается по мере увеличения размера ассоциативной памяти. The value of Tam directly depends on the amount of associative memory. Since the value of Tam, determined from the request time from the work program, increases as the size of associative memory increases, the performance of the device decreases as the size of associative memory increases.

Таким образом, при обработке больших объемов рабочих программ такое устройство не может иметь высокого уровня быстродействия. Thus, when processing large volumes of work programs, such a device cannot have a high level of performance.

КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
Задачей настоящего изобретения является увеличение быстродействия путем уменьшения объема ассоциативной памяти при введении в то же самое время локальной обработки данных, соответствующей принципам вычисления фон Неймана, без ухудшения общей идеи управления потоком данных вычисления.
SUMMARY OF THE INVENTION
The objective of the present invention is to increase performance by reducing the amount of associative memory while introducing at the same time local data processing that is consistent with the principles of von Neumann calculation, without compromising the general idea of controlling the flow of data of the calculation.

Задачей настоящего изобретения является улучшение быстродействия путем введения в систему обработки потока данных процессора программы фрагмента, благодаря чему программы фрагмента, которые являются программами, которые лучше пригодны для выполнения с помощью принципов вычисления фон Неймана, направляются на выполнение в процессор программы фрагмента. An object of the present invention is to improve performance by introducing a fragment program into a processor data stream processing system, whereby fragment programs, which are programs that are better suited to be executed using von Neumann calculation principles, are sent to the fragment program to be executed on the processor.

Эту задачу решают в компьютере, содержащем центральный процессор, переключатель ввода-вывода, переключатель загрузки команд, память для хранения команд, блок доступа к данным, первый и второй информационные выходы, обнуляющий вход и первый и второй информационные входы. Первый управляющий выход центрального процессора соединен с первым управляющим входом переключателя ввода-вывода. Первый управляющий выход переключателя ввода-вывода соединен с первым управляющим входом блока доступа к данным. Первый информационный вход блока доступа к данным соединен с информационным выходом переключателя ввода-вывода. Адресный вход памяти для хранения команд соединен с информационным выходом переключателя загрузки команд. Первый управляющий вход переключателя загрузки команд соединен со вторым управляющим выходом центрального процессора. Первый и второй информационные выходы центрального процессора соединены с первым информационным входом переключателя загрузки команд и с первым информационным входом переключателя ввода-вывода соответственно. Третий информационный выход центрального процессора соединен с первым информационным выходом компьютера. Обнуляющий вход блока доступа к данным соединен с обнуляющим входом компьютера. Информационный вход памяти для хранения команд и второй информационный вход переключателя загрузки команд соединены с первым информационным входом компьютера. Вводят процессор программы фрагмента. Первый управляющий выход процессора программы фрагмента соединен со вторым управляющим входом блока доступа к данным. Первый управляющий выход блока доступа к данным соединен со вторым управляющим входом переключателя ввода-вывода. Второй управляющий выход переключателя ввода-вывода соединен с первым управляющим входом центрального процессора и с первым управляющим входом процессора программы фрагмента. Второй управляющий выход процессора программы фрагмента соединен с третьим управляющим входом переключателя ввода-вывода. Второй информационный вход переключателя ввода-вывода соединен с информационным выходом процессора программы фрагмента. Второй управляющий выход блока доступа к данным соединен со вторым управляющим входом центрального процессора. Первый информационный вход центрального процессора соединен с информационным выходом памяти для хранения команд. Управляющий вход памяти для хранения команд соединен с управляющим выходом переключателя загрузки команд. Второй управляющий вход переключателя загрузки команд и первый информационный вход процессора программы фрагмента соединены с первым информационным входом компьютера. Управляющий выход памяти для хранения команд соединен с третьим управляющим входом центрального процессора. Третий управляющий выход центрального процессора соединен с третьим управляющим входом блока доступа к данным. Второй информационный вход блока доступа к данным соединен со вторым информационным входом компьютера. Обнуляющий вход компьютера соединен со вторым управляющим входом процессора программы фрагмента, с четвертым управляющим входом блока доступа к данным, с четвертым управляющим входом переключателя ввода-вывода и с четвертым управляющим входом центрального процессора. Четвертый управляющий выход центрального процессора соединен с пятым управляющим входом блока доступа к данным. Третий информационный вход блока доступа к данным соединен со вторым информационным выходом центрального процессора. Пятый управляющий вход центрального процессора соединен с третьим управляющим выходом блока доступа к данным. Первый информационный выход блока доступа к данным соединен со вторым информационным входом центрального процессора. Второй информационный выход блока доступа к данным соединен со вторым информационным выходом компьютера. Третий управляющий вход процессора программы фрагмента соединен с четвертым управляющим выходом блока доступа к данным. Третий информационный выход блока доступа к данным соединен со вторым информационным входом процессора программы фрагмента. Кроме того, процессор программы фрагмента содержит исполнительный блок, блок выходного регистра, блок регистра загрузки и блок входного регистра. Информационный выход исполнительного блока соединен с информационным входом блока выходного регистра. Первый управляющий вход блока выходного регистра соединен с первым управляющим входом процессора программы фрагмента. Второй управляющий вход процессора программы фрагмента соединен с первым управляющим входом исполнительного блока, со вторым управляющим входом блока выходного регистра, с первым управляющим входом блока регистра загрузки и с первым управляющим входом блока входного регистра. Первый управляющий выход блока входного регистра соединен с первым управляющим выходом процессора программы фрагмента. Первый информационный вход процессора программы фрагмента соединен с информационным входом блока регистра загрузки. Информационный выход блока регистра загрузки и информационный выход блока входного регистра соединены с информационным входом исполнительного блока. Второй управляющий вход исполнительного блока соединен с первым управляющим выходом блока выходного регистра, с первым управляющим выходом блока регистра загрузки и со вторым управляющим выходом блока входного регистра. Третий управляющий выход блока входного регистра и второй управляющий выход блока выходного регистра соединены с третьим управляющим входом исполнительного блока. Первый управляющий выход исполнительного блока соединен со вторым управляющим входом блока регистра загрузки, со вторым управляющим входом блока входного регистра и с третьим управляющим входом блока выходного регистра. Третий управляющий выход блока выходного регистра соединен со вторым управляющим выходом процессора программы фрагмента. Второй информационный вход процессора программы фрагмента соединен с информационным входом блока входного регистра. Третий управляющий вход блока входного регистра, третий управляющий вход блока регистра загрузки и четвертый управляющий вход блока выходного регистра соединены со вторым управляющим выходом исполнительного блока. Третий управляющий выход исполнительного блока соединен с четвертым управляющим входом блока входного регистра, с четвертым управляющим входом блока регистра загрузки и с пятым управляющим входом блока выходного регистра. Информационный выход блока выходного регистра соединен с информационным выходом процессора программы фрагмента. Третий управляющий вход процессора программы фрагмента соединен с пятым управляющим входом блока входного регистра. Шестой управляющий вход блока входного регистра, пятый управляющий вход блока регистра загрузки и шестой управляющий вход блока выходного регистра соединены с четвертым управляющим выходом исполнительного блока. Пятый управляющий выход исполнительного блока соединен с седьмым управляющим входом выходных регистров. This problem is solved in a computer containing a central processor, an input-output switch, a command loading switch, a memory for storing commands, a data access unit, the first and second information outputs, resetting the input and the first and second information inputs. The first control output of the central processor is connected to the first control input of the I / O switch. The first control output of the I / O switch is connected to the first control input of the data access unit. The first information input of the data access unit is connected to the information output of the I / O switch. The memory input address for storing commands is connected to the information output of the command loading switch. The first control input of the command loading switch is connected to the second control output of the central processor. The first and second information outputs of the central processor are connected to the first information input of the command loading switch and to the first information input of the input-output switch, respectively. The third information output of the central processor is connected to the first information output of the computer. The nulling input of the data access unit is connected to the nulling input of the computer. The information input of the memory for storing commands and the second information input of the command loading switch are connected to the first information input of the computer. The fragment program processor is introduced. The first control output of the fragment program processor is connected to the second control input of the data access unit. The first control output of the data access unit is connected to the second control input of the I / O switch. The second control output of the I / O switch is connected to the first control input of the central processor and to the first control input of the program fragment processor. The second control output of the fragment program processor is connected to the third control input of the input-output switch. The second information input of the I / O switch is connected to the information output of the fragment program processor. The second control output of the data access unit is connected to the second control input of the central processor. The first information input of the central processor is connected to the information output of the memory for storing instructions. The control input of the memory for storing commands is connected to the control output of the command loading switch. The second control input of the command loading switch and the first information input of the fragment program processor are connected to the first information input of the computer. The control output of the memory for storing commands is connected to the third control input of the central processor. The third control output of the central processor is connected to the third control input of the data access unit. The second information input of the data access unit is connected to the second information input of the computer. The resetting input of the computer is connected to the second control input of the fragment program processor, to the fourth control input of the data access unit, to the fourth control input of the input-output switch and to the fourth control input of the central processor. The fourth control output of the central processor is connected to the fifth control input of the data access unit. The third information input of the data access unit is connected to the second information output of the central processor. The fifth control input of the central processor is connected to the third control output of the data access unit. The first information output of the data access unit is connected to the second information input of the central processor. The second information output of the data access unit is connected to the second information output of the computer. The third control input of the fragment program processor is connected to the fourth control output of the data access unit. The third information output of the data access unit is connected to the second information input of the fragment program processor. In addition, the fragment program processor comprises an execution unit, an output register unit, a load register unit, and an input register unit. The information output of the executive unit is connected to the information input of the output register block. The first control input of the output register block is connected to the first control input of the fragment program processor. The second control input of the fragment program processor is connected to the first control input of the executive unit, with the second control input of the output register block, with the first control input of the load register block and with the first control input of the input register block. The first control output of the input register block is connected to the first control output of the fragment program processor. The first information input of the fragment program processor is connected to the information input of the download register block. The information output of the download register block and the information output of the input register block are connected to the information input of the executive block. The second control input of the executive unit is connected to the first control output of the output register block, to the first control output of the load register block and to the second control output of the input register block. The third control output of the input register block and the second control output of the output register block are connected to the third control input of the executive unit. The first control output of the executive unit is connected to the second control input of the load register block, to the second control input of the input register block and to the third control input of the output register block. The third control output of the output register block is connected to the second control output of the fragment program processor. The second information input of the fragment program processor is connected to the information input of the input register block. The third control input of the input register block, the third control input of the load register block and the fourth control input of the output register block are connected to the second control output of the executive unit. The third control output of the executive unit is connected to the fourth control input of the input register block, to the fourth control input of the load register block and to the fifth control input of the output register block. The information output of the output register block is connected to the information output of the fragment program processor. The third control input of the fragment program processor is connected to the fifth control input of the input register block. The sixth control input of the input register block, the fifth control input of the load register block and the sixth control input of the output register block are connected to the fourth control output of the executive unit. The fifth control output of the executive unit is connected to the seventh control input of the output registers.

Суть настоящего изобретения в том, что введение процессора программы фрагмента и организация соответствующих соединений обеспечивают повышенное быстродействие компьютера в процессе обработки основных программ посредством увеличения скорости обмена ассоциативной памяти через уменьшение ее рабочего объема. The essence of the present invention is that the introduction of the processor program fragment and the organization of the corresponding connections provide increased computer speed during processing of the main programs by increasing the exchange rate of associative memory by reducing its working volume.

Для выполнения всей программы используется принцип управления потоком данных вычисления. Обработка фрагментов, имеющая локальный характер вычисления и небольшую параллельность (например, фрагментов в виде тригонометрических или других функций, косвенно связанных с аналогичными фрагментами) выполняется без участия ассоциативной памяти. To execute the entire program, the principle of controlling the flow of calculation data is used. Fragment processing, which has a local character of computation and little parallelism (for example, fragments in the form of trigonometric or other functions indirectly associated with similar fragments), is performed without the participation of associative memory.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - функциональная схема системы, соответствующей настоящему изобретению.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a functional diagram of a system according to the present invention.

Фиг.2 - функциональная схема центрального процессора. Figure 2 - functional diagram of the Central processor.

Фиг. 3 - функциональная схема управляющего устройства центрального процессора. FIG. 3 is a functional diagram of a control device of a central processor.

Фиг. 4 - функциональная схема блока входного регистра центрального процессора. FIG. 4 is a functional block diagram of the input register of the central processor.

Фиг. 5 - функциональная схема блока выходного регистра центрального процессора. FIG. 5 is a functional block diagram of the output register of the central processor.

Фиг.6 - функциональная схема переключателя ввода-вывода. 6 is a functional diagram of an I / O switch.

Фиг.7 - функциональная схема блока доступа к данным. 7 is a functional diagram of a data access unit.

Фиг.8 - функциональная схема буфера блока доступа к данным. Fig. 8 is a functional diagram of a buffer of a data access unit.

Фиг. 9 - функциональная схема управляющего устройства буфера блока доступа к данным. FIG. 9 is a functional diagram of a control device of a buffer of a data access unit.

Фиг.10 - функциональная схема процессора программы фрагмента. Figure 10 - functional diagram of the processor program fragment.

Фиг.11 - функциональная схема исполнительного блока процессора программы фрагмента. 11 is a functional diagram of the Executive unit of the processor program fragment.

Фиг. 12 - функциональная схема блока выходного регистра процессора программы фрагмента. FIG. 12 is a functional block diagram of the output register of the processor program fragment.

Фиг. 13 - функциональная схема блока входного регистра процессора программы фрагмента. FIG. 13 is a functional block diagram of an input register of a processor of a program fragment.

Фиг.14 - иллюстрация общего вида графа потоковых вычислений. Fig. 14 is an illustration of a general view of a stream computing graph.

Фиг.15 - иллюстрация структуры пакета информации. 15 is an illustration of a structure of an information packet.

ПОДРОБНОЕ ОПИСАНИЕ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
Схема программы системы потока данных описывается как граф, состоящий из узлов и связей, соединяющих узлы. Узлы представляют операции, а связи представляют путь маркеров через систему. Информация, представленная узлом, собирается в пакеты.
DETAILED DESCRIPTION OF THE PRESENT INVENTION
A program diagram of a data flow system is described as a graph consisting of nodes and links connecting nodes. Nodes represent operations, and relationships represent the path of tokens through the system. Information provided by the node is collected in packets.

Маркеры информации являются словами, которые разделены на некоторое количество полей. Поля могут содержать поле кода операции для представления операции, выполняемой с данными, одно поле данных для представления информации, подлежащей обработке, одно или два поля адреса для представления адреса или узла, к которому направляются результаты обработки, а также другие поля для представления контекста выполнения программы, теги или ключи, используемые для идентификации в процессе обработки данных. Ключи или теги используются для идентификации номера фрагмента, итерации, подлежащей выполнению, отдельных маркеров пары, предназначенной для одного узла, и так далее. Information markers are words that are divided into a number of fields. The fields may contain an operation code field for representing an operation performed with data, one data field for representing information to be processed, one or two address fields for representing an address or node to which processing results are sent, and other fields for representing a program execution context , tags or keys used for identification during data processing. Keys or tags are used to identify the fragment number, the iteration to be performed, the individual markers of a pair intended for one node, and so on.

Пакеты информации также являются словами, которые разделены на некоторое количество полей. Пакет может содержать одно или два поля данных. Information packets are also words that are divided into a number of fields. A packet may contain one or two data fields.

Таким образом, программа, написанная в соответствии с графом потока данных, укажет направление, в котором данные передаются в процессе обработки. Каждый узел обрабатывает входные данные и выдает один или более результатов, направляемых к одному или более других узлов. Thus, a program written in accordance with a data flow graph will indicate the direction in which data is transferred during processing. Each node processes the input data and produces one or more results that are routed to one or more other nodes.

Компьютер, описываемый в этой заявке, содержит центральный процессор и процессор программы фрагмента. Центральный процессор обрабатывает данные, соответствующие принципу потока данных. Процессор программы фрагмента для обработки данных использует принцип фон Неймана. The computer described in this application contains a central processor and a fragment program processor. The central processor processes the data in accordance with the principle of data flow. The fragment program processor for data processing uses the von Neumann principle.

Компьютер, описываемый в этой заявке, содержит центральный процессор 1, переключатель 2 ввода-вывода, переключатель 3 загрузки команд, память 4 для хранения команд, блок 5 доступа к данным и процессор 6 программы фрагмента. The computer described in this application contains a central processor 1, an I / O switch 2, a command loading switch 3, a memory 4 for storing commands, a data access unit 5, and a fragment program processor 6.

Блок 5 доступа к данным содержит ассоциативную память 109, первый буфер 106 и второй буфер 107. Первый буфер 106 предназначен для хранения данных, направляемых в центральный процессор 1, а второй буфер 107 предназначен для хранения данных, направляемых в процессор 6 программы фрагмента. Процессор 6 программы фрагмента содержит исполнительный блок 130. Исполнительный блок 130 содержит оперативную память 151. The data access unit 5 contains an associative memory 109, a first buffer 106 and a second buffer 107. The first buffer 106 is for storing data sent to the central processor 1, and the second buffer 107 is for storing data sent to the processor 6 of the fragment program. The processor 6 of the fragment program comprises an execution unit 130. The execution unit 130 comprises a RAM 151.

Набор команд, предназначенный для обработки данных основной программы, то есть программы, подлежащей выполнению, загружают в память 4 для хранения команд. Набор команд и данные программ фрагмента загружают в процессор 6 программы фрагмента, в частности в оперативную память 151. A set of instructions for processing data of the main program, that is, the program to be executed, is loaded into memory 4 for storing instructions. The set of instructions and data of the fragment programs are loaded into the processor 6 of the fragment program, in particular, into the RAM 151.

Пакеты и маркеры, предназначенные для обработки в основном процессоре, направляют через блок 5 прямого доступа к данным в центральный процессор 1. Packets and markers intended for processing in the main processor are sent through the direct data access unit 5 to the central processor 1.

Пакеты, принимаемые в центральном процессоре 1, подвергают обработке и получают результаты обработки. Если полученный результат является конечным результатом, то есть если он не предназначен для другого узла, то результат направляется к выходу системы. Если результат является результатом разового ввода, то есть он предназначен либо для разового ввода в последующий узел схемы потока данных, либо для ввода в процессор программы фрагмента, то результат посылается непосредственно в блок прямого доступа к данным для дополнительной обработки. The packets received in the central processor 1 are processed and processing results are obtained. If the result obtained is the final result, that is, if it is not intended for another node, then the result is sent to the output of the system. If the result is the result of a one-time input, that is, it is intended either for a one-time input to the subsequent node of the data flow scheme, or for input of a fragment into the processor program, then the result is sent directly to the direct data access unit for additional processing.

Блок 5 доступа к данным направляет информацию, готовую для дополнительной обработки, к соответствующему устройству. Информация, направляемая для дополнительной обработки в соответствии с принципом потока данных, направляется к центральному процессору 1, информация, предназначенная для обработки в соответствии с принципом фон Неймана, направляется в процессор 6 программы фрагмента. Информация, предназначенная для обработки в процессоре программы фрагмента, идентифицируется как фрагменты. Фрагмент может состоять из одного или более команд и соответствующих операндов. The data access unit 5 sends information ready for further processing to the corresponding device. Information sent for additional processing in accordance with the principle of data flow is sent to the central processor 1, information intended for processing in accordance with the von Neumann principle is sent to processor 6 of the fragment program. Information intended for processing in the processor program fragment is identified as fragments. A fragment may consist of one or more instructions and corresponding operands.

Данные, предназначенные для ввода в схему потока данных, направляются к первому буферу 106 для дальнейшего направления к центральному процессору 1 либо немедленно, либо после хранения в первом буфере 106. Данные, предназначенные для введения в схему фон Неймана, направляются во второй буфер 107 для дальнейшего направления в процессор 6 программы фрагмента либо немедленно, либо после хранения во втором буфере 107. The data intended for input into the data flow circuit is sent to the first buffer 106 for further direction to the central processor 1 either immediately or after being stored in the first buffer 106. The data intended for insertion into the von Neumann circuit is sent to the second buffer 107 for further directing the fragment to the processor 6 of the program, either immediately or after storage in the second buffer 107.

Если результат является результатом двойного ввода, то есть результат предназначен быть одним из двух вводов в последующий узел, то результат посылается непрямо к ассоциативной памяти 109, расположенной в блоке 5 прямого доступа к данным, через переключатель 2 ввода-вывода для дополнительной обработки. If the result is the result of double entry, that is, the result is intended to be one of two inputs to the subsequent node, then the result is sent indirectly to the associative memory 109 located in the direct data access unit 5, through the input-output switch 2 for additional processing.

Каждый маркер, принимаемый переключателем 2 ввода-вывода, должен быть согласован со своей парой для дальнейшей обработки. Переключатель 2 ввода-вывода считывает ключ на каждом маркере, принимаемом для определения того, хранится ли уже пара маркера в ассоциативной памяти 109. Если эта пара обнаружена, то эти два маркера соединяются вместе в пакете. Each token received by the I / O switch 2 must be matched with its pair for further processing. An I / O switch 2 reads a key on each token received to determine if a token pair is already stored in associative memory 109. If this pair is detected, then these two tokens are connected together in a packet.

Если принимаемая пара маркера не обнаружена, то маркер направляется в ассоциативную память 109 и хранится там для ожидания поступления его пары. If the received marker pair is not detected, then the marker is sent to associative memory 109 and stored there to wait for its pair to arrive.

Спаренные данные (или пакет), предназначенные для ввода в схему потока данных, направляются в первый буфер 106 для дальнейшего направления в центральный процессор 1 либо немедленно, либо после хранения в первом буфере 106. Данные, предназначенные для введения в схему фон Неймана, направляются во второй буфер 107 для дальнейшего направления в процессор 6 программы фрагмента либо немедленно, либо после хранения во втором буфере 107. Paired data (or packet) intended for input into the data flow circuit is sent to the first buffer 106 for further direction to the central processor 1 either immediately or after storage in the first buffer 106. Data intended for introduction into the von Neumann circuit is sent to the second buffer 107 for further direction to the processor 6 of the program fragment either immediately or after storage in the second buffer 107.

Таким образом, для подготовки информации для дальнейшей обработки переключатель ввода-вывода и ассоциативная память функционально работают вместе. Как было указано выше, информация, готовая для дальнейшей обработки, направляется с помощью блока доступа к данным в соответствующее устройство для дальнейшей обработки. Thus, to prepare information for further processing, the I / O switch and associative memory functionally work together. As mentioned above, information ready for further processing is sent using the data access unit to the appropriate device for further processing.

Наилучший вариант осуществления настоящего изобретения
Как показано на фиг.1, компьютер содержит центральный процессор 1, переключатель 2 ввода-вывода, переключатель 3 загрузки команд, память 4 для хранения команд, блок 5 доступа к данным и процессор 6 программы фрагмента.
BEST MODE FOR CARRYING OUT THE INVENTION
As shown in FIG. 1, the computer includes a central processor 1, an input / output switch 2, a command loading switch 3, a memory 4 for storing commands, a data access unit 5, and a fragment program processor 6.

Компьютер содержит также первый информационный выход 7, второй информационный выход 8, обнуляющий вход 9, первый информационный вход 10 и второй информационный вход 11. The computer also contains a first information output 7, a second information output 8, resetting the input 9, the first information input 10 and the second information input 11.

Центральный процессор 1 содержит первый управляющий вход 12, второй управляющий вход 13, первый информационный вход 14, третий управляющий вход 15, четвертый управляющий вход 16, пятый управляющий вход 17, второй информационный вход 18, первый управляющий выход 19, второй управляющий выход 20, третий управляющий выход 21, четвертый управляющий выход 22, первый информационный выход 23, второй информационный выход 24 и третий информационный выход 25. The central processor 1 comprises a first control input 12, a second control input 13, a first information input 14, a third control input 15, a fourth control input 16, a fifth control input 17, a second information input 18, a first control output 19, a second control output 20, and a third control output 21, fourth control output 22, first information output 23, second information output 24 and third information output 25.

Процессор 6 программы фрагмента содержит первый управляющий вход 26, первый информационный вход 27, второй управляющий вход 28, третий управляющий вход 29, второй информационный вход 30, первый управляющий выход 31, второй управляющий выход 32 и информационный выход 33. The processor 6 of the fragment program comprises a first control input 26, a first information input 27, a second control input 28, a third control input 29, a second information input 30, a first control output 31, a second control output 32, and information output 33.

Память 4 для хранения команд содержит управляющий вход 34, информационный вход 35, адресный вход 36, информационный выход 37 и управляющий выход 38. The memory 4 for storing commands contains a control input 34, information input 35, address input 36, information output 37 and control output 38.

Блок 5 доступа к данным содержит первый управляющий вход 39, второй управляющий вход 40, третий управляющий вход 41, четвертый управляющий вход 42, пятый управляющий вход 43, обнуляющий вход 44, первый информационный вход 45, второй информационный вход 46, третий информационный вход 47, первый управляющий выход 48, второй управляющий выход 49, первый информационный выход 50, второй информационный выход 51, третий управляющий выход 52, четвертый управляющий выход 53 и третий информационный выход 54. The data access unit 5 contains a first control input 39, a second control input 40, a third control input 41, a fourth control input 42, a fifth control input 43, a zeroing input 44, a first information input 45, a second information input 46, a third information input 47, the first control output 48, the second control output 49, the first information output 50, the second information output 51, the third control output 52, the fourth control output 53 and the third information output 54.

Переключатель 3 загрузки команд содержит первый информационный вход 55, второй информационный вход 56, первый управляющий вход 57, второй управляющий вход 58, управляющий выход 59 и информационный выход 60. The command loading switch 3 comprises a first information input 55, a second information input 56, a first control input 57, a second control input 58, a control output 59, and an information output 60.

Переключатель ввода-вывода содержит первый управляющий вход 61, второй управляющий вход 62, третий управляющий вход 63, четвертый управляющий вход 64, первый информационный вход 65, второй информационный вход 66, первый управляющий выход 67, второй управляющий выход 68 и информационный выход 69. The I / O switch contains a first control input 61, a second control input 62, a third control input 63, a fourth control input 64, a first information input 65, a second information input 66, a first control output 67, a second control output 68 and information output 69.

Как показано на фиг. 2, центральный процессор 1 содержит управляющее устройство 70, переключатель 71, блок 72 выходного регистра, арифметико-логическое устройство 73 и блок 74 входного регистра. As shown in FIG. 2, the central processor 1 comprises a control device 70, a switch 71, an output register unit 72, an arithmetic logic unit 73, and an input register unit 74.

Управляющее устройство 70 содержит вход 75-1 установки нуля, первый управляющий вход 75-2 передачи результата, второй управляющий вход 75-3 передачи результата, начальный управляющий вход 75-4, вход 75-5 битов типа команды, вход 75-6 сигнала готовности памяти, вход 75-7 сигнала значимости бита данных, вход 75-8 сигнала готовности, первый управляющий выход выходного переключения 76-1, второй управляющий выход выходного переключения 76-2, управляющий выход 76-3 передачи, управляющий выход 76-4 приема, начальный управляющий выход 76-5, первый управляющий выход, соединенный с выходом 19 центрального процессора 1, второй управляющий выход, соединенный с выходом 21 центрального процессора 1, и третий управляющий выход, соединенный с выходом 22 центрального процессора 1. The control device 70 contains a zero-setting input 75-1, a first result transfer control input 75-2, a second result transfer control input 75-3, an initial control input 75-4, a command type bit input 75-5, a ready signal input 75-6 memory, input 75-7 signal of significance of the data bit, input 75-8 signal ready, the first control output of the output switch 76-1, the second control output of the output switch 76-2, the control output 76-3 transmission, the control output 76-4 reception, initial control output 76-5, first control output, connected nenny yield CPU 19 1, the second control output coupled to the output 21 of the CPU 1, and a third control output coupled to the output 22 of the CPU 1.

Блок 72 выходного регистра содержит управляющие входы 77-1, 77-2 и 77-3, информационный входы 77-4, 77-5 и 77-6 и информационные выходы 78-1, 78-2 и 78-3. Block 72 of the output register contains control inputs 77-1, 77-2 and 77-3, information inputs 77-4, 77-5 and 77-6 and information outputs 78-1, 78-2 and 78-3.

Переключатель 71 содержит информационный выход, соединенный с выходом 24 центрального процессора 1, первый управляющий вход, соединенный с выходом 76-1 управляющего устройства 70, первый информационный вход, соединенный с выходом 78-2 блока 72 выходного регистра, и второй информационный вход, соединенный с выходом 78-3 блока 72 выходного регистра. The switch 71 contains an information output connected to the output 24 of the central processor 1, a first control input connected to an output 76-1 of the control device 70, a first information input connected to an output 78-2 of the output register unit 72, and a second information input connected to output 78-3 of the block 72 of the output register.

Блок 74 входного регистра содержит управляющий вход 79-1, информационный вход 79-2 и информационные выходы 80-1...80-5. Block 74 of the input register contains a control input 79-1, information input 79-2 and information outputs 80-1 ... 80-5.

Арифметико-логическое устройство 73 (выполненное в аналоговом виде для устройства, описанного в патенте СССР 1367012, выданном в 1985 году) содержит управляющий операциями вход, соединенный с выходом 80-2 блока 74 входного регистра, вход первого операнда, соединенный с выходом 80-3 блока 74 входного регистра, вход второго операнда, соединенный с выходом 80-4 блока 74 входного регистра, начальный управляющий вход, соединенный с выходом 76-5 управляющего устройства 70, первый информационный выход, соединенный с выходом 25 центрального процессора 1, второй информационный выход, соединенный со входом 75-7 управляющего устройства 70 и входом 77-4 блока 72 выходного регистра, и управляющий выход, соединенный с входом 75-8 управляющего устройства 70. The arithmetic-logical device 73 (made in analog form for the device described in USSR patent 1367012, issued in 1985) contains an operation control input connected to the output 80-2 of the input register block 74, the input of the first operand connected to the output 80-3 block 74 of the input register, the input of the second operand connected to the output 80-4 of the block 74 of the input register, the initial control input connected to the output 76-5 of the control device 70, the first information output connected to the output 25 of the central processor 1, the second info a radiation output connected to an input 75-7 of a control device 70 and an input 77-4 of an output register unit 72, and a control output connected to an input 75-8 of a control device 70.

Как показано на фиг.3, управляющее устройство 70 содержит элементы 81-1 и 81-2 "ИЛИ", элементы 82-1. . .82-4, 83-1 и 83-2 "И", элемент 84 "ИЛИ", элементы 85-1, 85-2 "И", элемент 86 "ИЛИ", кодер 87 приоритета, элементы 88-1, 88-2 и 89 "ИЛИ", триггеры 90-1...90-3, триггеры 91-1...91-3, элементы 92-1...92-6 "И", элемент 93 "ИЛИ" и элемент 94 "И". As shown in FIG. 3, the control device 70 comprises OR elements 81-1 and 81-2, elements 82-1. . .82-4, 83-1 and 83-2 "AND", element 84 "OR", elements 85-1, 85-2 "AND", element 86 "OR", priority encoder 87, elements 88-1, 88 -2 and 89 "OR", triggers 90-1 ... 90-3, triggers 91-1 ... 91-3, elements 92-1 ... 92-6 "AND", element 93 "OR" and element 94 AND.

Как показано на фиг. 4, блок 74 входного регистра содержит регистр 95 слова состояния, регистр 96-1 первого операнда и регистр 96-2 второго операнда. As shown in FIG. 4, the input register block 74 comprises a status word register 95, a first operand register 96-1 and a second operand register 96-2.

Как показано на фиг.5, блок 72 выходного регистра содержит регистр 97 результата, первый и второй регистры 98-1 и 98-2 номера команды соответственно и регистр 99 индикации состояния. As shown in FIG. 5, the output register block 72 comprises a result register 97, first and second registers 98-1 and 98-2 of a command number, respectively, and a status indication register 99.

Как показано на фиг.6, переключатель 2 ввода-вывода содержит элементы 100-1...100-4 "ИЛИ", элементы 100-1...100-2 "И", кодер 102 приоритета, триггеры 103-1, 103-2, переключающее устройство 104, входные регистры 105-1,105-2. As shown in FIG. 6, the I / O switch 2 contains OR elements 100-1 ... 100-4, AND elements 100-1 ... 100-2, priority encoder 102, triggers 103-1, 103-2, switching device 104, input registers 105-1,105-2.

Переключающее устройство 104 может состоять из двух элементов "И" и одного элемента "ИЛИ" или из логического элемента, например из логического элемента "ИЛИ-НЕ". The switching device 104 may consist of two AND elements and one OR element, or a logical element, for example, an OR-NOT logical element.

Как показано на фиг.7, блок 5 доступа к данным содержит первый и второй буферы 106 и 107 соответственно, регистр 108 и ассоциативную память 109. As shown in FIG. 7, the data access unit 5 comprises first and second buffers 106 and 107, respectively, a register 108 and an associative memory 109.

Первый буфер 106 содержит первый и второй управляющие входы 110-1 и 110-2, первый и второй информационные входы 110-3 и 110-4, третий и четвертый управляющие входы 110-5 и 110-6, вход 110-7 внешнего обмена, первый и второй управляющие входы передачи, соединенные соответственно с выходами 49 и 52 блока 5, информационный выход, соединенный с выходом 50 блока 5 и выход внешнего обмена, соединенный с выходом 51 блока 5. The first buffer 106 contains the first and second control inputs 110-1 and 110-2, the first and second information inputs 110-3 and 110-4, the third and fourth control inputs 110-5 and 110-6, the external exchange input 110-7, the first and second control inputs of the transmission, respectively connected to the outputs 49 and 52 of block 5, the information output connected to the output 50 of block 5 and the external exchange output connected to the output 51 of block 5.

Второй буфер 107 содержит первый и второй управляющие входы 111-1 и 111-2 соответственно, первый и второй информационные входы 111-3 и 111-4, третий и четвертый управляющие входы 111-5 и 111-6 соответственно и управляющий и информационный входы, соединенные соответственно с выходами 53 и 54 блока 5. The second buffer 107 contains the first and second control inputs 111-1 and 111-2, respectively, the first and second information inputs 111-3 and 111-4, the third and fourth control inputs 111-5 and 111-6, respectively, and the control and information inputs, connected respectively to the outputs 53 and 54 of block 5.

Ассоциативная память 109, выполненная аналогично устройству, описанному в патенте Российской Федерации 2035069, выданном в 1995 году, содержит первый и второй управляющие входы 112-1 и 112-2 соответственно, первый информационный вход 112-3, третий управляющий вход 112-4, второй информационный вход 112-5, первый информационный выход 115-6, первый управляющий выход 113-2, второй информационный выход 113-3 и второй управляющий выход 113-4. Associative memory 109, made similar to the device described in the patent of the Russian Federation 2035069, issued in 1995, contains the first and second control inputs 112-1 and 112-2, respectively, the first information input 112-3, the third control input 112-4, the second information input 112-5, first information output 115-6, first control output 113-2, second information output 113-3 and second control output 113-4.

Как показано на фиг.8, первый буфер 106 содержит элементы 114-1...114-5 "ИЛИ", выходной переключатель 115, элементы 116-1...116-4 "И", блок 117 запоминающего регистра, управляющее устройство 118, входной переключатель 119 и первый и второй входные регистры 120-1 и 120-2 соответственно. As shown in Fig. 8, the first buffer 106 comprises OR elements 114-1 ... 114-5, an output switch 115, AND elements 116-1 ... 116-4, a memory register unit 117, a control device 118, an input switch 119, and first and second input registers 120-1 and 120-2, respectively.

Второй буфер выполнен аналогично первому. The second buffer is made similarly to the first.

Управляющее устройство 118 содержит управляющие выходы 121-1...121-12, вход 122-1 настройки, вход 122-2 кода первого пакета, первый приемный управляющий вход 122-3, второй вход 122-4 кода пакета, второй и третий приемные управляющие входы 122-5 и 122-6 соответственно и первый... пятый управляющие входы 123-1...123-5. The control device 118 comprises control outputs 121-1 ... 121-12, a setup input 122-1, a first packet code input 122-2, a first receiving control input 122-3, a second packet code input 122-4, a second and third receiving control inputs 122-5 and 122-6, respectively, and the first ... fifth control inputs 123-1 ... 123-5.

Как показано на фиг. 9, управляющее устройство 118 содержит кодер 124 приоритета, счетчики 125-1...125-2, логические элементы 126-1...126-4 "И", триггеры 127-1...127-3, элемент 128 "ИЛИ" и декодеры 129-1...129-3. As shown in FIG. 9, the control device 118 comprises a priority encoder 124, counters 125-1 ... 125-2, logic elements 126-1 ... 126-4 "And", triggers 127-1 ... 127-3, element 128 " OR "and decoders 129-1 ... 129-3.

Как показано на фиг.10, процессор 6 программы фрагмента содержит исполнительный блок 130, блок 131 выходного регистра, блок 132 регистра загрузки и блок 133 входного регистра. As shown in FIG. 10, the fragment program processor 6 comprises an execution unit 130, an output register unit 131, a load register unit 132, and an input register unit 133.

Исполнительный блок 130 содержит первый. .. третий управляющие входы 134-1. .134-3, информационный вход 135, информационный выход 136 и первый... пятый управляющие выходы 137-1...137-5. The Executive unit 130 contains the first. .. the third control inputs 134-1. .134-3, information input 135, information output 136 and the first ... fifth control outputs 137-1 ... 137-5.

Блок 131 выходного регистра содержит первый... седьмой управляющие входы 138-1. ..138-7, информационный вход 139, первый... третий управляющие выходы 140-1...140-3 и информационный выход 141. Block 131 of the output register contains the first ... seventh control inputs 138-1. ..138-7, information input 139, first ... third control outputs 140-1 ... 140-3 and information output 141.

Блок 132 регистра загрузки содержит первый... пятый управляющие входы 142-1. . .142-5, информационный вход 143, первый и второй управляющие выходы 144-1 и 144-2 и информационный выход 145. Block 132 of the boot register contains the first ... fifth control inputs 142-1. . .142-5, information input 143, first and second control outputs 144-1 and 144-2, and information output 145.

Блок 133 выходного регистра содержит первый... шестой управляющие входы 146-1. ..146-6, информационный вход 147, первый... третий управляющие выходы 148-1...148-3 и информационный выход 149. Block 133 of the output register contains the first ... sixth control inputs 146-1. ..146-6, information input 147, first ... third control outputs 148-1 ... 148-3 and information output 149.

Как показано на фиг.11, исполнительный блок 130 содержит микропроцессор 150, оперативную память 151 и шину 152 обмена. Вместо этих элементов может быть использован стандартный микропроцессорный комплект, например комплект на основе элементов типа Intel 80386. As shown in FIG. 11, the execution unit 130 comprises a microprocessor 150, a random access memory 151, and an exchange bus 152. Instead of these elements, a standard microprocessor kit can be used, for example, a kit based on elements of the Intel 80386 type.

Как показано на фиг.12, блок 131 выходного регистра содержит первый и второй регистры 153 и 154 соответственно, элементы 155-1...155-3 "И", триггер 156, декодеры 157-1 и 157-2, элемент 158 "ИЛИ" и регистр 159. As shown in FIG. 12, the output register block 131 comprises first and second registers 153 and 154, respectively, AND elements 155-1 ... 155-3, trigger 156, decoders 157-1 and 157-2, element 158 " OR "and register 159.

Как показано на фиг.13, блок 133 входного регистра содержит регистры 160 и 161, элемент 162 "И", декодер 163, регистр 164, триггер 165 и элемент 166 "ИЛИ". As shown in FIG. 13, the input register block 133 comprises registers 160 and 161, an AND element 162, a decoder 163, a register 164, a trigger 165, and an OR element 166.

Блок 132 регистра загрузки имеет аналогичную структуру. Block 132 of the boot register has a similar structure.

Принципы организации вычисления при управлении потоком данных допускают, что алгоритм решения задачи представлен как граф процесса вычисления. Граф содержит операторы (команды) на данных (операндах) и указатели (направления), следуя которым данные (результаты) передаются от команды к команде, как показано на фиг.14. The principles of organization of computation in data flow control assume that the algorithm for solving the problem is presented as a graph of the computation process. The graph contains operators (commands) on the data (operands) and pointers (directions), following which the data (results) are transmitted from command to command, as shown in Fig. 14.

В соответствии с графом обработка данных выполняется при поступлении подготовленных данных для обработки на входы команд. Завершение пар данных, относящихся к конкретной команде, выполняется в ассоциативной памяти 109, используя ключ при поиске и образовании пар данных. Ключ, как правило, представляет собой код, который содержит биты номера команды, индекс, итерацию и так далее. In accordance with the graph, data processing is performed upon receipt of prepared data for processing at command inputs. The completion of data pairs related to a particular command is performed in associative memory 109, using the key when searching and generating data pairs. The key, as a rule, is a code that contains the bits of the command number, index, iteration, and so on.

Каждая команда имеет номер N-i, который может быть использован для размещения ее в памяти 4 для хранения команд, код команды - COI-i, и номер N-j "присвоенного адреса", представляющий команду, к которой относится результат обработки данных. Кроме того, команда имеет атрибуты, определяющие условия ее обработки или ее тип. Команда может быть двухвходовой или одновходовой командой, что определяется кодом операции в зависимости от того, как много (один или два) входа обрабатывает команда. Команда может быть двухадресной или одноадресной командой в зависимости от числа адресов передачи результата (результатов) выполнения команды. Например, как показано на фиг.14, команда N1 является одновходовой двухадресной командой, а команда N2 - одновходовой одноадресной командой. Each command has a number N-i, which can be used to store it in memory 4 for storing commands, the command code is COI-i, and the number N-j of the “assigned address” representing the command to which the data processing result belongs. In addition, the team has attributes that determine its processing conditions or its type. A command can be a two-input or a single-input command, which is determined by the operation code, depending on how many (one or two) inputs the command processes. The command can be a two-address or unicast command, depending on the number of transmission addresses of the result (s) of the command. For example, as shown in FIG. 14, command N1 is a single-input, unicast command, and command N2 is a single-input, unicast command.

Для организации работы графа команды и данные представлены как информационные объекты, состоящие из многобитовых слов, где соответствующие группы битов образуют поля с необходимыми функциональными назначениями (фиг.15). To organize the work of the graph, commands and data are presented as information objects consisting of multi-bit words, where the corresponding groups of bits form fields with the necessary functional purpose (Fig. 15).

В общем, информация вводится в центральный процессор 1 в виде пакета данных, содержащего слово (команду) состояния и два слова данных. Пакет одновходной команды содержит только одно информационное слово. In general, the information is input to the central processing unit 1 as a data packet containing a status word (command) and two data words. A single-entry command packet contains only one information word.

Слово состояния содержит следующие основные группы функциональных битов (полей):
COI - код команды;
N - номер команды;
G - номер генерации;
Т - номер итерации;
I - индекс;
F - номер фрагмента.
The status word contains the following main groups of functional bits (fields):
COI - command code;
N - team number;
G is the generation number;
T is the iteration number;
I is the index;
F is the number of the fragment.

Функциональные поля слова состояния могут быть использованы разными способами. В частности, основная группа битов для поиска данных в ассоциативной памяти 109 ограничена полями N, G, Т, I. Поле F вводится в том случае, если для фрагментов необходимо найти входные данных. Поле COI может содержать биты, указывающие тип команды (одноадресная, двухадресная, одновходовая, двухвходовая). The functional fields of the status word can be used in various ways. In particular, the main group of bits for searching data in associative memory 109 is limited to the fields N, G, T, I. Field F is entered if it is necessary to find input data for the fragments. The COI field may contain bits indicating the type of command (unicast, two-address, single-input, two-input).

Если команда имеет два выхода (адреса назначения для результатов обработки), то результат ее выполнения будет содержать два слова состояния, соответствующих двум адресам передачи. If the command has two outputs (destination addresses for the processing results), then the result of its execution will contain two status words corresponding to two transmission addresses.

Битовые группы слова состояния хранятся в памяти 4 для хранения команд. The bit groups of the status word are stored in memory 4 for storing instructions.

Команды и данные, которые являются частью отмеченных фрагментов (фиг. 14), хранятся в оперативной памяти 151 исполнительного блока 130 процессора 6 программы фрагмента и не занимают ассоциативную память 109. Commands and data that are part of the marked fragments (Fig. 14) are stored in RAM 151 of the executive unit 130 of the processor 6 of the fragment program and do not occupy associative memory 109.

Входы синхронизации всех блоков компьютера соединены с внешним входом синхронизации (не показано). The synchronization inputs of all blocks of the computer are connected to an external synchronization input (not shown).

Основные рабочие программы и отмеченные программы фрагмента загружаются через первый информационный вход 10 и выполняются компьютером (фиг.1), который выдает результаты обработки данных через второй информационный выход 8. The main work programs and marked programs of the fragment are downloaded through the first information input 10 and executed by a computer (Fig. 1), which gives the results of data processing through the second information output 8.

Компьютер использует управление потоком данных для процесса вычисления в соответствии с основной программой и в соответствии с принципами фон Неймана обработки данных для выполнения отмеченных фрагментов. Все команды основной исполнительной программы вводятся в память 4 для хранения команд, а все команды и данные для фрагментов вводятся в оперативную память 151 (фиг.11). Вычисление инициализируется загрузкой начальных пакетов операндов из внешней системы (не показана) через второй информационный вход 11. The computer uses data flow control for the calculation process in accordance with the main program and in accordance with the von Neumann principles of data processing to execute marked fragments. All instructions of the main executive program are entered into memory 4 for storing instructions, and all instructions and data for fragments are entered into the RAM 151 (Fig. 11). The calculation is initialized by loading the initial operand packages from an external system (not shown) through the second information input 11.

Начальные пакеты вместе с соответствующими управляющими сигналами вводятся через второй информационный вход 46 блока 5 доступа к данным и затем через вход 110-7 внешнего обмена первого буфера 106, из которого они передаются к информационному (например, четвертому) входу выходного переключателя 115. В этом случае управление связью осуществляется через четвертый управляющий вход, причем соответствующий управляющий сигнал из управляющего выхода 121-12 управляющего устройства 118 поступает через элемент 116-4 "И". Указанный управляющий сигнал формируется на выходе декодера 129-3. Группа битов кода, определяющего тип начального пакета, поступает через вход декодера 129-3. The initial packets along with the corresponding control signals are input through the second information input 46 of the data access unit 5 and then through the external exchange input 110-7 of the first buffer 106, from which they are transmitted to the information (for example, fourth) input of the output switch 115. In this case communication control is carried out through the fourth control input, and the corresponding control signal from the control output 121-12 of the control device 118 is supplied through the element 116-4 "AND". The specified control signal is generated at the output of decoder 129-3. A group of bits of code that determines the type of the initial packet arrives through the input of decoder 129-3.

Биты пакета из выхода 50 буфера 106 передаются ко второму информационному входу 18 центрального процессора 1 через соответствующий выход блока 5 доступа к данным. The bits of the packet from the output 50 of the buffer 106 are transmitted to the second information input 18 of the central processor 1 through the corresponding output of the data access unit 5.

Информация, передаваемая через выход 50 блока 5 доступа к данным, сопровождается стробом передачи на выходе 52. Строб передачи на выходе 52 представляет собой управляющий сигнал для запуска центрального процессора 1, поступающий через пятый управляющий вход 17 и затем через вход 75-4 управляющего устройства 70. Биты пакета операнда передаются к информационному входу 79-2 блока 74 входного регистра. The information transmitted through the output 50 of the data access unit 5 is accompanied by a transmission strobe at the output 52. The transmission strobe at the output 52 is a control signal for starting the central processor 1 through the fifth control input 17 and then through the input 75-4 of the control device 70 The bits of the operand packet are transmitted to the information input 79-2 of the input register block 74.

Прием функциональных полей пакета операнда регистром 95 слова состояния и регистрами 96-1 и 96-2 операндов управляется путем ввода приемного управляющего сигнала на входе 79-1 блока 74 входного регистра. Биты номера команды передаются из выхода 80-1 блока 74 входного регистра через первый информационный выход 23 центрального процессора 1 на первый информационный вход 55 переключателя 3 загрузки команд. Управляющий сигнал из второго управляющего выхода 20 центрального процессора 1 поступает на первый информационный вход 57 блока 3 загрузки команд. Управляющий сигнал, соответствующий коду считывания, и информационный сигнал, соответствующий адресу, формируются соответственно на управляющем и информационном выходах 59 и 60 переключателя 3 для передачи к соответствующим управляющему и адресному входам памяти 4 для хранения команд. Код битов операции и битов операнда из выходов 80-2, 80-3 и 80-4 блока 74 входного регистра сопровождаются начальным управляющим сигналом из выхода 76-5 управляющего устройства 70 и передаются на соответствующие входы арифметико-логического блока 73. Биты G, Т, I функционального поля передаются на вход 77-6 блока 72 выходного регистра. Биты функционального поля из информационного выхода 37 памяти 4 для хранения команд передаются через вход 14 центрального процессора 1 на вход 77-5 блока 72 выходного регистра. Биты функционального поля, переданные на вход 77-5, содержат код операции и номер команды, для которого предназначен результат вычисления, поступающий на вход 77-4 блока 72. The reception of the functional fields of the operand packet by the status word register 95 and the operand registers 96-1 and 96-2 is controlled by inputting a receiving control signal at the input 79-1 of the input register block 74. The bits of the command number are transmitted from the output 80-1 of the input register block 74 through the first information output 23 of the central processor 1 to the first information input 55 of the command loading switch 3. The control signal from the second control output 20 of the Central processor 1 is fed to the first information input 57 of the block 3 download commands. The control signal corresponding to the read code and the information signal corresponding to the address are formed respectively on the control and information outputs 59 and 60 of the switch 3 for transmission to the corresponding control and address inputs of the memory 4 for storing commands. The code of the operation bits and operand bits from the outputs 80-2, 80-3 and 80-4 of the input register block 74 are accompanied by an initial control signal from the output 76-5 of the control device 70 and are transmitted to the corresponding inputs of the arithmetic-logical block 73. Bits G, T , I of the functional field are transmitted to the input 77-6 of the block 72 of the output register. The bits of the functional field from the information output 37 of the memory 4 for storing instructions are transmitted through input 14 of the central processor 1 to input 77-5 of the block 72 of the output register. The bits of the functional field, transmitted to the input 77-5, contain the operation code and the command number for which the calculation result intended for the input 77-4 of the block 72 is intended.

Входы 77-1, 77-2 и 77-3 блока 72 выходного регистра принимают соответствующие сигналы, которые управляют приемом результата регистром 97, битовых полей N и COI следующей команды регистрами 98-1 и 98-2 и битовых полей G, Т, I регистром 99. Функциональные поля результата выполнения текущей команды (полупакета) формируются на выходах 78-1, 78-2 и 78-3 блока 72 выходного регистра. Эти поля отражают принципы вычисления, представленные с помощью графа процесса вычисления, и передаются, соответственно, на выход 24 центрального процессора 1 и информационные входы переключателя 71. Управляющие сигналы передаются из выходов 76-1 и 76-2 управляющего устройства 70 на управляющие входы переключателя 71. Работа переключателя 71 зависит от наличия двухадресных команд, то есть от команд, результат выполнения которых является входным операндом для двух последующих команд (имеющих разные номера и разные коды команд). Это условие выполняется при наличии двух выходных регистров 98-1 и 98-2 номера команды, содержимое которых последовательно передается через переключатель 71 и сопровождается результатом, передаваемым на выход 24 центрального процессора 1. The inputs 77-1, 77-2 and 77-3 of the block 72 of the output register receive the corresponding signals that control the reception of the result by the register 97, the bit fields N and COI of the next command by the registers 98-1 and 98-2 and the bit fields G, T, I register 99. Functional fields of the result of the current command (half-packet) are generated at the outputs 78-1, 78-2 and 78-3 of the block 72 of the output register. These fields reflect the principles of calculation, presented using the graph of the calculation process, and are transmitted, respectively, to the output 24 of the central processor 1 and the information inputs of the switch 71. The control signals are transmitted from the outputs 76-1 and 76-2 of the control device 70 to the control inputs of the switch 71 The operation of the switch 71 depends on the availability of two-address instructions, that is, instructions whose execution result is an input operand for the next two instructions (having different numbers and different instruction codes). This condition is satisfied when there are two output registers 98-1 and 98-2 of the command number, the contents of which are sequentially transmitted through switch 71 and are accompanied by the result transmitted to the output 24 of the central processor 1.

Управляющие сигналы для выходного переключателя 71 формируются при приеме на входах 75-5 и 75-6 управляющего устройства 70 функциональных полей типа команды и строба передачи соответственно из информационного и управляющего выходов 37 и 38 памяти для хранения команд через входы 14 и 15 центрального процессора 1 и при приеме на входе 75-7 сигнала значимости результата из арифметико-логического блока 73. The control signals for the output switch 71 are generated upon receipt of the input fields 75-5 and 75-6 of the control device 70 functional fields such as commands and transmission strobe, respectively, from the information and control outputs 37 and 38 of the memory for storing commands through the inputs 14 and 15 of the Central processor 1 and when receiving at the input 75-7 a signal of significance of the result from the arithmetic-logical unit 73.

Функциональные поля типа команды содержат следующие атрибуты: 1А (одноадресная команда), 2А (двухадресная команда) и 2I (двухвходовая команда), которые передаются к триггерам 92-2...92-5. Состояние триггера определяет формирование управляющих сигналов на выходах 76-1 и 76-2 блока 70. Стробы передачи, соответствующие режимам одновходовой или двухвходовой команды, формируются на выходах 22 и 19 центрального процессора 1, а биты функциональных полей полупакета - на выходе 24. Functional fields of the command type contain the following attributes: 1A (unicast command), 2A (two-address command) and 2I (two-input command), which are transmitted to triggers 92-2 ... 92-5. The state of the trigger determines the formation of control signals at the outputs 76-1 and 76-2 of block 70. Transmission gates corresponding to the modes of a single-input or two-input command are generated at outputs 22 and 19 of the central processor 1, and bits of the functional fields of the half-packet are output 24.

Если выполняется одновходовая команда и результат выполнения не требует поиска пары в ассоциативной памяти 109, то биты полупакета и строба передачи передаются из выходов 24 и 22 центрального процессора 1 соответственно на входы 47 и 43 блока доступа к данным и на входы 110-3 и 110-5 буфера 106. При поступлении битов на вход 110-3 результат принимается первым входным регистром 120-1 и через первый информационный выход входного переключателя 119 передается на первый информационный вход переключателя 115. Второй информационный выход переключателя 119 используется для передачи результатов вычисления на внешнюю систему управления. В этом случае на первом выходе декодера 129-1 управляющего устройства 118 формируется соответствующий управляющий сигнал. Биты кода, определяющие тип полупакета, поступают на вход декодера 129-1. Информация из второго информационного выхода переключателя 119 вместе со стробом передачи из выхода 121-7 управляющего устройства 118 поступает на выход 51 буфера 106 и передается через соответствующий выход блока 5 доступа к данным на второй информационный выход 8 компьютера. If a one-input command is executed and the execution result does not require a pair search in associative memory 109, then the bits of the half-packet and transmission strobe are transmitted from the outputs 24 and 22 of the central processor 1, respectively, to the inputs 47 and 43 of the data access unit and to the inputs 110-3 and 110- 5 of the buffer 106. When bits arrive at input 110-3, the result is received by the first input register 120-1 and is transmitted through the first information output of the input switch 119 to the first information input of the switch 115. The second information output of the switch 119 using tsya for transmitting calculation results to the external control system. In this case, the corresponding control signal is generated at the first output of the decoder 129-1 of the control device 118. The bits of the code that determine the type of half-packet arrive at the input of decoder 129-1. Information from the second information output of the switch 119, together with the transmission gate from the output 121-7 of the control device 118, is transmitted to the output 51 of the buffer 106 and transmitted through the corresponding output of the data access unit 5 to the second information output 8 of the computer.

Если результат (операнд) на выходе 24 центрального процессора 1 относится к двухвходовой команде, то в ассоциативной памяти 109 в блоке 5 доступа к данным выполняется поиск парного операнда. Этот результат из выхода 24 передается на вход 65 переключателя 2 ввода-вывода и через переключатель 2 ввода-вывода - в блок 5 доступа к данным. If the result (operand) at the output 24 of the central processor 1 refers to a two-input instruction, then a pair operand is searched in the associative memory 109 in the data access unit 5. This result from the output 24 is transmitted to the input 65 of the I / O switch 2 and through the I / O switch 2 to the data access unit 5.

Сигнал строба передачи и биты функциональных полей полупакета передаются из выходов 19 и 24 центрального процессора 1 соответственно на входы 61 и 65 переключателя 2 ввода-вывода. The transmission strobe signal and the bits of the functional fields of the half-packet are transmitted from the outputs 19 and 24 of the central processor 1 to the inputs 61 and 65 of the input / output switch 2, respectively.

В переключателе 2 полупакет передается из входа 65 через регистр 105-1 на первый информационный вход переключающего устройства 104. Строб передачи передается из входа 61 на вход настройки триггера 103-1. Выход триггера 103-1 соединен с первым управляющим входом кодера 102 приоритета. Код управления переключающего устройства 104 формируется на первом и втором управляющих выходах кодера 102 приоритета. Конечным результатом является то, что в переключателе 2 биты функциональных полей полупакета передаются из входа 65 на выход 69, а на выходе 67 генерируется соответствующие управляющий сигнал и строб передачи. In switch 2, the half-packet is transmitted from input 65 through register 105-1 to the first information input of switching device 104. A transmission strobe is transmitted from input 61 to trigger setup input 103-1. The output of the trigger 103-1 is connected to the first control input of the priority encoder 102. The control code of the switching device 104 is generated at the first and second control outputs of the priority encoder 102. The end result is that in switch 2, the bits of the functional fields of the half-packet are transmitted from input 65 to output 69, and output 67 generates the corresponding control signal and transmission strobe.

Биты функциональных полей и строба передачи передаются из выходов 69 и 67 переключателя на входы 45 и 39 блока 5 доступа к данным. Битовые поля слова состояния (как ключа ассоциативного поиска), операнда и строба передачи поступают соответственно на входы 112-3, 112-5 и 112-4 ассоциативной памяти 109. The bits of the functional fields and the transmission gate are transmitted from the outputs 69 and 67 of the switch to the inputs 45 and 39 of the data access unit 5. The bit fields of the status word (as an associative search key), the operand, and the transmission strobe are respectively supplied to the inputs 112-3, 112-5, and 112-4 of the associative memory 109.

Битовые поля слова состояния также поступают на информационный вход регистра 108. Строб передачи из входа 39 блока 5 доступа к данным поступает на управляющий вход регистра 108. Bit fields of the status word also go to the information input of the register 108. The transmission gate from the input 39 of the data access unit 5 is fed to the control input of the register 108.

Полупакет, к которому не найдена пара, остается в ассоциативной памяти 109. Если соответствующая пара операнда найдена, то на выходах 113-1 и 113-3 формируются битовые поля первого и второго операндов. Эти битовые поля передаются вместе с битовыми полями слова состояния из выхода регистра 108 на вторые информационные входы 110-4 и 111-4 буферов 106 и 107 соответственно. Строб передачи передается из выхода 113-2 ассоциативной памяти 109 на входы 110-6 и 111-6 буферов 106 и 107 соответственно. A half-packet to which no pair has been found remains in associative memory 109. If a corresponding operand pair is found, then bit fields of the first and second operands are generated at outputs 113-1 and 113-3. These bit fields are transmitted together with the bit fields of the status word from the output of the register 108 to the second information inputs 110-4 and 111-4 of the buffers 106 and 107, respectively. A transmission gate is transmitted from the output 113-2 of the associative memory 109 to the inputs 110-6 and 111-6 of the buffers 106 and 107, respectively.

Если результирующий пакет представляет собой пакет операндов основной программы, то биты его функционального поля принимаются на регистре 120-2 буфера 106, а на выходе 121-9 управляющего устройства 118 формируется соответствующий управляющий сигнал приема. If the resulting packet is a package of operands of the main program, then the bits of its functional field are received on the register 120-2 of the buffer 106, and at the output 121-9 of the control device 118, a corresponding receive control signal is generated.

Битовые поля пакета передаются из выхода регистра 120-2 на второй информационный вход переключателя 115, а соответствующий управляющий сигнал переключения передается из выхода элемента 116-1 "И" на соответствующий управляющий вход переключателя 115. Переключатель 115 передает битовые поля на первый выход переключателя 115, который выполняет функцию строба передачи, который в конечном счете образуется на выходе элемента 114-1 "ИЛИ". The bit fields of the packet are transmitted from the output of the register 120-2 to the second information input of the switch 115, and the corresponding switching control signal is transmitted from the output of the element 116-1 "AND" to the corresponding control input of the switch 115. The switch 115 transmits the bit fields to the first output of the switch 115, which performs the function of a transmission gate, which is ultimately formed at the output of the OR element 114-1.

Если блок 74 выходного регистра центрального процессора 1 свободен, то вся информация из выхода переключателя 115 буфера 106 передается в центральный процессор 1 и цикл обработки данных повторяется. If the block 74 of the output register of the central processor 1 is free, then all the information from the output of the switch 115 of the buffer 106 is transmitted to the central processor 1 and the data processing cycle is repeated.

Если блок 74 центрального процессора 1 занят, то из выхода 21 центрального процессора 1 через вход 41 блока 5 доступа к данным на вход 110-1 буфера 106 передается сигнал блокировки передачи. После этого сигнал передается из входа 110-1 на вход 123-2 управляющего устройства 118 и на вход элемента 114-5 "ИЛИ". На выходе элемента 114-5 "ИЛИ" формируется управляющий сигнал, который передается на пятый управляющий вход переключателя 115. Информация из второго информационного входа переключателя 115 передается через второй выход переключателя 115 и затем, сопровождаемый сигналом записи из выхода 121-11 управляющего устройства 118, передается на вход блока 117 запоминающего регистра. Запись информации будет сделана в блоке 117 перед выведением сигнала блокировки из выхода 21 центрального процессора 1. При отсутствии информации в регистрах 120-1 и 120-2 и на четвертом информационном выходе переключателя 115 выведение сигнала блокировки приводит к передаче битов пакета из блока 117 через третий информационный вход переключателя 115 и соответствующие выход буфера 106 и выход 50 блока 5 доступа к данным на вход 18 центрального процессора 1. If the unit 74 of the central processor 1 is busy, then from the output 21 of the central processor 1 through the input 41 of the data access unit 5 to the input 110-1 of the buffer 106 is transmitted a transmission blocking signal. After that, the signal is transmitted from input 110-1 to input 123-2 of control device 118 and to the input of OR element 114-5. At the output of the OR element 114-5, a control signal is generated, which is transmitted to the fifth control input of the switch 115. Information from the second information input of the switch 115 is transmitted through the second output of the switch 115 and then, accompanied by a write signal from the output 121-11 of the control device 118, transmitted to the input of block 117 of the storage register. Information will be recorded in block 117 before the output of the lock signal from the output 21 of the central processor 1. If there is no information in the registers 120-1 and 120-2 and at the fourth information output of the switch 115, the output of the lock signal leads to the transmission of bits of the packet from block 117 through the third the information input of the switch 115 and the corresponding output of the buffer 106 and the output 50 of the data access unit 5 to the input 18 of the Central processor 1.

Если пакет, сформированный на выходе регистра 108 и выходах 113-1 и 113-2 ассоциативной памяти 109, является начальным пакетом локальной программы, указанной фрагментом F, то биты его функциональных полей принимаются буфером 107. If the packet generated at the output of register 108 and outputs 113-1 and 113-2 of associative memory 109 is the initial local program packet indicated by fragment F, then the bits of its functional fields are received by buffer 107.

В других случаях передача начального пакета фрагмента F на вход 30 процессора 6 программы фрагмента осуществляется аналогично вышеуказанной передаче пакетов операндов через буфер 106. In other cases, the transfer of the initial packet of the fragment F to the input 30 of the processor 6 of the fragment program is carried out similarly to the above transmission of the operand packets through the buffer 106.

Биты функциональных полей начального пакета фрагмента и строба передачи, сформированные соответственно на выходах 54 и 53 блока 5 доступа к данным, поступают соответственно на входы 30 и 29 процессора 6 программы фрагмента. В противоположность центральному процессору 1, где после выполнения каждого пакета осуществляется доступ к ассоциативной памяти 109, в процессоре 6 программы фрагмента осуществляется выполнение отмеченных фрагментов (частей) основной программы и конечные результаты передаются в ассоциативную память. The bits of the functional fields of the initial packet of the fragment and the transmission gate, generated respectively at the outputs 54 and 53 of the data access unit 5, are received respectively at the inputs 30 and 29 of the processor 6 of the fragment program. In contrast to the central processor 1, where after the execution of each packet, access to the associative memory 109 is performed, in the processor 6 of the fragment program, the marked fragments (parts) of the main program are executed and the final results are transferred to the associative memory.

В начале загрузки компьютера осуществляется загрузка программ (соответствующих принципам обработки фон Неймана) через первый информационный вход 10. At the beginning of computer loading, programs (corresponding to the von Neumann processing principles) are loaded through the first information input 10.

В этом случае и команды и данные поступают через вход 27 процессора 6 программы фрагмента, откуда они передаются на вход 143 блока регистра загрузки. In this case, both the commands and the data are received through the input 27 of the processor 6 of the fragment program, from where they are transmitted to the input 143 of the load register block.

Биты функциональных полей команд (соответствующие системе команд исполнительного блока 130) и данных передаются из выхода 145 блока 132 на информационный вход 135 блока 130. Передача из выхода 145 на вход 135 сопровождается передачей соответствующих сигналов прерывания и готовности из выходов 144-1 и 144-2 блока 132 на входы 134-2 и 134-3, соответственно, блока 130. The bits of the functional fields of the commands (corresponding to the command system of the executive unit 130) and data are transmitted from the output 145 of the block 132 to the information input 135 of the block 130. The transmission from the output 145 to the input 135 is accompanied by the transmission of the corresponding interrupt and ready signals from the outputs 144-1 and 144-2 block 132 to the inputs 134-2 and 134-3, respectively, of block 130.

Через шину 152 обмена под управлением микропроцессора 150 в оперативную память 151 осуществляется загрузка команд и данных фрагментов рабочих программ. Through the bus 152 exchange under the control of the microprocessor 150 in the RAM 151 is the loading of commands and data fragments of work programs.

При поступлении начальных пакетов фрагмента на вход 147 блока 133 и соответствующего строба передачи на вход 146-5 блока 133 операнды принимаются регистрами 160 и 161, а поле F слова состояния принимается регистром 164. Наличие строба передачи на входе 146-5 подготавливает к работе триггер 165 и на выходе 148-2 формируется сигнал прерывания. Сигнал прерывания поступает на вход 134-2 блока 130 вместе с битовым полем, которое поступает на информационный вход 135 блока 130 из выхода 149 блока 133. Битовое поле на выходе 149 принимается из регистра 164 под управлением выхода сигнала "считывания" из триггера 165. Микропроцессор 150 "идентифицирует" битовое поле, передаваемое через шину 152 обмена из входа 135 блока 130, и обеспечивает выход группы управляющих сигналов на выходах 137-1, 137-2, 137-3 и 137-4. Эта группа управляющих сигналов передается на входы 146-2, 146-2, 146-4 и 146-6 блока 133, где через выход 149 на информационном входе 135 блока 130 формируются соответствующие сигналы последовательного считывания и передачи данных из регистров 160 и 161. Микропроцессор 150 в соответствии с номером и параметрами фрагмента F начинает соответствующее выполнение программы. Завершение выполнения программы сопровождается прерыванием микропроцессора 150. Благодаря такому прерыванию микропроцессор 150 формирует "вектор выхода", который соответствует текущему номеру, присвоенному регистру 159 блока 131. "Вектор выхода" передается через шину 152 обмена и выход 136 на вход 139 блока 131. Передача "вектора выхода" сопровождается передачей управляющего сигнала из выхода 137-5 блока 130 на вход 138-7 блока 131. Информация записывается в регистр 159. Информация из регистра 159 передается на вход декодера 157-1. На выходе декодера 157-1 формируется сигнал прерывания и передается через выход 140-1 на вход 134-2 блока 130. При приеме микропроцессором 150 сигнала прерывания формируется группа управляющих сигналов, которая передается через выходы 137-1...137-4 блока 130 на входы 138-3... 138-6 блока 131. Сигналы, принимаемые на входах 138-3...138-6, управляют приемом (на входах регистров 153 и 154) битовых полей, которые образуются в результате обработки фрагмента F. Битовые поля, принимаемые на входах регистров 153 и 154, передаются из выхода 136 блока 130 через вход 139 блока 131. Upon receipt of the initial packets of the fragment at the input 147 of the block 133 and the corresponding transmission gate to the input 146-5 of the block 133, the operands are received by the registers 160 and 161, and the field F of the status word is received by the register 164. The presence of the transmission gate at the input 146-5 prepares the trigger 165 and an interrupt signal is generated at the output 148-2. The interrupt signal arrives at input 134-2 of block 130 together with a bit field that enters information input 135 of block 130 from output 149 of block 133. The bit field at output 149 is received from register 164 under the control of the output of the read signal from trigger 165. Microprocessor 150 "identifies" the bit field transmitted through the exchange bus 152 from the input 135 of block 130, and provides the output of a group of control signals at outputs 137-1, 137-2, 137-3, and 137-4. This group of control signals is transmitted to the inputs 146-2, 146-2, 146-4 and 146-6 of the block 133, where the corresponding signals of sequential reading and transmission of data from the registers 160 and 161 are generated through the output 149 at the information input 135 of the block 130. Microprocessor 150 in accordance with the number and parameters of the fragment F starts the corresponding execution of the program. The completion of the program is accompanied by the interruption of the microprocessor 150. Due to this interruption, the microprocessor 150 generates an "output vector" that corresponds to the current number assigned to the register 159 of block 131. The "exit vector" is transmitted via the exchange bus 152 and the output 136 to the input 139 of block 131. Transfer " of the output vector "is accompanied by the transfer of the control signal from the output 137-5 of the block 130 to the input 138-7 of the block 131. Information is recorded in the register 159. Information from the register 159 is transmitted to the input of the decoder 157-1. At the output of decoder 157-1, an interrupt signal is generated and transmitted through output 140-1 to input 134-2 of block 130. When the microprocessor 150 receives the interrupt signal, a group of control signals is generated, which is transmitted through outputs 137-1 ... 137-4 of block 130 to inputs 138-3 ... 138-6 of block 131. The signals received at inputs 138-3 ... 138-6 control the reception (at the inputs of registers 153 and 154) of bit fields that are generated as a result of processing fragment F. The bit fields received at the inputs of the registers 153 and 154 are transmitted from the output 136 of the block 130 through the input 139 of the block 131.

Формат данных в регистрах 153 и 154 соответствует формату полупакета, получаемому в результате выполнения команд центральным процессором 1. То есть формат результатов обработки процессором программы фрагмента и формат результатов обработки центральным процессором одинаковы и результаты обработки этими двумя устройствами могут быть скомбинированы в ассоциативной памяти (или где-либо еще в зависимости от конкретной конфигурации системы). The data format in registers 153 and 154 corresponds to the half-packet format obtained as a result of the execution of instructions by the central processor 1. That is, the format of the results of processing the fragment program by the processor and the format of the results of processing by the central processor are the same and the results of processing by these two devices can be combined in associative memory (or where or else depending on the specific configuration of the system).

Строб передачи формируется на выходе 140-3 блока 131 и передается на выход 32 процессора 6 программы фрагмента. Строб передачи передается из выхода 32 на вход 63 переключателя 2. Функциональные битовые поля полупакета, которые образуются в результате выполнения программы фрагмента, передаются из выхода 33 процессора 6 на вход 66 переключателя 2. A transmission gate is formed at the output 140-3 of the block 131 and transmitted to the output 32 of the processor 6 of the fragment program. The transmission gate is transmitted from the output 32 to the input 63 of the switch 2. The functional bit fields of the half-packet that are formed as a result of the fragment program are transmitted from the output 33 of the processor 6 to the input 66 of the switch 2.

Битовые поля полупакета передаются из выхода 69 переключателя 2 на вход блока 5 доступа к данным. Результаты выполнения программы фрагмента и выполнения основной программы комбинируются посредством общего поля. The bit fields of the half-packet are transmitted from the output 69 of the switch 2 to the input of the data access unit 5. The results of the fragment program execution and the execution of the main program are combined by means of a common field.

Таким образом, введение в систему процессора программы фрагмента и организация соответствующих связей уменьшают количество данных, хранимых в ассоциативной памяти. Thus, the introduction of a fragment program into the processor system and the organization of corresponding links reduce the amount of data stored in associative memory.

Уменьшение объема ассоциативной памяти повышает скорость ее обмена и увеличивает быстродействие в процессе выполнения основных рабочих программ при использовании управления потоком данных вычисления. Reducing the amount of associative memory increases the speed of its exchange and increases the speed in the process of execution of the main work programs when using the flow control of calculation data.

Claims (2)

1. Система обработки информации, содержащая центральный процессор 1, переключатель 2 ввода-вывода, переключатель 3 загрузки команд, память 4 для хранения команд, блок 5 доступа к данным, первый информационный выход 7, второй информационный выход 8, обнуляющий вход 9, первый информационный вход 10 и второй информационный вход 11, причем первый управляющий выход 19 центрального процессора 1 соединен с первым управляющим входом 61 переключателя 2 ввода-вывода, первый управляющий выход 67 переключателя 2 ввода-вывода соединен с первым управляющим входом 39 блока 5 доступа к данным, первый информационный вход 45 блока 5 доступа к данным соединен с информационным выходом 69 переключателя 2 ввода-вывода, адресный вход 36 памяти 4 для хранения команд соединен с информационным выходом 60 переключателя 3 загрузки команд, первый управляющий вход 57 переключателя 3 загрузки команд соединен со вторым управляющим выходом 20 центрального процессора 1, первый информационный выход 23 центрального процессора 1 соединен с первым информационным входом 55 переключателя 3 загрузки команд, второй информационный выход 24 центрального процессора 1 соединен с первым информационным входом 65 переключателя 2 ввода-вывода, третий информационный выход 25 центрального процессора 1 соединен с первым информационным выходом 7 системы, обнуляющий вход 44 блока 5 доступа к данным соединен с обнуляющим входом 9 системы, информационный вход 35 памяти 4 для хранения команд соединен с первым информационным входом 10 системы, второй информационный вход 56 переключателя 3 загрузки команд соединен с первым информационным входом 10 системы, процессор 6 программы фрагмента, причем первый управляющий выход 31 процессора 6 программы фрагмента соединен со вторым управляющим входом 40 блока 5 доступа к данным, первый управляющий выход 48 блока 5 доступа к данным соединен со вторым управляющим входом 62 переключателя 2 ввода-вывода, второй управляющий выход 68 переключателя 2 ввода-вывода соединен с первым управляющим входом 12 центрального процессора 1 и с первым управляющим входом 26 процессора 6 программы фрагмента, второй управляющий выход 32 процессора 6 программы фрагмента соединен с третьим управляющим входом 63 переключателя 2 ввода-вывода, второй информационный вход 66 переключателя 2 ввода-вывода соединен с информационным выходом 33 процессора 6 программы фрагмента, второй управляющий выход 49 блока 5 доступа к данным соединен со вторым управляющим входом 13 центрального процессора 1, первый информационный вход 14 центрального процессора 1 соединен с информационным выходом 37 памяти 4 для хранения команд, управляющий вход 34 памяти 4 для хранения команд соединен с управляющим выходом 59 переключателя 3 загрузки команд, второй управляющий вход 58 переключателя 3 загрузки команд и первый информационный вход 27 процессора 6 программы фрагмента соединены с первым информационным входом 10 системы, управляющий выход 38 памяти 4 для хранения команд соединен с третьим управляющим входом 15 центрального процессора 1, третий управляющий выход 21 центрального процессора 1 соединен с третьим управляющим входом 41 блока 5 доступа к данным, второй информационный вход 46 блока 5 доступа к данным соединен со вторым информационным входом 11 системы, обнуляющий вход 9 системы соединен со вторым управляющим входом 28 процессора 6 программы фрагмента, с четвертым управляющим входом 42 блока 5 доступа к данным, с четвертым управляющим входом 64 переключателя 2 ввода-вывода и с четвертым управляющим входом 16 центрального процессора 1, четвертый управляющий выход 22 центрального процессора 1 соединен с пятым управляющим входом 43 блока 5 доступа к данным, третий информационный вход 47 блока 5 доступа к данным соединен со вторым информационным выходом 24 центрального процессора 1, пятый управляющий вход 17 центрального процессора 1 соединен с третьим управляющим выходом 52 блока 5 доступа к данным, первый информационный выход 50 блока 5 доступа к данным соединен со вторым информационным входом 18 центрального процессора 1, второй информационный выход 51 блока 5 доступа к данным соединен со вторым информационным выходом 8 системы, третий управляющий вход 29 процессора 6 программы фрагмента соединен с четвертым управляющим выходом 53 блока 5 доступа к данным и третий информационный выход 54 блока 5 доступа к данным соединен со вторым информационным входом 30 процессора 6 программы фрагмента. 1. An information processing system comprising a central processor 1, an input / output switch 2, a command loading switch 3, a memory 4 for storing commands, a data access unit 5, a first information output 7, a second information output 8, resetting input 9, the first information an input 10 and a second information input 11, the first control output 19 of the central processor 1 being connected to the first control input 61 of the input / output switch 2, the first control output 67 of the input / output switch 2 connected to the first control input 39 of the data access unit 5, the first information input 45 of the data access unit 5 is connected to the information output 69 of the input / output switch 2, the address input 36 of the memory 4 for storing commands is connected to the information output 60 of the command loading switch 3, the first control input 57 of the switch 3, the command download is connected to the second control output 20 of the central processor 1, the first information output 23 of the central processor 1 is connected to the first information input 55 of the command download switch 3, the second information output d 24 of the central processor 1 is connected to the first information input 65 of the input-output switch 2, the third information output 25 of the central processor 1 is connected to the first information output 7 of the system, the resetting input 44 of the data access unit 5 is connected to the resetting input 9 of the system, the information input 35 memory 4 for storing commands is connected to the first information input 10 of the system, the second information input 56 of the switch 3 download commands connected to the first information input 10 of the system, the processor 6 of the program fragment, and the first control output 31 of the fragment program processor 6 is connected to the second control input 40 of the data access unit 5, the first control output 48 of the data access unit 5 is connected to the second control input 62 of the input / output switch 2, the second control output 68 of the input / output switch 2 connected to the first control input 12 of the central processor 1 and to the first control input 26 of the fragment program processor 6, the second control output 32 of the fragment program processor 6 is connected to the third switch control input 63 Filling I / O 2, the second information input 66 of the I / O switch 2 is connected to the information output 33 of the fragment program processor 6, the second control output 49 of the data access unit 5 is connected to the second control input 13 of the central processor 1, the first information input 14 of the central processor 1 is connected to the information output 37 of the memory 4 for storing commands, the control input 34 of the memory 4 for storing commands is connected to the control output 59 of the switch 3 command download, the second control input 58 of the switch 3 command loads and the first information input 27 of the fragment program processor 6 are connected to the first information input of the system 10, the control output 38 of the memory 4 for storing commands is connected to the third control input 15 of the central processor 1, the third control output 21 of the central processor 1 is connected to the third control input 41 block 5 access to data, the second information input 46 of block 5 data access is connected to the second information input 11 of the system, zeroing input 9 of the system is connected to the second control input 28 of the process and 6 of the fragment program, with the fourth control input 42 of the data access unit 5, with the fourth control input 64 of the input / output switch 2 and with the fourth control input 16 of the central processor 1, the fourth control output 22 of the central processor 1 is connected to the fifth control input 43 of the block 5 data access, the third information input 47 of the data access unit 5 is connected to the second information output 24 of the Central processor 1, the fifth control input 17 of the Central processor 1 is connected to the third control output 52 bl OK 5 data access, the first information output 50 of the data access unit 5 is connected to the second information input 18 of the central processor 1, the second information output 51 of the data access unit 5 is connected to the second information output 8 of the system, the third control input 29 of the processor 6 of the fragment program connected to the fourth control output 53 of the data access unit 5 and the third information output 54 of the data access unit 5 is connected to the second information input 30 of the fragment program processor 6. 2. Система по п. 1, отличающаяся тем, что процессор 6 программы фрагмента содержит исполнительный блок 130, блок 131 выходного регистра, блок 132 регистра загрузки и блок 133 входного регистра, причем информационный выход 136 исполнительного блока 130 соединен с информационным входом 139 блока 131 выходного регистра, первый управляющий вход 138-1 блока 131 выходного регистра соединен с первым управляющим входом 26 процессора 6 программы фрагмента, второй управляющий вход 28 процессора 6 программы фрагмента соединен с первым управляющим входом 134-1 исполнительного блока 130, со вторым управляющим входом 138-2 блока 131 выходного регистра, с первым управляющим входом 142-1 блока 132 регистра загрузки и с первым управляющим входом 146-1 блока 133 входного регистра, первый управляющий выход 148-1 блока 133 входного регистра соединен с первым управляющим выходом 31 процессора 6 программы фрагмента, первый информационный вход 27 процессора 6 программы фрагмента соединен с информационным входом 143 блока 132 регистра загрузки, информационный выход 145 блока 132 регистра загрузки и информационный выход 149 блока 133 входного регистра соединены с информационным входом 135 исполнительного блока 130, второй управляющий вход 134-2 исполнительного блока 130 соединен с первым управляющим выходом 140-1 блока 131 выходного регистра, с первым управляющим выходом 144-1 блока 132 регистра загрузки и со вторым управляющим выходом 148-2 блока 133 входного регистра, третий управляющий выход 148-3 блока 133 входного регистра и второй управляющий выход 140-2 блока 131 выходного регистра соединены с третьим управляющим входом 134-3 исполнительного блока 130, первый управляющий выход 137-1 исполнительного блока 130 соединен со вторым управляющим входом 142-2 блока 132 регистра загрузки, со вторым управляющим входом 146-2 блока 133 входного регистра и с третьим управляющим входом 138-3 блока 131 выходного регистра, третий управляющий выход 140-3 блока 131 выходного регистра соединен со вторым управляющим выходом 32 процессора 6 программы фрагмента, второй информационный вход 30 процессора 6 программы фрагмента соединен с информационным входом 147 блока 133 входного регистра, третий управляющий вход 146-3 блока 133 входного регистра, третий управляющий вход 142-3 блока 132 регистра загрузки и четвертый управляющий вход 138-4 блока 131 выходного регистра соединены со вторым управляющим выходом 137-2 исполнительного блока 130, третий управляющий выход 137-3 исполнительного блока 130 соединен с четвертым управляющим входом 146-4 блока 133 входного регистра, с четвертым управляющим входом 142-4 блока 132 регистра загрузки и с пятым управляющим входом 138-5 блока 131 выходного регистра, информационный выход 141 блока 131 выходного регистра соединен с информационным выходом 33 процессора 6 программы фрагмента, третий управляющий вход 29 процессора 6 программы фрагмента соединен с пятым управляющим входом 146-5 блока 133 входного регистра, шестой управляющий вход 146-6 блока 133 входного регистра, пятый управляющий вход 142-5 блока 132 регистра загрузки и шестой управляющий вход 138-6 блока 131 выходного регистра соединены с четвертым управляющим выходом 137-4 исполнительного блока 130, а пятый управляющий выход 137-5 исполнительного блока 130 соединен с седьмым управляющим входом 138-7 блока 131 выходного регистра. 2. The system according to claim 1, characterized in that the fragment program processor 6 comprises an execution unit 130, an output register unit 131, a load register unit 132 and an input register unit 133, the information output 136 of the execution unit 130 being connected to the information input 139 of the unit 131 output register, the first control input 138-1 of the output register block 131 is connected to the first control input 26 of the fragment program processor 6, the second control input 28 of the fragment program processor 6 is connected to the first control input 134-1 executor block 130, with a second control input 138-2 of the output register block 131, with a first control input 142-1 of the load register block 132 and with a first control input 146-1 of the input register block 133, a first control output 148-1 of the input register block 133 connected to the first control output 31 of the fragment program processor 6, the first information input 27 of the fragment program processor 6 is connected to the information input 143 of the load register block 132, the information output 145 of the load register block 132 and the information output 149 of the input re block 133 the histories are connected to the information input 135 of the executive unit 130, the second control input 134-2 of the executive unit 130 is connected to the first control output 140-1 of the output register unit 131, with the first control output 144-1 of the load register unit 132 and with the second control output 148- 2 input register blocks 133, a third control output 148-3 of the input register block 133 and a second control output 140-2 of the output register block 131 are connected to a third control input 134-3 of the executive block 130, the first control output 137-1 of the executive b OKA 130 is connected to the second control input 142-2 of the load register block 132, to the second control input 146-2 of the input register block 133 and to the third control input 138-3 of the output register block 131, the third control output 140-3 of the output register block 131 is connected with the second control output 32 of the fragment program processor 6, the second information input 30 of the fragment program processor 6 is connected to the information input 147 of the input register block 133, the third control input 146-3 of the input register block 133, the third control input 142-3 of block 1 32 load registers and the fourth control input 138-4 of the output register unit 131 are connected to the second control output 137-2 of the executive unit 130, the third control output 137-3 of the executive unit 130 is connected to the fourth control input 146-4 of the input register unit 133, with a fourth the control input 142-4 of the load register block 132 and with the fifth control input 138-5 of the output register block 131, the information output 141 of the output register block 131 is connected to the information output 33 of the fragment program processor 6, the third control input 2 9, the fragment program processor 6 is connected to the fifth control input 146-5 of the input register block 133, the sixth control input 146-6 of the input register block 133, the fifth control input 142-5 of the load register block 132 and the sixth control input 138-6 of the output register block 131 connected to the fourth control output 137-4 of the Executive block 130, and the fifth control output 137-5 of the Executive block 130 is connected to the seventh control input 138-7 of the block 131 of the output register.
RU2000106032A 1997-08-06 1998-08-06 Computer RU2216033C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2000106032A RU2216033C2 (en) 1997-08-06 1998-08-06 Computer

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
RU97113129A RU2130198C1 (en) 1997-08-06 1997-08-06 Computer
RU97113129 1997-08-06
RU2000106032A RU2216033C2 (en) 1997-08-06 1998-08-06 Computer

Publications (2)

Publication Number Publication Date
RU2000106032A RU2000106032A (en) 2002-08-20
RU2216033C2 true RU2216033C2 (en) 2003-11-10

Family

ID=32033028

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2000106032A RU2216033C2 (en) 1997-08-06 1998-08-06 Computer

Country Status (1)

Country Link
RU (1) RU2216033C2 (en)

Similar Documents

Publication Publication Date Title
CA1184311A (en) Peripheral interface adapter circuit for use in i/o controller card having multiple modes of operation
US4694391A (en) Compressed control decoder for microprocessor system
US3593306A (en) Apparatus for reducing memory fetches in program loops
US3943494A (en) Distributed execution processor
JPH04245540A (en) Computer system for efficiently executing program having conditional branch
US3094610A (en) Electronic computers
US3675214A (en) Processor servicing external devices, real and simulated
WO1989012300A1 (en) Pipelined "best match" content addressable memory
WO1983001133A1 (en) Microprocessor with memory having interleaved address inputs and interleaved instruction and data outputs
IE53180B1 (en) Stored-program control machine and structures therefor
US4460972A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
JPH03116323A (en) Classification accelerating apparatus using rebound sorting apparatus as integrated apparatus
JPS63129425A (en) Data processor
US9899088B1 (en) Content addressable memory decomposition
WO2008133980A2 (en) System and method for multi-port read and write operations
JPS63155336A (en) Data processor
JPS58105366A (en) Microcomputer having debug function
RU2216033C2 (en) Computer
RU2130198C1 (en) Computer
JPS6142031A (en) Sorting processor
JPH03129521A (en) Stabilizing sorting of sorting accelerator
EP0012242B1 (en) Digital data processor for word and character oriented processing
EP0448127B1 (en) Microprogram sequence controller
EP0020972B1 (en) Program controlled microprocessing apparatus
US7043417B1 (en) High speed software driven emulator comprised of a plurality of emulation processors with improved multiplexed data memory

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20070807