RU2179333C1 - Synergistic computer system - Google Patents

Synergistic computer system Download PDF

Info

Publication number
RU2179333C1
RU2179333C1 RU2000114808/09A RU2000114808A RU2179333C1 RU 2179333 C1 RU2179333 C1 RU 2179333C1 RU 2000114808/09 A RU2000114808/09 A RU 2000114808/09A RU 2000114808 A RU2000114808 A RU 2000114808A RU 2179333 C1 RU2179333 C1 RU 2179333C1
Authority
RU
Russia
Prior art keywords
input
information
output
address
command
Prior art date
Application number
RU2000114808/09A
Other languages
Russian (ru)
Inventor
Н.В. Стрельцов (RU)
Н.В. Стрельцов
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
Application filed by Синерджестик Компьютинг Системс АпС filed Critical Синерджестик Компьютинг Системс АпС
Priority to RU2000114808/09A priority Critical patent/RU2179333C1/en
Priority to AU2001273873A priority patent/AU2001273873A1/en
Priority to JP2002511190A priority patent/JP2004503872A/en
Priority to PCT/DK2001/000393 priority patent/WO2001097054A2/en
Priority to AU69645/01A priority patent/AU6964501A/en
Priority to US10/296,461 priority patent/US20030172248A1/en
Priority to PCT/RU2001/000235 priority patent/WO2001097055A1/en
Priority to EP01940232A priority patent/EP1299811A2/en
Application granted granted Critical
Publication of RU2179333C1 publication Critical patent/RU2179333C1/en

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

FIELD: computer engineering; high-capacity computer systems. SUBSTANCE: system designed for solving problems whose algorithms admit multisequencing at command level has N functional units and "each-with-each" switch; each functional unit has control device, command memory device, and operating device; the latter has input/output device and/or arithmetic-logic device, and/or data memory device. EFFECT: enhanced capacity of computer system. 4 dwg, 1 tbl

Description

Изобретение относится к вычислительной технике и может быть использовано при построении высокопроизводительных вычислительных систем для решения задач, алгоритмы которых допускают распараллеливания на уровне команд. The invention relates to computer technology and can be used in the construction of high-performance computing systems to solve problems whose algorithms allow parallelization at the command level.

Известно устройство, микропроцессор IA-64 (см. Шахнович И. Век нынешний и век грядущий. - ж. Электроника: Наука, технология, бизнес, N 6, 1999, стр. 8 - 11), реализующее параллелизм на командном уровне с использованием концепции "длинного командного слова". Устройство состоит из кэш-памяти команд 1-го уровня, кэш-памяти данных 1-го уровня, общей кэш-памяти 2-го и 3-го уровней, устройства управления, файла специализированных регистров: целочисленных, с плавающей запятой, ветвления и предикатов, группы функциональных устройств четырех типов: четыре устройства целочисленной арифметики, два устройства операций с плавающей запятой, три устройства ветвления, одно устройство доступа к памяти данных. Управление функциональными устройствами осуществляется централизованно с использованием длинных командных слов фиксированного размера, каждое из которых содержит три простые команды, определяющие операции трех различных функциональных устройств. Последовательность выполнения простых команд в слове, а также зависимость между словами определяется полем маски, находящимся в слове. A device is known, the microprocessor IA-64 (see Shakhnovich I. The present and the next century. - J. Electronics: Science, Technology, Business, N 6, 1999, pp. 8-11), which implements parallelism at the command level using the concept "long command word." The device consists of a cache of instructions of the 1st level, a cache of data of the 1st level, a common cache of the 2nd and 3rd levels, a control device, a file of specialized registers: integers, floating point, branching and predicates There are four types of functional device groups: four integer arithmetic devices, two floating point operations devices, three branch devices, one data memory access device. Functional devices are managed centrally using long command words of a fixed size, each of which contains three simple commands that define the operations of three different functional devices. The sequence of simple commands in the word, as well as the relationship between words, is determined by the mask field in the word.

Недостатками данного устройства являются:
дополнительные расходы памяти под программный код, вызываемые фиксированным размером командного слова;
неоптимальное использование функциональных устройств и, как следствие, снижение производительности из-за несбалансированности количества функциональных устройств и количества простых команд в командном слове, специализации функциональных устройств и регистров, несоответствия пропускной способности функционального устройства памяти (максимум одно число за такт) возможностям функциональных устройств целочисленных операций и операций с плавающей запятой.
The disadvantages of this device are:
additional memory costs for program code caused by a fixed size of the control word;
suboptimal use of functional devices and, as a result, reduced performance due to an imbalance in the number of functional devices and the number of simple commands in a command word, specialization of functional devices and registers, mismatch in the capacity of a functional memory device (maximum one number per clock) with the capabilities of functional devices of integer operations and floating point operations.

