RU2250501C2 - Neuro-net discontinuous operation device - Google Patents
Neuro-net discontinuous operation device Download PDFInfo
- Publication number
- RU2250501C2 RU2250501C2 RU2003117858/09A RU2003117858A RU2250501C2 RU 2250501 C2 RU2250501 C2 RU 2250501C2 RU 2003117858/09 A RU2003117858/09 A RU 2003117858/09A RU 2003117858 A RU2003117858 A RU 2003117858A RU 2250501 C2 RU2250501 C2 RU 2250501C2
- Authority
- RU
- Russia
- Prior art keywords
- input
- buses
- output
- data
- blocks
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано при построении систем обработки информации в нейросетевом логическом базисе.The invention relates to computer technology and can be used in the construction of information processing systems in a neural network logical basis.
Известно операционное устройство для параллельной обработки числовой информации, содержащее память командных ячеек для реализации управления потоками данных, матрицу ожидания готовых командных ячеек с командными ключами, скалярные процессоры, процессор памяти для управления обменом данными между основной памятью и памятью командных ячеек, векторный процессор для обработки векторных команд, блочный процессор для управления загрузкой команд из основной памяти в память командных ячеек, а также блоки ввода и вывода данных [1].Known operating device for parallel processing of numerical information, containing the memory of command cells for implementing control of data flows, a waiting matrix for finished command cells with command keys, scalar processors, a memory processor for controlling the exchange of data between the main memory and the memory of command cells, a vector processor for processing vector commands, a block processor for controlling the loading of commands from the main memory into the memory of command cells, as well as data input and output blocks [1].
Недостатком устройства является архитектурная ориентация на представление команд, свойственное машинам фон Неймана: коды исходных операндов и результатов вычисления хранятся в памяти, что не исключает возможность несанкционированного доступа; поле операндов в формате командной ячейки содержит коды указателей на командные ячейки - источники входных данных, а поле данных командной ячейки - код результата выполнения операции и флаг готовности результата, что усложняет процедуру определения готовности командной ячейки к обработке и, как следствие, увеличивает время решения задачи.The disadvantage of this device is the architectural orientation to the representation of commands, characteristic of von Neumann machines: codes of the source operands and calculation results are stored in memory, which does not exclude the possibility of unauthorized access; the operand field in the command cell format contains codes of pointers to command cells - input data sources, and the command cell data field contains the result code of the operation and the result ready flag, which complicates the procedure for determining the readiness of the command cell for processing and, as a result, increases the time it takes to solve the problem .
Известно многопроцессорное устройство, содержащее координатный коммутатор, соединенный через кэш память скалярных команд и кэш память данных с конвейерными скалярными процессорами, через векторные регистры - с конвейерными векторными модулями, через порты памяти - с блоками оперативной памяти, а через шины ввода/вывода - с блоками ввода/вывода данных [2].A multiprocessor device is known that contains a coordinate switch connected via a cache memory of scalar commands and a cache of data memory with pipelined scalar processors, through vector registers - with pipelined vector modules, through memory ports - with RAM blocks, and through input / output buses - with blocks data input / output [2].
В качестве недостатка устройства следует отметить последовательный характер программного управления вычислениями, что наряду с ограниченным числом операционных блоков не позволяет в полной мере реализовать потенциальные возможности распараллеливания вычислительного процесса и, следовательно, уменьшить время решения задачи. В структуре данного устройства отсутствуют аппаратные средства, необходимые для решения неформализуемых задач, свойственных нейросетевому логическому базису.As a disadvantage of the device, it should be noted the sequential nature of the software control of calculations, which, along with a limited number of operating units, does not allow to fully realize the potential for parallelizing the computing process and, therefore, reduce the time it takes to solve the problem. The structure of this device lacks the hardware necessary to solve unformalizable tasks inherent in a neural network logical basis.
Наиболее близким техническим решением к предлагаемому изобретению является устройство для обработки дискретной информации, содержащее локальные пулы командных пакетов, состоящие из блоков оперативной памяти и блоков памяти готовности данных с логическими схемами готовности данных, объединенных соответствующими параллельными шинами памяти, которые взаимосвязаны с первым координатным коммутатором, соединенным посредством векторных регистров и блока буферной памяти векторных команд с векторным операционным блоком, а также скалярные операционные блоки, блоки ввода и блоки вывода данных [3].The closest technical solution to the proposed invention is a device for processing discrete information, containing local pools of command packets, consisting of blocks of RAM and memory blocks of data readiness with logic circuits of data readiness, combined by the corresponding parallel memory buses, which are interconnected with the first coordinate switch connected by means of vector registers and a buffer memory block of vector commands with a vector operation block, as well as scalar e operating units, input units and data output units [3].
Недостатком последнего технического решения можно считать использование сложного в структурном отношении координатного коммутатора, выполняющего переключение встречных информационных потоков между двунаправленными параллельными шинами памяти и однонаправленными шинами операционных блоков, что исключает одновременное выполнение операций записи и считывания из одного и того же локального пула командных пакетов и, следовательно, снижает общую производительность устройства.A drawback of the latter technical solution is the use of a structurally complex coordinate switch that switches oncoming information flows between bidirectional parallel memory buses and unidirectional operating unit buses, which eliminates the simultaneous execution of write and read operations from the same local pool of command packets and, therefore , reduces the overall performance of the device.
Задача настоящего изобретения - ускорение вычислительного процесса за счет разнесения в пространстве операций по коммутации встречных информационных потоков между локальными пулами командных пакетов и операционными блоками, а также буферизации представленной в виде пакетов информации во входных и выходных цепях локальных пулов командных пакетов.The objective of the present invention is to accelerate the computational process by spacing in the space of operations for switching oncoming information flows between local pools of command packets and operational blocks, as well as buffering the information presented in the form of packets in the input and output chains of local pools of command packets.
Поставленная задача достигается тем, что нейросетевое дискретное операционное устройство содержит второй координатный коммутатор, входные и выходные стеки по числу локальных пулов командных пакетов, причем входные шины второго координатного коммутатора соединены с выходными шинами блоков ввода данных, скалярных и векторного операционных блоков, а выходные шины второго координатного коммутатора - с входными шинами блоков вывода данных и входных стеков, выходные шины которых через параллельные шины взаимосвязаны с входными шинами соответствующих выходных стеков, выходные шины которых, в свою очередь, соединены с входными шинами первого координатного коммутатора, взаимосвязанного с входными шинами скалярных операционных блоков.The task is achieved in that the neural network discrete operating device contains a second coordinate switch, input and output stacks according to the number of local pools of command packets, and the input buses of the second coordinate switch are connected to the output buses of the data input blocks, scalar and vector operational blocks, and the output buses of the second coordinate switchboard - with input buses of data output blocks and input stacks, output buses of which are connected via parallel buses with input buses corresponding output stacks, the output buses of which, in turn, are connected to the input buses of the first coordinate commutator, interconnected with the input buses of scalar operating units.
На чертеже представлена структурная схема предлагаемого нейросетевого дискретного операционного устройства.The drawing shows a structural diagram of the proposed neural network discrete operating device.
Нейросетевое дискретное операционное устройство содержит локальные пулы командных пакетов (СРР) 1, состоящие из блоков оперативной памяти (М) 2 и блоков памяти готовности данных (DRM) 3 с логическими схемами готовности данных (RS) 4, объединенных соответствующими параллельными шинами памяти (РВ) 5, которые взаимосвязаны с первым координатным коммутатором (MCS1) 6, соединенным посредством векторных регистров (VR) 7 и блока буферной памяти векторных команд (VIQ) 8 с векторным операционным блоком (VPU) 9, скалярные операционные блоки (SPU) 10, блоки ввода (In) 11 и блоки вывода (Out) 12 данных, а также второй координатный коммутатор (MCS2) 13, входные (IS) 14 и выходные (OS) 15 стеки по числу локальных пулов командных пакетов.The discrete neural network operating device contains local pools of command packets (СРР) 1, consisting of random access memory (M) 2 and data ready memory (DRM) 3 blocks with data ready logical circuits (RS) 4, combined by corresponding parallel memory buses (RV) 5, which are interconnected with the first coordinate switch (MCS1) 6, connected via vector registers (VR) 7 and a vector instruction buffer unit (VIQ) 8 with a vector operation unit (VPU) 9, scalar operation units (SPU) 10, input units (In) 11 and b data output (Out) 12, as well as the second coordinate switch (MCS2) 13, input (IS) 14 and output (OS) 15 stacks according to the number of local pools of command packets.
Предлагаемое нейросетевое дискретное операционное устройство функционирует следующим образом.The proposed neural network discrete operating device operates as follows.
При вводе пакеты данных, формируемые блоками ввода (In-Input) 11,When entering data packets generated by the input blocks (In-Input) 11,
поступают во второй координатный коммутатор (MCS2 - Memory Crossbar Switch) 13, через который в соответствии с кодом поля "Address of local СРМ" каждого пакета данных на соответствующую выходную шину второго координатного коммутатора будут передаваться поля "СР address", "Operand address" и "Value" пакета данных и далее во входной стек (IS - Input Stack) 14 одноименного локального пула командных пакетов СРР. Поле "Value" с выходной шины входного стека IS заносится в ячейку блока оперативной памяти данных (М - Memory) 2, адресуемую полями "СР address" и "Operand address". В том же адресном сечении блока памяти готовности данных (DRM - Data Readiness Memory) 3 устанавливается в нуль бит готовности. Установка в нуль всех битов готовности в некотором адресном сечении блока памяти готовности данных DRM контролируется схемой готовности данных (RS - Readiness Scheme) 4, которая в этом случае инициирует запись единиц во все разряды названного адресного сечения блока памяти готовности данных DRM, формирование и выборку командного пакета из данного адресного сечения блоков оперативной памяти М на соответствующую параллельную шину памяти (РВ - Parallel Bus) 5 устройства и далее - в выходной стек (OS - Output Stack) 15 в следующем формате:enter the second coordinate switch (MCS2 - Memory Crossbar Switch) 13, through which, in accordance with the field code "Address of local CPM" of each data packet, the fields "CP address", "Operand address" and The "Value" of the data packet and further into the input stack (IS - Input Stack) 14 of the local pool of CPP command packets of the same name. Field "Value" from the output bus of the input stack IS is entered in the cell of the block of random access memory data (M - Memory) 2, addressed by the fields "CP address" and "Operand address". In the same address section of the data readiness memory block (DRM) 3, the readiness bit is set to zero. The zeroing of all the readiness bits in a certain address section of the DRM data readiness memory block is controlled by the data readiness scheme (RS - Readiness Scheme) 4, which in this case initiates the writing of units to all bits of the indicated address section of the DRM data readiness memory block, formation and selection of a packet from this address section of the memory blocks M to the corresponding parallel memory bus (PB - Parallel Bus) 5 of the device and then to the output stack (OS - Output Stack) 15 in the following format:
Процесс обработки скалярного командного пакета начинается с момента его передачи с параллельной шины памяти РВ в выходной стек OS соответствующего локального пула командных пакетов СРР. Наличие командного пакета в стеке OS инициирует его передачу через первый координатный коммутатор MCS1 к свободному скалярному операционному блоку (SPU - Scalar Processor Unit) 10. Причем в полях "Values of Data" и "Values of Functional Parameters" скалярного командного пакета содержатся соответственно значения вектора входных данных и значения вектора весовых коэффициентов. Аналогично организована обработка векторного командного пакета, с той лишь разницей, что передаваемый через первый координатный коммутатор MCS1 6 командный пакет заносится в векторные регистры (VR - Vector Registers) 7 (поля "Values of Data" и "Values of Functional Parameters") и блок буферной памяти векторных команд (VIQ - Vector Instructions Queue) 8 (поля "Operation and Addresses of CP"). Причем в полях "Values of Data" и "Values of Functional Parameters" векторного командного пакета содержатся соответственно значения вектора входных данных и значения матрицы весовых коэффициентов. В процессе обработки через параллельные шины памяти РВ, выходные стеки OS, первый координатный коммутатор MCS1, векторные регистры VR и блок буферной памяти векторных команд VIQ может быть организован конвейер для совмещения процедуры обработки командного пакета в векторном операционном блоке (VPU - Vector Processor Unit) 9 (умножение вектор входных данных на матрицу весовых коэффициентов) и процедуры обмена векторными командными пакетами и пакетами данных с блоками оперативной памяти М. По мере готовности происходит накопление векторных командных пакетов в векторных регистрах VR и блоке буферной памяти векторных команд VIQ.The process of processing a scalar command packet starts from the moment it is transferred from the parallel memory bus RV to the OS output stack of the corresponding local pool of CPP command packets. The presence of a command package in the OS stack initiates its transfer through the first coordinate switch MCS1 to a free scalar operating unit (SPU - Scalar Processor Unit) 10. Moreover, the Values of Data and Values of Functional Parameters fields of the scalar command package contain the values of the vector input data and values of the vector of weights. The processing of a vector command packet is similarly organized, with the only difference being that the command packet transmitted through the first coordinate switch MCS1 6 is recorded in vector registers (VR - Vector Registers) 7 (fields "Values of Data" and "Values of Functional Parameters") and a block buffer memory of vector commands (VIQ - Vector Instructions Queue) 8 (fields "Operation and Addresses of CP"). Moreover, the fields "Values of Data" and "Values of Functional Parameters" of the vector command package contain the values of the input data vector and the values of the weight matrix, respectively. In the process of processing through the parallel bus memory RV, output stacks OS, the first coordinate switch MCS1, vector registers VR and the buffer memory block of vector commands VIQ can be organized conveyor to combine the processing of the command package in a vector operation unit (VPU - Vector Processor Unit) 9 (multiplying the input data vector by the weight matrix) and the procedures for exchanging vector command packets and data packets with memory blocks M. As soon as ready, vector command packs accumulate s in vector registers VR and the buffer memory unit vector VIQ teams.
При выводе результаты вычислений оформляются в виде пакетов данных, адресное поле каждого из которых соответствует одному из адресов блоков вывода данных (Out - Output) 12. Пакеты данных с выходов скалярных операционных блоков SPU и векторного операционного блока VPU поступают рассмотренным выше образом через второй координатный коммутатор MCS2 на его выходную шину, соединенную с соответствующими из блоков вывода Out, и фиксируются во входных цепях блоков вывода данных 12.When outputting, the calculation results are issued in the form of data packets, the address field of each of which corresponds to one of the addresses of the data output blocks (Out - Output) 12. Data packets from the outputs of the scalar operating units SPU and the vector operational unit VPU are received as described above via the second coordinate switch MCS2 on its output bus connected to the corresponding of the output blocks Out, and are fixed in the input circuits of the data output blocks 12.
В режиме программирования нейросетевого дискретного операционного устройства формируется топология нейронной сети путем указания связей между отдельными ее компонентами. Для этого необходимо в каждую командную ячейку в соответствующее адресное сечение блока оперативной памяти М ввести коды адресов командных ячеек - приемников результата. Необходимая информация (поле "Value") пакета данных, формируемого в блоке ввода данных In, через соответствующую входную шину второго координатного коммутатора MCS2 заносится в адресное сечение (поля "СР address", "Operand address") заданного блока оперативной памяти М (поле "Address of local CPM"). Программирование устройства осуществляется перед его использованием в вышеперечисленных режимах функционирования.In the programming mode of the neural network discrete operating device, the topology of the neural network is formed by indicating the connections between its individual components. For this, it is necessary to enter the address codes of the command cells, the result receivers, in each command cell in the corresponding address section of the RAM block M. The necessary information (field "Value") of the data packet generated in the data input block In, through the corresponding input bus of the second coordinate switch MCS2, is entered into the address section (fields "CP address", "Operand address") of the given RAM block M (field " Address of local CPM "). The programming of the device is carried out before its use in the above modes of operation.
Режим настройки функциональных параметров нейросетевого дискретного операционного устройства аналогичен рассмотренной последовательности программирования с той лишь разницей, что поле "Значение" пакета данных помещается в блок оперативной памяти М, соответствующий месту хранения функциональных параметров в данном адресном сечении. Настройка функциональных параметров производится после осуществления программирования заявляемого устройства, но перед его работой. Выполнение процедуры настройки после осуществления программирования устройства существенно при решении задач в нейросетевом логическом базисе, т.к. процесс программирования задает связи между элементами нейронной сети, а функциональные параметры подбираются в процессе обучения уже сформированной сети. Если же функциональные параметры заранее известны (сеть обучена), то порядок программирования и настройки дискретного операционного устройства может быть произвольным.The setting mode of the functional parameters of the discrete neural network operating device is similar to the considered programming sequence, with the only difference being that the “Value” field of the data packet is placed in the random access memory block M corresponding to the storage location of the functional parameters in this address section. Functional parameters are configured after programming the inventive device, but before its operation. Performing the setup procedure after programming the device is essential when solving problems in a neural network logical basis, because The programming process defines the connections between the elements of the neural network, and the functional parameters are selected in the learning process of the already formed network. If the functional parameters are known in advance (the network is trained), then the programming and configuration of a discrete operating device can be arbitrary.
Введение в структуру нейросетевого дискретного операционного устройства второго координатного коммутатора MCS2, входных IS и выходных OS стеков по числу локальных пулов командных пакетов позволяет ускорить процесс распараллеливания вычислений за счет оперативной передачи готовых к обработке скалярных и векторных командных пакетов из локальных пулов командных пакетов СРР к скалярным SPU и векторному VPU операционным блокам посредством первого координатного коммутатора MCS1 и одновременно - пакетов данных с результатами обработки в обратном направлении от операционных блоков SPU и VPU через второй координатный коммутатор MCS2 в локальные пулы командных пакетов СРР. Наличие входных и выходных стеков в локальных пулах командных пакетов дает возможность согласовать асинхронный порядок поступления/извлечения пакетов из соответствующих пулов командных пактов с циклами операций записи/считывания из блоков оперативной памяти М и дополнительно ускорить процесс передачи информационных потоков.The introduction of the second coordinate switchboard MCS2, input IS and output OS stacks by the number of local pools of command packets into the structure of a discrete operating device of a neural network operating system allows you to speed up the process of parallelization of calculations by promptly transferring scalar and vector command packets from local pools of CPP command packets to scalar SPUs and vector VPU to operating units by means of the first coordinate switch MCS1 and simultaneously - data packets with the processing results in the opposite direction from the operating units SPU and VPU through the second coordinate switch MCS2 in the local pools of command packages CPP. The presence of input and output stacks in local pools of command packets makes it possible to coordinate the asynchronous order of arrival / retrieval of packets from the corresponding pools of command packets with the cycles of write / read operations from the memory blocks M and further accelerate the process of transmitting information flows.
Таким образом, наличие второго координатного коммутатора, входных и выходных стеков позволяет разнести в пределах устройства и осуществлять одновременную передачу встречных потоков информации, что существенно увеличивает производительность нейросетевого дискретного операционного устройства.Thus, the presence of a second coordinate switch, input and output stacks allows you to distribute within the device and carry out the simultaneous transmission of oncoming flows of information, which significantly increases the performance of the neural network discrete operating device.
Источники информацииSources of information
1. Компьютеры на СБИС: В 2-х кн. Кн.2: Пер. с япон. / Мотоока Т., Хорикоси X., Сакаути М. и др. - М.: Мир, 1988. - 336 с., с.78-81.1. Computers on VLSI: In 2 books. Book 2: Trans. with japan. / Motooka T., Horikoshi X., Sakauti M. et al. - M.: Mir, 1988 .-- 336 p., Pp. 78-81.
2. Паттерсон Д., Андерсон Т., Кадвел Н., Фромм Р., Китон К., Козяракис К., Томас Р, Елик К. Доводы в пользу IRAM. - Компьютеры, №15, 1998, Приложение, с.3-14.2. Patterson D., Anderson T., Cadwell N., Fromm R., Keaton K., Kozyarakis K., Thomas R, Elik K. Arguments in favor of IRAM. - Computers, No. 15, 1998, Appendix, p.3-14.
3. Патент 2176815 РФ, МПК G 06 F 15/00. Устройство для обработки дискретной информации. / Г.Ф.Нестерук, Ф.Г.Нестерук. - №2000111364/09; Заявлено 06.05.2000; Опубл. 10.12.2001. Бюл. №34, Приоритет от 06.05.2000 - прототип.3. Patent 2176815 of the Russian Federation, IPC G 06 F 15/00. Device for processing discrete information. / G.F. Nesteruk, F.G. Nesteruk. - No.2000111364 / 09; Claimed on May 6, 2000; Publ. 12/10/2001. Bull. No. 34, Priority from 05/06/2000 - prototype.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2003117858/09A RU2250501C2 (en) | 2003-06-16 | 2003-06-16 | Neuro-net discontinuous operation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2003117858/09A RU2250501C2 (en) | 2003-06-16 | 2003-06-16 | Neuro-net discontinuous operation device |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2003117858A RU2003117858A (en) | 2004-12-10 |
RU2250501C2 true RU2250501C2 (en) | 2005-04-20 |
Family
ID=35635186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2003117858/09A RU2250501C2 (en) | 2003-06-16 | 2003-06-16 | Neuro-net discontinuous operation device |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2250501C2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2669509C2 (en) * | 2016-12-14 | 2018-10-11 | Федеральное государственное автономное учреждение науки Институт конструкторско-технологической информатики Российской академии наук (ИКТИ РАН) | Method of monitoring the operating capability of the computer system and the control scheme for its implementation |
-
2003
- 2003-06-16 RU RU2003117858/09A patent/RU2250501C2/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2669509C2 (en) * | 2016-12-14 | 2018-10-11 | Федеральное государственное автономное учреждение науки Институт конструкторско-технологической информатики Российской академии наук (ИКТИ РАН) | Method of monitoring the operating capability of the computer system and the control scheme for its implementation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4891751A (en) | Massively parallel vector processing computer | |
US20110289034A1 (en) | Neural Processing Unit | |
JPS6148037A (en) | Floating-point arithmetic unit | |
CN103221938A (en) | Method and apparatus for moving data | |
EP2877905A2 (en) | Neural processing engine and architecture using the same | |
CN102135950A (en) | On-chip heterogeneous multi-core system based on star type interconnection structure, and communication method thereof | |
JP2637749B2 (en) | Data processing apparatus and processing method | |
CN100489830C (en) | 64 bit stream processor chip system structure oriented to scientific computing | |
RU2250501C2 (en) | Neuro-net discontinuous operation device | |
RU2294561C2 (en) | Device for hardware realization of probability genetic algorithms | |
CA2299567A1 (en) | Data processor and data processing system | |
RU2176815C1 (en) | Digital information processing device | |
Brooks III | The shared memory hypercube | |
US20040123073A1 (en) | Data processing system having a cartesian controller | |
JP2008102599A (en) | Processor | |
JPS59163671A (en) | Vector processor | |
JP4347352B2 (en) | Vector data processing device | |
RU2179333C1 (en) | Synergistic computer system | |
JP3704367B2 (en) | Switch circuit | |
US20020186046A1 (en) | Circuit architecture for reduced-synchrony on-chip interconnect | |
JP2744152B2 (en) | Data driven data processor | |
JP2755769B2 (en) | Data driven data processor | |
JPH0521262B2 (en) | ||
Drefenstedt | Ferri Abolhassan Reinhard Drefenstedt Jörg Keller Wolfgang J. Paul Dieter Scheerer | |
Sharif et al. | Design and simulations of a serial-link interconnection network for a massively parallel computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20160617 |