RU2198422C2 - Asynchronous synergistic computer system - Google Patents
Asynchronous synergistic computer system Download PDFInfo
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
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
Известным является также устройство, мультискалярный микропроцессор 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,
Управление устройством централизованное. Длинное командное слово фиксированного размера содержит четыре поля (простых команд) для управления арифметико-логическими устройствами, поле для обращения к четырем различным банкам основной памяти и поле для управления последовательностью выполнения простых команд. Простые команды содержат информацию о коде выполняемой операции, длине операндов, адресе регистров источников левого и правого операндов арифметико-логического устройства, адресе регистров-получателей. 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,
Синергическая вычислительная система работает следующим образом. 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
the memory of the
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
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
Для идентификации команд, аргументов и результатов вычислений в асинхронной синергической вычислительной системе в блоках выбора команд 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
После выдачи адреса команды в устройство памяти команд 4, записи признака занятости метки и выдачи значения метки в блок дешифрации команд 3.2, блок выбора команд 3.1 формирует новое значение адреса команды и новое значение идентификационной метки путем прибавления единицы к старым значениям, при этом сложение при вычислении нового значения метки осуществляется по модулю L. After issuing the command address to the
Блок дешифрации команд 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
Идентификационная метка, код операции и адрес данных (команды, внешнего устройства) по информационно-управляющему выходу передаются в блок формирования исполняемой команды 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
Операционное устройство 5 выполняет поступившую команду и формирует признак готовности результата SR, идентификационную метку результата (идентификационный выход результата MR) и сам результат (информационный выход О). The operating
Если команды не используют общих устройств, то возможно их параллельное выполнение, при этом, если результат формируется на одном и том же такте, то он поступает в коммутатор 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
Регистр информационной связности 6 имеет N разрядов и содержит информацию о том, какие функциональные блоки должны синхронно выбирать командные слова. Информационно связанные функциональные блоки отмечены единицей в соответствующем разряде, а именно k-й функциональный блок в k-ом разряде. Содержимое регистра информационной связности 6 используется при формировании признака разрешения, поступающего из блока разрешения выбора команд 3.5 в блок выбора команд 3.1. Если хотя бы один i-й разряд регистра информационной связности 6 равен единице и равен ski, то признак разрешения равен единице ("запрещено").The
Коммутатор задействован на второй и третьей стадии выполнения команды. 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
Результат выполнения очередной операции, поступающей в коммутатор 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
Параллельно с процессом записи в буферные блоки 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-памяти, получив сигнал чтения, если не имеет записанной ранее информации, передает этот сигнал следующему блоку. Если информация есть, то он формирует признак готовности аргумента 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.
Рассмотрим работу асинхронной синергической вычислительной системы, на примере реализации двух формул
Информационные графы, описывающие последовательность выполнения операций в формулах и их параллелизм, представлены в виде ярусно-параллельных форм на фиг.3 и 4.Consider the work of an asynchronous synergistic computing system, using two formulas as an example
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
Устройства памяти данных реализуют команды чтения (чт) и записи (зп) формата 2 и имеют длительность один такт. Команда чтения является одноместной операцией, осуществляющей выборку числа из памяти данных по адресу, заданному в командном слове. Команда записи реализует двуместную операцию, первый аргумент которой это число, поступающее из коммутатора, а второй - адрес по которому осуществляется запись данного числа в память данных, заданный в командном слове. Data memory devices implement read (th) and write (zp) commands of
Арифметико-логические устройства реализуют команды: сложения (+) и вычитания (-), длительностью 1 такт; умножения (•), длительностью 2 такта; деления (/), длительностью 4 такта. Все команды вычислительного блока имеют первый формат, реализуют двуместные операции, причем вычитаемое и делимое задается в первом адресе. Arithmetic-logic devices implement the following commands: addition (+) and subtraction (-), 1 cycle long; multiplication (•),
Для обеспечения согласованного взаимодействия блоков, когда есть необходимость задержать результат выполнения на выходе функционального блока, используется команда "трата" (т) первого формата, сохраняющая состояние блока 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
Примем следующую форму записи командных слов (см. табл. А). 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)
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)
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 |
-
2000
- 2000-10-25 RU RU2000126657/09A patent/RU2198422C2/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
МОТОСОКА Т. и др. Компьютеры на СБИС, Кн. 1. - М.: Мир, 1988, с.65,66, 155-158. * |
Cited By (2)
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 |