Известно также устройство, микропроцессор E2K (см. Кузьминский М. Отечественные микропроцессоры: Elbrus 2K - ж. Открытые системы, N 5-6, 1999, стр. 8 - 13), использующее эту же концепцию "длинного командного слова" для реализации параллелизма. Устройство состоит из кэш-памяти 1-го уровня, кэш-памяти данных 1-го уровня, общей кэш-памяти 2-го уровня, буфера предварительной подкачки, устройства управления, файла универсальных регистров и группы однотипных функциональных устройств, построенных на базе арифметико-логических устройств (АЛУ) и объединенных в два кластера. Длина командного слова, управляющего работой функциональных устройств, переменная. A device is also known, the E2K microprocessor (see Kuzminsky M. Domestic microprocessors: Elbrus 2K - Open Systems, N 5-6, 1999, pp. 8–13), using the same concept of a “long command word” to implement parallelism. The device consists of a cache of the 1st level, a cache of data of the 1st level, a general cache of the 2nd level, a pre-paging buffer, a control device, a file of universal registers and a group of similar functional devices based on arithmetic logical devices (ALU) and combined into two clusters. The length of the command word that controls the operation of functional devices is variable.

К недостаткам данного устройства можно отнести снижение производительности устройства при дозагрузке кэш-памяти команд 1-го уровня из-за несоответствия скорости выборки команд и скорости его заполнения, а также при широком использовании данных, находящихся в общей кэш-памяти 2-го уровня и/или оперативной памяти. The disadvantages of this device include a decrease in device performance when reloading the cache of level 1 commands due to a mismatch between the speed of fetching commands and the speed of filling it, as well as the widespread use of data in the shared cache of level 2 and / or RAM.

Наиболее близкой, по технической сущности и достигаемому результату к заявленному устройству, является электронно-вычислительная машина QA-2 (Компьютеры на СБИС, Кн. 1, Пер. с япон. Мотоска Т., Томита С., Танака Х. и др. - М. : Мир, 1988, стр. 65-66, 155 - 158 - прототип). Данное устройство состоит из устройства управления, блока коллективных специализированных регистров, сети коммутации, N однотипных функциональных устройств (в описываемой конкретной реализации прототипа N = 4), построенных на базе универсальных арифметико-логических устройств. Сеть коммутации реализована по принципу "каждый с каждым", имеет N входов, 2N выходов и обеспечивает непосредственное соединение выхода любого арифметико-логического устройства с входами других арифметико-логических устройств. The closest, in technical essence and the achieved result to the claimed device, is the electronic computer QA-2 (Computers on VLSI, Book. 1, Trans. From Japanese. Motoska T., Tomita S., Tanaka H., etc. - M.: Mir, 1988, pp. 65-66, 155 - 158 - prototype). This device consists of a control device, a unit of collective specialized registers, a switching network, N similar functional devices (in the described specific implementation of the prototype N = 4), built on the basis of universal arithmetic-logic devices. The switching network is implemented on the principle of "each with each", has N inputs, 2N outputs and provides a direct connection of the output of any arithmetic-logic device with the inputs of other arithmetic-logic devices.

Управление устройством централизованное. Длинное командное слово, фиксированного размера, содержит четыре поля (простых команд) для управления арифметико-логическими устройствами, поле для обращения к четырем различным банкам основной памяти и поле для управления последовательностью выполнения простых команд. Простые команды содержат информацию о коде выполняемой операции, длине операндов, адресе регистров источников левого и правого операндов арифметико-логического устройства, адресе регистров - получателей. Device management is centralized. A long command word, of a fixed size, contains four fields (simple commands) for controlling arithmetic and logic devices, a field for accessing four different banks of the main memory, and a field for controlling the sequence of simple commands. Simple commands contain information about the code of the operation to be performed, the length of the operands, the address of the source registers of the left and right operands of the arithmetic logic device, and the address of the destination registers.

Недостатками известной ЭВМ являются следующие. Фиксированная длина командного слова приводит к неоптимальному использованию ресурсов памяти, а именно, поле присутствует в командном слове независимо от того, используется или не используется соответствующее ему арифметико-логическое устройство. Отсутствие возможности непосредственного приема арифметико-логическими устройствами данных, поступающих из памяти, так как данные должны быть предварительно занесены в блок коллективных регистров, приводит к снижению производительности устройства. The disadvantages of the known computers are as follows. A fixed length of the control word leads to non-optimal use of memory resources, namely, the field is present in the command word regardless of whether or not the corresponding arithmetic-logical device is used. The inability to directly receive data from the memory by arithmetic-logic devices, since the data must be pre-recorded in the collective register block, reduces the performance of the device.

Задача изобретения - повышение производительности вычислительной системы. The objective of the invention is to increase the performance of a computing system.

