RU2198422C2 - Asynchronous synergistic computer system - Google Patents

Asynchronous synergistic computer system Download PDF

Info

Publication number
RU2198422C2
RU2198422C2 RU2000126657/09A RU2000126657A RU2198422C2 RU 2198422 C2 RU2198422 C2 RU 2198422C2 RU 2000126657/09 A RU2000126657/09 A RU 2000126657/09A RU 2000126657 A RU2000126657 A RU 2000126657A RU 2198422 C2 RU2198422 C2 RU 2198422C2
Authority
RU
Russia
Prior art keywords
output
input
information
identification
inputs
Prior art date
Application number
RU2000126657/09A
Other languages
Russian (ru)
Other versions
RU2000126657A (en
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 RU2000126657/09A priority Critical patent/RU2198422C2/en
Priority to JP2002511190A priority patent/JP2004503872A/en
Priority to PCT/RU2001/000235 priority patent/WO2001097055A1/en
Priority to AU69645/01A priority patent/AU6964501A/en
Priority to US10/296,461 priority patent/US20030172248A1/en
Priority to EP01940232A priority patent/EP1299811A2/en
Priority to AU2001273873A priority patent/AU2001273873A1/en
Priority to PCT/DK2001/000393 priority patent/WO2001097054A2/en
Publication of RU2000126657A publication Critical patent/RU2000126657A/en
Application granted granted Critical
Publication of RU2198422C2 publication Critical patent/RU2198422C2/en

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

FIELD: computer engineering. SUBSTANCE: system that may be used for implementing algorithms admitting paralleling at command level has N functional units each incorporating choice flag shaping unit, choice flag memory, logic number register, two FIFO memory buffer units, and memory exchange, each incorporating command memory device, control device, and operating device. EFFECT: enhanced capacity of computer system. 8 cl, 4 dwg

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 (см. Шахнович И. Век нынешний и век грядущий. - ж. Электроника: Наука, Технология, Бизнес, 1999, 6, стр. 8-11), реализующее параллелизм на командном уровне с использованием концепции "длинного командного слова". Устройство состоит из кэш-памяти команд 1-го уровня, кэш-памяти данных 1-го уровня, общей кэш-памяти 2-го и 3-го уровней, устройства управления, файла специализированных регистров: целочисленных, с плавающей запятой, ветвления и предикатов, группы функциональных устройств четырех типов: четыре устройства целочисленной арифметики, два устройства операций с плавающей запятой, три устройства ветвления, одно устройство доступа к памяти данных. Управление функциональными устройствами осуществляется централизовано с использованием длинных командных слов фиксированного размера, каждое из которых содержит три простые команды, определяющие операции трех различных функциональных устройств. Последовательность выполнения простых команд в слове, а также зависимость между словами определяется полем маски, находящимся в слове. A device, microprocessor IA-64 (see. Shakhnovich I. Century present and the future. - J. Electronics: Science, Technology, Business, 1999, 6, p. 8-11), which implements parallelism at the command level using the concept of " 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.

Известно также устройство, микропроцессор Е2К (см. Кузьминский М. Отечественные микропроцессоры: Elbrus 2K. - ж. Открытые системы, 1999, 5-6, стр. 8-13), использующее эту же концепцию "длинного командного слова" для реализации параллелизма. Устройство состоит из кэш-памяти команд 1-го уровня, кэш-памяти данных 1-го уровня, общей кэш-памяти 2-го уровня, буфера предварительной подкачки, устройства управления, файла универсальных регистров и группы однотипных функциональных устройств, построенных на базе арифметико-логических устройств (АЛУ) и объединенных в два кластера. Длина командного слова, управляющего работой функциональных устройств, переменная. A device is also known, the E2K microprocessor (see Kuzminsky M. Domestic microprocessors: Elbrus 2K. - Open Systems, 1999, 5-6, p. 8-13), using the same concept of a "long command word" to implement parallelism. The device consists of a cache of instructions 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 -Logic 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.

Известным является также устройство, мультискалярный микропроцессор Kin (см. Корнеев В., Киселев А. Современные микропроцессоры. М., Нолидж, 2000 г. , стр.75-76), в основе которого лежит реализация параллелизма на уровне базисных блоков. При этом, под базисным блоком понимается последовательность команд преобразования данных в регистрах и памяти, завершающаяся командой перехода. Микропроцессор состоит из набора функциональных блоков различного назначения: интерпретации команд перехода, интерпретации арифметических, логических команд и команд сдвига, выполнения команд обращения к памяти. Обмен данными между функциональными блоками выполняется в асинхронном режиме через FIFO очереди. Каждый блок выбирает из входной очереди элементы по мере их поступления, производит заданные действия и помещает результат в выходную очередь. При такой организации поток команд распространяется между блоками как поток пакетов, содержащих в себе тэги и другую необходимую информацию для управления функциональными блоками. Also known is the device, the multiscalar microprocessor Kin (see Korneev V., Kiselev A. Modern microprocessors. M., Nolidzh, 2000, pp. 75-76), which is based on the implementation of parallelism at the level of basis blocks. In this case, the basic block is understood as a sequence of data conversion commands in registers and memory, ending with a transition command. The microprocessor consists of a set of functional blocks for various purposes: interpretation of transition instructions, interpretation of arithmetic, logical and shift instructions, execution of memory access instructions. Data exchange between function blocks is performed in asynchronous mode through FIFO queues. Each block selects elements from the input queue as they arrive, performs the specified actions, and puts the result in the output queue. With such an organization, the flow of commands is distributed between the blocks as a stream of packets containing tags and other necessary information to control the functional blocks.

Процесс выборки и декодирования команд централизован, при этом выбранные и декодированные команды очередного базисного блока размещаются в кэш-памяти декодированных команд. Каждая команда при размещении получает уникальный динамический тэг. После устранения в блоках переименования регистров лишних WAR и WAW зависимостей между командами, команды поступают в блок организации внеочередного исполнения. The process of fetching and decoding instructions is centralized, with the selected and decoded instructions of the next basic block being placed in the cache memory of the decoded instructions. Each team receives a unique dynamic tag when placed. After eliminating redundant WAR and WAW dependencies between teams in the rename register blocks, the teams enter the organization block for extraordinary execution.

Из блока внеочередного исполнения команды передаются в резервирующие станции, в которых они ожидают готовности операндов для начала своего исполнения. From the block of extraordinary execution, the commands are transferred to the backup stations, in which they expect the operands to be ready to start their execution.

Команды с готовыми операндами посылаются резервирующими станциями для исполнения в функциональные блоки, результаты работы которых передаются снова в резервирующие станции, в блок внеочередного исполнения команд и, в случае команд перехода, в блок предвыборки команд. Commands with ready-made operands are sent by redundant stations for execution to function blocks, the results of which are transmitted again to the redundant stations, to the block for the extraordinary execution of commands and, in the case of transition commands, to the block for prefetching commands.

Недостатками данного устройства являются
сложная логика поддержки внеочередного выполнения команд и аппаратной проверки наличия взаимозависимостей между командами, увеличивающая непроизводительные временные затраты и объем аппаратной поддержки динамического распараллеливания;
эффективность распараллеливания практически ограничивается уровнем линейных участков (базисных блоков), так как распараллеливание внутри базисного блока выполняется динамически путем исследования программного кода на стадии исполнения и, следовательно, не имеет достаточных временных ресурсов для анализа и оптимизации информационных связей между командами;
высокий уровень непроизводительных потерь, вызываемый жадной предвыборкой команд, при неверной оценке направления перехода.
The disadvantages of this device are
complex logic of support for the extraordinary execution of commands and hardware verification of the presence of interdependencies between teams, increasing unproductive time costs and the amount of hardware support for dynamic parallelization;
the efficiency of parallelization is practically limited by the level of linear sections (base blocks), since parallelization inside the base block is performed dynamically by examining the program code at the execution stage and, therefore, does not have sufficient time resources for analysis and optimization of information links between teams;
a high level of unproductive losses caused by the greedy prefetch of teams, with an incorrect assessment of the direction of transition.

Наиболее близкой по технической сущности и достигаемому результату к заявленному устройству, является электронно-вычислительная машина QA-2 (Компьютеры на СБИС, Кн.1, Пер. с япон. Мотоска Т., Томита С., Танака X. и др. - М. Мир, 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 (VLSI Computers, Book 1, Translated from Japanese. T. Motoska, S. Tomita, X. Tanaka et al. - M . World, 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. A decrease in productivity is caused by the inability to directly receive data from memory by arithmetic-logic devices, since the data must be previously entered into the collective register block, as well as setting operations with different durations in one command word. In the latter case, short operations await the execution of the longest.

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

Поставленная задача решается тем, что в предложенной асинхронной синергической вычислительной системе, содержащей N функциональных блоков, коммутатор "каждый с каждым", имеющий N информационных входов, 2N адресных входов и 2N информационных выходов, согласно изобретению каждый функциональный блок состоит из устройства управления, устройства памяти команд и операционного устройства, реализующего двуместные и одноместные операции, а также имеет два идентификационных входа аргументов, два входа признаков готовности аргументов, два информационных входа, идентификационный выход аргументов, два выхода признаков аргументов, два адресных выхода, идентификационный выход результата, выход признака результата, информационный выход, выход логического номера, N входов признаков разрешения выбора команд, выход признака разрешения выбора команд. В коммутатор дополнительно введены N идентификационных входов результатов, N входов признаков готовности результатов, N идентификационных входов аргументов, 2N входов признаков аргументов, N входов логических номеров, 2N идентификационных выходов аргументов, 2N выходов признаков готовности аргументов. Первый и второй идентификационные входы аргументов k-го функционального блока (k=1,...,N) соединены соответственно с (2k-1)-м и 2k-м идентификационными выходами аргументов коммутатора. Первый и второй входы признаков готовности аргументов соединены соответственно с (2k-1)-м и 2k-м выходами признаков готовности аргументов коммутатора, а первый и второй информационные входы соединены соответственно с (2k-1)-м и 2k-м информационными выходами коммутатора. Идентификационный выход аргумента соединен с k-м идентификационным входом аргументов коммутатора. Первый и второй выходы признаков аргументов соединены соответственно с (2k-1)-м и 2k-м входами признаков аргументов коммутатора, а первый и второй адресные выходы соединены соответственно с (2k-1)-м и 2k-м адресными входами коммутатора. Идентификационный выход результата соединен с k-м идентификационным входом результатов коммутатора, выход признака готовности результата соединен с k-м входом признаков готовности результатов коммутатора, а информационный выход функционального блока соединен с k-м информационным входом коммутатора. Выход признака разрешения выбора команд соединен с k-м входом признаков разрешения выбора команд всех функциональных блоков. Идентификационные входы аргументов, входы признаков готовности аргументов и информационные входы функционального блока являются соответствующими входами устройства управления. Идентификационный выход аргументов, выходы признаков аргументов и адресные выходы функционального блока являются соответствующими выходами устройства управления, третий адресный выход которого соединен с адресным входом устройства памяти команд. Командный вход-выход устройства управления соединен с командным входом-выходом устройства памяти команд, а идентификационный и управляющий выходы устройства управления соединены соответственно с идентификационным и управляющим входами операционного устройства. Первый и второй информационные выходы устройства управления соединены соответственно с первым и вторым информационными входами операционного устройства. Идентификационный выход результата, выход признака результата и информационный выход операционного устройства являются соответствующими выходами функционального блока. Выход логического номера, N входов признаков разрешения выбора команд и выход признака разрешения выбора команд функционального блока являются соответствующими выходами и входами устройства управления. Устройство управления состоит из блока выбора команд, блока дешифрации команд, блока формирования исполняемой команды, блока управления исполнением команд, блока разрешения выбора команд, регистра информационной связности, имеющего размерность N разрядов, памяти занятых меток, памяти готовности аргументов, буферной памяти кода операции, буферной памяти первого аргумента и буферной памяти второго аргумента, имеющих размер L слов. Адресный выход блока выбора команд является третьим адресным выходом устройства управления, командный выход блока выбора команд является командным выходом устройства управления, первый идентификационный выход блока выбора команд соединен с адресным входом чтения памяти занятых меток. Вход признака занятости метки блока выбора команд соединен с информационным выходом памяти занятых меток, второй идентификационный выход блока выбора команд соединен с идентификационным входом блока дешифрации команд и адресным входом записи памяти занятых меток, а выход признака занятости метки блока выбора команд соединен с информационным входом памяти занятых меток. Управляющий вход блока выбора команд соединен с управляющим выходом блока дешифрации команд, информационный вход блока выбора команд соединен с третьим информационным выходом блока управления исполнением команд, а выход признака разрешения выбора команд блока выбора команд является соответствующим выходом устройства управления. Командный вход блока дешифрации команд является командным входом устройства управления, а идентификационный выход аргументов, выходы признаков аргументов, адресные выходы данного блока являются соответствующими выходами устройства управления. Информационно-управляющий выход блока дешифрации команд соединен с информационно-управляющим входом блока формирования исполняемой команды, идентификационные входы аргументов, входы признаков готовности аргументов и информационные входы которого являются соответствующими входами устройства управления. Первый идентификационный выход блока формирования исполняемой команды соединен с адресным входом памяти готовности аргументов, второй, третий и четвертый идентификационные выходы блока формирования исполняемой команды соединены соответственно с адресными входами записи буферной памяти кода операции, буферной памяти первого аргумента и буферной памяти второго аргумента. Первый информационный вход-выход блока формирования исполняемой команды соединен с информационным входом-выходом памяти готовности аргументов, второй, третий и четвертый информационные выходы блока формирования исполняемой команды соединены соответственно с информационными входами записи буферной памяти кода операции, буферной памяти первого аргумента и буферной памяти второго аргумента. Выход признака готовности команды блока формирования исполняемой команды соединен с входом признака готовности команды блока управления исполнением команды. Пятый идентификационный выход блока формирования исполняемой команды соединен с идентификационным входом блока управления исполнением команды, первый, второй и третий идентификационные выходы которого соединены соответственно с адресными входами чтения буферной памяти кода операции, буферной памяти первого аргумента и буферной памяти второго аргумента, а первый, второй и третий информационные входы данного блока соединены соответственно с информационными выходами чтения буферной памяти кода операции, буферной памяти первого аргумента и буферной памяти второго аргумента. Выход логического номера блока управления исполнением команд является соответствующим выходом устройства управления. Четвертый идентификационный выход блока управления исполнением команд соединен с адресным входом записи памяти занятых меток, а выход признака занятости метки блока управления исполнением команд соединен с информационным входом памяти занятых меток. Выход установки информационной связности блока управления исполнением команд соединен с входом регистра информационной связности. Пятый идентификационный выход блока управления исполнением команд является идентификационным выходом устройства управления, управляющий выход, первый и второй информационные выходы блока управления исполнением команд являются соответствующими выходами устройства управления. Выход регистра информационной связности соединен с входом информационной связности блока разрешения выбора команд, выход признака разрешения которого соединен с входом признака разрешения блока выбора команд. N входов признаков разрешения выбора команд блока разрешения выбора команд являются соответствующими входами устройства управления. Коммутатор состоит из N узлов коммутации, каждый из которых включает N устройств выбора, содержащих регистр логического номера, имеющий разрядность ] log2N[ разрядов, блок формирования признаков выбора, память признаков выбора, имеющей размер L слов, два буферных блока FIFO-памяти. Во всех узлах коммутации для k-го устройства выбора (k=1,....N), k-й информационный вход коммутатора соединен с первыми информационными входами буферных блоков FIFO-памяти, k-й идентификационный вход результата соединен со вторыми информационными входами буферных блоков FIFO-памяти и адресным входом чтения памяти признаков выбора, k-й вход признака готовности результата соединен с сигнальным входом чтения памяти признаков выбора. Во всех устройствах выбора k-го узла коммутации (k=1,...,N) (2k-1)-й адресный вход коммутатора соединен с адресными входами первого аргумента блоков формирования признаков выбора, 2k-й адресный вход коммутатора соединен с адресными входами второго аргумента блоков формирования признаков выбора, (2k-1)-й вход признаков аргументов соединен с входами признака первого аргумента блоков формирования признаков, 2k-й вход признаков аргументов соединен с входами признака второго аргумента блоков формирования признаков, k-й вход логического номера соединен с входами регистров логического номера, k-й идентификационный вход аргумента соединен с адресными входами записи памятей признаков выбора. Для всех устройств выбора выход регистра логического номера соединен с входом логического номера блока формирования признаков выбора, выход признака наличия аргументов блока формирования признаков выбора соединен с сигнальным входом записи памяти признаков выбора, выход признаков первого и второго аргументов соединены соответственно с первым и вторым информационными входами памяти признаков выбора. Первый информационный выход памяти признаков выбора соединен с сигнальным входом записи первого буферного блока FIFO-памяти, второй информационный выход памяти признаков выбора соединен с сигнальным входом записи второго буферного блока FIFO-памяти. Все первые буферные блоки FIFO-памяти k-го узла коммутации связаны последовательно сигнальным входом чтения в кольцо, причем первые информационные выходы первых буферных блоков FIFO-памяти объединены и являются (2k-1)-м информационным выходом коммутатора. Вторые информационные выходы первых буферных блоков FIFO-памяти объединены и являются (2k-1)-м идентификационным выходом аргументов коммутатора, выходы признаков готовности первых буферных блоков FIFO-памяти объединены и являются (2k-1)-м выходом признаков готовности аргументов коммутатора. Все вторые буферные блоки FIFO-памяти k-го узла коммутации также связаны последовательно сигнальным входом чтения в кольцо, причем первые информационные выходы вторых буферных блоков FIFO-памяти объединены и являются 2k-м информационным выходом коммутатора. Вторые информационные выходы вторых буферных блоков FIFO-памяти объединены и являются 2k-м идентификационным выходом аргументов коммутатора, выходы признаков готовности вторых буферных блоков FIFO-памяти объединены и являются 2k-м выходом признаков готовности аргументов коммутатора.The problem is solved in that in the proposed asynchronous synergistic computer system containing N functional blocks, a "each with each" switch having N information inputs, 2N address inputs and 2N information outputs, according to the invention, each functional block consists of a control device, a memory device commands and an operating device that implements double and single operations, and also has two identification inputs of arguments, two inputs of signs of readiness of arguments, two information input inputs, identification output of arguments, two outputs of argument attributes, two address outputs, identification output of result, output of result attribute, information output, output of logical number, N inputs of signs of permission to select commands, output of sign of permission to select commands. The switch additionally contains N identification inputs of results, N inputs of signs of readiness of results, N identification inputs of arguments, 2N inputs of signs of arguments, N inputs of logical numbers, 2N identification outputs of arguments, 2N outputs of signs of readiness of arguments. The first and second identification inputs of the arguments of the kth function block (k = 1, ..., N) are connected respectively to the (2k-1) th and 2kth identification outputs of the arguments of the switch. The first and second inputs of the signs of readiness of arguments are connected respectively to the (2k-1) th and 2k-th outputs of the signs of readiness of arguments of the switch, and the first and second information inputs are connected respectively to the (2k-1) th and 2k-m information outputs of the switch . The identification output of the argument is connected to the kth identification input of the switch arguments. The first and second outputs of the attributes of the arguments are connected respectively to the (2k-1) th and 2k-th inputs of the signs of the arguments of the switch, and the first and second address outputs are connected respectively to the (2k-1) th and 2k-th address inputs of the switch. The identification output of the result is connected to the k-th identification input of the results of the switch, the output of the sign of readiness of the result is connected to the k-th input of the signs of readiness of the results of the switch, and the information output of the function block is connected to the k-th information input of the switch. The output of the sign of permission to select commands is connected to the k-th input of signs of permission to select commands of all functional blocks. Identification inputs of arguments, inputs of signs of readiness of arguments and information inputs of the function block are the corresponding inputs of the control device. The identification output of the arguments, the outputs of the arguments of the arguments and the address outputs of the function block are the corresponding outputs of the control device, the third address output of which 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, and the identification and control outputs of the control device are connected respectively to the identification and control inputs of the operating device. The first and second information outputs of the control device are connected respectively to the first and second information inputs of the operating device. The identification output of the result, the output of the result sign and the information output of the operating device are the corresponding outputs of the functional block. The output of the logical number, N inputs of signs of permission to select commands and the output of signs of permission to select commands of the functional block are the corresponding outputs and inputs of the control device. The control device consists of a command selection block, a command decryption block, an executable command generation block, a command execution control block, a command selection permission block, an information connectivity register having a dimension of N bits, memory for busy tags, readiness memory for the arguments, buffer memory of the operation code, buffer memory of the first argument and buffer memory of the second argument, having a size of L words. The address output of the command select block is the third address output of the control device, the command output of the command select block is the command output of the control device, the first identification output of the command select block is connected to the address read memory input of the busy labels. The input sign of the busy label of the command selection block is connected to the information output of the occupied label memory, the second identification output of the command selection block is connected to the identification input of the command decryption block and the address input of the busy label memory record, and the output of the busy flag of the command selection block is connected to the busy memory information input tags. The control input of the command selection block is connected to the control output of the command decryption block, the information input of the command selection block is connected to the third information output of the command execution control block, and the output of the command selection permission signal of the command block is the corresponding output of the control device. The command input of the command decryption unit is the command input of the control device, and the identification output of the arguments, the outputs of the arguments of the arguments, the address outputs of this block are the corresponding outputs of the control device. The information and control output of the command decryption unit is connected to the information and control input of the executable command generation unit, the identification inputs of the arguments, the inputs of the signs of readiness of the arguments and the information inputs of which are the corresponding inputs of the control device. The first identification output of the executable command generation unit is connected to the address input of the readiness memory of the arguments, the second, third and fourth identification outputs of the execution command generation unit are connected respectively to the address inputs of the buffer entries of the operation code, the buffer memory of the first argument and the buffer memory of the second argument. The first information input-output of the block for generating the executable command is connected to the information input-output of the memory of readiness of the arguments, the second, third and fourth information outputs of the block for generating the executable command are connected respectively to the information inputs of the buffer memory of the operation code, the buffer memory of the first argument and the buffer memory of the second argument . The output of the sign of the readiness of the command of the block forming the executable command is connected to the input of the sign of the readiness of the command of the command execution control block. The fifth identification output of the executable command generation unit is connected to the identification input of the command execution control unit, the first, second and third identification outputs of which are connected respectively to the address inputs of reading the buffer memory of the operation code, the buffer memory of the first argument and the buffer memory of the second argument, and the first, second and the third information inputs of this block are connected respectively to the information outputs of reading the buffer memory of the operation code, the buffer memory of the first argument cient buffer memory and the second argument. The output of the logical number of the command execution control unit is the corresponding output of the control device. The fourth identification output of the command execution control unit is connected to the address input of the busy mark memory record, and the output of the mark of the mark of the command control unit is connected to the information input of the busy mark memory. The output of the information connectivity installation of the command execution control unit is connected to the input of the information connectivity register. The fifth identification output of the command execution control unit is the identification output of the control device, the control output, the first and second information outputs of the command execution control unit are the corresponding outputs of the control device. The output of the information connectivity register is connected to the information connectivity input of the command selection permission block, the output of the permission flag of which is connected to the input of the permission flag of the command selection block. The N inputs of command selection enable signals of the command selection enable block are the corresponding inputs of the control device. The switch consists of N switching nodes, each of which includes N selection devices containing a logical number register with a bit capacity] log 2 N [bits, block for the formation of selection signs, a memory of selection signs having a size of L words, two buffer blocks of FIFO memory. At all switching nodes for the kth selection device (k = 1, .... N), the kth information input of the switch is connected to the first information inputs of the buffer blocks of the FIFO memory, the kth identification input of the result is connected to the second information inputs the buffer blocks of the FIFO memory and the address input of reading the memory of the signs of choice, the k-th input of the sign of readiness of the result is connected to the signal input of reading the memory of the signs of choice. In all the selection devices of the kth switching node (k = 1, ..., N) (2k-1), the address input of the switch is connected to the address inputs of the first argument of the blocks for forming the selection signs, the 2nd address address of the switch is connected to the address the inputs of the second argument of the blocks of forming the signs of choice, the (2k-1) -th input of the signs of the arguments is connected to the inputs of the sign of the first argument of the blocks of the signs of formation, the 2nd k-input of the signs of arguments is connected to the inputs of the sign of the second argument of the blocks of forming signs, the k-th logical number input connected with the inputs of the registers of the logical number, the kth identification input of the argument is connected to the address inputs of the memory record of the selection features. For all selection devices, the output of the register of logical numbers is connected to the input of the logical number of the block for forming the signs of selection, the output of the sign of the presence of arguments of the block for forming signs of the selection is connected to the signal input of the recording memory of the signs of choice, the output of signs of the first and second arguments are connected respectively to the first and second information inputs of the memory signs of choice. The first information output of the selection characteristic memory is connected to the recording signal input of the first buffer block of the FIFO memory, the second information output of the selection characteristic memory is connected to the recording signal input of the second buffer block of the FIFO memory. All the first buffer blocks of the FIFO memory of the kth switching node are connected in series with the read signal input into the ring, and the first information outputs of the first buffer blocks of the FIFO memory are combined and are the (2k-1) -th information output of the switch. The second information outputs of the first buffer blocks of the FIFO memory are combined and are the (2k-1) -th identification output of the switch arguments, the outputs of the availability indicators of the first buffer blocks of the FIFO memory are combined and are the (2k-1) -th output of the signs of the readiness of the switch arguments. All the second buffer blocks of the FIFO memory of the kth switching node are also connected in series with the read signal input to the ring, and the first information outputs of the second buffer blocks of the FIFO memory are combined and are the 2kth information output of the switch. The second information outputs of the second buffer blocks of the FIFO memory are combined and are the 2kth identification output of the switch arguments, the outputs of the readiness indicators of the second buffer blocks of the FIFO memory are combined and are the 2kth output of the signs of the readiness of the switch arguments.

Кроме того, согласно изобретению, в зависимости от условий его использования, операционное устройство может содержать устройство ввода-вывода и/или арифметико-логическое устройство и/или устройство памяти данных, причем первый информационный вход операционного устройства является информационным входом устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных, второй информационный вход операционного устройства является адресным входом устройства ввода-вывода и устройства памяти данных и вторым информационным входом арифметико-логического устройства, идентификационный и управляющий входы операционного устройства являются, соответственно, идентификационным и управляющим входами устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных. Идентификационный выход результата, выход признака результата и информационный выход устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных являются, соответственно, идентификационным выходом результата, выходом признака результата и информационным выходом операционного устройства. In addition, according to the invention, depending on the conditions of its use, the operating device may comprise 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 the logical device and the 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 ion-input arithmetic logic unit, the identification and control inputs of the operating unit are, respectively, the identification and the control inputs of input-output devices, an arithmetic logic unit and a data memory. The identification output of the result, the output of the result attribute and the information output of the input / output device, the arithmetic logic device and the data memory device are, respectively, the identification output of the result, the output of the result attribute and the information output of the operating device.

Признаки в указанной взаимосвязи в процессе проведения поиска на новизну не обнаружены, являются существенными и в своей совокупности обеспечивают увеличение производительности системы. Достигается это следующим образом. Ввод в состав асинхронной синергической вычислительной системы функциональных блоков, реализующих операции ввода-вывода и записи-чтения данных, подключение их к коммутатору таким же образом, как подключены другие блоки системы, позволяет исключить промежуточный информационный носитель в виде файла регистров и, соответственно, сократить время доступа к данным, а также увеличить за счет перераспределения блоков внутри системы поток данных, поступающих на обработку до объема, обеспечивающего максимально возможную загрузку функциональных блоков системы исходя из особенностей алгоритма решаемой задачи и аппаратных ограничений на количество функциональных блоков. Децентрализация управления в асинхронной синергической вычислительной системе и, как следствие, включение в структуру функциональных блоков устройства управления и устройства памяти команд, связанных указанным образом, а также распределенное управление коммутатором посредством адресных входов, подсоединенных к адресным выходам устройства управления, позволяет устранить задержки в вычислительном процессе, связанные с дозагрузкой программного кода. Это достигается тем, что в предлагаемой децентрализованной системе резко сокращается длина командного слова. Так, для системы, состоящей из 16 функциональных блоков, длина командного слова для подавляющего большинства операций составит 16 разрядов, что в несколько раз меньше, чем длина простой команды у прототипа. Соответственно, исчезает необходимость в кэш-памяти команд. Требуемый темп поступления командных слов может быть реализован, например, методом параллельного доступа, обеспечивающего одновременное считывание последовательности командных слов. 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. The introduction into the composition of the asynchronous synergistic computing system of functional units that implement the input-output and write-read data, connecting them to the switch in the same way as other system units are connected, eliminates the intermediate information medium in the form of a register file and, accordingly, reduces the time access to data, as well as increase due to the redistribution of blocks within the system, the flow of data received for processing to a volume that provides the maximum possible load of functional ith blocks of the system based on the features of the algorithm of the problem being solved and hardware limitations on the number of functional blocks. Decentralization of control in an asynchronous synergistic computer system and, as a result, the inclusion of commands connected in this way into the structure of the functional blocks of the control device and the memory device, as well as the distributed control of the switch via address inputs connected to the address outputs of the control device, eliminates delays in the computing process related to 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.

Ввод идентификационных меток для команд, аргументов и результатов вычисления, буферизация передачи информации между параллельно протекающими процессами в системе, ввод сигнальных признаков готовности результатов, аргументов и команд позволяют организовать асинхронный режим исполнения команд, обеспечивающий выдачу и прием результатов сразу по завершении операции и реализацию операций по готовности аргументов. Управление исполнением команд от потока данных (по готовности аргументов) дает возможность исключить время выполнения команд, как один из параметров, при решении задачи распараллеливания в процессе компиляции программ, а также сокращает простой функциональных блоков. Entering identification marks for commands, arguments and calculation results, buffering the transfer of information between parallel processes in the system, entering signal signs of the readiness of results, arguments and commands allow you to organize an asynchronous execution mode of commands, providing the issuance and reception of results immediately after the operation and the implementation of operations readiness arguments. Controlling the execution of commands from the data stream (by the readiness of the arguments) makes it possible to exclude the execution time of commands, as one of the parameters, when solving the parallelization task in the process of compiling programs, and also reduces the downtime of functional blocks.

Дополнительно следует также отметить, что унификация внутрисистемных межблочных связей, а также возможность включения в систему разнообразных, по реализуемому набору операций, функциональных блоков, позволяет в условиях конкретного применения для специализированных систем оптимизировать объем аппаратного обеспечения в части габаритно-массовых характеристик и потребляемой мощности. Ввод в состав устройства управления регистра информационной связности обеспечивает возможность организации параллельного и независимого выполнения нескольких информационно несвязанных задач, а ввод в коммутатор регистров логического номера создает основу для эффективного решения задачи реконфигурации системы при отказе отдельных функциональных блоков и задачи резервирования. 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. The introduction of the information connectivity register into the control device provides the possibility of organizing the parallel and independent execution of several informationally unrelated tasks, and the input of a logical number into the register registers creates the basis for the effective solution of the system reconfiguration task in the event of failure of individual functional units and the backup task.

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

Асинхронная синергическая вычислительная система (фиг. 1) содержит функциональные блоки 1.1,..,1.N, коммутатор 2 типа "каждый с каждым", имеющий N информационных входов i1,...,iN, 2N адресных входов a1, a2,...,a2N-1, a2N и 2N информационных выходов o1, o2,...,o2N-1, o2N (на фиг.1 показаны связи для N-го функционального блока). Каждый функциональный блок состоит из устройства управления 3, устройства памяти команд 4 и операционного устройства 5, реализующего двуместные и одноместные операции, а также имеет два идентификационных входа аргументов МА1 и МА2, два входа признаков готовности аргументов SA1 и SA2, два информационных входа I1 и I2, идентификационный выход аргументов М, два выхода признаков аргументов S1 и S2, два адресных выхода A1 и А2, идентификационный выход результата MR, выход признака результата SR, информационный выход О, выход логического номера LN, N входов признаков разрешения выбора команд sk1,..., skN, выход признаков разрешения выбора команд SK. Коммутатор также имеет N идентификационных входов результатов mr1, ..., mrN, N входов признаков готовности результатов sr1,..., srN, N идентификационных входов аргументов m1,...,mN, 2N входов признаков аргументов s1, s2,...,s2N-1, s2N, N входов логических номеров ln1,...,lnN, 2N идентификационных выходов аргументов ma1, ma2,..., ma2N-1, ma2N, 2N выходов признаков готовности аргументов sa1, sa2,...,sa2N-1, sa2N. Первый и второй идентификационные входы аргументов MA1 и МА2 k-го функционального блока (k= 1,...,N) соединены соответственно с (2k-1)-м и 2k-м идентификационными выходами аргументов коммутатора ma2N-1 и ma2N, первый и второй входы признаков готовности аргументов SA1 и SA2 соединены соответственно с (2k-1)-м и 2k-м выходами признаков готовности аргументов коммутатора sa2N-1 и sa2N, первый и второй информационные входы I1 и I2 соединены соответственно с (2k-1)-м и 2k-м информационными выходами o2N-1 и o2N коммутатора. Идентификационный выход аргумента М соединен с k-м идентификационным входом аргументов коммутатора mN, первый и второй выходы признаков аргументов S1 и S2 соединены соответственно с (2k-1)-м и 2k-м входами признаков аргументов коммутатора s2N-1 и s2N, первый и второй адресные выходы A1 и А2 соединены соответственно с (2k-1)-м и 2k-м адресными входами коммутатора a2N-1 и a2N. Идентификационный выход результата MR соединен с k-м идентификационным входом результатов коммутатора mrN, выход признака готовности результата SR соединен с k-м входом признаков готовности результатов коммутатора sr1, информационный выход функционального блока О соединен с k-м информационным входом коммутатора iN. Выход признака разрешения выбора команд SK соединен с k-м входом признаков разрешения выбора команд skN всех функциональных блоков. Идентификационные входы аргументов MA1 и МА2, входы признаков готовности аргументов SA1 и SA2 и информационные входы I1 и I2 функционального блока являются соответствующими входами устройства управления 3. Идентификационный выход аргументов М, выходы признаков аргументов S1 и S2, а также адресные выходы функционального блока А1 и А2 являются соответствующими выходами устройства управления 3, третий адресный выход устройства управления 3 соединен с адресным входом устройства памяти команд 4. Командный вход-выход устройства управления 3 соединен с командным входом-выходом устройства памяти команд 4, идентификационный и управляющий выходы устройства управления 3 соединены соответственно с идентификационным и управляющим входами операционного устройства 5. Первый и второй информационные выходы устройства управления 3 соединены соответственно с первым и вторым информационными входами операционного устройства 5, идентификационный выход результата MR, выход признака результата SR и информационный выход О операционного устройства 5 являются соответствующими выходами функционального блока. Выход логического номера LN, N входов признаков разрешения выбора команд sk1,..., и skN и выход признака разрешения выбора команд SK функционального блока являются соответствующими выходами и входами устройства управления 3. Устройство управления состоит из блока выбора команд 3.1, блока дешифрации команд 3.2, блока формирования исполняемой команды 3.3, блока управления исполнением команд 3.4, блока разрешения выбора команд 3.5, регистра информационной связности 6, памяти занятых меток 7, памяти готовности аргументов 8, буферной памяти кода операции 9, буферной памяти первого аргумента 10, буферной памяти второго аргумента 11. Адресный выход блока выбора команд 3.1 является третьим адресным выходом устройства управления 3, командный выход блока выбора команд 3.1 является командным выходом устройства управления 3. Первый идентификационный выход блока выбора команд 3.1 соединен с адресным входом чтения памяти занятых меток 7, вход признака занятости метки блока выбора команд 3.1 соединен с информационным выходом памяти занятых меток 7. Второй идентификационный выход блока выбора команд 3.1 соединен с идентификационным входом блока дешифрации команд 3.2 и адресным входом записи памяти занятых меток 7, выход признака занятости метки блока выбора команд 3.1 соединен с информационным входом памяти занятых меток 7. Управляющий вход блока выбора команд 3.1 соединен с управляющим выходом блока дешифрации команд 3.2, информационный вход блока выбора команд 3.1 соединен с третьим информационным выходом блока управления исполнением команд 3.4, выход признака разрешения выбора команд SK блока выбора команд 3.1. является выходом устройства управления 3. Командный вход блока дешифрации команд 3.2 является командным входом устройства управления 3, идентификационный выход аргументов блока дешифрации команд 3.2 является идентификационным выходом аргументов М устройства управления 3, выход признака первого аргумента, первый адресный выход, выход признака второго аргумента и второй адресный выход блока дешифрации команд 3.2 являются, соответственно, выходами S1, А1, S2, А2 устройства управления 3, информационно-управляющий выход блока дешифрации команд 3.2 соединен с информационно-управляющим входом блока формирования исполняемой команды 3.3. Идентификационные входы аргументов, входы признаков готовности аргументов и информационные входы блока формирования исполняемой команды 3.3 являются, соответственно, входами MA1, MA2, SA1, SA2, I1, I2 устройства управления 3. Первый идентификационный выход блока формирования исполняемой команды 3.3 соединен с адресным входом памяти готовности аргументов 8. Второй, третий и четвертый идентификационные выходы блока формирования исполняемой команды 3.3 соединены соответственно с адресными входами записи буферной памяти кода операции 9, буферной памяти первого аргумента 10 и буферной памяти второго аргумента 11. Первый информационный вход-выход блока формирования исполняемой команды 3.3 соединен с информационным входом-выходом памяти готовности аргументов 8. Второй, третий и четвертый информационные выходы данного блока соединены соответственно с информационными входами записи буферной памяти кода операции 9, буферной памяти первого аргумента 10 и буферной памяти второго аргумента 11. Выход признака готовности команды блока формирования исполняемой команды 3.3 соединен с входом признака готовности команды блока управления исполнением команды 3.4. Пятый идентификационный выход блока формирования исполняемой команды 3.3 соединен с идентификационным входом блока управления исполнением команды 3.4, первый, второй и третий идентификационные выходы соединены соответственно с адресными входами чтения буферной памяти кода операции 9, буферной памяти первого аргумента 10 и буферной памяти второго аргумента 11. Первый, второй и третий информационные входы блока управления исполнением команд 3.4 соединены соответственно с информационными выходами чтения буферной памяти кода операции 9, буферной памяти первого аргумента 10 и буферной памяти второго аргумента 11. Выход логического номера блока управления исполнением команд 3.4 является выходом LN устройства управления. Четвертый идентификационный выход блока управления исполнением команд 3.4 соединен с адресным входом записи памяти занятых меток 7, выход признака занятости метки блока управления исполнением команд 3.4 соединен с информационным входом памяти занятых меток 7. Выход установки информационной связности блока управления исполнением команд 3.4 соединен с входом регистра информационной связности 6. Пятый идентификационный выход блока управления исполнением команд 3.4 является идентификационным выходом устройства управления 3. Управляющий выход блока управления исполнением команд 3.4 является управляющим выходом устройства управления 3. Первый и второй информационные выходы блока управления исполнением команд 3.4 являются, соответственно, первым и вторым информационными выходами устройства управления 3. Выход регистра информационной связности 6 соединен с входом информационной связности блока разрешения выбора команд 3.5, выход признака разрешения которого соединен с входом признака разрешения блока выбора команд 3.1. N входов признаков разрешения выбора команд блока разрешения выбора команд 3.5 являются входами sk1,..., skN устройства управления 3. Операционное устройство 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 являются, соответственно, идентификационным выходом результата MR, выходом признака результата SR и информационным выходом О операционного устройства 5. Коммутатор 2 состоит из N узлов коммутации 2.1,...,2.N каждый из которых включает N устройств выбора 2.N.1,...,2.N.N, содержащих регистр логического номера 12, блок формирования признаков выбора 13, память признаков выбора 14, два буферных блока FIFO-памяти 15 и 16. Во всех узлах коммутации для k-го устройства выбора 2.N.N, k-й информационный вход коммутатора iN соединен с первыми информационными входами буферных блоков FIFO-памяти 15 и 16, k-й идентификационный вход результата mrN соединен со вторыми информационными входами буферных блоков FIFO-памяти 15 и 16 и адресным входом чтения памяти признаков выбора 14, k-й вход признака готовности результата srN является сигнальным входом чтения памяти признаков выбора 14. Во всех устройствах выбора k-го узла коммутации 2N, (2k-1)-й адресный вход коммутатора a2N-1 соединен с адресными входами первого аргумента блоков формирования признаков выбора 13, 2k-й адресный вход коммутатора a2N соединен с адресными входами второго аргумента блоков формирования признаков выбора 13, (2k-1)-й вход признаков аргументов s2N-1 соединен с входами признака первого аргумента блоков формирования признаков 13, 2k-й вход признаков аргументов s2N соединен с входами признака второго аргумента блоков формирования признаков 13, k-й вход логического номера lnN соединен с входами регистров логического номера 12, k-й идентификационный вход аргумента mN соединен с адресными входами записи памятей признаков выбора 14. Для всех устройств выбора 2.1.1, ...,2.N.N выход регистра логического номера 12 соединен с входом логического номера блока формирования признаков выбора 13, выход признака наличия аргументов блока формирования признаков выбора 13 соединен с сигнальным входом записи памяти признаков выбора 14, выходы признаков наличия первого и второго аргументов блока формирования признаков выбора 13 соединены соответственно с первым и вторым информационными входами памяти признаков выбора 14. Первый информационный выход памяти признаков выбора 14 соединен с сигнальным входом записи первого буферного блока FIFO-памяти 15, второй информационный выход памяти признаков выбора 14 соединен с сигнальным входом записи второго буферного блока FIFO-памяти 16. Все первые буферные блоки FIFO-памяти 15 k-го узла коммутации 2.N связаны последовательно сигнальным входом чтения в кольцо, причем первые информационные выходы первых буферных блоков FIFO-памяти 15 объединены и являются (2k-1)-м информационным выходом коммутатора o2N-1. Вторые информационные выходы первых буферных блоков FIFO-памяти 15 объединены и являются (2k-1)-м идентификационным выходом аргументов ma2N-1 коммутатора, выходы признаков готовности первых буферных блоков FIFO-памяти 15 объединены и являются (2k-1)-м выходом признаков готовности аргументов sa2N-1 коммутатора. Все вторые буферные блоки FIFO-памяти 16 k-го узла коммутации 2. N также связаны последовательно сигнальным входом чтения в кольцо, причем первые информационные выходы вторых буферных блоков FIFO-памяти 16 объединены и являются 2k-м информационным выходом коммутатора o2N. Вторые информационные выходы вторых буферных блоков FIFO-памяти 16 объединены и являются 2k-м идентификационным выходом аргументов ma2N коммутатора, выходы признаков готовности вторых буферных блоков FIFO-памяти 16 объединены и являются 2k-м выходом признаков готовности аргументов sa2N коммутатора.Asynchronous synergistic computing system (Fig. 1) contains functional blocks 1.1, .., 1.N, switch 2 of the type "each with each", having N information inputs i 1 , ..., i N , 2N address inputs a 1 , a 2 , ..., a 2N-1 , a 2N and 2N information outputs o 1 , o 2 , ..., o 2N-1 , o 2N (Fig. 1 shows the connections for the N-th functional block). Each functional block consists of a control device 3, a memory device for commands 4 and an operating device 5 that implements two-place and one-place operations, and also has two identification inputs of arguments MA 1 and MA 2 , two inputs of signs of readiness of arguments SA 1 and SA 2 , two information input I 1 and I 2 , the identification output of the arguments M, two outputs of the characteristics of the arguments S 1 and S 2 , two address outputs A 1 and A 2 , the identification output of the result MR, the output of the result sign SR, information output O, the output of the logical number LN, N in odov features enable selection commands sk 1, ..., sk N, yield signs SK enable selection commands. The switch also has N identification inputs of the results mr 1 , ..., mr N , N inputs of the readiness signs sr 1 , ..., sr N , N identification inputs of the arguments m 1 , ..., m N , 2N inputs of the arguments s 1 , s 2 , ..., s 2N-1 , s 2N , N inputs of logical numbers ln 1 , ..., ln N , 2N identification outputs of arguments ma 1 , ma 2 , ..., ma 2N-1 , ma 2N , 2N outputs of signs of readiness of arguments sa 1 , sa 2 , ..., sa 2N-1 , sa 2N . The first and second identification inputs of the arguments MA 1 and MA 2 of the k-th functional block (k = 1, ..., N) are connected respectively to the (2k-1) th and 2 k-th identification outputs of the arguments of the switch ma 2N-1 and ma 2N , the first and second inputs of the signs of readiness of the arguments SA 1 and SA 2 are connected respectively to the (2k-1) -th and 2k-th outputs of the signs of readiness of the arguments of the switch sa 2N-1 and sa 2N , the first and second information inputs I 1 and I 2 are connected respectively to the (2k-1) th and 2k-th information outputs o 2N-1 and o 2N of the switch. The identification output of the argument M is connected to the kth identification input of the arguments of the switch m N , the first and second outputs of the signs of arguments S 1 and S 2 are connected respectively to the (2k-1) and 2k-th inputs of the signs of the arguments of the switch s 2N-1 and s 2N , the first and second address outputs A 1 and A 2 are connected respectively to the (2k-1) th and 2k-th address inputs of the switch a 2N-1 and a 2N . The identification output of the result MR is connected to the k-th identification input of the results of the switch mr N , the output of the sign of readiness of the result SR is connected to the k-th input of the signs of readiness of the results of the switch sr 1 , the information output of the function block O is connected to the k-th information input of the switch i N. The output of the enable command selection enable flag SK is connected to the kth input of the enable command selection enable signs sk N of all functional blocks. The identification inputs of the arguments MA 1 and MA 2 , the inputs of the signs of readiness of the arguments SA 1 and SA 2 and the information inputs I 1 and I 2 of the function block are the corresponding inputs of the control device 3. The identification output of the arguments M, the outputs of the signs of the arguments S 1 and S 2 , and and address outputs of the functional blocks a 1 and a 2 are the respective outputs of the control device 3, the third address output control unit 3 is connected to the address input of instruction memory 4. The command input-output control unit 3 comp nen with the command input-output of the command memory 4, the identification and control outputs of the control device 3 are connected respectively to the identification and control inputs of the operating device 5. The first and second information outputs of the control device 3 are connected respectively to the first and second information inputs of the operating device 5, identification the output of the result MR, the output of the sign of the result of SR and the information output About the operating device 5 are the corresponding outputs of the function flax block. The output of the logical number LN, N of the input signs of the permission to select the commands sk 1 , ..., and sk N and the output of the sign of the permission to select the SK commands of the function block are the corresponding outputs and inputs of the control device 3. The control device consists of a command selection block 3.1, a decryption block 3.2 commands, the block forming the executable command 3.3, the command execution control block 3.4, the command selection permission block 3.5, the information connectivity register 6, the memory of the occupied tags 7, the readiness memory of the arguments 8, the buffer memory of the operation code 9, buffer memory of the first argument 10, buffer memory of the second argument 11. The address output of the command selection unit 3.1 is the third address output of the control device 3, the command output of the command selection unit 3.1 is the command output of the control device 3. The first identification output of the command selection unit 3.1 is connected to the address input for reading the memory of busy tags 7, the input of the sign of busy tags of the command selection block 3.1 is connected to the information output of the memory of the busy tags 7. The second identification output of the command selection block 3.1 is connected is connected with the identification input of the command decryption unit 3.2 and the address input of the memory recording of the busy tags 7, the output of the busy sign of the tag of the command selection block 3.1 is connected to the information input of the memory of the busy tags 7. The control input of the command selection block 3.1 is connected to the control output of the command decryption 3.2 the input of the command selection block 3.1 is connected to the third information output of the command execution control block 3.4, the output of the command selection permission flag SK of the command selection block 3.1. is the output of the control device 3. The command input of the command decryption unit 3.2 is the command input of the control device 3, the identification output of the arguments of the command decryption unit 3.2 is the identification output of the arguments M of the control device 3, the output of the sign of the first argument, the first address output, the output of the sign of the second argument and the second the address output of the command decryption unit 3.2 are, respectively, the outputs S 1 , A 1 , S 2 , A 2 of the control device 3, the information and control output of the command decryption unit 3.2 is connected to the information and control input of the block forming the executable command 3.3. The identification inputs of the arguments, the inputs of the signs of readiness of the arguments and the information inputs of the block forming the executable command 3.3 are, respectively, the inputs MA 1 , MA 2 , SA 1 , SA 2 , I 1 , I 2 of the control device 3. The first identification output of the block forming the executable command 3.3 connected to the address input of the readiness memory of the arguments 8. The second, third and fourth identification outputs of the block forming the executable command 3.3 are connected respectively to the address inputs of the buffer record of the operation code 9, buffer the memory of the first argument 10 and the buffer memory of the second argument 11. The first information input-output of the block for generating the executable command 3.3 is connected to the information input-output of the readiness memory of arguments 8. The second, third, and fourth information outputs of this block are connected respectively to the information inputs of the code buffer memory record operation 9, the buffer memory of the first argument 10 and the buffer memory of the second argument 11. The output of the sign of readiness of the command of the block forming the executable command 3.3 is connected to the input iznaka readiness of the command control unit execution command 3.4. The fifth identification output of the block for generating the executable command 3.3 is connected to the identification input of the execution control block 3.4, the first, second and third identification outputs are connected respectively to the address inputs of reading the buffer memory of operation code 9, the buffer memory of the first argument 10, and the buffer memory of the second argument 11. The first , the second and third information inputs of the command execution control unit 3.4 are connected respectively to the information outputs of reading the buffer memory of the operation code 9, the buffer memory of the first argument 10 and the buffer memory of the second argument 11. The output of the logical number of the control block 3.4 is the output LN of the control device. The fourth identification output of the command execution control unit 3.4 is connected to the address input of the memory recording of the busy tags 7, the output of the tag of the busy label of the command control 3.4 is connected to the information input of the memory of the busy tags 7. The output of the information connectivity setting of the command execution control 3.4 is connected to the information register input connectivity 6. The fifth identification output of the command execution control unit 3.4 is the identification output of the control device 3. Control output the command execution control unit 3.4 is the control output of the control device 3. The first and second information outputs of the command execution control unit 3.4 are, respectively, the first and second information outputs of the control device 3. The output of the information connectivity register 6 is connected to the information connectivity input of the command selection permission block 3.5 the output of the enable flag of which is connected to the input of the enable flag of the command selection block 3.1. The N inputs of command selection enable signals of command selection enabler 3.5 are inputs sk 1 , ..., sk N of control device 3. Operational device 5 comprises input / output device 5.1 and / or arithmetic logic device 5.2 / or data memory device 5.3. The first information input of the operating device 5 is the information input of the input / output device 5.1, arithmetic logic device 5.2 and 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. The identification and control inputs of the operating device 5 are, respectively, the identification and control inputs of the input-output device 5.1, arithmetic logic device 5.2 and data memory device 5.3. The identification output of the result, the output of the result attribute and the information output of the input / output device 5.1, the arithmetic logic device 5.2 and the data memory device 5.3 are, respectively, the identification output of the result MR, the output of the result attribute SR and the information output O of the operating device 5. Switch 2 consists from N switching nodes 2.1, ..., 2.N each of which includes N devices of choice 2.N.1, ..., 2.NN, containing a register of logical number 12, a block for generating features of a choice of 13, a memory of features of a choice of 14 , d and the FIFO-memory 15 and the buffer unit 16. In all switching nodes for k-th 2.NN device selection, k-th information input i N switch is connected to the first data inputs of FIFO-memory 15 and buffer blocks 16, k-th identification the input of the result mr N is connected to the second information inputs of the buffer blocks of the FIFO memory 15 and 16 and the address input of the read memory of the signs of choice 14, the k-th input of the sign of readiness of the result sr N is the signal input to read the memory of the signs of choice 14. In all devices of choice k- th switching node 2N, (2k-1) th address input to mmutatora a 2N-1 is connected with the address inputs of the first argument blocks 13 forming feature selection, 2k-th address input switch a 2N coupled to address inputs of the second argument of the blocks 13 forming selection characteristics, (2k-1) th input arguments signs s 2N- 1 is connected to the attribute inputs of the first argument of the attribute generation blocks 13, the 2nd k input of the argument arguments s 2N is connected to the attribute inputs of the second argument of the attribute formation blocks 13, the kth input of the logical number ln N is connected to the inputs of the registers of the logical number 12, the kth identif munication input argument m N connected with the address inputs of memories recording feature selection devices 14. For all selection 2.1.1, ..., 2.NN logical number output register 12 is connected to an input of the logical number generation unit 13 feature selection, feature availability output arguments unit for the formation of signs of choice 13 is connected to the signal input of the recording memory of the signs of choice 14, outputs of signs of the presence of the first and second arguments of the block for forming signs of choice 13 are connected respectively to the first and second information inputs of memory and selection signs 14. The first information output of the memory of selection signs 14 is connected to the recording signal input of the first FIFO memory block 15, the second information output of selection signs 14 is connected to the recording signal input of the second buffer FIFO block 16. All the first FIFO buffer blocks -memory 15 of the k-th switching node 2.N are connected in series with the read signal input to the ring, and the first information outputs of the first buffer blocks of the FIFO memory 15 are combined and are the (2k-1) -th information output of the switch o 2N-1 . The second information outputs of the first buffer blocks of the FIFO memory 15 are combined and are the (2k-1) th identification output of the switch arguments ma 2N-1 , the outputs of the availability indicators of the first buffer blocks of the FIFO memory 15 are combined and are the (2k-1) th output signs of readiness of the arguments sa 2N-1 switch. All the second buffer blocks of the FIFO memory 16 of the kth switching node 2. N are also connected in series with the read signal input to the ring, and the first information outputs of the second buffer blocks of the FIFO memory 16 are combined and are the 2k information output of the switch o 2N . The second information outputs of the second buffer blocks of the FIFO memory 16 are combined and are the 2kth identification output of the arguments ma 2N of the switch, the outputs of the readiness indicators of the second buffer blocks of the FIFO memory 16 are combined and are the 2kth output of the signs of the readiness of the arguments sa 2N of the switch.

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

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

Командные слова (фиг. 2) имеют два основных формата. Первый формат содержит поле кода операции и два поля с адресами аргументов. Второй формат состоит из поля кода операции, поля с адресом аргумента и поля с адресом команды, числа или абонента. Размер поля кода операций определяется номенклатурой операций и должен быть не менее ]log2P[ двоичных разрядов, где Р - количество операций. Размер полей с адресами аргументов зависит от количества функциональных блоков и должен быть не менее ]log2N[ каждое. Размер поля с адресом команды, числа или абонента определяется максимальным объемом адресуемой памяти команд или памяти данных, либо числом внешних абонентов.Command words (Fig. 2) have two main 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 arguments 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.

Конкретными условиями применения определяется и состав операционных устройств функциональных блоков, а именно требованиями к количеству и скорости каналов ввода/вывода, требованиями к объему хранимых данных и скорости их обработки. В зависимости от этих требований асинхронная синергическая вычислительная система может иметь суммарно в составе операционных устройств до N устройств ввода/вывода и/или до N арифметико-логических устройств и/или до N устройств памяти данных. При этом объединение устройства ввода-вывода и/или арифметико-логического устройства и/или устройства памяти данных в одно операционное устройство выполняется согласно изобретению, а соединение между собой указанных устройств может быть выполнено любым известным способом. The specific application conditions determine the composition of the operational devices of the functional blocks, namely the requirements for the number and speed of input / output channels, requirements for the volume of stored data and the speed of their processing. Depending on these requirements, an asynchronous synergistic computing system can have up to N input / output devices and / or up to N arithmetic logic devices and / or up to N data memory devices in total operating devices. At the same time, combining the input-output device and / or the arithmetic logic device and / or the data memory device into one operating device is performed according to the invention, and the connection of these devices can be performed by any known method.

Все функциональные блоки синергической вычислительной системы работают параллельно и независимо друг от друга, в соответствии с программами, находящимися в их устройствах памяти команд. Каждая команда реализует двуместную или одноместную операцию, которая выполняется определенное целое количество тактов, и по завершении выполнения полученный результат поступает в коммутатор. 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 double or single operation, which performs a certain integer number of clock cycles, and upon completion of the execution, the result is sent to the switch.

Выполнение команды в системе включает пять последовательных стадий. The execution of a command in the system involves five successive stages.

Первая заключается в выборе командного слова, дешифрации кода операции, формировании (при необходимости, в зависимости от выполняемой операции) памяти признаков выбора и формировании заготовки командного слова, включающей запись соответствующих признаков в память готовности аргументов и буферную память кода операции. The first is the choice of the control word, the decryption of the operation code, the formation (if necessary, depending on the operation) of the memory of the signs of selection and the formation of the blank of the command word, which includes the recording of the corresponding signs in the memory ready arguments and the buffer memory of the operation code.

Вторая стадия предназначена для приема результатов выполнения предшествующих операций и записи их в соответствующие буферные блоки FIFO-памяти, как аргументов для выполняемых операций. The second stage is designed to receive the results of previous operations and write them to the corresponding buffer blocks of the FIFO memory as arguments for the operations to be performed.

Третья стадия обеспечивает считывание аргументов из FIFO-памяти и запись их в буферную память первого или второго аргумента. The third stage provides the reading of the arguments from the FIFO memory and writing them to the buffer memory of the first or second argument.

Четвертая стадия заключается в выборе подготовленных команд из буферной памяти кода операции, буферной памяти первого и второго аргументов и выдаче их на исполнение. The fourth stage is the selection of prepared commands from the buffer memory of the operation code, the buffer memory of the first and second arguments and issuing them for execution.

Пятая стадия - это собственно выполнение операции. The fifth stage is the actual execution of the operation.

Длительность выполнения каждой стадии переменная. Одновременно в каждом функциональном блоке на различных стадиях выполнения может находиться до L команд. При этом, синхронизирован только запуск команд на выполнение (первая стадия). Все остальные стадии выполняются не синхронно, в зависимости от готовности результатов, аргументов, команд. The duration of each stage is variable. At the same time in each functional block at different stages of execution can be up to L teams. At the same time, only the launch of execution commands is synchronized (the first stage). All other stages are not performed synchronously, depending on the readiness of the results, arguments, commands.

Адреса первых выполняемых команд задаются аппаратно или программно после ввода исполняемых команд, при этом исходное состояние функциональных блоков 1.1,...,1.N и коммутатора 2 асинхронной синергической системы следующее:
память занятых меток 7, память признаков выбора 14 и буферные блоки FIFO-памяти 15 и 16 обнулены;
признаки готовности результатов SR, признаки готовности аргументов SA1 и SA2 и признаки готовности команд находятся в состоянии "не готов", то есть равны нулю;
состояние регистра информационной связности 6 нулевое;
состояние признака разрешения выбора команд SK нулевое, что соответствует признаку "разрешено";
состояние регистра логического номера 12, памяти готовности аргументов 8, буферной памяти кода операции 9, буферной памяти первого аргумента 10 и буферной памяти второго аргумента 11 произвольное.
The addresses of the first executable commands are set hardware or software after entering the executable commands, while the initial state of the functional blocks 1.1, ..., 1.N and switch 2 of the asynchronous synergistic system are as follows:
the memory of the occupied marks 7, the memory of the selection signs 14 and the buffer blocks of the FIFO memory 15 and 16 are reset;
signs of readiness of results SR, signs of readiness of arguments SA 1 and SA 2 and signs of readiness of commands are in the "not ready" state, that is, they are equal to zero;
the state of the information connectivity register 6 is zero;
the state of the flag for enabling the selection of SK commands is zero, which corresponds to the "allowed"flag;
the state of the register of logical number 12, the readiness memory of the arguments 8, the buffer memory of the operation code 9, the buffer memory of the first argument 10 and the buffer memory of the second argument 11 is arbitrary.

Для идентификации команд, аргументов и результатов вычислений в асинхронной синергической вычислительной системе в блоках выбора команд 3.1 формируются идентификационные метки, исходное состояние которых нулевое. To identify commands, arguments and calculation results in an asynchronous synergistic computer system, identification marks are generated in the command selection blocks 3.1, the initial state of which is zero.

Выбор очередной команды блоком выбора команд 3.1 начинается с проверки признака разрешения, поступающего от блока разрешения выбора команд 3.5. Если признак разрешения равен единице ("запрещено"), то блок выбора команд 3.1 будет находиться в состоянии ожидания до тех пор, пока значение признака не станет равным нулю ("разрешено"), после чего блок выбора команд 3.1 проверяет занятость идентификационной метки. Для этого блок выбора команд 3.1 считывает из памяти занятых меток 7 слово, находящееся по адресу, значение которого равно значению идентификационной метки. Если содержимое данного слова нулевое (признак "метка свободна"), то блок выборки команд 3.1 выдает адрес команды в устройство памяти команд 4, записывает в память занятых меток 7 по адресу, равному значению идентификационной метки ненулевое слово (признак "метка занята") и выдает по второму идентификационному выходу значение метки в блок дешифрации команд 3.2. Если при считывании содержимое слова ненулевое (признак "метка занята"), то блок выбора команд формирует признак разрешения выбора команд SK равным единице и переходит в состояние ожидания до тех пор, пока метка не освободится, после чего признак разрешения выбора команд SK устанавливается равным нулю, и процесс выбора команд начинается заново с проверки признака разрешения. The selection of the next command by the command selection block 3.1 starts with checking the permission flag coming from the command selection permission block 3.5. If the permission flag is equal to one ("forbidden"), then the command selection block 3.1 will be in the standby state until the value of the flag becomes zero ("allowed"), after which the command selection block 3.1 checks the identification tag is busy. To do this, the command selection unit 3.1 reads from the memory of the occupied tags 7 a word located at an address whose value is equal to the value of the identification tag. If the content of this word is zero (the tag is free tag), the command fetch unit 3.1 issues the command address to the command memory 4, writes a non-zero word to the memory of the busy tags 7 at the identifying tag value (the tag is busy) and gives the label value to the command decryption block 3.2 on the second identification output. If during reading the contents of the word are non-zero (the tag is busy indicator), the command selection block generates a flag for allowing the selection of SK commands to one and switches to the standby state until the label is released, after which the flag for enabling the selection of SK commands is set to zero , and the process of selecting commands begins anew with checking the sign of permission.

После выдачи адреса команды в устройство памяти команд 4, записи признака занятости метки и выдачи значения метки в блок дешифрации команд 3.2, блок выбора команд 3.1 формирует новое значение адреса команды и новое значение идентификационной метки путем прибавления единицы к старым значениям, при этом сложение при вычислении нового значения метки осуществляется по модулю L. After issuing the command address to the command memory 4, recording the tag’s busy indicator and issuing the tag value to the command decryption block 3.2, the command selection block 3.1 generates a new command address value and a new identification tag value by adding one to the old values, while adding up when calculating the new label value is carried out modulo L.

Блок дешифрации команд 3.2 принимает командное слово из устройства памяти команд 4, распаковывает его и анализирует код операции. Если для выполнения данной команды требуется один или два аргумента из коммутатора 2, то блок дешифрации команд 3.2 формирует и передает в коммутатор 2, соответственно, значение идентификационной метки по выходу М, одно или два значения признаков аргументов S1 и S2 и одно или два значения адресов A1 и А2. Значение идентификационной метки берется то, которое поступило из блока выбора команд 3.1, значения адресов берутся из командного слова, а значения признаков аргументов формируются следующим образом: если команда использует какой-либо аргумент, то значение соответствующего признака равно единице ("аргумент используется"), в противном случае значение равно нулю ("аргумент не используется"). Если для выполнения команды требуется выбрать еще одно командное слово (формат 2) в качестве адреса данных (команд, внешнего устройства) из устройства памяти команд 4, то информация об этом поступает в блок выбора команд 3.1 по управляющему входу. В этом случае блок выбора команд 3.1 организует чтение дополнительного командного слова, при этом идентификационная метка не изменяется, а на время чтения формируется признак разрешения выбора команд SK равным единице, то есть выбор командных слов для других функциональных блоков запрещается.The command decryption unit 3.2 receives the command word from the command memory 4, unpacks it and analyzes the operation code. If this command requires one or two arguments from switch 2, then the command decryption unit 3.2 generates and transfers to switch 2, respectively, the value of the identification label at the output M, one or two sign values of the arguments S 1 and S 2, and one or two the values of addresses A 1 and A 2 . The value of the identification tag is taken from the command selection block 3.1, the address values are taken from the command word, and the attribute values of the arguments are generated as follows: if the command uses any argument, then the value of the corresponding attribute is equal to one ("argument is used"), otherwise, the value is zero ("argument not used"). If, to execute a command, it is required to select another command word (format 2) as the data address (commands, external device) from the command memory 4, then this information is sent to the command selection block 3.1 via the control input. In this case, the command selection block 3.1 organizes the reading of the additional command word, while the identification tag does not change, and for the time of reading, a sign of permission to select SK commands equal to one is generated, that is, the choice of command words for other function blocks is prohibited.

Идентификационная метка, код операции и адрес данных (команды, внешнего устройства) по информационно-управляющему выходу передаются в блок формирования исполняемой команды 5.3. Используя значение идентификационной метки как адрес, блок формирования исполняемой команды 5.3 обнуляет соответствующее слово памяти готовности аргументов 8, записывает в буферную память кода операции 9 полученный код операции и, при необходимости, в буферную память второго аргумента 11 адрес данных (команд, внешнего устройства), а в память готовности аргументов 8 - признак готовности второго аргумента. Значения аргументов, поступающих от других функциональных блоков, записываются при получении признаков готовности аргументов SA1 и SA2 равными единице ("аргумент готов"). В этом случае значения идентификационных меток, поступивших по входам MA1 и МА2 используются, соответственно, в качестве адреса для записи значений аргументов I1 и I2 в буферную память первого аргумента 10 и буферную память второго аргумента 11. Так как система асинхронна, то значения аргументов могут поступать не одновременно. Параллельно с записью значений аргументов в память готовности аргументов 8 заносятся признаки готовности аргументов. Запись признаков осуществляется следующим образом. По адресу, значение которого определяется значением идентификационной метки, читается слово из памяти готовности аргументов 8. В соответствующие разряды этого слова вносится признак готовности первого или второго аргумента (ненулевые разряды), после чего выполняется проверка на наличие готовности двух аргументов. Сформированное слово записывается обратно в память готовности аргументов 8, при этом, если при проверке определено, что готовы оба аргумента, то формируется признак готовности команды, значение идентификационной метки, равное значению последнего записанного аргумента, и эти данные по выходу признака готовности команды и по пятому идентификационному выходу передаются в блок управления исполнением команды 3.4. Данный блок считывает по адресу, равному значению идентификационной метки, код операции из буферной памяти кода операции 9, значение первого аргумента из буферной памяти первого аргумента 10 и значение второго аргумента из буферной памяти второго аргумента 11. Записывает по этому же адресу в память занятых меток 7 признак занятости метки, равной нулю ("метка свободна"), и анализирует код операции. Если поступившая команда не требует использования устройства памяти данных 5.3, арифметико-логического устройства 5.2 или устройства ввода-вывода 5.1, то есть если она не формирует результат, поступающий в коммутатор 2, то эту команду выполняет сам блок управления исполнением команд 3.4. В частности, это команды формирования логического номера, передачи управления, загрузки устройства памяти команд 4, формирования регистра информационной связности 6. В противном случае блок управления исполнением команд 3.4 формирует новое значение идентификационной метки, складывая полученное с единицей по модулю L и передает новое значение идентификационной метки, значение кода операции и значения первого и второго аргументов в операционное устройство 5 по пятому идентификационному выходу, управляющему выходу и первому и второму информационным выходам, соответственно.The identification tag, operation code and address of the data (command, external device) are transmitted via the information-control output to the block for generating the executable command 5.3. Using the value of the identification tag as an address, the block for generating the executable command 5.3 resets the corresponding word of the readiness memory of arguments 8, writes the received operation code to the buffer memory of the operation code 9 and, if necessary, the data address (commands, external device) into the buffer memory of the second argument 11, and in memory of the readiness of arguments 8 - a sign of readiness of the second argument. The values of the arguments coming from other function blocks are recorded when signs of readiness of arguments SA 1 and SA 2 equal to one (“argument ready”) are received. In this case, the values of the identification marks received at the inputs MA 1 and MA 2 are used, respectively, as the addresses for writing the values of the arguments I 1 and I 2 to the buffer memory of the first argument 10 and the buffer memory of the second argument 11. Since the system is asynchronous, argument values may not arrive at the same time. In parallel with the recording of the values of the arguments in the memory of the readiness of the arguments 8 signs of readiness of the arguments are entered. Record of signs is as follows. At the address, the value of which is determined by the value of the identification label, the word is read from the memory of the readiness of the arguments 8. In the corresponding bits of this word, the sign of the readiness of the first or second argument (non-zero bits) is entered, after which a check is made for the availability of the two arguments. The generated word is written back to the readiness memory of arguments 8, in this case, if during the verification it is determined that both arguments are ready, a sign of the readiness of the command is formed, the value of the identification mark equal to the value of the last recorded argument, and this data is the output of the sign of the readiness of the command and the fifth the identification output is transferred to the control unit by execution of command 3.4. This block reads at the address equal to the value of the identification tag, the operation code from the buffer memory of the operation code 9, the value of the first argument from the buffer memory of the first argument 10 and the value of the second argument from the buffer memory of the second argument 11. Writes at the same address in the memory of the busy labels 7 a sign of busy label equal to zero ("label free"), and analyzes the operation code. If the incoming command does not require the use of a data memory device 5.3, arithmetic logic device 5.2, or input-output device 5.1, that is, if it does not generate a result coming to switch 2, then this command execution unit 3.4 executes this command. In particular, these are commands for generating a logical number, transferring control, loading a memory device for commands 4, forming an information connectivity register 6. Otherwise, the command execution control block 3.4 generates a new identification mark value, adding up the value obtained with unity modulo L and transmits a new identification value labels, the value of the operation code and the values of the first and second arguments to the operating device 5 according to the fifth identification output, control output and the first and second info mation outputs, respectively.

Операционное устройство 5 выполняет поступившую команду и формирует признак готовности результата SR, идентификационную метку результата (идентификационный выход результата MR) и сам результат (информационный выход О). The operating device 5 executes the command and generates a sign of readiness of the result SR, the identification mark of the result (identification output of the result MR) and the result itself (information output O).

Если команды не используют общих устройств, то возможно их параллельное выполнение, при этом, если результат формируется на одном и том же такте, то он поступает в коммутатор 2 в порядке поступления команд на исполнение. If the commands do not use common devices, then their parallel execution is possible, while if the result is generated on the same clock cycle, then it arrives at switch 2 in the order of execution commands.

Регистр информационной связности 6 имеет N разрядов и содержит информацию о том, какие функциональные блоки должны синхронно выбирать командные слова. Информационно связанные функциональные блоки отмечены единицей в соответствующем разряде, а именно k-й функциональный блок в k-ом разряде. Содержимое регистра информационной связности 6 используется при формировании признака разрешения, поступающего из блока разрешения выбора команд 3.5 в блок выбора команд 3.1. Если хотя бы один i-й разряд регистра информационной связности 6 равен единице и равен ski, то признак разрешения равен единице ("запрещено").The information connectivity register 6 has N digits and contains information about which functional blocks should select command words synchronously. The information-related functional blocks are marked with a unit in the corresponding category, namely, the k-th functional block in the k-th category. The contents of the information connectivity register 6 is used when generating a permission flag coming from the command selection permission block 3.5 to the command selection block 3.1. If at least one i-th digit of the information connectivity register 6 is equal to one and equal to sk i , then the permission flag is equal to one ("forbidden").

Коммутатор задействован на второй и третьей стадии выполнения команды. The switch is involved in the second and third stages of command execution.

Для реализации второй стадии предварительно формируется память признаков выбора 14. Формирование данной памяти происходит следующим образом. Блок формирования признаков выбора 13 анализирует состояние признаков аргументов s2N-1 и s2N. Если признак первого аргумента s2N-1 равен единице, то сравниваются значения регистра логического номера 12 и значение адреса первого аргумента и a2N-1. Если они равны, то формируется признак наличия первого аргумента, равный единице ("аргумент есть"), иначе значение данного признака устанавливается равным нулю ("аргумента нет"). Аналогично формируется признак наличия второго аргумента. Если хотя бы один из этих признаков не равен нулю, то формируется обобщающий признак наличия аргументов, равный единице ("аргументы есть"), иначе его значение устанавливается равным нулю ("аргументов нет"). Далее, если признак наличия аргументов ненулевой, то в память признаков выбора 14, по адресу, равному значению идентификационной метки, поступившей по идентификационному входу аргумента mN записывается двухразрядное слово, значение разрядов которого соответствует значениям признаков наличия первого и второго аргументов.For the implementation of the second stage, the memory of the signs of choice 14 is pre-formed. The formation of this memory is as follows. The block of formation of signs of choice 13 analyzes the state of signs of arguments s 2N-1 and s 2N . If the sign of the first argument s 2N-1 is equal to one, then the values of the register of logical number 12 and the address value of the first argument and a 2N-1 are compared. If they are equal, then the sign of the presence of the first argument is formed, which is equal to one ("the argument is"), otherwise the value of this sign is set to zero ("no argument"). Similarly, a sign of the presence of the second argument is formed. If at least one of these signs is not equal to zero, then a generalizing sign of the presence of arguments is formed, which is equal to one ("there are arguments"), otherwise its value is set equal to zero ("there are no arguments"). Further, if the sign of the presence of arguments is nonzero, then in the memory of the signs of choice 14, a two-bit word is written at the address equal to the value of the identification label received at the identification input of the argument m N , the value of the digits of which corresponds to the values of the signs of the presence of the first and second arguments.

Результат выполнения очередной операции, поступающей в коммутатор 2 по информационному входу iN сопровождается признаком готовности результата srN и идентификационной меткой mrN. В устройствах выбора 2.1.N, 2.2.N,...,2.N.N, соответствующих данному информационному входу, из памяти признаков выбора 14 по адресу, значение которого задается идентификационной меткой, по ненулевому признаку готовности результата ("результат готов") выполняется чтение соответствующего слова с одновременным обнулением его содержимого в памяти признаков выбора 14. Первый разряд (первый информационный выход) выбранного слова используется в качестве сигнала записи в первый буферный блок FIFO-памяти 15. Второй разряд - в качестве сигнала записи во второй буферный блок FIFO-памяти 16. Если сигнал записи отличен от нуля, то в соответствующий буферный блок FIFO-памяти будут записаны значения результата, поступившего по информационному входу iN и идентификационной метки, поступившей по идентификационному входу mrN.The result of the next operation entering the switch 2 via the information input i N is accompanied by a sign of readiness of the result sr N and an identification mark mr N. In the selection devices 2.1.N, 2.2.N, ..., 2.NN, corresponding to this information input, from the memory of the selection signs 14 to the address, the value of which is set by the identification mark, the non-zero sign of the result being ready ("the result is ready") is performed reading the corresponding word while zeroing its contents in the memory of the selection signs 14. The first bit (first information output) of the selected word is used as a write signal to the first buffer block of the FIFO memory 15. The second bit is used as a write signal to the second uferny FIFO-memory unit 16. If the recording signal is different from zero, the corresponding FIFO-buffer memory block will be recorded the result, incoming on data input i N and identification tags received by the ID input mr N.

Параллельно с процессом записи в буферные блоки FIFO-памяти 15 и 16 из этих блоков считывается ранее записанная информация и передается для формирования командных слов. Процесс чтения организован циклически, отдельно для всех первых буферных блоков FIFO-памяти 15 узла коммутации 2.N и отдельно для всех вторых буферных блоков FIFO-памяти этого же узла. Сигнал чтения передается по кольцу от первого буферного блока FIFO-памяти 15 устройства выбора 2.N.N к первому буферному блоку FIFO-памяти устройства выбора 2.N.N-1 и так далее до устройства выбора 2.N.1, сигнал чтения от которого связан с первым буферным блоком FIFO-памяти 15 устройства выбора 2.N.N. In parallel with the process of writing to the buffer blocks of FIFO memory 15 and 16, previously recorded information is read from these blocks and transmitted to form command words. The reading process is organized cyclically, separately for all the first buffer blocks of the FIFO memory 15 of the switching node 2.N and separately for all the second buffer blocks of the FIFO memory of the same node. The read signal is transmitted in a ring from the first buffer block of the FIFO memory 15 of the device of choice 2.NN to the first buffer block of the FIFO memory of the device of choice 2.NN-1 and so on to the device of choice 2.N.1, the read signal from which is connected with the first buffer block FIFO-memory 15 of the device selection 2.NN

Очередной первый буферный блок FIFO-памяти, получив сигнал чтения, если не имеет записанной ранее информации, передает этот сигнал следующему блоку. Если информация есть, то он формирует признак готовности аргумента sa2N-1, выбирает значения результата и идентификационной метки и выдает их на информационный выход o2N-1 и на идентификационный выход аргумента ma2N-1, соответственно. Выборка и выдача информации продолжается до тех пор, пока не будет выбрана вся информация, находящаяся в данном блоке, после чего формируется сигнал чтения для следующего блока и т.д.The next first buffer block of FIFO memory, having received a read signal, if it does not have previously recorded information, transmits this signal to the next block. If there is information, then it forms a sign of the readiness of the argument sa 2N-1 , selects the values of the result and the identification label and issues them to the information output o 2N-1 and to the identification output of the argument ma 2N-1 , respectively. The selection and delivery of information continues until all the information in this block is selected, after which a read signal is generated for the next block, etc.

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

Figure 00000002

Figure 00000003

Информационные графы, описывающие последовательность выполнения операций в формулах и их параллелизм, представлены в виде ярусно-параллельных форм на фиг.3 и 4.Consider the work of an asynchronous 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 figure 3 and 4.

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

Устройства памяти данных реализуют команды чтения (чт) и записи (зп) формата 2 и имеют длительность один такт. Команда чтения является одноместной операцией, осуществляющей выборку числа из памяти данных по адресу, заданному в командном слове. Команда записи реализует двуместную операцию, первый аргумент которой это число, поступающее из коммутатора, а второй - адрес по которому осуществляется запись данного числа в память данных, заданный в командном слове. Data memory devices 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 the given number is written to the data memory specified in the command word.

Арифметико-логические устройства реализуют команды: сложения (+) и вычитания (-), длительностью 1 такт; умножения (•), длительностью 2 такта; деления (/), длительностью 4 такта. Все команды вычислительного блока имеют первый формат, реализуют двуместные операции, причем вычитаемое и делимое задается в первом адресе. Arithmetic-logic devices 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.

Для обеспечения согласованного взаимодействия блоков, когда есть необходимость задержать результат выполнения на выходе функционального блока, используется команда "трата" (т) первого формата, сохраняющая состояние блока 1 такт. Сохранить результат на один такт можно также, организовав запись в рабочую ячейку памяти данных. Записываемое число по завершении операции не только заносится в память данных, но и поступает на выход функционального блока. 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 first format is used, which saves the state of the block 1 clock cycle. 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 goes to the output of the function block.

Примем следующую форму записи командных слов (см. табл. А). We will take the following form of writing command words (see table. A).

где <мнемокоп> - условное обозначение кода операции; <номер> - число от 1 до 16, указывающее номер функционального блока, результаты которого используются в качестве аргумента при выполнении операции; <имя> - наименование аргумента, адрес которого (после трансляции и загрузки программ) будет сформирован в поле адреса числа. 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.

Разместим элементы матрицы (а11, а12, а13, a21, a22, а23, а31 а32, а33) поэлементно в устройствах памяти данных функциональных блоков 1-9. Векторы (b1, b2, b3) и (c1, c2, c3) поэлементно в устройствах памяти данных функциональных блоков 10-12. Переменные е, d, x разместим в памяти данных 10, 11, 12 функциональных блоков, переменные у и v в 13, а переменные z и w в 14 блоках.We place the elements of the matrix (a 11 , a 12 , a 13 , a 21 , a 22 , a 23 , a 31 a 32 , a 33 ) element-wise in the data storage devices of function blocks 1-9. The vectors (b 1 , b 2 , b 3 ) and (c 1 , c 2 , c 3 ) are element-wise in the data storage devices of functional blocks 10-12. We place the variables e, d, x in the data memory of 10, 11, 12 function blocks, the variables y and v at 13, and the variables z and w in 14 blocks.

При программировании для сохранения промежуточных результатов на один такт, введем дополнительный операнд, а именно рабочую ячейку r1 в 14 функциональном блоке.When programming to save intermediate results for one clock cycle, we introduce an additional operand, namely the working cell r 1 in the 14 function block.

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

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

При программировании асинхронной синергической вычислительной системы считается, что все команды выполняются один такт. Реальная длительность выполнения команд учитывается в процессе работы системы. В таблице 2 представлена фактическая временная диаграмма работы системы. When programming an asynchronous synergistic computing system, it is believed that all instructions are executed in a single clock cycle. The actual duration of command execution is taken into account during the operation of the system. Table 2 presents the actual time diagram of the system.

Claims (8)

1. Асинхронная синергическая вычислительная система, содержащая N функциональных блоков, коммутатор "каждый с каждым", имеющий N информационных входов, 2N адресных входов и 2N информационных выходов, отличающаяся тем, что каждый функциональный блок состоит из устройства управления, устройства памяти команд и операционного устройства, реализующего двуместные и одноместные операции, а также имеет два идентификационных входа аргументов, два входа признаков готовности аргументов, два информационных входа, идентификационный выход аргументов, два выхода признаков аргументов, два адресных выхода, идентификационный выход результата, выход признака результата, информационный выход, выход логического номера, N входов признаков разрешения выбора команд, выход признака разрешения выбора команд, а в коммутатор введены N идентификационных входов результатов, N входов признаков готовности результатов, N идентификационных входов аргументов, 2N входов признаков аргументов, N входов логических номеров, 2N идентификационных выходов аргументов, 2N выходов признаков готовности аргументов, причем в k-м функциональном блоке (k=1,...,N) первый и второй идентификационные входы аргументов соединены, соответственно, с (2k-1)-м и 2k-м идентификационными выходами аргументов коммутатора, первый и второй входы признаков готовности аргументов соединены, соответственно, с (2k-1)-м и 2k-м выходами признаков готовности аргументов коммутатора, первый и второй информационные входы соединены, соответственно, с (2k-1)-м и 2k-м информационными выходами коммутатора, идентификационный выход аргумента соединен с k-м идентификационным входом аргументов коммутатора, первый и второй выходы признаков аргументов соединены, соответственно, с (2k-1)-м и 2k-м входами признаков аргументов коммутатора, первый и второй адресные выходы соединены, соответственно, с (2k-1)-м и 2k-м адресными входами коммутатора, идентификационный выход результата соединен с k-м идентификационным входом результата коммутатора, выход признака готовности результата соединен с k-м входом признака готовности результата коммутатора, информационный выход соединен с k-м информационным входом коммутатора, выход признака разрешения выбора команд соединен с k-м входом признаков разрешения выбора команд всех функциональных блоков, кроме того, идентификационные входы аргументов, входы признаков готовности аргументов и информационные входы функционального блока являются соответствующими входами устройства управления, идентификационный выход аргументов, выходы признаков аргументов и адресные выходы функционального блока являются соответствующими выходами устройства управления, третий адресный выход устройства управления соединен с адресным входом устройства памяти команд, командный вход-выход устройства управления соединен с командным входом-выходом устройства памяти команд, идентификационный и управляющий выходы устройства управления соединены, соответственно, с идентификационным и управляющим входами операционного устройства, первый и второй информационные выходы устройства управления соединены, соответственно, с первым и вторым информационными входами операционного устройства, идентификационный выход результата, выход признака результата и информационный выход операционного устройства являются соответствующими выходами функционального блока, выход логического номера, N входов признаков разрешения выбора команд и выход признака разрешения выбора команд функционального блока являются соответствующими выходами и входами устройства управления, причем устройство управления состоит из блока выбора команд, блока дешифрации команд, блока формирования исполняемой команды, блока управления исполнением команд, блока разрешения выбора команд, регистра информационной связности, имеющего размерность N разрядов, памяти занятых меток, памяти готовности аргументов, буферной памяти кода операции, буферной памяти первого аргумента, буферной памяти второго аргумента, имеющих размер L слов, а адресный выход блока выбора команд является третьим адресным выходом устройства управления, командный выход блока выбора команд является командным выходом устройства управления, первый идентификационный выход блока выбора команд соединен с адресным входом чтения памяти занятых меток, вход признака занятости метки блока выбора команд соединен с информационным выходом памяти занятых меток, второй идентификационный выход блока выбора команд соединен с идентификационным входом блока дешифрации команд и адресным входом записи памяти занятых меток, выход признака занятости метки блока выбора команд соединен с информационным входом памяти занятых меток, управляющий вход блока выбора команд соединен с управляющим выходом блока дешифрации команд, информационный вход блока выбора команд соединен с третьим информационным выходом блока управления исполнением команд, выход признака разрешения выбора команд блока выбора команд является соответствующим выходом устройства управления, командный вход блока дешифрации команд является командным входом устройства управления, идентификационный выход аргументов, выходы признаков аргументов, адресные выходы блока дешифрации команд являются соответствующими выходами устройства управления, информационно-управляющий выход блока дешифрации команд соединен с информационно-управляющим входом блока формирования исполняемой команды, идентификационные входы аргументов, входы признаков готовности аргументов и информационные входы которого являются соответствующими входами устройства управления, первый идентификационный выход блока формирования исполняемой команды соединен с адресным входом памяти готовности аргументов, второй, третий и четвертый идентификационные выходы блока формирования исполняемой команды соединены, соответственно, с адресными входами записи буферной памяти кода операции, буферной памяти первого аргумента и буферной памяти второго аргумента, первый информационный вход-выход блока формирования исполняемой команды соединен с информационным входом-выходом памяти готовности аргументов, второй, третий и четвертый информационные выходы блока формирования исполняемой команды соединены, соответственно, с информационными входами записи буферной памяти кода операции, буферной памяти первого аргумента и буферной памяти второго аргумента, выход признака готовности команды блока формирования исполняемой команды соединен с входом признака готовности команды блока управления исполнением команды, пятый идентификационный выход блока формирования исполняемой команды соединен с идентификационным входом блока управления исполнением команды, первый, второй и третий идентификационные выходы которого соединены, соответственно, с адресными входами чтения буферной памяти кода операции, буферной памяти первого аргумента и буферной памяти второго аргумента, первый, второй и третий информационные входы блока управления исполнением команд соединены, соответственно, с информационными выходами чтения буферной памяти кода операции, буферной памяти первого аргумента и буферной памяти второго аргумента, выход логического номера блока управления исполнением команд является выходом устройства управления, четвертый идентификационный выход блока управления исполнением команд соединен с адресным входом записи памяти занятых меток, выход признака занятости метки блока управления исполнением команд соединен с информационным входом памяти занятых меток, выход установки информационной связности блока управления исполнением команд соединен с входом регистра информационной связности, пятый идентификационный выход блока управления исполнением команд является идентификационным выходом устройства управления, управляющий выход, первый и второй информационные выходы блока управления исполнением команд являются соответствующими выходами устройства управления, выход регистра информационной связности соединен с входом информационной связности блока разрешения выбора команд, выход признака разрешения которого соединен с входом признака разрешения блока выбора команд, N входов признаков разрешения выбора команд блока разрешения выбора команд являются соответствующими входами устройства управления, а коммутатор состоит из N узлов коммутации, каждый из которых включает N устройств выбора, содержащих регистр логического номера, имеющий размерность ] Iog2N[ разрядов, блок формирования признаков выбора, память признаков выбора, имеющей размер L слов, два буферных блока FIFO-памяти, причем во всех узлах коммутации для k-го устройства выбора (k=1,...,N), k-й информационный вход коммутатора соединен с первыми информационными входами буферных блоков FIFO-памяти, k-й идентификационный вход результата соединен со вторыми информационными входами буферных блоков FIFO-памяти и адресным входом чтения памяти признаков выбора, k-й вход признака готовности результата соединен с сигнальным входом чтения памяти признаков выбора, а во всех устройствах выбора k-го узла коммутации (k=1,...,N) (2k-1)-й адресный вход коммутатора соединен с адресными входами первого аргумента блоков формирования признаков выбора, 2k-й адресный вход коммутатора соединен с адресными входами второго аргумента блоков формирования признаков выбора, (2k-1)-й вход признаков аргументов соединен с входами признака первого аргумента блоков формирования признаков, 2k-й вход признаков аргументов соединен с входами признака второго аргумента блоков формирования признаков, k-й вход логического номера соединен с входами регистров логического номера, k-й идентификационный вход аргумента соединен с адресными входами записи памятей признаков выбора, а также во всех устройствах выбора выход регистра логического номера соединен с входом логического номера блока формирования признаков выбора, выход признака наличия аргументов блока формирования признаков выбора соединен с сигнальным входом записи памяти признаков выбора, выходы признаков первого и второго аргументов соединены, соответственно, с первым и вторым информационными входами памяти признаков выбора, первый информационный выход памяти признаков выбора соединен с сигнальным входом записи первого буферного блока FIFO-памяти, второй информационный выход памяти признаков выбора соединен с сигнальным входом записи второго буферного блока FIFO-памяти, кроме того, все первые буферные блоки FIFO-памяти k-го узла коммутации связаны последовательно сигнальным входом чтения в кольцо, а первые информационные выходы первых буферных блоков FIFO-памяти объединены и являются (2k-1)-м информационным выходом коммутатора, вторые информационные выходы первых буферных блоков FIFO-памяти объединены и являются (2k-1)-м идентификационным выходом аргументов коммутатора, выходы признаков готовности первых буферных блоков FIFO-памяти объединены и являются (2k-1)-м выходом признаков готовности аргументов коммутатора, все вторые буферные блоки FIFO-памяти k-го узла коммутации также связаны последовательно сигнальным входом чтения в кольцо, причем первые информационные выходы вторых буферных блоков FIFO-памяти объединены и являются 2k-м информационным выходом коммутатора, вторые информационные выходы вторых буферных блоков FIFO-памяти объединены и являются 2k-м идентификационным выходом аргументов коммутатора, выходы признаков готовности вторых буферных блоков FIFO-памяти объединены и являются 2k-м выходом признаков готовности аргументов коммутатора.1. An asynchronous synergistic computing system containing N functional blocks, an "each with each" switch having N information inputs, 2N address inputs and 2N information outputs, characterized in that each functional block consists of a control device, an instruction memory device and an operating device which implements double and single operations, and also has two identification inputs of arguments, two inputs of signs of readiness of arguments, two information inputs, identification output of arguments, two outputs of the arguments of the arguments, two address outputs, the identification output of the result, the output of the output of the result, the information output, the output of the logical number, N inputs of signs of permission to select commands, the output of signs of permission to select commands, and N identification inputs of results, N inputs of readiness signs are entered into the switch results, N identification inputs of arguments, 2N inputs of signs of arguments, N inputs of logical numbers, 2N identification outputs of arguments, 2N outputs of signs of readiness of arguments, etc. than in the k-th functional block (k = 1, ..., N) the first and second identification inputs of the arguments are connected, respectively, with the (2k-1) -th and 2k-th identification outputs of the switch arguments, the first and second sign inputs the readiness of the arguments are connected, respectively, with the (2k-1) -th and 2k-th outputs of the signs of readiness of the arguments of the switch, the first and second information inputs are connected, respectively, with the (2k-1) -th and 2k-m information outputs of the switch, identification the argument output is connected to the kth identification input of the arguments pa, the first and second outputs of the signs of the arguments are connected, respectively, with the (2k-1) -th and 2k-m inputs of the signs of the arguments of the switch, the first and second address outputs are connected, respectively, with the (2k-1) -m and 2k-m address inputs of the switch, the identification output of the result is connected to the k-th identification input of the result of the switch, the output of the sign of readiness of the result is connected to the k-th input of the sign of readiness of the result of the switch, the information output is connected to the k-th information input of the switch, the output of the sign of selection permission to the mand is connected to the kth input of signs of allowing the selection of commands of all functional blocks, in addition, the identification inputs of the arguments, the inputs of the signs of readiness of the arguments and the information inputs of the functional block are the corresponding inputs of the control device, the identification output of the arguments, the outputs of the signs of the arguments and address outputs of the functional block are corresponding outputs of the control device, the third address output of the control device is connected to the address input of the memory device com nd, the command input-output of the control device is connected to the command input-output of the command memory device, the identification and control outputs of the control device are connected, respectively, with the identification and control inputs of the operating device, the first and second information outputs of the control device are connected, respectively, with the first and the second information inputs of the operating device, the identification output of the result, the output of the sign of the result and the information output of the operating device are the corresponding outputs of the functional block, the output of the logical number, N inputs of signs of permission to select commands of the function and the output of the sign of permission to select commands of the functional block are the corresponding outputs and inputs of the control device, the control device consisting of a block for selecting commands, a block for decrypting commands, a block for generating an executable command, a command execution control unit, a command selection permission block, an information connectivity register having a dimension of N bits, memory occupied m etc, the readiness memory of the arguments, the buffer memory of the operation code, the buffer memory of the first argument, the buffer memory of the second argument, having a size of L words, and the address output of the command selection block is the third address output of the control device, the command output of the command selection block is the command output of the control device, the first identification output of the command selection block is connected to the address input of reading the memory of the occupied tags, the input of the sign of busy tags of the command selection block is connected to the information output of the memory taken labels, the second identification output of the command selection block is connected to the identification input of the command decryption block and the address input of the memory of the occupied tags memory, the output of the tag indication of the busy block of the command selection is connected to the information input of the occupied tags memory, the control input of the command selection block is connected to the control output of the decryption block commands, the information input of the command selection block is connected to the third information output of the command execution control block, the output of the sign of permission to select the block commands The command selection is the corresponding output of the control device, the command input of the command decryption unit is the command input of the control device, the identification output of the arguments, the outputs of the arguments of the arguments, the address outputs of the command decryption unit are the corresponding outputs of the control device, the information and control output of the command decryption unit is connected to the information and control the input of the block forming the executable command, identification inputs of arguments, inputs of signs of readiness of arguments comrade and information inputs of which are the corresponding inputs of the control device, the first identification output of the executable command generation unit is connected to the address input of the readiness memory of the arguments, the second, third and fourth identification outputs of the executable instruction formation unit are connected, respectively, to the address inputs of the operation code buffer memory record, buffer memory of the first argument and buffer memory of the second argument, the first information input-output of the block forming the executable of the command is connected to the information input-output of the memory of the readiness of the arguments, the second, third and fourth information outputs of the block for generating the executable command are connected, respectively, to the information inputs of the buffer memory of the operation code, the buffer memory of the first argument and the buffer memory of the second argument, the output of the sign of readiness of the block command the formation of the executable command is connected to the input sign of the readiness of the command of the command execution control unit, the fifth identification output of the formation unit and the executed command is connected to the identification input of the command execution control unit, the first, second and third identification outputs of which are connected, respectively, to the address inputs of reading the buffer memory of the operation code, the buffer memory of the first argument and the buffer memory of the second argument, the first, second and third information inputs of the block execution control commands are connected, respectively, with the information outputs of reading the buffer memory of the operation code, the buffer memory of the first argument and the buffer memory of the second of the first argument, the output of the logical number of the command execution control unit is the output of the control device, the fourth identification output of the command execution control unit is connected to the address input of the busy label memory record, the output of the tag sign of the control unit of the command execution is connected to the information input of the busy label memory, the information setting output the connectivity of the command execution control unit is connected to the input of the information connectivity register, the fifth identification output of the control unit The execution of commands is the identification output of the control device, the control output, the first and second information outputs of the control unit of the command execution are the corresponding outputs of the control device, the output of the information connectivity register is connected to the information connectivity input of the command selection permission block, the output of which permission sign is connected to the permission sign input a command selection block, N inputs of command selection permission signs of a command selection permission block are respectively there are control device inputs, and the switch consists of N switching nodes, each of which includes N selection devices containing a logical number register with dimension] Iog 2 N [bits, block of the formation of selection signs, a memory of selection signs having a size of L words, two buffer blocks of FIFO memory, and at all switching nodes for the k-th selection device (k = 1, ..., N), the k-th information input of the switch is connected to the first information inputs of the buffer blocks of FIFO memory, the k-th identification the input of the result is connected to by the second information inputs of the buffer blocks of the FIFO memory and the address input of reading the memory of the signs of choice, the kth input of the sign of readiness of the result is connected to the signal input of reading the memory of the signs of choice, and in all devices of the choice of the k-th switching node (k = 1, ... , N) (2k-1) -th address input of the switch is connected to the address inputs of the first argument of the blocks of formation of signs of choice, 2k-address address of the switch is connected to the address inputs of the second argument of the blocks of forming signs of choice, (2k-1) -th input of signs arguments connected to by the attribute inputs of the first argument of the attribute generation blocks, the 2nd k input of the argument attributes is connected to the attribute inputs of the second argument of the attribute formation blocks, the kth logical number input is connected to the inputs of the logical number registers, the kth argument identification input is connected to the address inputs of the characteristic memory record selection, as well as in all selection devices, the output of the register of the logical number is connected to the input of the logical number of the block forming the signs of the choice, the output of the sign of the presence of arguments of the block of the form of the selection signs is connected to the signal input of the recording of the memory of the signs of the selection, the outputs of the signs of the first and second arguments are connected, respectively, with the first and second information inputs of the memory of the signs of the selection, the first information output of the memory of the signs of the selection is connected to the signal input of the recording of the first buffer block of the FIFO memory, the second information output of the memory of the selection signs is connected to the signal input of the recording of the second buffer block of the FIFO memory, in addition, all the first buffer blocks of the FIFO memory of the k-th switching node are connected in series by the read signal input to the ring, and the first information outputs of the first FIFO memory buffer units are combined and are the (2k-1) -th information output of the switch, the second information outputs of the first FIFO memory buffer units are combined and are (2k-1) - m is the identification output of the switch arguments, the outputs of the availability indicators of the first buffer blocks of the FIFO memory are combined and are the (2k-1) -th output of the signs of readiness of the arguments of the switch, all the second buffer blocks of the FIFO memory of the k-th switching node are also connected they are sequentially a read-in signal ring in the ring, the first information outputs of the second buffer blocks of the FIFO memory are combined and are the 2kth information output of the switch, the second information outputs of the second buffer blocks of the FIFO memory are combined and are the 2kth identification output of the switch arguments, symptom outputs the readiness of the second buffer blocks of the FIFO memory are combined and are the 2k-th output of the signs of readiness of the switch arguments. 2. Система по п. 1, отличающаяся тем, что операционное устройство содержит устройство ввода-вывода, причем первый информационный вход операционного устройства является информационным входом устройства ввода-вывода, второй информационный вход операционного устройства является адресным входом устройства ввода-вывода, идентификационный и управляющий входы операционного устройства являются, соответственно, идентификационным и управляющим входами устройства ввода-вывода, идентификационный выход результата, выход признака результата и информационный выход устройства ввода-вывода являются, соответственно, идентификационным выходом результата, выходом признака результата и информационным выходом операционного устройства. 2. The system according to claim 1, characterized in that the operating device comprises an input-output device, the first information input of the operating device being the information input of the input-output device, the second information input of the operating device is the address input of the input-output device, identification and control the inputs of the operating device are, respectively, the identification and control inputs of the input-output device, the identification output of the result, the output of the result sign, and The information output of the input-output device is, respectively, the identification output of the result, the output of the result sign and the information output of the operating device. 3. Система по п.1, отличающаяся тем, что операционное устройство содержит арифметико-логическое устройство, причем первый информационный вход операционного устройства является информационным входом арифметико-логического устройства, второй информационный вход операционного устройства является вторым информационным входом арифметико-логического устройства, идентификационный и управляющий входы операционного устройства являются, соответственно, идентификационным и управляющим входами арифметико-логического устройства, идентификационный выход результата, выход признака результата и информационный выход арифметико-логического устройства являются, соответственно, идентификационным выходом результата, выходом признака результата и информационным выходом операционного устройства. 3. The system according to claim 1, characterized in that the operating device comprises an arithmetic logic device, wherein the first information input of the operating device is the information input of the arithmetic logic device, the second information input of the operating device is the second information input of the arithmetic logic device, identification and the control inputs of the operating device are, respectively, the identification and control inputs of the arithmetic logic device, identification The output of the result, the output of the result attribute and the information output of the arithmetic logic device are, respectively, the identification output of the result, the output of the result attribute and the information output of the operating device. 4. Система по п.1, отличающаяся тем, что операционное устройство содержит устройство памяти данных, причем первый информационный вход операционного устройства является информационным входом устройства памяти данных, второй информационный вход операционного устройства является адресным входом устройства памяти данных, идентификационный и управляющий входы операционного устройства являются, соответственно, идентификационным и управляющим входами устройства памяти данных, идентификационный выход результата, выход признака результата и информационный выход устройства памяти данных являются, соответственно, идентификационным выходом результата, выходом признака результата и информационным выходом операционного устройства. 4. The system according to claim 1, characterized in that the operating device comprises a data memory device, the first information input of the operating device being the information input of the data memory device, the second information input of the operating device is the address input of the data memory device, identification and control inputs of the operating device are, respectively, the identification and control inputs of the data memory device, the identification output of the result, the output of the sign result and information output of the data memory device are respectively output an identification result of feature information and output the result output of the operational device. 5. Система по п.1, отличающаяся тем, что операционное устройство содержит устройство ввода-вывода и арифметико-логическое устройство, причем первый информационный вход операционного устройства является информационным входом устройства ввода-вывода и арифметико-логического устройства, второй информационный вход операционного устройства является адресным входом устройства ввода-вывода и вторым информационным входом арифметико-логического устройства, идентификационный и управляющий входы операционного устройства являются, соответственно, идентификационным и управляющим входами устройства ввода-вывода и арифметико-логического устройства, идентификационный выход результата, выход признака результата и информационный выход устройства ввода-вывода и арифметико-логического устройства являются, соответственно, идентификационным выходом результата, выходом признака результата и информационным выходом операционного устройства. 5. The system according to claim 1, characterized in that the operating device comprises an input-output device and an arithmetic-logic device, the first information input of the operating device being the information input of an input-output device and an arithmetic-logical device, the second information input of the operating device is the address input of the input-output device and the second information input of the arithmetic logic device, the identification and control inputs of the operating device are, respectively Namely, the identification and control inputs of the input-output device and the arithmetic-logical device, the identification output of the result, the output of the result indicator and the information output of the input-output device and the arithmetic-logical device are, respectively, the identification output of the result, the output of the result indicator and the information output of the operating room. devices. 6. Система по п.1, отличающаяся тем, что операционное устройство содержит устройство ввода-вывода и арифметико-логическое устройство и устройство памяти данных, причем первый информационный вход операционного устройства является информационным входом устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных, второй информационный вход операционного устройства является адресным входом устройства ввода-вывода и устройства памяти данных и вторым информационным входом арифметико-логического устройства, идентификационный и управляющий входы операционного устройства являются, соответственно, идентификационным и управляющим входами устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных, идентификационный выход результата, выход признака результата и информационный выход устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных являются, соответственно, идентификационным выходом результата, выходом признака результата и информационным выходом операционного устройства. 6. The system according to claim 1, characterized in that the operating device comprises an input / output device and an arithmetic logic device and 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 memory device data, 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, is the typification and control inputs of the operating device are, respectively, the identification and control inputs of the input-output device, the arithmetic logic device and the data memory device, the identification output of the result, the output of the result attribute and the information output of the input-output device, the arithmetic-logical device and the memory device data are, respectively, the identification output of the result, the output of the sign of the result and the information output of the operating device. 7. Система по п.1, отличающаяся тем, что операционное устройство содержит устройство ввода-вывода и устройство памяти данных, причем первый информационный вход операционного устройства является информационным входом устройства ввода-вывода и устройства памяти данных, второй информационный вход операционного устройства является адресным входом устройства ввода-вывода и устройства памяти данных, идентификационный и управляющий входы операционного устройства являются, соответственно, идентификационным и управляющим входами устройства ввода-вывода и устройства памяти данных, идентификационный выход результата, выход признака результата и информационный выход устройства ввода-вывода и устройства памяти данных являются, соответственно, идентификационным выходом результата, выходом признака результата и информационным выходом операционного устройства. 7. The system according to claim 1, characterized in that the operating device comprises an input / output device and a data memory device, wherein the first information input of the operating device is an information input of an input / output device and a data memory device, the second information input of the operating device is an address input input-output devices and data memory devices, the identification and control inputs of the operating device are, respectively, the identification and control inputs of the devices and input-output data memory, an identification result output, and output the result of feature information output of input-output devices and data storage devices are respectively output an identification result of feature information and output the result output of the operational device. 8. Система по п.1, отличающаяся тем, что операционное устройство содержит арифметико-логическое устройство и устройство памяти данных, причем первый информационный вход операционного устройства является информационным входом арифметико-логического устройства и устройства памяти данных, второй информационный вход операционного устройства является адресным входом устройства памяти данных и вторым информационным входом арифметико-логического устройства, идентификационный и управляющий входы операционного устройства являются, соответственно, идентификационным и управляющим входами арифметико-логического устройства и устройства памяти данных, идентификационный выход результата, выход признака результата и информационный выход арифметико-логического устройства и устройства памяти данных являются, соответственно, идентификационным выходом результата, выходом признака результата и информационным выходом операционного устройства. 8. The system according to claim 1, characterized in that the operating device comprises an arithmetic logic device and a data memory device, wherein the first information input of the operating device is an information input of an arithmetic logic device and a data memory device, the second information input of the operating device is an address input data memory devices and the second information input of the arithmetic logic device, the identification and control inputs of the operating device are, respectively Actually, the identification and control inputs of the arithmetic-logical device and the data memory device, the identification output of the result, the output of the result indicator and the information output of the arithmetic-logical device and the data memory device are, respectively, the identification output of the result, the output of the result indicator and the information output of the operating device.
RU2000126657/09A 2000-06-13 2000-10-25 Asynchronous synergistic computer system RU2198422C2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
RU2000126657/09A RU2198422C2 (en) 2000-10-25 2000-10-25 Asynchronous synergistic computer system
JP2002511190A JP2004503872A (en) 2000-06-13 2001-06-08 Shared use computer system
PCT/RU2001/000235 WO2001097055A1 (en) 2000-06-13 2001-06-08 Synergic computation 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
EP01940232A EP1299811A2 (en) 2000-06-13 2001-06-08 Synergetic computing system
AU2001273873A AU2001273873A1 (en) 2000-06-13 2001-06-08 Synergetic computing system
PCT/DK2001/000393 WO2001097054A2 (en) 2000-06-13 2001-06-08 Synergetic data flow computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2000126657/09A RU2198422C2 (en) 2000-10-25 2000-10-25 Asynchronous synergistic computer system

Publications (2)

Publication Number Publication Date
RU2000126657A RU2000126657A (en) 2002-09-20
RU2198422C2 true RU2198422C2 (en) 2003-02-10

Family

ID=20241321

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2000126657/09A RU2198422C2 (en) 2000-06-13 2000-10-25 Asynchronous synergistic computer system

Country Status (1)

Country Link
RU (1) RU2198422C2 (en)

Cited By (2)

* 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
RU2644535C2 (en) * 2016-06-01 2018-02-12 Владимир Викторович Ермишин Parallel computing architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
МОТОСОКА Т. и др. Компьютеры на СБИС, Кн. 1. - М.: Мир, 1988, с.65,66, 155-158. *

Cited By (2)

* 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
RU2644535C2 (en) * 2016-06-01 2018-02-12 Владимир Викторович Ермишин Parallel computing architecture

Similar Documents

Publication Publication Date Title
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
US4553203A (en) Easily schedulable horizontal computer
US7908461B2 (en) Cellular engine for a data processing system
EP1023659B1 (en) Efficient processing of clustered branch instructions
US5561808A (en) Asymmetric vector multiprocessor composed of a vector unit and a plurality of scalar units each having a different architecture
CN103221936A (en) Shared function-memory circuitry for a processing cluster
JP2008181551A (en) Vector tailgating for computer provided with vector register
CN100573500C (en) Stream handle IP kernel based on the Avalon bus
CN117827284B (en) Vector processor memory access instruction processing method, system, equipment and storage medium
EP0521486B1 (en) Hierarchical structure processor
US11561925B2 (en) Tensor partitioning and partition access order
US11366783B1 (en) Multi-headed multi-buffer for buffering data for processing
US20030172248A1 (en) Synergetic computing system
US4811201A (en) Interconnect circuit
RU2198422C2 (en) Asynchronous synergistic computer system
EP0496407A2 (en) Parallel pipelined instruction processing system for very long instruction word
JPH11316681A (en) Loading method to instruction buffer and device and processor therefor
CN112463218B (en) Instruction emission control method and circuit, data processing method and circuit
David et al. Self-timed architecture of a reduced instruction set computer
RU2179333C1 (en) Synergistic computer system
JP2004515856A (en) Digital signal processor
CN117931729B (en) Vector processor memory access instruction processing method and system
RU2042193C1 (en) Computing system
CN111061510B (en) Extensible ASIP structure platform and instruction processing method
JP2765882B2 (en) Parallel computer, data flow synchronizer between vector registers and network preset device

Legal Events

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

Effective date: 20041026