RU2179739C2 - Data processing device - Google Patents
Data processing device Download PDFInfo
- Publication number
- RU2179739C2 RU2179739C2 RU2000108883A RU2000108883A RU2179739C2 RU 2179739 C2 RU2179739 C2 RU 2179739C2 RU 2000108883 A RU2000108883 A RU 2000108883A RU 2000108883 A RU2000108883 A RU 2000108883A RU 2179739 C2 RU2179739 C2 RU 2179739C2
- Authority
- RU
- Russia
- Prior art keywords
- blocks
- local
- data
- memory
- bus
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims abstract description 58
- 238000000034 method Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 abstract description 11
- 238000001228 spectrum Methods 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано при построении систем обработки дискретной информации. The invention relates to computer technology and can be used to build discrete information processing systems.
Известно устройство для обработки информации, содержащее взаимосвязанные операционный блок и блок памяти, а также блоки ввода и вывода информации, ориентированное на первичную обработку по месту хранения данных [1]. A device for processing information containing interconnected operating unit and a memory unit, as well as input and output information units, focused on the primary processing at the data storage location [1].
В качестве достоинства устройства можно назвать распределенный характер обработки информации в многофункциональном накопителе, а недостатка - ограниченные функциональные возможности устройства. The advantage of the device can be called the distributed nature of information processing in a multifunction drive, and the disadvantage is the limited functionality of the device.
Известно также устройство для обработки информации, содержащее в пределах кристалла взаимосвязанные операционные блоки и блоки памяти, а также блоки ввода и вывода данных, ориентированное на параллельное выполнение операций [2]. It is also known a device for processing information, containing within the crystal interconnected operational blocks and memory blocks, as well as input and output data blocks, oriented to parallel operations [2].
Недостатком устройства является архитектурная ориентация на последовательную концепцию фон Неймана, что затрудняет распараллеливание вычислительного процесса. The disadvantage of this device is the architectural orientation to the consistent concept of von Neumann, which makes it difficult to parallelize the computing process.
Наиболее близким техническим решением к предлагаемому изобретению является устройство для обработки информации, содержащее операционные блоки, входы которых взаимосвязаны с выходами блоков локальной памяти команд и блоков локальной памяти данных, а выходы - с первой шиной, блоки стековой памяти результатов, входы которых соединены со второй шиной, а выходы - со входами соответствующих блоков локальной памяти данных, блоки ввода и вывода данных, подключенные к первой шине [3]. The closest technical solution to the proposed invention is a device for processing information, containing operating units, the inputs of which are interconnected with the outputs of the local command memory blocks and local data memory blocks, and the outputs are with the first bus, the stacked result memory blocks, the inputs of which are connected to the second bus and the outputs - with the inputs of the corresponding blocks of the local data memory, input and output data blocks connected to the first bus [3].
В качестве недостатка последнего решения следует отметить программный подход к распараллеливанию вычислений: на этапе компиляции определяется возможность одновременного выполнения отдельных программных фрагментов и производится их жесткое закрепление за конкретными операционными блоками, что не позволяет в полной мере реализовать потенциальные возможности распараллеливания процесса решения задачи. Кроме того, в архитектуре последнего технического решения отсутствуют аппаратные средства, направленные на решение задач, свойственных нейросетевому логическому базису. A drawback of the latter solution is the program approach to parallelizing computations: at the compilation stage, the ability to simultaneously execute individual program fragments is determined and they are rigidly assigned to specific operating units, which does not allow to fully realize the potential for parallelizing the process of solving the problem. In addition, in the architecture of the latest technical solution there are no hardware tools aimed at solving problems inherent in a neural network logical basis.
Задача настоящего изобретения - упрощение процесса распараллеливания вычислений за счет внутренней архитектурной реализации параллелизма решаемой задачи и расширение функциональных возможностей устройства для обработки информации путем решения всего спектра нейросетевых задач. The objective of the present invention is to simplify the process of parallelization of calculations due to the internal architectural implementation of the parallelism of the problem being solved and to expand the functionality of the device for processing information by solving the entire spectrum of neural network tasks.
Поставленная задача достигается тем, что устройство для обработки информации содержит по числу блоков локальной памяти данных блоки локальной памяти функциональных параметров и блоки локальной памяти готовности данных, триггеры занятости по числу операционных блоков, третью шину в виде кольца, посредством которой взаимосвязаны входы операционных блоков, выходы триггеров занятости, выходы блоков локальной памяти данных, блоков локальной памяти команд, блоков локальной памяти функциональных параметров и блоков локальной памяти готовности данных, причем входы блоков локальной памяти функциональных параметров и блоков локальной памяти команд соединены с первой шиной, которая совместно со второй шиной образует кольцевую шину, а входы блоков локальной памяти готовности данных соединены с выходами одноименных блоков стековой памяти результатов. The task is achieved in that the information processing device contains, according to the number of local data memory blocks, blocks of local memory of functional parameters and local data ready memory blocks, employment triggers by the number of operating blocks, a third bus in the form of a ring, through which the inputs of the operating blocks, outputs are interconnected ready triggers, outputs of blocks of local data memory, blocks of local memory of commands, blocks of local memory of functional parameters and blocks of local memory are ready Data spine, wherein the functional parameters of the inputs of local memory units and local memories coupled to the first instruction bus, which together with the second bus forms a ring bus, and a local memory input block data ready outputs are connected to the homonymous blocks stack results.
На чертеже представлена структурная схема предлагаемого устройства для обработки информации. The drawing shows a structural diagram of the proposed device for processing information.
Устройство для обработки информации содержит операционные блоки 1, входы которых взаимосвязаны с выходами блоков локальной памяти команд 2 и локальной памяти данных 3, а выходы - с первой шиной 4, к которой присоединены блоки ввода 5 и блоки вывода 6 данных, блоки стековой памяти результатов 7, входы которых взаимосвязаны со второй шиной 8, блоки локальной памяти функциональных параметров 9, блоки локальной памяти готовности данных 10, триггеры занятости 11 и третью шину 12. The information processing device contains operational blocks 1, the inputs of which are interconnected with the outputs of the local memory blocks of teams 2 and the local data memory 3, and the outputs are connected with the first bus 4, to which input blocks 5 and data output blocks 6, blocks of the stack memory of results 7 are connected the inputs of which are interconnected with the second bus 8, blocks of local memory of functional parameters 9, blocks of local memory of data readiness 10, employment triggers 11 and the third bus 12.
Предлагаемое устройство для обработки информации функционирует следующим образом. The proposed device for processing information operates as follows.
Рассмотрим процесс работы устройства в режиме ввода исходных данных. Блоки ввода 5 формируют пакеты данных в формате
Вводимые пакеты данных с первой шины 4 поступают в блоки стековой памяти результатов 7, откуда поле "значение данных" заносится в соответствующую ячейку блока локальной памяти данных 3. Одновременно в том же адресном сечении блока локальной памяти готовности данных 10 устанавливается бит готовности. Установка всех битов готовности в некотором адресном сечении блока локальной памяти готовности данных инициирует выборку командного пакета из данного адресного сечения блоков команд 2, данных 3, функциональных параметров 9 и передачу выбранного командного пакета на третью шину 12 устройства. При этом адресное сечение блока локальной памяти готовности данных обнуляется.Consider the process of the device in the input mode. Input blocks 5 form data packets in the format
The input data packets from the first bus 4 go to the blocks of the stack memory of the results 7, from where the "data value" field is entered in the corresponding cell of the local data memory block 3. At the same time, the readiness bit is set in the same address section of the local data readiness memory block 10. Setting all the readiness bits in a certain address section of the local data readiness memory block initiates the selection of the command packet from the given address section of the instruction blocks 2, data 3, functional parameters 9 and transmission of the selected command packet to the third bus 12 of the device. At the same time, the address section of the data readiness local memory block is zeroed.
Процесс обработки командного пакета. Командный пакет по кольцевой шине 12 достигает операционного блока 1, триггер занятости 11 которого сброшен. Фиксация командного пакета во входных цепях операционного блока удаляет его с шины 12 и устанавливает соответствующий триггер занятости 11, что приводит к перенаправлению других командных пакетов, находящихся на шине 12, к оставшимся операционным блокам 1, триггеры занятости которых сброшены. В случае занятости всех операционных блоков командные пакеты циркулируют по шине 12 до сброса одного из триггеров занятости. Зафиксированный во входных цепях операционного блока командный пакет содержит полный набор значений данных, подлежащих обработке, указание на реализуемую функцию и коды адресов командных пакетов - приемников результата. Операционный блок 1 после завершения обработки формирует столько пакетов данных, сколько адресов командных пакетов - приемников результата он содержит, и сбрасывает соответствующий триггер занятости 11. Сформированные пакеты данных поступают в кольцевую шину, образованную первой 4 и второй 8 шинами, и заносятся в соответствующие адресам блоки стековой памяти результата 7. Далее - аналогично процессу ввода исходных данных. The process of processing a command package. The command package on the ring bus 12 reaches the operating unit 1, the employment trigger 11 of which is reset. Fixing the command package in the input circuits of the operating unit removes it from the bus 12 and installs the corresponding busy trigger 11, which leads to the redirection of other command packets located on the bus 12 to the remaining operational blocks 1, whose busy triggers are reset. If all operating units are busy, command packets circulate on bus 12 until one of the busy triggers is reset. The command packet recorded in the input circuits of the operating unit contains a complete set of data values to be processed, an indication of the function to be implemented, and address codes of command packets - result receivers. Operation block 1, after processing is completed, generates as many data packets as the addresses of command packets - result receivers it contains, and resets the corresponding busy trigger 11. The generated data packets arrive in the ring bus formed by the first 4 and second 8 buses, and the blocks are entered into the corresponding addresses stack memory of result 7. Next, it is similar to the process of inputting initial data.
Режим вывода результатов вычислений. Результаты вычислений формируются операционными блоками в виде пакетов данных, адресное поле каждого из которых соответствует одному из адресов блоков вывода данных 6. Пакеты данных поступают с выходов операционных блоков 1 на первую шину 4 и фиксируются во входных цепях блоков вывода данных 6. The mode of outputting the results of calculations. The calculation results are generated by the operating units in the form of data packets, the address field of each of which corresponds to one of the addresses of the data output blocks 6. The data packets come from the outputs of the operating blocks 1 to the first bus 4 and are fixed in the input circuits of the data output blocks 6.
Режим программирования устройства для обработки информации. Программирование заявляемого устройства осуществляется перед его использованием в вышеперечисленных режимах функционирования. При программировании необходимо для каждого командного пакета в соответствующее адресное сечение блока локальной памяти команд 2 ввести коды адресов командных пакетов - приемников результата. В этом случае значение адреса командного пакета - приемника результата (поле "значение") пакета данных, формируемого в блоке ввода 5, через первую шину 4 заносится в адресное сечение (поле "адрес командного пакета" и поле "адрес в пакете") заданного блока локальной памяти команд 2 (поле "номер блока локальной памяти"). The programming mode of the device for processing information. Programming of the claimed device is carried out before its use in the above modes of operation. When programming, it is necessary for each command package in the corresponding address section of the local memory block of commands 2 to enter the address codes of command packets - the result receivers. In this case, the address value of the command packet — the receiver of the result (field “value”) of the data packet generated in input block 5 is entered into the address section (field “command packet address” and the “address in packet” field) through the first bus 4 local command memory 2 (field "local memory block number").
Режим настройки функциональных параметров устройства для обработки информации. Настройка функциональных параметров производится после осуществления программирования заявляемого устройства, но перед его работой в режимах ввода данных, обработки и вывода результатов. Процесс занесения значений функциональных параметров аналогичен вышерассмотренной последовательности программирования с той лишь разницей, что поле "значение" пакета данных помещается в адресное сечение соответствующего блока локальной памяти функциональных параметров 9. Выполнение процедуры настройки после осуществления программирования устройства существенно при решении задач в нейросетевом логическом базисе, т. к. процесс программирования задает связи между элементами нейронной сети, а функциональные параметры подбираются в процессе "обучения" уже сформированной сети и заносятся в локальную память функциональных параметров 9. Если же функциональные параметры заранее известны (сеть "обучена"), то порядок программирования и настройки устройства для обработки информации может быть произвольным. The setting mode of the functional parameters of the device for processing information. Functional parameters are set up after programming the inventive device, but before its operation in the data input, processing, and output modes. The process of entering the values of functional parameters is similar to the above programming sequence, with the only difference being that the “value” field of the data packet is placed in the address section of the corresponding block of local memory of functional parameters 9. Performing the setup procedure after programming the device is essential when solving problems in a neural network logical basis, t since the programming process defines the connections between the elements of the neural network, and the functional parameters are selected in The process of “learning” the already formed network and is entered into the local memory of the functional parameters 9. If the functional parameters are known in advance (the network is “trained”), then the programming and configuration of the device for processing information can be arbitrary.
Введение в структуру устройства блоков локальной памяти функциональных параметров, блоков локальной памяти готовности данных, триггеров занятости, третьей шины в виде кольца и соединение первой и второй шин в кольцевую шину позволяет значительно упростить процесс распараллеливания вычислений за счет архитектурной самореализации параллелизма решаемой задачи. Помещение командных пакетов на кольцевую шину 12 и наличие триггеров занятости дает возможность автоматически распределять командные пакеты по свободным операционным блокам без явного указания операционного блока - получателя пакета. С другой стороны, соединение первой 4 и второй 8 шин в кольцевую шину и наличие блоков стековой памяти результатов позволяют буферизировать значительное количество пакетов данных при адресной рассылке результатов обработки в конкретные блоки локальной памяти данных. Наличие блоков локальной памяти готовности данных дает возможность запустить механизм самоуправления вычислениями и, следовательно, реализовать в максимальной степени параллелизм, свойственный данной задаче. Блоки локальной памяти функциональных параметров существенно расширяют область применения заявляемого устройства за счет реализации функции настройки (обучения), что позволяет решать специфические задачи, свойственные нейросетевому логическому базису: классификации образов, аппроксимации, предсказания, оптимизации, организации ассоциативной памяти, управления динамическими системами. Introduction to the structure of the device of local memory blocks of functional parameters, local data ready memory blocks, busy triggers, a third bus in the form of a ring and connecting the first and second buses to a ring bus can significantly simplify the process of parallelization of calculations due to the architectural self-realization of parallelism of the problem being solved. The placement of command packets on the ring bus 12 and the presence of busy triggers makes it possible to automatically distribute command packets to free operating units without explicitly specifying the operating unit - the receiver of the packet. On the other hand, the connection of the first 4 and second 8 buses to the ring bus and the presence of blocks of stacked memory of the results allow buffering a significant number of data packets when addressing the processing results to specific blocks of local data memory. The presence of blocks of local data readiness memory makes it possible to start the self-management mechanism by computing and, therefore, to maximize the parallelism inherent in this task. Blocks of local memory of functional parameters significantly expand the scope of the claimed device due to the implementation of the tuning (learning) function, which allows solving specific tasks inherent in the neural network logical basis: image classification, approximation, prediction, optimization, associative memory organization, dynamic system management.
Источники информации
1. Авторское свидетельство СССР 809190.Sources of information
1. USSR copyright certificate 809190.
2. D. Patterson, T. Anderson, N. Cardwell, et al. Intelligent RAM (IRAM): Chips that remember and compute. Digest of Technical Papers, 1997 IEЕЕ International Solid-State Circuits Conference, San Francisco, CA, USA, Feb. 1997. 2. D. Patterson, T. Anderson, N. Cardwell, et al. Intelligent RAM (IRAM): Chips that remember and compute. Digest of Technical Papers, 1997 IEEE International Solid-State Circuits Conference, San Francisco, CA, USA, Feb. 1997.
3. Kishi M. et al. DDDP - A Distributed Data Driven Processor. 10th Annual Int. Symp. on Computer Architecture, 1983, p.p. 236-242. 3. Kishi M. et al. DDDP - A Distributed Data Driven Processor. 10th Annual Int. Symp on Computer Architecture, 1983, p.p. 236-242.
Claims (1)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2000108883A RU2179739C2 (en) | 2000-04-10 | 2000-04-10 | Data processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2000108883A RU2179739C2 (en) | 2000-04-10 | 2000-04-10 | Data processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| RU2179739C2 true RU2179739C2 (en) | 2002-02-20 |
| RU2000108883A RU2000108883A (en) | 2002-03-27 |
Family
ID=20233090
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2000108883A RU2179739C2 (en) | 2000-04-10 | 2000-04-10 | Data processing device |
Country Status (1)
| Country | Link |
|---|---|
| RU (1) | RU2179739C2 (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2331923C2 (en) * | 2006-09-27 | 2008-08-20 | Государственное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный университет информационных технологий, механики и оптики" | Information processing device |
| RU2373568C1 (en) * | 2008-03-03 | 2009-11-20 | Закрытое акционерное общество "ЭВРИКА" | Device for information processing |
| RU2379751C2 (en) * | 2008-03-24 | 2010-01-20 | Государственное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный университет информационных технологий, механики и оптики" | Parallel information processing device |
| RU2394274C2 (en) * | 2008-06-02 | 2010-07-10 | Государственное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный университет информационных технологий, механики и оптики" | Neural network operational device |
| RU2771008C1 (en) * | 2018-10-10 | 2022-04-25 | Биго Текнолоджи Пте. Лтд. | Method and apparatus for processing tasks based on a neural network |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SU1352498A1 (en) * | 1984-09-15 | 1987-11-15 | Военная инженерная радиотехническая академия противовоздушной обороны им.Маршала Советского Союза Говорова Л.А. | Data processing device |
-
2000
- 2000-04-10 RU RU2000108883A patent/RU2179739C2/en active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SU1352498A1 (en) * | 1984-09-15 | 1987-11-15 | Военная инженерная радиотехническая академия противовоздушной обороны им.Маршала Советского Союза Говорова Л.А. | Data processing device |
Non-Patent Citations (1)
| Title |
|---|
| Компьютеры на СБИС: в 2-х кн. Кн. 1: Пер. с япон./МОТООКА Т., ТОМИТА С. и др. - М.: Мир, 1988. * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2331923C2 (en) * | 2006-09-27 | 2008-08-20 | Государственное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный университет информационных технологий, механики и оптики" | Information processing device |
| RU2373568C1 (en) * | 2008-03-03 | 2009-11-20 | Закрытое акционерное общество "ЭВРИКА" | Device for information processing |
| RU2379751C2 (en) * | 2008-03-24 | 2010-01-20 | Государственное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный университет информационных технологий, механики и оптики" | Parallel information processing device |
| RU2394274C2 (en) * | 2008-06-02 | 2010-07-10 | Государственное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный университет информационных технологий, механики и оптики" | Neural network operational device |
| RU2771008C1 (en) * | 2018-10-10 | 2022-04-25 | Биго Текнолоджи Пте. Лтд. | Method and apparatus for processing tasks based on a neural network |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1034495B1 (en) | Method of generating application specific integrated circuits using a programmable hardware architecture | |
| TWI515669B (en) | System and method for data analysis in state machine | |
| EP0102242A2 (en) | Data processing apparatus | |
| JP2002509302A (en) | A multiprocessor computer architecture incorporating multiple memory algorithm processors in a memory subsystem. | |
| US8069333B2 (en) | Converting logical to real number to access shared configuration information in event driven state transiting reconfigurable system | |
| US20190303518A1 (en) | Systems and methods for implementing a machine perception and dense algorithm integrated circuit and enabling a flowing propagation of data within the integrated circuit | |
| EP3912074B1 (en) | Generating a synchronous digital circuit from a source code construct defining a function call | |
| US6175935B1 (en) | Software debugging method and recording medium to which debugging program has been recorded | |
| RU2179739C2 (en) | Data processing device | |
| JP3706397B2 (en) | Data-driven information processing device | |
| US20210326078A1 (en) | Machine perception and dense algorithm integrated circuit | |
| US7028162B2 (en) | Configurable processing block capable of interacting with external hardware | |
| RU2263964C1 (en) | Method for processing information in neuron networks | |
| JP7648303B2 (en) | System and method for int9 quantization | |
| RU2176815C1 (en) | Digital information processing device | |
| US6768336B2 (en) | Circuit architecture for reduced-synchrony on-chip interconnect | |
| US20090144461A1 (en) | Method and system for configuration of a hardware peripheral | |
| US20040123073A1 (en) | Data processing system having a cartesian controller | |
| CN109240978B (en) | An FPGA system, equipment and acceleration platform for building an acceleration platform | |
| CN111260046A (en) | Operation method, device and related product | |
| JP2848609B2 (en) | Logic circuit conversion method and device | |
| RU2117326C1 (en) | Computing system based on matrix of processor elements | |
| JP3091441B2 (en) | Data processing device | |
| JPH08190409A (en) | Tracking control method in production line | |
| JP2005301665A (en) | Data processor and data processing method |