Поставленная задача решается тем, что в предложенной синергической вычислительной системе, содержащей N функциональных блоков, коммутатор "каждый с каждым", имеющий N информационных входов, 2N адресных входов и 2N информационных выходов, согласно изобретению каждый функциональный блок содержит устройство управления, устройство памяти команд и операционное устройство, реализующее двуместные и одноместные операции, а также имеет два информационных входа, два адресных выхода и один информационный выход. Первый информационный вход k-го функционального блока (k = 1, ..., N) соединен с (2k - 1)-м информационным выходом коммутатора, второй информационный вход соединен с 2k-м информационным выходом коммутатора, первый адресный выход соединен с (2k - 1)-м адресным входом коммутатора, второй адресный выход соединен с 2k-м адресным входом коммутатора, информационный выход k-го функционального блока соединен с k-м информационным входом коммутатора. The problem is solved in that in the proposed synergistic computer system containing N functional blocks, the switch "each with each", having N information inputs, 2N address inputs and 2N information outputs, according to the invention, each functional block contains a control device, a command memory device and an operating device that implements double and single operations, and also has two information inputs, two address outputs and one information output. The first information input of the k-th functional unit (k = 1, ..., N) is connected to the (2k - 1) -th information output of the switch, the second information input is connected to the 2k-m information output of the switch, the first address output is connected to ( 2k - 1) -th address input of the switch, the second address output is connected to the 2k-th address input of the switch, the information output of the k-th functional block is connected to the k-th information input of the switch.

Информационные входы функционального блока являются информационными входами устройства управления, адресные выходы функционального блока являются соответственно первым и вторым адресными выходами устройства управления, третий адресный выход устройства управления соединен с адресным входом устройства памяти команд, командный вход-выход устройства управления соединен с командным входом-выходом устройства памяти команд, управляющий выход устройства управления соединен с управляющим входом операционного устройства, первый и второй информационные выходы устройства управления соединены соответственно с первым и вторым информационными входами операционного устройства, информационный выход операционного устройства является информационным выходом функционального блока. The information inputs of the functional block are the information inputs of the control device, the address outputs of the functional block are the first and second address outputs of the control device, the third address output of the control device is connected to the address input of the command memory device, the command input / output of the control device is connected to the command input / output of the device command memory, the control output of the control device is connected to the control input of the operating device, the first and second the information outputs of the control device are connected respectively to the first and second information inputs of the operating device, the information output of the operating device is the information output of the functional unit.

Операционное устройство содержит устройство ввода-вывода и/или арифметико-логическое устройство и/или устройство памяти данных, причем первый информационный вход операционного устройства является информационным входом устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных, второй информационный вход операционного устройства является адресным входом устройства ввода-вывода и устройства памяти данных и вторым информационным входом арифметико-логического устройства, управляющий вход операционного устройства является управляющим входом устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных, информационный выход устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных является информационным выходом операционного устройства. The operating device comprises an input / output device and / or an arithmetic logic device and / or a data memory device, the first information input of the operating device being an information input of an input / output device, an arithmetic logic device and a data memory device, the second information input of the operating device is the address input of the input-output device and the data memory device and the second information input of the arithmetic logic device, the control input of the operating device tripod is the control input of the input-output device, the arithmetic-logical device and the data memory device, the information output of the input-output device, the arithmetic-logical device and the data memory device is the information output of the operating device.

Признаки в указанной взаимосвязи в процессе проведения поиска на новизну не обнаружены, являются существенными и в своей совокупности обеспечивают увеличение производительности системы. Достигается это следующим образом. Ввод в состав синергической вычислительной системы функциональных блоков, реализующих операции ввода-вывода и записи-чтения данных, подключение их к коммутатору таким же образом, как подключены другие блоки системы, позволяет исключить промежуточный информационный носитель в виде файла регистров и соответственно сократить время доступа к данным, а также увеличить, за счет перераспределения блоков внутри системы, поток данных, поступающих на обработку до объема, обеспечивающего максимально возможную загрузку функциональных блоков системы исходя из особенностей алгоритма решаемой задачи и аппаратных ограничений на количество функциональных блоков. Signs in the indicated relationship in the process of conducting a search for novelty were not found, are significant and, together, provide an increase in system performance. This is achieved as follows. Introducing functional blocks into the synergistic computing system that implement data input-output and write-read operations, connecting them to the switch in the same way that other system blocks are connected, eliminates the intermediate information medium in the form of a register file and, accordingly, reduces data access time and also increase, due to the redistribution of blocks within the system, the flow of data received for processing to a volume that ensures the maximum possible load of functional blocks of the system Topics algorithm based on the characteristics of the problem solved and hardware limitations on the number of functional blocks.

