Асинхронная синергическая вычислительная система
Реферат
Изобретение относится к вычислительной технике и может быть использовано для построения высокопроизводительных вычислительных систем для реализации алгоритмов, допускающих распараллеливание на уровне команд. Техническим результатом является увеличение производительности вычислительной системы. Система содержит N функциональных блоков, каждый из которых содержит блок формирования признаков выбора, память признаков выбора, регистр логического номера, два буферных блока FIFO-памяти и коммутатор типа "каждый с каждым", каждый из которых содержит устройство памяти команд, устройство управления и операционное устройство. 7 з.п. ф-лы, 4 ил., 3 табл.
Изобретение относится к вычислительной технике и может быть использовано при построении высокопроизводительных вычислительных систем для решения задач, алгоритмы которых допускают распараллеливание на уровне команд.
Известно устройство, микропроцессор IA-64 (см. Шахнович И. Век нынешний и век грядущий. - ж. Электроника: Наука, Технология, Бизнес, 1999, 6, стр. 8-11), реализующее параллелизм на командном уровне с использованием концепции "длинного командного слова". Устройство состоит из кэш-памяти команд 1-го уровня, кэш-памяти данных 1-го уровня, общей кэш-памяти 2-го и 3-го уровней, устройства управления, файла специализированных регистров: целочисленных, с плавающей запятой, ветвления и предикатов, группы функциональных устройств четырех типов: четыре устройства целочисленной арифметики, два устройства операций с плавающей запятой, три устройства ветвления, одно устройство доступа к памяти данных. Управление функциональными устройствами осуществляется централизовано с использованием длинных командных слов фиксированного размера, каждое из которых содержит три простые команды, определяющие операции трех различных функциональных устройств. Последовательность выполнения простых команд в слове, а также зависимость между словами определяется полем маски, находящимся в слове. Недостатками данного устройства являются: дополнительные расходы памяти под программный код, вызываемые фиксированным размером командного слова; неоптимальное использование функциональных устройств и, как следствие, снижение производительности из-за несбалансированности количества функциональных устройств и количества простых команд в командном слове, специализации функциональных устройств и регистров, несоответствия пропускной способности функционального устройства памяти (максимум одно число за такт) возможностям функциональных устройств целочисленных операций и операций с плавающей запятой. Известно также устройство, микропроцессор Е2К (см. Кузьминский М. Отечественные микропроцессоры: Elbrus 2K. - ж. Открытые системы, 1999, 5-6, стр. 8-13), использующее эту же концепцию "длинного командного слова" для реализации параллелизма. Устройство состоит из кэш-памяти команд 1-го уровня, кэш-памяти данных 1-го уровня, общей кэш-памяти 2-го уровня, буфера предварительной подкачки, устройства управления, файла универсальных регистров и группы однотипных функциональных устройств, построенных на базе арифметико-логических устройств (АЛУ) и объединенных в два кластера. Длина командного слова, управляющего работой функциональных устройств, переменная. К недостаткам данного устройства можно отнести снижение производительности устройства при дозагрузке кэш-памяти команд 1-го уровня из-за несоответствия скорости выборки команд и скорости его заполнения, а также при широком использовании данных, находящихся в общей кэш-памяти 2-го уровня и/или оперативной памяти. Известным является также устройство, мультискалярный микропроцессор Kin (см. Корнеев В., Киселев А. Современные микропроцессоры. М., Нолидж, 2000 г. , стр.75-76), в основе которого лежит реализация параллелизма на уровне базисных блоков. При этом, под базисным блоком понимается последовательность команд преобразования данных в регистрах и памяти, завершающаяся командой перехода. Микропроцессор состоит из набора функциональных блоков различного назначения: интерпретации команд перехода, интерпретации арифметических, логических команд и команд сдвига, выполнения команд обращения к памяти. Обмен данными между функциональными блоками выполняется в асинхронном режиме через FIFO очереди. Каждый блок выбирает из входной очереди элементы по мере их поступления, производит заданные действия и помещает результат в выходную очередь. При такой организации поток команд распространяется между блоками как поток пакетов, содержащих в себе тэги и другую необходимую информацию для управления функциональными блоками. Процесс выборки и декодирования команд централизован, при этом выбранные и декодированные команды очередного базисного блока размещаются в кэш-памяти декодированных команд. Каждая команда при размещении получает уникальный динамический тэг. После устранения в блоках переименования регистров лишних WAR и WAW зависимостей между командами, команды поступают в блок организации внеочередного исполнения. Из блока внеочередного исполнения команды передаются в резервирующие станции, в которых они ожидают готовности операндов для начала своего исполнения. Команды с готовыми операндами посылаются резервирующими станциями для исполнения в функциональные блоки, результаты работы которых передаются снова в резервирующие станции, в блок внеочередного исполнения команд и, в случае команд перехода, в блок предвыборки команд. Недостатками данного устройства являются сложная логика поддержки внеочередного выполнения команд и аппаратной проверки наличия взаимозависимостей между командами, увеличивающая непроизводительные временные затраты и объем аппаратной поддержки динамического распараллеливания; эффективность распараллеливания практически ограничивается уровнем линейных участков (базисных блоков), так как распараллеливание внутри базисного блока выполняется динамически путем исследования программного кода на стадии исполнения и, следовательно, не имеет достаточных временных ресурсов для анализа и оптимизации информационных связей между командами; высокий уровень непроизводительных потерь, вызываемый жадной предвыборкой команд, при неверной оценке направления перехода. Наиболее близкой по технической сущности и достигаемому результату к заявленному устройству, является электронно-вычислительная машина QA-2 (Компьютеры на СБИС, Кн.1, Пер. с япон. Мотоска Т., Томита С., Танака X. и др. - М. Мир, 1988, стр.65-66, 155-158 - прототип). Данное устройство состоит из устройства управления, блока коллективных специализированных регистров, сети коммутации, N однотипных функциональных устройств (в описываемой конкретной реализации прототипа N=4), построенных на базе универсальных арифметико-логических устройств. Сеть коммутации реализована по принципу "каждый с каждым", имеет N входов, 2N выходов и обеспечивает непосредственное соединение выхода любого арифметико-логического устройства с входами других арифметико-логических устройств. Управление устройством централизованное. Длинное командное слово фиксированного размера содержит четыре поля (простых команд) для управления арифметико-логическими устройствами, поле для обращения к четырем различным банкам основной памяти и поле для управления последовательностью выполнения простых команд. Простые команды содержат информацию о коде выполняемой операции, длине операндов, адресе регистров источников левого и правого операндов арифметико-логического устройства, адресе регистров-получателей. Недостатками известной ЭВМ являются следующие. Фиксированная длина командного слова приводит к неоптимальному использованию ресурсов памяти, а именно, поле присутствует в командном слове независимо от того, используется или не используется соответствующее ему арифметико-логическое устройство. К снижению производительности приводит отсутствие возможности непосредственного приема арифметико-логическими устройствами данных, поступающих из памяти, так как данные должны быть предварительно занесены в блок коллективных регистров, а также задание в одном командном слове операций с различной длительностью. В последнем случае короткие операции ждут выполнения самой длинной. Задача изобретения - повышение производительности вычислительной системы. Поставленная задача решается тем, что в предложенной асинхронной синергической вычислительной системе, содержащей 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-м выходом признаков готовности аргументов коммутатора. Кроме того, согласно изобретению, в зависимости от условий его использования, операционное устройство может содержать устройство ввода-вывода и/или арифметико-логическое устройство и/или устройство памяти данных, причем первый информационный вход операционного устройства является информационным входом устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных, второй информационный вход операционного устройства является адресным входом устройства ввода-вывода и устройства памяти данных и вторым информационным входом арифметико-логического устройства, идентификационный и управляющий входы операционного устройства являются, соответственно, идентификационным и управляющим входами устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных. Идентификационный выход результата, выход признака результата и информационный выход устройства ввода-вывода, арифметико-логического устройства и устройства памяти данных являются, соответственно, идентификационным выходом результата, выходом признака результата и информационным выходом операционного устройства. Признаки в указанной взаимосвязи в процессе проведения поиска на новизну не обнаружены, являются существенными и в своей совокупности обеспечивают увеличение производительности системы. Достигается это следующим образом. Ввод в состав асинхронной синергической вычислительной системы функциональных блоков, реализующих операции ввода-вывода и записи-чтения данных, подключение их к коммутатору таким же образом, как подключены другие блоки системы, позволяет исключить промежуточный информационный носитель в виде файла регистров и, соответственно, сократить время доступа к данным, а также увеличить за счет перераспределения блоков внутри системы поток данных, поступающих на обработку до объема, обеспечивающего максимально возможную загрузку функциональных блоков системы исходя из особенностей алгоритма решаемой задачи и аппаратных ограничений на количество функциональных блоков. Децентрализация управления в асинхронной синергической вычислительной системе и, как следствие, включение в структуру функциональных блоков устройства управления и устройства памяти команд, связанных указанным образом, а также распределенное управление коммутатором посредством адресных входов, подсоединенных к адресным выходам устройства управления, позволяет устранить задержки в вычислительном процессе, связанные с дозагрузкой программного кода. Это достигается тем, что в предлагаемой децентрализованной системе резко сокращается длина командного слова. Так, для системы, состоящей из 16 функциональных блоков, длина командного слова для подавляющего большинства операций составит 16 разрядов, что в несколько раз меньше, чем длина простой команды у прототипа. Соответственно, исчезает необходимость в кэш-памяти команд. Требуемый темп поступления командных слов может быть реализован, например, методом параллельного доступа, обеспечивающего одновременное считывание последовательности командных слов. Ввод идентификационных меток для команд, аргументов и результатов вычисления, буферизация передачи информации между параллельно протекающими процессами в системе, ввод сигнальных признаков готовности результатов, аргументов и команд позволяют организовать асинхронный режим исполнения команд, обеспечивающий выдачу и прием результатов сразу по завершении операции и реализацию операций по готовности аргументов. Управление исполнением команд от потока данных (по готовности аргументов) дает возможность исключить время выполнения команд, как один из параметров, при решении задачи распараллеливания в процессе компиляции программ, а также сокращает простой функциональных блоков. Дополнительно следует также отметить, что унификация внутрисистемных межблочных связей, а также возможность включения в систему разнообразных, по реализуемому набору операций, функциональных блоков, позволяет в условиях конкретного применения для специализированных систем оптимизировать объем аппаратного обеспечения в части габаритно-массовых характеристик и потребляемой мощности. Ввод в состав устройства управления регистра информационной связности обеспечивает возможность организации параллельного и независимого выполнения нескольких информационно несвязанных задач, а ввод в коммутатор регистров логического номера создает основу для эффективного решения задачи реконфигурации системы при отказе отдельных функциональных блоков и задачи резервирования. На фиг. 1 представлена структурная схема асинхронной синергической вычислительной системы; на фиг.2 - основные форматы командных слов; на фиг.3 - информационный граф формулы (1) в ярусно-параллельной форме; на фиг.4 - информационный граф формулы (2) в ярусно-параллельной форме. Асинхронная синергическая вычислительная система (фиг. 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. Во всех ус