Децентрализация управления в синергической вычислительной системе и, как следствие, включение в структуру функциональных блоков устройства управления и устройства памяти команд, связанных указанным образом, а также распределенное управление коммутатором посредством адресных входов, подсоединенных к адресным выходам устройства управления, позволяет устранить задержки в вычислительном процессе, связанные с дозагрузкой программного кода. Это достигается тем, что в предлагаемой децентрализованной системе резко сокращается длина командного слова. Так, для системы состоящей из 16 функциональных блоков, длина командного слова для подавляющего большинства операций составит 16 разрядов, что в несколько раз меньше, чем длина простой команды у прототипа. Соответственно, исчезает необходимость в кэш-памяти команд. Требуемый темп поступления командных слов может быть реализован, например, методом параллельного доступа, обеспечивающего одновременное считывание последовательности командных слов. Decentralization of control in a synergistic computer system and, as a result, the inclusion in the structure of functional blocks of the control device and the memory device of commands connected in this way, as well as distributed control of the switch through address inputs connected to the address outputs of the control device, eliminates delays in the computing process, associated with reloading program code. This is achieved by the fact that in the proposed decentralized system, the length of the command word is sharply reduced. So, for a system consisting of 16 functional blocks, the length of the control word for the vast majority of operations will be 16 bits, which is several times less than the length of a simple command for the prototype. Accordingly, the need for instruction cache disappears. The required rate of receipt of the command words can be implemented, for example, by the parallel access method, providing simultaneous reading of the sequence of command words.

Дополнительно следует также отметить, что унификация внутрисистемных межблочных связей, а также возможность включения в систему разнообразных, по реализуемому набору операций, функциональных блоков, позволяет в условиях конкретного применения для специализированных систем оптимизировать объем аппаратного обеспечения в части габаритно-массовых характеристик и потребляемой мощности. In addition, it should be noted that the unification of intra-system inter-unit communications, as well as the possibility of including various functional blocks in the system according to the set of operations being implemented, makes it possible to optimize the volume of hardware in terms of specific applications for specialized systems in terms of overall mass characteristics and power consumption.

На фиг. 1 представлена структурная схема синергической вычислительной системы; на фиг. 2 - основные форматы командных слов; на фиг. 3 - информационный граф формулы (1) в ярусно-параллельной форме; на фиг. 4 - информационный граф формулы (2) в ярусно-параллельной форме. In FIG. 1 is a structural diagram of a synergistic computing system; in FIG. 2 - the main formats of command words; in FIG. 3 - information graph of the formula (1) in tier-parallel form; in FIG. 4 is an information graph of formula (2) in a tiered-parallel form.

Синергическая вычислительная система (фиг. 1) содержит функциональные блоки 1.1, ..., 1.k, ..., 1.N, коммутатор 2 типа "каждый с каждым", имеющий N информационных входов i1, ..., ik, ..., iN, 2N адресных входов a1, a2, ... , a2k-1, a2k, ..., a2N-1, a2N, 2N информационных выходов o1, o2, ..., o2k-1, o2k, . .., o2N-1, o2N. Каждый функциональный блок состоит из устройства управления 3, устройства памяти команд 4 и операционного устройства 5, реализующего двуместные и одноместные операции, а также имеет два информационных входа I1 и I2, два адресных выхода A1 и A2 и один информационный выход O. Информационный вход I1 k-го функционального блока (k = 1, ..., N) соединен с информационным выходом o2k-1 коммутатора, информационный вход I2 соединен с информационным выходом o2k коммутатора. Адресный выход A1 соединен с адресным входом a2k-1 коммутатора, адресный выход A2 соединен с адресным входом a2k коммутатора, информационный выход O k-го функционального блока соединен с информационным входом ik коммутатора. Информационные входы функционального блока являются информационными входами устройства управления 3, адресные выходы функционального блока являются соответственно первым и вторым адресными выходами устройства управления 3, третий адресный выход устройства управления 3 соединен с адресным входом устройства памяти команд 4, командный вход-выход устройства управления 3 соединен с командным входом-выходом устройства памяти команд 4, управляющий выход устройства управления 3 соединен с управляющим входом операционного устройства 5, первый и второй информационные выходы устройства управления соединены, соответственно, с первым и вторым информационными входами операционного устройства 5, информационный выход операционного устройства 5 является информационным выходом функционального блока. Операционное устройство 5 содержит устройство ввода-вывода 5.1 и/или арифметико-логическое устройство 5.2 и/или устройство памяти данных 5.3, причем первый информационный вход операционного устройства 5 является информационным входом устройства ввода-вывода 5.1, арифметико-логического устройства 5.2 и устройства памяти данных 5.3, второй информационный вход операционного устройства 5 является адресным входом устройства ввода-вывода 5.1 и устройства памяти данных 5.3 и вторым информационным входом арифметико-логического устройства 5.2, управляющий вход операционного устройства 5 является управляющим входом устройства ввода-вывода 5.1, арифметико-логического устройства 5.2 и устройства памяти данных 5.3, информационный выход устройства ввода-вывода 5.1, арифметико-логического устройства 5.2 и устройства памяти данных 5.3 является информационным выходом операционного устройства 5.A synergistic computing system (Fig. 1) contains functional blocks 1.1, ..., 1.k, ..., 1.N, a switch 2 of the type "each with each", with N information inputs i 1 , ..., i k , ..., i N , 2N address inputs a 1 , a 2 , ..., a 2k-1 , a 2k , ..., a 2N-1 , a 2N , 2N information outputs o 1 , o 2 , ..., o 2k-1 , o 2k,. .., o 2N-1 , o 2N . Each functional block consists of a control device 3, a command memory 4 and an operating device 5 that implements double and single operations, and also has two information inputs I 1 and I 2 , two address outputs A 1 and A 2, and one information output O. The information input I 1 of the k-th functional block (k = 1, ..., N) is connected to the information output o 2k-1 of the switch, the information input I 2 is connected to the information output o 2k of the switch. The address output A 1 is connected to the address input a 2k-1 of the switch, the address output A 2 is connected to the address input a 2k of the switch, the information output O of the kth function block is connected to the information input i k of the switch. The information inputs of the functional block are the information inputs of the control device 3, the address outputs of the functional block are the first and second address outputs of the control device 3, the third address output of the control device 3 is connected to the address input of the command memory 4, the command input-output of the control device 3 is connected to command input-output device memory commands 4, the control output of the control device 3 is connected to the control input of the operating device 5, the first and the second information outputs of the control device are connected, respectively, with the first and second information inputs of the operating device 5, the information output of the operating device 5 is the information output of the functional unit. The operating device 5 comprises an input / output device 5.1 and / or an arithmetic logic device 5.2 and / or a data memory device 5.3, the first information input of the operating device 5 being an information input of an input / output device 5.1, an arithmetic logic device 5.2 and a data memory device 5.3, the second information input of the operating device 5 is the address input of the input / output device 5.1 and the data memory device 5.3 and the second information input of the arithmetic logic device 5.2, controlling input operating unit 5 is a control input of the input-output device 5.1, the arithmetic-logic unit and memory devices 5.2 5.3 Data, information output of input-output devices 5.1, ALU 5.2 and 5.3 the data storage device is a data output of the operating device 5.

Синергическая вычислительная система работает следующим образом. A synergistic computing system operates as follows.

Исходное состояние устройства памяти команд, устройства памяти данных вводится из блоков, реализующих операции ввода-вывода ии представляет собой последовательность соответственно командных слов и слов данных. The initial state of the command memory device, the data memory device is entered from the blocks realizing the input-output operations, and is a sequence of command words and data words, respectively.

Командные слова (фиг. 2) имеют два формата. Первый формат содержит поле кода операции и два поля с адресами аргументов. Второй формат состоит из поля кода операции, поля с адресом аргумента и поля с адресом команды, числа или абонента. Размер поля кода операций определяется номенклатурой операций и должен быть не менее ]log2P[ двоичных разрядов, где P - количество операций. Размер полей с адресами аргумента зависит от количества функциональных блоков и должен быть не менее ]log2N[ каждое. Размер поля с адресом команды, числа или абонента определяется максимальным объемом адресуемой памяти команд или памяти данных, либо числом внешних абонентов.Command words (Fig. 2) have two formats. The first format contains an operation code field and two fields with argument addresses. The second format consists of an operation code field, a field with the address of the argument, and a field with the address of the command, number, or subscriber. The size of the operations code field is determined by the nomenclature of operations and must be at least] log 2 P [binary digits, where P is the number of operations. The size of the fields with the addresses of the argument depends on the number of function blocks and must be at least] log 2 N [each. The size of the field with the address of the command, number, or subscriber is determined by the maximum amount of addressable command or data memory, or by the number of external subscribers.

Разрядность данных определяется конкретной реализацией системы, а именно требованиями к типу, форме и точности представления данных. The capacity of the data is determined by the specific implementation of the system, namely the requirements for the type, form and accuracy of the data presentation.

Все функциональные блоки синергической вычислительной системы работают параллельно и независимо друг от друга, в соответствии с программами, находящимися в их устройствах памяти команд. Каждая команда реализует двуместную или одноместную операцию, которая выполняется определенное целое количество тактов и, по завершении выполнения, полученный результат поступает в коммутатор 2. Для выполнения очередной команды устройство управления 3 функционального блока выбирает из устройства памяти команд 4 очередное командное слово, распаковывает его, формирует в соответствии с кодом операции управляющие сигналы для операционного устройства 5, выбирает из соответствующих полей адреса аргументов. Адреса A1 и A2 по соответствующим адресным выходам поступают в коммутатор 2.All functional blocks of a synergistic computing system work in parallel and independently from each other, in accordance with the programs located in their instruction memory devices. Each command implements a two-place or one-place operation, which performs a certain integer number of cycles and, upon completion, the result is sent to switch 2. To execute the next command, the control unit 3 of the function block selects the next command word from the command memory 4, unpacks it, generates it in accordance with the operation code, the control signals for the operating device 5 selects the argument addresses from the corresponding fields. Addresses A 1 and A 2 at the corresponding address outputs arrive at switch 2.

Коммутатор 2 осуществляет непосредственное соединение первого и второго информационных входов функционального блока с выходами функциональных блоков, номера которых получены коммутатором 2 соответственно по первому и второму адресным входам и обеспечивает передачу информации с выходов функциональных блоков на информационные входы. Полученная информация используется очередной командной в качестве аргументов при реализации операционным устройством 5 двуместной или одноместной операции. Адрес команды, числа или абонента, выбираемый из команд формата 2 обрабатывается непосредственно устройством управления при реализации отдельных команд передачи управления, чтения или записи числа, а также команд ввода-вывода. Switch 2 makes a direct connection of the first and second information inputs of the functional block with the outputs of the functional blocks, the numbers of which are received by the switch 2, respectively, at the first and second address inputs and ensures the transfer of information from the outputs of the functional blocks to the information inputs. The obtained information is used by the next command as arguments when the operating device 5 implements a double or single operation. The address of a command, number or subscriber selected from format 2 commands is processed directly by the control device when implementing individual control transfer commands, reading or writing numbers, and also input / output commands.

Рассмотрим работу синергической вычислительной системы, на примере реализации двух формул:

Figure 00000002

Figure 00000003

Информационные графы, описывающие последовательность выполнения операций в формулах и их параллелизм, представлены в виде ярусно-параллельных форм на фиг. 3.4.Consider the work of a synergistic computing system, using two formulas as an example:
Figure 00000002

Figure 00000003

Information graphs describing the sequence of operations in the formulas and their parallelism are presented in the form of tiered-parallel forms in FIG. 3.4.

Примем, для определенности, что синергическая вычислительная система имеет 16 функциональных блоков. Из них 7 блоков, с номерами с 1 по 7, в составе операционного устройства имеют только память данных. Блоки с 8 по 15 являются чисто вычислительными, т. е. в составе операционного устройства имеют только арифметико-логическое устройство. Блок 16 является блоком ввода-вывода. For definiteness, we assume that a synergistic computing system has 16 functional blocks. Of these, 7 blocks, with numbers from 1 to 7, as part of the operating device have only data memory. Blocks 8 to 15 are purely computational, that is, as part of the operating device, they have only an arithmetic-logical device. Block 16 is an I / O block.

Блоки памяти реализуют команды чтения (чт) и записи (зп) формата 2 и имеют длительность один такт. Команда чтения является одноместной операцией, осуществляющей выборку числа из памяти данных по адресу, заданному в командном слове. Команда записи реализует двуместную операцию, первый аргумент которой это число, поступающее из коммутатора, а второй - адрес по которому осуществляется запись данного числа в память данных, заданный в командном слове. Memory blocks implement read (th) and write (zp) commands of format 2 and have a duration of one clock cycle. A read command is a one-place operation that selects a number from the data memory at the address specified in the command word. The write command implements a two-place operation, the first argument of which is the number coming from the switch, and the second is the address at which this number is written to the data memory specified in the command word.

Вычислительные блоки реализуют команды: сложения (+) и вычитания (-), длительностью 1 такт; умножения (*), длительностью 2 такта; деления (/), длительностью 4 такта. Все команды вычислительного блока имеют первый формат, реализуют двуместные операции, причем вычитаемое и делимое задается в первом адресе. Computing blocks implement the following commands: addition (+) and subtraction (-), 1 cycle long; multiplication (*), duration 2 cycles; division (/), lasting 4 steps. All commands of the computing unit have the first format, implement double-place operations, and the subtracted and divisible are specified in the first address.

Для обеспечения согласованного взаимодействия блоков, когда есть необходимость задержать результат выполнения на выходе функционального блока, используется команда "трата" (т) второго формата, сохраняющая состояние блока t тактов. Сохранить результат на один такт можно также, организовав запись в рабочую ячейку памяти данных. Записываемое число, по завершении операции, не только заносится в память данных, но и поступает на выход функционального блока. При выполнении многотактных операций, результат выполнения предыдущей операции сохраняется на выходе функционального блока, до последнего такта текущей операции. To ensure coordinated interaction of blocks, when there is a need to delay the result of execution at the output of a functional block, the "waste" (t) command of the second format is used, which stores the state of the t-cycle block. You can also save the result by one clock by organizing a record in the working cell of the data memory. The recorded number, at the end of the operation, is not only entered into the data memory, but also fed to the output of the function block. When performing multi-cycle operations, the result of the previous operation is stored at the output of the function block, until the last measure of the current operation.

Примем следующую форму записи командных слов:
Формат 1

Figure 00000004

Формат 2
Figure 00000005

или
Figure 00000006

или
Figure 00000007

где <мнемокоп> - условное обозначение кода операции; <номер> - число от 1 до 16, указывающее номер функционального блока, результаты которого используются в качестве аргумента при выполнении операции; <имя> - наименование аргумента, адрес которого (после трансляции и загрузки программ) будет сформирован в поле адреса числа.We will take the following form of writing command words:
Format 1
Figure 00000004

Format 2
Figure 00000005

or
Figure 00000006

or
Figure 00000007

where <nemocop> is the symbol of the operation code; <number> - a number from 1 to 16, indicating the number of the function block, the results of which are used as an argument when performing the operation; <name> - the name of the argument whose address (after broadcasting and downloading programs) will be generated in the address field of the number.

В командах "трата" на месте имен записывается число. In the "waste" commands, a number is written in the place of names.

Разместим элементы матрицы (a11, a12, a13, a21, a22, a23, a31, a32, a33) по столбцам в блоках памяти 1-3. Векторы (b1, b2, b3) и (c1, c2, c3) поэлементно в блоках памяти 4-6. Переменные e, z, v в четвертом блоке памяти. Переменные d, y соответственно в пятом и шестом блоках. Переменные x, w в седьмом блоке памяти.We place the matrix elements (a 11 , a 12 , a 13 , a 21 , a 22 , a 23 , a 31 , a 32 , a 33 ) in columns in memory blocks 1-3. The vectors (b 1 , b 2 , b 3 ) and (c 1 , c 2 , c 3 ) are element-wise in memory blocks 4-6. Variables e, z, v in the fourth memory block. Variables d, y in the fifth and sixth blocks, respectively. Variables x, w in the seventh block of memory.

При программировании, для сохранения промежуточных результатов, введем дополнительные операнды, а именно рабочие ячейки r1 и r3 в седьмом функциональном блоке. Для сохранения результата на один такт с одновременным освобождением вычислительного блока, введем фиктивный операнд r2 в четвертом блоке. Запись в эту ячейку производится, но записанный результат далее не используется.When programming, to save intermediate results, we introduce additional operands, namely the working cells r 1 and r 3 in the seventh functional block. To save the result by one cycle with the simultaneous release of the computing unit, we introduce a fictitious operand r 2 in the fourth block. Writing to this cell is performed, but the recorded result is not used further.

Результаты программирования работы функциональных блоков при вычислении данных формул представлены в таблице. The results of programming the function blocks when calculating these formulas are presented in the table.

В последней строке таблицы приведено количество выполненных команд каждым функциональным блоком. The last row of the table shows the number of commands executed by each function block.

Claims (1)

Синергическая вычислительная система, содержащая N функциональных блоков, коммутатор "каждый с каждым", имеющий N информационных входов, 2 N адресных входов и 2 N информационных выходов, отличающаяся тем, что каждый функциональный блок состоит из устройства управления, устройства памяти команд и операционного устройства, реализующего двуместные и одноместные операции, а также имеет два информационных входа, два адресных выхода и один информационный выход, причем первый информационный вход k-го функционального блока (k= 1, . . . , N) соединен с (2k-1)-м информационным выходом коммутатора, второй информационный вход соединен с 2k-м информационным выходом коммутатора, первый адресный выход соединен с (2k-1)-м адресным входом коммутатора, второй адресный выход соединен с 2k-м адресным входом коммутатора, информационный выход k-го функционального блока соединен с k-м информационным входом коммутатора, информационные входы функционального блока являются информационными входами устройства управления, адресные выходы функционального блока являются соответственно первым и вторым адресными выходами устройства управления, третий адресный выход устройства управления соединен с адресным входом устройства памяти команд, командный вход-выход устройства управления соединен с командным входом-выходом устройства памяти команд, управляющий выход устройства управления соединен с управляющим входом операционного устройства, первый и второй информационные выходы устройства управления соединены соответственно с первым и вторым информационными входами операционного устройства, информационный выход операционного устройства является информационным выходом функционального блока, а операционное устройство содержит устройство ввода-вывода, и/или арифметико-логическое устройство, и/или устройство памяти данных, причем первый информационный вход операционного устройства является информационным входом устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных, второй информационный вход операционного устройства является адресным входом устройства ввода-вывода и устройства памяти данных и вторым информационным входом арифметико-логического устройства, управляющий вход операционного устройства является управляющим входом устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных, информационный выход устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных является информационным выходом операционного устройства. A synergistic computing system containing N functional blocks, an "each with each" switch having N information inputs, 2 N address inputs and 2 N information outputs, characterized in that each functional block consists of a control device, a command memory device and an operating device, implements double and single operations, and also has two information inputs, two address outputs and one information output, and the first information input of the k-th functional block (k = 1, ..., N) is connected to (2k-1) the information output of the switch, the second information input is connected to the 2k information output of the switch, the first address output is connected to the (2k-1) address of the switch, the second address output is connected to the 2k address of the switch, the information output is k of the functional block is connected to the kth information input of the switch, the information inputs of the functional block are the information inputs of the control device, the address outputs of the function block are respectively the first and second address moves of the control device, the third address output of the control device is connected to the address input of the command memory device, the command input / output of the control device is connected to the command input / output of the command memory device, the control output of the control device is connected to the control input of the operating device, the first and second information outputs of the device control are connected respectively to the first and second information inputs of the operating device, the information output of the operating device is is the information output of the functional block, and the operating device contains an input-output device, and / or an arithmetic logic device, and / or a data memory device, the first information input of the operating device being the information input of an input-output device, arithmetic logic device, and device data memory, the second information input of the operating device is the address input of the input-output device and the data memory device and the second information input of the arithmetic log device, the control input of the operating device is the control input of the input-output device, the arithmetic logic device and the data memory device, the information output of the input-output device, the arithmetic logic device and the data memory device is the information output of the operating device.
RU2000114808/09A 2000-06-13 2000-06-13 Synergistic computer system RU2179333C1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
RU2000114808/09A RU2179333C1 (en) 2000-06-13 2000-06-13 Synergistic computer system
AU2001273873A AU2001273873A1 (en) 2000-06-13 2001-06-08 Synergetic computing system
JP2002511190A JP2004503872A (en) 2000-06-13 2001-06-08 Shared use computer system
PCT/DK2001/000393 WO2001097054A2 (en) 2000-06-13 2001-06-08 Synergetic data flow computing system
AU69645/01A AU6964501A (en) 2000-06-13 2001-06-08 Synergic computation system
US10/296,461 US20030172248A1 (en) 2000-06-13 2001-06-08 Synergetic computing system
PCT/RU2001/000235 WO2001097055A1 (en) 2000-06-13 2001-06-08 Synergic computation system
EP01940232A EP1299811A2 (en) 2000-06-13 2001-06-08 Synergetic computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2000114808/09A RU2179333C1 (en) 2000-06-13 2000-06-13 Synergistic computer system

Publications (1)

Publication Number Publication Date
RU2179333C1 true RU2179333C1 (en) 2002-02-10

Family

ID=20235942

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2000114808/09A RU2179333C1 (en) 2000-06-13 2000-06-13 Synergistic computer system

Country Status (1)

Country Link
RU (1) RU2179333C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2530690C2 (en) * 2013-02-05 2014-10-10 Открытое акционерное общество "Мультиклет" Method of encoding and using context-sensitive program using multicellular processor, multicellular processor, cell and multicellular processor switching device for implementing said method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2530690C2 (en) * 2013-02-05 2014-10-10 Открытое акционерное общество "Мультиклет" Method of encoding and using context-sensitive program using multicellular processor, multicellular processor, cell and multicellular processor switching device for implementing said method

Similar Documents

Publication Publication Date Title
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
CN102053817B (en) For performing equipment and the method for multiplication accumulating operation
US5226131A (en) Sequencing and fan-out mechanism for causing a set of at least two sequential instructions to be performed in a dataflow processing computer
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
US5081573A (en) Parallel processing system
Savage Extending the Hong-Kung model to memory hierarchies
EP1570373A1 (en) Cellular engine for a data processing system
CN102541809A (en) Dynamic reconfigurable processor
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
Amamiya et al. Datarol: A massively parallel architecture for functional languages
CN111459543B (en) Method for managing register file unit
Stepchenkov et al. Recurrent data-flow architecture: features and realization problems
RU2179333C1 (en) Synergistic computer system
US20030172248A1 (en) Synergetic computing system
JPS6165336A (en) High-speed arithmetic system
RU2198422C2 (en) Asynchronous synergistic computer system
RU2066067C1 (en) Central processor for multiple-processor computer system
EP0136218A2 (en) Multiple port pipelined processor
CN112506853A (en) Reconfigurable processing unit array of zero-buffer flow and zero-buffer flow method
VanAken et al. The expression processor: a pipelined, multiple-processor architecture
Schwartz et al. The optimal synchronous cyclo-static array: a multiprocessor supercomputer for digital signal processing
Inagami et al. The specification of a new Manchester dataflow machine
Rounce et al. Architectures within the ESPRIT SPAN project
RU2689433C1 (en) Computing module and processing method using such a module
RU2292075C1 (en) Synergetic computing system

Legal Events

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

Effective date: 20050614