[go: up one dir, main page]

JP6519343B2 - Data processor - Google Patents

Data processor Download PDF

Info

Publication number
JP6519343B2
JP6519343B2 JP2015126553A JP2015126553A JP6519343B2 JP 6519343 B2 JP6519343 B2 JP 6519343B2 JP 2015126553 A JP2015126553 A JP 2015126553A JP 2015126553 A JP2015126553 A JP 2015126553A JP 6519343 B2 JP6519343 B2 JP 6519343B2
Authority
JP
Japan
Prior art keywords
write
data
flag
processor
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015126553A
Other languages
Japanese (ja)
Other versions
JP2017010364A (en
Inventor
敦史 北山
敦史 北山
啓史 山本
啓史 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2015126553A priority Critical patent/JP6519343B2/en
Publication of JP2017010364A publication Critical patent/JP2017010364A/en
Application granted granted Critical
Publication of JP6519343B2 publication Critical patent/JP6519343B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

本発明は、複数のプロセッサを備えるデータ処理装置に関する。   The present invention relates to a data processing apparatus comprising a plurality of processors.

マルチプロセッサにより処理を並列的に効率良く実行するためには、プロセッサ間の同期処理、即ち、バリア同期処理や相互排他制御処理を高速で実現することが重要である。例えば特許文献1には、各プロセッサに、全プロセッサの同期待ち状態を保持するレジスタと、自身の同期待ち状態を他のプロセッサに通知するためのレジスタとを設けることにより、バリア同期処理の効率化を図るようにした技術が開示されている。   In order to execute processing efficiently in parallel by multiple processors, it is important to realize synchronization processing between processors, that is, barrier synchronization processing and mutual exclusion control processing at high speed. For example, Patent Document 1 improves the efficiency of barrier synchronization processing by providing each processor with a register for holding synchronization wait states of all processors and a register for notifying another processor of its own synchronization wait state. Technology has been disclosed.

特開2013−137833号公報JP, 2013-137833, A

ところで、近年では、複数のデータ処理装置を双方向スロテッドバスにより接続することで、ストリームデータ処理に適した構成を実現することが提案されている。この構成では、共有メモリへの書き込み処理と共有メモリからの読み出し処理において、それぞれ異なる経路を介してアクセスする。そのため、書き込み処理と読み込み処理との一貫性、いわゆるコヒーレンシを保つことが困難である。また、スロテッドバスは、遅延が生じ得るバスである。そのため、スロテッドバスによる遅延の影響により、共有メモリへのデータの書き込み処理が完了していないにも関わらずフラグが立って同期待ち状態となってしまう場合がある。そのため、他のプロセッサが同期ポイントまでの処理を完了する前に、例えば共有メモリへの書き込み処理を完了する前に、プロセッサが次の処理サイクルを開始してしまうおそれがある。このような場合には、正常なバリア同期処理を実現できない。   By the way, in recent years, it has been proposed to realize a configuration suitable for stream data processing by connecting a plurality of data processing devices by a bidirectional slotted bus. In this configuration, the write processing to the shared memory and the read processing from the shared memory are accessed through different paths. Therefore, it is difficult to maintain coherency, that is, consistency between write processing and read processing. Also, the slotted bus is a bus that can cause a delay. Therefore, due to the influence of the delay due to the slotted bus, there is a possibility that the flag is set and the synchronization waiting state is entered even though the process of writing the data to the shared memory is not completed. Therefore, there is a possibility that the processor may start the next processing cycle before the other processors complete the processing to the synchronization point, for example, before completing the write processing to the shared memory. In such a case, normal barrier synchronization processing can not be realized.

そこで、本発明は、プロセッサから共有メモリへの書き込み処理を遅延が生じ得るバスを介して行う場合であっても、共有メモリへの書き込み処理の完了前にプロセッサが同期待ち状態となることを回避でき、正常な同期処理を実現することができるデータ処理装置を提供する。   Therefore, the present invention prevents the processor from waiting for synchronization before the write process to the shared memory is completed even if the write process from the processor to the shared memory is performed via a bus that may cause a delay. To provide a data processing apparatus capable of realizing normal synchronous processing.

本発明に係るデータ処理装置によれば、共有メモリは複数のプロセッサにより共有される。フラグ記憶部は、プロセッサが同期ポイントまでの処理を完了したことを示す書き込みフラグを記憶するものであり、複数のフラグ記憶部が各プロセッサにそれぞれ対応付けて設けられている。プロセッサのフラグ記憶部に対するアクセス速度は、共有メモリに対するアクセス速度よりも高速である。データ書き込みバスは、プロセッサが共有メモリにデータを書き込むために用いるバスであって、複数のプロセッサが共有する。データ書き込みバスは、遅延が生じ得るバスである。フラグ書き込みバスは、フラグ記憶部に書き込みフラグを書き込むためのバスである。そして、データ処理装置によれば、データ書き込みバスとフラグ書き込みバスとが共通化されており、共有メモリにデータが書き込まれた後にフラグ記憶部に書き込みフラグが書き込まれる。   According to the data processing apparatus of the present invention, the shared memory is shared by a plurality of processors. The flag storage unit stores a write flag indicating that the processor has completed processing up to the synchronization point, and a plurality of flag storage units are provided in association with each processor. The access speed to the flag storage unit of the processor is faster than the access speed to the shared memory. A data write bus is a bus used by a processor to write data to a shared memory, which is shared by multiple processors. The data write bus is a bus that can cause a delay. The flag write bus is a bus for writing a write flag in the flag storage unit. Then, according to the data processing device, the data write bus and the flag write bus are made common, and the write flag is written to the flag storage unit after data is written to the shared memory.

この構成によれば、プロセッサの同期ポイントまでの処理が完了する前に、例えば共有メモリにデータが書き込まれる前に、同期ポイントまでの処理が完了したことを示す書込みフラグが書き込まれてしまうことを回避できる。即ち、書き込みフラグは、共有メモリにデータが書き込まれた後に書き込まれる。よって、プロセッサから共有メモリへの書き込み処理を遅延が生じ得るデータ書き込みバスを介して行う場合であっても、共有メモリへの書き込み処理の完了前に、プロセッサが次の処理サイクルを開始してしまうことを回避でき、正常な同期処理を実現することができる。   According to this configuration, before the processing to the synchronization point of the processor is completed, for example, before the data is written to the shared memory, the write flag indicating that the processing to the synchronization point is completed is written. It can be avoided. That is, the write flag is written after the data is written to the shared memory. Therefore, even if the write process from the processor to the shared memory is performed via the data write bus which may cause a delay, the processor starts the next processing cycle before the write process to the shared memory is completed. Can be avoided, and a normal synchronization process can be realized.

第1実施形態に係るデータ処理装置の構成例を概略的に示すブロック図Block diagram schematically showing a configuration example of a data processing apparatus according to the first embodiment データ処理装置の比較構成例を概略的に示すブロック図Block diagram schematically showing a comparative configuration example of the data processing apparatus 比較構成例によるデータ書き込み処理とフラグ書き込み処理の前後関係を示すタイミングフロー図Timing flow chart showing the relationship between data write processing and flag write processing according to a comparative configuration example 本実施形態によるデータ書き込み処理とフラグ書き込み処理の前後関係を示すタイミングフロー図Timing flow chart showing the relationship between data write processing and flag write processing according to the present embodiment 第2実施形態に係るデータ処理装置の構成例を概略的に示すブロック図Block diagram schematically showing a configuration example of a data processing apparatus according to the second embodiment フラグ書き込み情報先読み回路の構成例を概略的に示すブロック図A block diagram schematically showing a configuration example of a flag write information prefetch circuit フラグ書き込み指令情報の出力が遅延する状態例を示す図Diagram showing an example of delayed output of flag write command information 第3実施形態に係るデータ処理装置の構成例を概略的に示すブロック図Block diagram schematically showing a configuration example of a data processing apparatus according to the third embodiment フラグ書き込み情報先読み回路の構成例を概略的に示すブロック図A block diagram schematically showing a configuration example of a flag write information prefetch circuit 第4実施形態に係るデータ処理装置の構成例を概略的に示すブロック図Block diagram schematically showing a configuration example of a data processing apparatus according to the fourth embodiment 第5実施形態に係るデータ処理装置の構成例を概略的に示すブロック図Block diagram schematically showing a configuration example of a data processing apparatus according to the fifth embodiment 第6実施形態に係るデータ処理装置の構成例を概略的に示すブロック図Block diagram schematically showing a configuration example of a data processing apparatus according to the sixth embodiment 第7実施形態に係るデータ処理装置の構成例を概略的に示すブロック図Block diagram schematically showing a configuration example of a data processing apparatus according to the seventh embodiment 状態記憶部に記憶されるプロセッサの状態例を示す図Diagram showing an example of processor state stored in the state storage unit 条件記憶部に記憶される許可条件の一例を示す図Diagram showing an example of permission conditions stored in the condition storage unit 第8実施形態に係るデータ処理装置の構成例を概略的に示すブロック図Block diagram schematically showing a configuration example of a data processing apparatus according to the eighth embodiment

以下、データ処理装置に係る複数の実施形態について図面を参照しながら説明する。なお、各実施形態において実質的に同一の要素には同一の符号を付し、説明を省略する。
(第1実施形態)
図1に例示するデータ処理装置10は、複数、この場合、4つのプロセッサ11a〜11dと、共有メモリ12と、データ書き込みバス13と、データ読み込みバス14と、複数、この場合、4つのフラグ記憶部15a〜15dと、フラグ書き込みバス16と、を備える。プロセッサ11a〜11dは、データ書き込みバス13を介した共有メモリ12へのデータの書き込み処理、および、データ読み込みバス14を介した共有メモリ12からのデータの読み込み処理を行う。また、プロセッサ11a〜11dは、専用インタフェース17a〜17dを介してフラグ記憶部15a〜15dに対する書き込み処理および読み出し処理が可能となっている。
Hereinafter, a plurality of embodiments of the data processing apparatus will be described with reference to the drawings. In each embodiment, substantially the same elements are denoted by the same reference numerals, and the description thereof will be omitted.
First Embodiment
The data processing apparatus 10 illustrated in FIG. 1 includes a plurality of, in this case, four processors 11a to 11d, a shared memory 12, a data write bus 13, a data read bus 14, and a plurality of, in this case, four flag storages. The units 15a to 15d and the flag write bus 16 are provided. The processors 11 a to 11 d perform a process of writing data to the shared memory 12 via the data write bus 13 and a process of reading data from the shared memory 12 via the data read bus 14. Further, the processors 11a to 11d can perform write processing and read processing on the flag storage units 15a to 15d through the dedicated interfaces 17a to 17d.

プロセッサ11a〜11dは、共有メモリ12にデータを書き込む際には、書き込むデータそのものを出力するとともに、共有メモリ12にデータを書き込むことを指令するデータ書き込み指令情報、フラグ記憶部15a〜15dに書き込みフラグを書き込むことを指令するフラグ書き込み指令情報などの各種情報を出力する。この場合、プロセッサ11a〜11dは、データ書き込み指令情報を出力した後にフラグ書き込み指令情報を出力する。プロセッサ11a〜11dのフラグ記憶部15a〜15dに対するアクセス速度は、プロセッサ11a〜11dの共有メモリ12に対するアクセス速度よりも高速である。   When writing data to the shared memory 12, the processors 11a to 11d output the data to be written and also write data command information instructing to write the data to the shared memory 12, and write flags to the flag storage units 15a to 15d. To output various information such as flag write instruction information for instructing to write. In this case, the processors 11a to 11d output the flag write instruction information after outputting the data write instruction information. The access speed to the flag storage units 15a to 15d of the processors 11a to 11d is higher than the access speed to the shared memory 12 of the processors 11a to 11d.

共有メモリ12は、複数のプロセッサ11a〜11dにより共有される。データ書き込みバス13は、複数のプロセッサ11a〜11dが共有メモリ12にデータを書き込むために用いるバスである。データ書き込みバス13は、複数のプロセッサ11a〜11dにより共有されている。データ書き込みバス13は、遅延が生じ得るバスの一例である。データ読み込みバス14は、複数のプロセッサ11a〜11dが共有メモリ12からデータを読み込むために用いるバスである。データ読み込みバス14は、複数のプロセッサ11a〜11dにより共有されている。   The shared memory 12 is shared by a plurality of processors 11a to 11d. The data write bus 13 is a bus used by the plurality of processors 11 a to 11 d to write data to the shared memory 12. The data write bus 13 is shared by a plurality of processors 11a to 11d. The data write bus 13 is an example of a bus that may cause a delay. The data read bus 14 is a bus used by the plurality of processors 11 a to 11 d to read data from the shared memory 12. The data read bus 14 is shared by a plurality of processors 11 a to 11 d.

フラグ記憶部15a〜15dは、プロセッサ11a〜11dが共有メモリ12にデータを書き込んだことを示す書き込みフラグを記憶する記憶部である。フラグ記憶部15a〜15dは、例えばレジスタなどで構成される。フラグ記憶部15a〜15dは、複数のプロセッサ11a〜11dにそれぞれ対応付けて設けられている。書き込みフラグは、例えば同期条件に基づき予め設定された同期ポイントまでの処理が完了したことを示すフラグである。書き込みフラグが書き込まれたフラグ記憶部15a〜15dに対応するプロセッサ11a〜11dは、データ書き込み前状態から同期待ち状態に遷移する。データ書き込み前状態は、共有メモリ12へのデータの書き込み処理を実行する前の状態であり、即ち、同期ポイントまでの処理が完了していない状態である。同期待ち状態は、共有メモリ12へのデータの書き込み処理を完了した状態であり、即ち、同期ポイントまでの処理が完了し、次の処理サイクルを開始できる状態である。同期条件で指定された任意の全てのプロセッサ11a〜11dが同期待ち状態になると、つまり、同期条件で指定された各プロセッサ11a〜11dが全て同期ポイントまでの処理を完了すると、データ処理装置10は、次の処理サイクルに移行する。   The flag storage units 15 a to 15 d are storage units that store a write flag indicating that the processors 11 a to 11 d have written data to the shared memory 12. The flag storage units 15a to 15d are configured by, for example, registers. The flag storage units 15a to 15d are provided in association with the plurality of processors 11a to 11d, respectively. The write flag is, for example, a flag indicating that processing up to a synchronization point set in advance based on the synchronization condition is completed. The processors 11a to 11d corresponding to the flag storage units 15a to 15d in which the write flag is written transition from the state before the data writing to the synchronization waiting state. The pre-data write state is the state prior to execution of the data write process to the shared memory 12, that is, the process to the synchronization point is not completed. The synchronization waiting state is the state in which the process of writing data to the shared memory 12 is completed, that is, the process up to the synchronization point is completed, and the next processing cycle can be started. When all the processors 11a to 11d designated by the synchronization condition are in the synchronization waiting state, that is, when all the processors 11a to 11d designated by the synchronization condition complete the processing up to the synchronization point, the data processing apparatus 10 Transfer to the next processing cycle.

フラグ書き込みバス16は、フラグ記憶部15a〜15dに書き込みフラグを書き込むためのバスである。データ処理装置10は、データ書き込みバス13とフラグ書き込みバス16を共通化した構成である。この場合、データ書き込みバス13およびフラグ書き込みバス16は、プロセッサ11a〜11dから分岐点Pまでの間で共通化されている。そして、分岐点Pから分岐して、データ書き込みバス13は共有メモリ12に接続され、フラグ書き込みバス16は、フラグ記憶部15a〜15dに接続されている。   The flag write bus 16 is a bus for writing a write flag in the flag storage units 15a to 15d. The data processor 10 has a configuration in which the data write bus 13 and the flag write bus 16 are shared. In this case, the data write bus 13 and the flag write bus 16 are shared between the processors 11 a to 11 d and the branch point P. Then, branching from the branch point P, the data write bus 13 is connected to the shared memory 12, and the flag write bus 16 is connected to the flag storage units 15a to 15d.

図2に例示する構成では、データ書き込みバス113に共通化されたフラグ書き込みバスを備えていない。この構成において、プロセッサ111a〜111dは、フラグ記憶部115a〜115dへのフラグの書き込みを、専用インタフェース117a〜117dを介して行う。そのため、図3に例示するように、データ書き込みバス113に遅延が生じると、共通メモリ112へのデータの書き込みが完了する前にフラグ記憶部115a〜115dに書き込みフラグが書き込まれてしまう場合が生じる。   In the configuration illustrated in FIG. 2, the data write bus 113 is not provided with the flag write bus shared. In this configuration, the processors 111a to 111d write the flags in the flag storage units 115a to 115d via the dedicated interfaces 117a to 117d. Therefore, as illustrated in FIG. 3, when a delay occurs in the data write bus 113, a write flag may be written to the flag storage units 115a to 115d before the writing of data to the common memory 112 is completed. .

これに対して、データ処理装置10によれば、データ書き込みバス13とフラグ書き込みバス16が共通化されており、図4に例示するように、プロセッサ11a〜11dは、データ書き込みバス13に対し、データ書き込み指令情報を出力し、これに続いて、フラグ書き込み指令情報を出力する。即ち、共通化されたバス上に、データ書き込み指令情報が先に出力され、続いて、フラグ書き込み指令情報が出力される。従って、共有メモリ12へのデータの書き込み処理が先に行われ、その後、該当するフラグ記憶部15a〜15d、つまり、書き込み処理を行ったプロセッサに対応するフラグ記憶部15a〜15dへの書き込みフラグの書き込み処理が行われる。   On the other hand, according to the data processing apparatus 10, the data write bus 13 and the flag write bus 16 are made common, and the processors 11a to 11d transmit the data write bus 13 as shown in FIG. Data write command information is output, and subsequently, flag write command information is output. That is, the data write command information is output first on the shared bus, and then the flag write command information is output. Therefore, the process of writing data to the shared memory 12 is performed first, and then the flag storage units 15a to 15d, that is, the flag storage units 15a to 15d corresponding to the processor that performed the writing process are stored. A write process is performed.

データ処理装置10によれば、共有メモリ12にデータが書き込まれる前にフラグ記憶部15a〜15dに書き込みフラグが書き込まれること、つまり、プロセッサ11a〜11dが次の処理サイクルを開始可能な状態となってしまうことを回避できる。よって、プロセッサ11a〜11dから共有メモリ12へのデータの書き込み処理を、遅延が生じ得るデータ書き込みバス13を介して行う場合であっても、共有メモリ12への書き込み処理の完了前にプロセッサ11a〜11dが同期待ち状態となることを回避でき、正常な同期処理を実現することができる。   According to the data processing apparatus 10, the write flag is written to the flag storage units 15a to 15d before the data is written to the shared memory 12, that is, the processors 11a to 11d can start the next processing cycle. It is possible to avoid Therefore, even when the processing of writing data from the processors 11a to 11d to the shared memory 12 is performed via the data writing bus 13 which may cause a delay, the processors 11a to 11d are completed before the writing processing on the shared memory 12 is completed It can be avoided that 11d enters the synchronization waiting state, and normal synchronization processing can be realized.

(第2実施形態)
図5に例示するデータ処理装置20は、専用回路の一例としてフラグ書き込み情報先読み回路21a〜21dを備える。以下、フラグ書き込み情報先読み回路21a〜21dを、単に先読み回路21a〜21dと称する。先読み回路21a〜21dは、複数のプロセッサ11a〜11dにそれぞれ対応付けて設けられている。また、専用インタフェース17a〜17dは、それぞれ分岐して先読み回路21a〜21dにも接続されている。次に、先読み回路21a〜21dの構成例について説明する。なお、先読み回路21a〜21dの構成は同じであるので、ここでは、プロセッサ11aに対応する先読み回路21aの構成について説明する。図6に例示するように、先読み回路21aは、情報記憶部22および一致判定部23を備える。情報記憶部22および一致判定部23は、ソフトウェアにより仮想的に実現してもよいし、ハードウェアにより実現してもよいし、ソフトウェアとハードウェアの組み合わせにより実現してもよい。
Second Embodiment
The data processor 20 illustrated in FIG. 5 includes flag write information prefetch circuits 21a to 21d as an example of a dedicated circuit. Hereinafter, the flag write information prefetching circuits 21a to 21d will be simply referred to as prefetching circuits 21a to 21d. The prefetch circuits 21a to 21d are provided in association with the plurality of processors 11a to 11d, respectively. The dedicated interfaces 17a to 17d are respectively branched and connected to the prefetching circuits 21a to 21d. Next, a configuration example of the prefetch circuits 21a to 21d will be described. The configurations of the prefetching circuits 21a to 21d are the same, so here, the configuration of the prefetching circuit 21a corresponding to the processor 11a will be described. As illustrated in FIG. 6, the prefetch circuit 21 a includes an information storage unit 22 and a match determination unit 23. The information storage unit 22 and the match determination unit 23 may be realized virtually by software, may be realized by hardware, or may be realized by a combination of software and hardware.

情報記憶部22は、共有メモリ12にデータを書き込む際にプロセッサ11aがデータ書き込みバス13に出力する情報を記憶する。この場合、プロセッサ11aは、共有メモリ12にデータを書き込む際に、共有メモリ12におけるデータの書き込み先を指定するアドレス情報を出力する。このアドレス情報は、少なくとも、データ書き込み指令情報が出力された後に出力される。そして、情報記憶部22は、専用インタフェース17aを介してプロセッサ11aからアドレス情報を取得し、記憶媒体に設けられた記憶領域22aに記憶する。   The information storage unit 22 stores information that the processor 11 a outputs to the data write bus 13 when writing data to the shared memory 12. In this case, when writing data to the shared memory 12, the processor 11 a outputs address information that specifies the write destination of the data in the shared memory 12. This address information is output at least after the data write instruction information is output. Then, the information storage unit 22 acquires address information from the processor 11a via the dedicated interface 17a, and stores the address information in the storage area 22a provided in the storage medium.

一致判定部23は、判定処理部23aおよびフラグ書き込み処理部23bを有する。一致判定部23は、判定処理部23aにより、データ書き込みバス13から得られるアドレス情報と、情報記憶部22に記憶されているアドレス情報とが一致するか否かを判定する。そして、一致判定部23は、両情報が一致する場合には、フラグ書き込み処理部23bにより、フラグ記憶部15aに書き込みフラグを書き込む。   The match determination unit 23 includes a determination processing unit 23a and a flag writing processing unit 23b. The match determination unit 23 determines whether the address information obtained from the data write bus 13 matches the address information stored in the information storage unit 22 by the determination processing unit 23a. Then, if the two pieces of information match, the match determination unit 23 writes the write flag in the flag storage unit 15a by the flag write processing unit 23b.

データ処理装置20によれば、共有メモリ12にデータを書き込む際にプロセッサ11a〜11dがデータ書き込みバス13に出力する情報、この場合、アドレス情報を利用して、フラグ記憶部15a〜15dへの書き込みフラグの書き込みの可否を決定する。従って、フラグ書き込み指令情報を不要とすることができる。また、図7に例示するように、データ書き込み指令情報に続いてフラグ書き込み指令情報を出力する構成では、データ書き込み指令情報の出力後に例えば他のプロセッサからのデータ書き込み指令情報などが割り込んで、フラグ書き込み指令情報の出力が遅延する場合がある。データ処理装置20によれば、フラグ書き込み指令情報によらずとも、書き込みフラグの書き込み処理を行うことができ、従って、割り込みによる遅延の影響を受けることがない。   According to the data processing apparatus 20, the information that the processors 11a to 11d output to the data writing bus 13 when writing data to the shared memory 12, in this case, writing to the flag storage units 15a to 15d using address information Determine whether to write the flag. Therefore, flag write command information can be made unnecessary. Further, as illustrated in FIG. 7, in the configuration in which the flag write command information is output following the data write command information, for example, the data write command information from another processor is interrupted after the data write command information is output. The output of the write command information may be delayed. According to the data processing device 20, the write processing of the write flag can be performed regardless of the flag write command information, and therefore, the delay due to the interrupt does not occur.

(第3実施形態)
図8に例示するデータ処理装置30は、専用回路の一例としてフラグ書き込み情報先読み回路31a〜31dを備える。以下、フラグ書き込み情報先読み回路31a〜31dを、単に先読み回路31a〜31dと称する。先読み回路31a〜31dは、複数のプロセッサ11a〜11dにそれぞれ対応付けて設けられている。次に、先読み回路31a〜31dの構成例について説明する。なお、先読み回路31a〜31dの構成は同じであるので、ここでは、プロセッサ11aに対応する先読み回路31aの構成について説明する。図9に例示するように、先読み回路31aは、情報記憶部32、一致判定部33、情報監視部34を備える。情報記憶部32、一致判定部33、情報監視部34は、ソフトウェアにより仮想的に実現してもよいし、ハードウェアにより実現してもよいし、ソフトウェアとハードウェアの組み合わせにより実現してもよい。情報記憶部32および一致判定部33の機能は、第2実施形態の情報記憶部22および一致判定部23と同じである。
Third Embodiment
The data processing device 30 illustrated in FIG. 8 includes flag write information prefetching circuits 31 a to 31 d as an example of a dedicated circuit. Hereinafter, the flag write information prefetching circuits 31a to 31d are simply referred to as prefetching circuits 31a to 31d. The prefetch circuits 31a to 31d are provided in association with the plurality of processors 11a to 11d, respectively. Next, a configuration example of the prefetching circuits 31a to 31d will be described. The configuration of the prefetching circuits 31a to 31d is the same, so the configuration of the prefetching circuit 31a corresponding to the processor 11a will be described here. As illustrated in FIG. 9, the prefetch circuit 31 a includes an information storage unit 32, a match determination unit 33, and an information monitoring unit 34. The information storage unit 32, the match determination unit 33, and the information monitoring unit 34 may be virtually realized by software, may be realized by hardware, or may be realized by a combination of software and hardware. . The functions of the information storage unit 32 and the match determination unit 33 are the same as those of the information storage unit 22 and the match determination unit 23 of the second embodiment.

情報監視部34は、共有メモリ12にデータを書き込む際にプロセッサ11aが連続して出力する書き込み指令[2]および書き込み指令[1]を監視する。この場合、情報監視部34は、記憶媒体に設けられた記憶領域34a,34bを備える。情報監視部34は、プロセッサ11aから先に得られる書き込み指令[2]、具体的には「データ書き込み指令情報」を記憶領域34aに記憶し、データ書き込み指令情報の後に得られる書き込み指令[1]、具体的には「フラグ書き込み指令情報」を記憶領域34bに記憶する。なお、書き込み指令[1],[2]が何れも「データ書き込み指令情報」である場合、つまり、「データ書き込み指令情報」が連続して出力される場合には、記憶領域34bに「データ書き込み指令情報」が格納される。   The information monitoring unit 34 monitors the write command [2] and the write command [1] continuously output by the processor 11 a when writing data in the shared memory 12. In this case, the information monitoring unit 34 includes storage areas 34a and 34b provided in the storage medium. The information monitoring unit 34 stores the write command [2] obtained from the processor 11a first, specifically, the “data write command information” in the storage area 34a, and the write command [1] obtained after the data write command information. Specifically, "flag write command information" is stored in the storage area 34b. If both of the write commands [1] and [2] are “data write command information”, that is, if “data write command information” is continuously output, “data write to the storage area 34 b is performed. Command information is stored.

情報監視部34は、記憶領域34bに記憶されている情報が「フラグ書き込み指令情報」であるか否かを判断する。そして、情報監視部34は、記憶領域34bに記憶されている情報が「フラグ書き込み指令情報」である場合には、その1つ前の書き込み情報である書き込み指令[2]、即ち、記憶領域34aに記憶されているデータ書き込み指令情報を情報記憶部32に出力する。情報記憶部32は、情報監視部34から得られたデータ書き込み指令情報を記憶領域32aに記憶する。一致判定部33は、判定処理部33aにより、データ書き込みバス13から得られるデータ書き込み指令情報と、情報記憶部32に記憶されているデータ書き込み指令情報とが一致するか否かを判定する。一致判定部33は、両情報が一致する場合には、フラグ書き込み処理部33bにより、フラグ記憶部15aに書き込みフラグを書き込む。   The information monitoring unit 34 determines whether the information stored in the storage area 34 b is “flag write instruction information”. Then, when the information stored in the storage area 34 b is “flag write instruction information”, the information monitoring unit 34 writes the immediately preceding write information [2], ie, the storage area 34 a. The data write command information stored in the data storage unit 32 is output to the information storage unit 32. The information storage unit 32 stores the data writing command information obtained from the information monitoring unit 34 in the storage area 32 a. The match determination unit 33 determines whether the data write command information obtained from the data write bus 13 matches the data write command information stored in the information storage unit 32 by the determination processing unit 33a. If the two pieces of information match, the match determination unit 33 writes the write flag in the flag storage unit 15a by the flag write processing unit 33b.

なお、本実施形態では、データ書き込み指令情報が一致するか否かを判定する構成を例示した。但し、データ処理装置30は、その他の情報、例えば、データ書き込み指令情報を発行したプロセッサを特定する発行元情報、共有メモリ12におけるデータの書き込み先を指定するアドレス情報などが一致するか否かに基づいて書き込みフラグの書き込みの可否を判定するように構成してもよい。   In the present embodiment, the configuration for determining whether or not the data write command information matches is illustrated. However, whether or not the data processing device 30 matches other information, for example, source information specifying the processor that has issued the data write command information, address information specifying the data write destination in the shared memory 12, etc. It may be configured to determine whether to write the write flag based on the above.

データ処理装置30によれば、共有メモリ12にデータを書き込む際にプロセッサ11a〜11dがデータ書き込みバス13に連続的に出力する情報、この場合、データ書き込み指令情報およびフラグ書き込み指令情報を利用して、フラグ記憶部15a〜15dへの書き込みフラグの書き込みの可否を決定することができる。   According to the data processing device 30, the information that the processors 11a to 11d continuously output to the data writing bus 13 when writing data to the shared memory 12, in this case, using the data writing command information and the flag writing command information It is possible to determine whether to write the write flag to the flag storage units 15a to 15d.

(第4実施形態)
図10に例示するデータ処理装置40は、調停部41を備える。調停部41は、ソフトウェアにより実現してもよいし、ハードウェアにより実現してもよいし、ソフトウェアとハードウェアの組み合わせにより実現してもよい。調停部41は、優先部の一例であり、この場合、データ書き込みバス13に設けられている。調停部41は、自身が備えるプロセッサ11a〜11dによる共有メモリ12へのデータの書き込み要求と、他のデータ処理装置401,402が備えるプロセッサによる共有メモリ12へのデータの書き込み要求とが競合した場合に、自装置からのデータ書き込み要求を他装置からのデータ書き込み要求よりも優先する。また、調停部41は、自身が備えるプロセッサ11a〜11dによるフラグ記憶部15a〜15dへの書き込みフラグの書き込み要求と、他のデータ処理装置401,402が備えるプロセッサによるフラグ記憶部15a〜15dへの書き込みフラグの書き込み要求とが競合した場合に、自装置からのフラグ書き込み要求を他装置からのフラグ書き込み要求よりも優先する。
Fourth Embodiment
The data processing apparatus 40 illustrated in FIG. 10 includes an arbitration unit 41. The arbitration unit 41 may be realized by software, hardware or a combination of software and hardware. The arbitration unit 41 is an example of a priority unit, and in this case, is provided on the data write bus 13. When the arbitration unit 41 has a request for writing data to the shared memory 12 by the processors 11a to 11d that the arbitration unit 41 has and a request for writing data to the shared memory 12 by the processors that the other data processing devices 401 and 402 have. In addition, the data write request from the own device is prioritized over the data write request from the other device. Further, the arbitration unit 41 requests writing to the flag storage units 15a to 15d by its own processors 11a to 11d and requests the flag storage units 15a to 15d by processors of other data processing devices 401 and 402. When there is a conflict with the write request for the write flag, the flag write request from the own device is prioritized over the flag write request from the other device.

自装置のプロセッサ11a〜11dからの要求および他装置のプロセッサからの要求を含め、それぞれの要求を発生順に処理する場合には、自装置のデータ書き込み処理と自装置のフラグ書き込み処理との間の他装置からの要求が割り込む場合があり、遅延の要因となる。データ処理装置40によれば、自装置からの要求を他装置からの要求よりも優先する。従って、自装置のデータ書き込み処理と自装置のフラグ書き込み処理との間に他装置からの要求が割り込むことを回避でき、遅延を起こすことなく処理の高速化を図ることができる。なお、調停部41は、データ書き込みバス13とは別体に設けてもよい。   When processing the respective requests in the order of occurrence, including the requests from the processors 11a to 11d of the own device and the requests from the processors of the other devices, between the data writing process of the own device and the flag writing process of the own device Requests from other devices may interrupt and cause delay. According to the data processing apparatus 40, the request from the own apparatus is prioritized over the request from the other apparatus. Therefore, it is possible to prevent the request from the other device from being interrupted between the data writing process of the own device and the flag writing process of the own device, and speeding up of the process can be achieved without causing a delay. The arbitration unit 41 may be provided separately from the data write bus 13.

(第5実施形態)
図11に例示するデータ処理装置50は、処理順記憶部51a〜51dを備える。処理順記憶部51a〜51dは、フラグ記憶部15a〜15dにそれぞれ対応付けて設けられている。また、処理順記憶部51a〜51dは、フラグ記憶部15a〜15dにそれぞれ併設されている。なお、処理順記憶部51a〜51dは、フラグ記憶部15a〜15dとは別個の記憶媒体に設けてもよい。処理順記憶部51a〜51dは、フラグ記憶部15a〜15dに書き込みフラグが書き込まれた順番を記憶する。
Fifth Embodiment
The data processing apparatus 50 illustrated in FIG. 11 includes processing order storage units 51a to 51d. The processing order storage units 51a to 51d are provided in association with the flag storage units 15a to 15d, respectively. Further, the processing order storage units 51a to 51d are respectively provided in the flag storage units 15a to 15d. The processing order storage units 51a to 51d may be provided on storage media separate from the flag storage units 15a to 15d. The processing order storage units 51a to 51d store the order in which the write flags are written in the flag storage units 15a to 15d.

データ処理装置50によれば、処理順記憶部51a〜51dに記憶されている順番情報に基づいて、プロセッサ11a〜11dのデータ書き込み処理が、それぞれ何番目に完了したのかを把握することができる。これにより、データ書き込み処理を速く完了できるプロセッサ11a〜11dを特定することができる。よって、例えば、次の処理サイクルにおいて、データ書き込み処理を速く完了できるプロセッサ11a〜11dに多くの処理を割り振ることにより、処理全体としての高速化を図ることができる。   According to the data processing device 50, it is possible to grasp on what order the data writing process of the processors 11a to 11d is completed based on the order information stored in the process order storage units 51a to 51d. This makes it possible to identify the processors 11a to 11d that can complete the data write process quickly. Therefore, for example, by allocating many processes to the processors 11a to 11d capable of completing the data write process quickly in the next process cycle, the speed of the entire process can be increased.

(第6実施形態)
図12に例示するデータ処理装置60は、時間記憶部61a〜61dを備える。時間記憶部61a〜61dは、フラグ記憶部15a〜15dにそれぞれ対応付けて設けられている。また、時間記憶部61a〜61dは、フラグ記憶部15a〜15dにそれぞれ併設されている。なお、時間記憶部61a〜61dは、フラグ記憶部15a〜15dとは別個の記憶媒体に設けてもよい。時間記憶部61a〜61dは、フラグ記憶部15a〜15dに書き込みフラグが書き込まれた時間を記憶する。なお、データ処理装置60は、時間を計測するための図示しないタイマを備える。時間記憶部61a〜61dは、タイマに基づき、フラグが書き込まれた時間を特定する。
Sixth Embodiment
The data processor 60 illustrated in FIG. 12 includes time storage units 61a to 61d. The time storage units 61a to 61d are provided in association with the flag storage units 15a to 15d, respectively. Further, the time storage units 61a to 61d are respectively provided in the flag storage units 15a to 15d. The time storage units 61a to 61d may be provided on storage media separate from the flag storage units 15a to 15d. The time storage units 61a to 61d store the time when the write flag is written in the flag storage units 15a to 15d. The data processing apparatus 60 includes a timer (not shown) for measuring time. The time storage units 61a to 61d specify the time when the flag is written based on the timer.

データ処理装置60によれば、時間記憶部61a〜61dに記憶されている時間情報に基づいて、プロセッサ11a〜11dのデータ書き込み処理が、それぞれ何番目に完了したのかを把握することができる。また、時間記憶部61a〜61dに記憶されている時間情報に基づいて、プロセッサ11a〜11dのデータ書き込み処理がどの程度速く完了したのかも把握することができる。これにより、データ書き込み処理を速く完了できるプロセッサ11a〜11dを一層正確に特定することができる。よって、例えば、次の処理サイクルにおいて、データ書き込み処理を速く完了できるプロセッサ11a〜11dに多くの処理を割り振ることにより、処理全体としての高速化を図ることができる。   According to the data processing device 60, it can be grasped on what order the data writing process of the processors 11a to 11d is completed based on the time information stored in the time storage units 61a to 61d. Further, based on the time information stored in the time storage units 61a to 61d, it can be grasped how fast the data writing process of the processors 11a to 11d is completed. This makes it possible to more accurately identify the processors 11 a to 11 d that can complete the data write process quickly. Therefore, for example, by allocating many processes to the processors 11a to 11d capable of completing the data write process quickly in the next process cycle, the speed of the entire process can be increased.

(第7実施形態)
図13に例示するデータ処理装置70は、状態記憶部71および複数の条件記憶部72a〜72dを備える。状態記憶部71は、プロセッサ11a〜11dが共有メモリ12にデータを書き込む前の状態であるのか書き込んだ後の状態であるのかを記憶する。即ち、図14に例示するように、状態記憶部71は、例えばデータ書き込みバス13から得られるフラグ書き込み指令情報の有無に基づいて、プロセッサ11a〜11dの状態、つまり、データ書き込み前であるのか後であるのかを記憶する。なお、図14では、データを書き込んだ後の状態を同期待ち状態として示している。
Seventh Embodiment
The data processing device 70 illustrated in FIG. 13 includes a state storage unit 71 and a plurality of condition storage units 72a to 72d. The state storage unit 71 stores whether the processors 11 a to 11 d are in a state before writing data to the shared memory 12 or in a state after writing data. That is, as illustrated in FIG. 14, the state storage unit 71 determines the states of the processors 11a to 11d, that is, whether it is before data writing or not, based on, for example, the presence or absence of flag write command information obtained from the data write bus 13. Remember what it is. In FIG. 14, the state after writing the data is shown as the synchronization waiting state.

条件記憶部72a〜72dは、フラグ記憶部15a〜15dにそれぞれ対応付けて設けられている。図15に例示するように、条件記憶部72a〜72dには、フラグ記憶部15a〜15dへの書き込みフラグの書き込みを許可するための許可条件が記憶されている。図15に示す例では、プロセッサ11aが同期待ち状態、プロセッサ11bがデータ書き込み前状態、プロセッサ11cが同期待ち状態、プロセッサ11dがデータ書き込み前状態である場合に、書き込みフラグの書き込みが許可される条件となっている。   The condition storage units 72a to 72d are provided in association with the flag storage units 15a to 15d, respectively. As exemplified in FIG. 15, the condition storage units 72a to 72d store permission conditions for permitting writing of the write flag to the flag storage units 15a to 15d. In the example shown in FIG. 15, the condition that writing of the write flag is permitted when the processor 11a is in the synchronization wait state, the processor 11b is in the pre-data writing state, the processor 11c is in the synchronization wait state, and the processor 11d is in the pre-data writing state. It has become.

データ処理装置70は、状態記憶部71に記憶されている各プロセッサ11a〜11dの実際の状態と条件記憶部72a〜72dにそれぞれ格納されている許可条件とが一致するか否かを判定する。そして、データ処理装置70は、両情報が一致する場合に、該当するフラグ記憶部15a〜15dに書き込みフラグを書き込む。   The data processing device 70 determines whether the actual states of the processors 11a to 11d stored in the state storage unit 71 match the permission conditions stored in the condition storage units 72a to 72d, respectively. Then, the data processing device 70 writes the write flag in the corresponding flag storage units 15a to 15d when the two pieces of information match.

データ処理装置70によれば、フラグ書き込み指令情報が得られたら直ちにフラグ記憶部15a〜15dに書き込みフラグを書き込むのではなく、各プロセッサ11a〜11dの実際の状態が所定の許可条件に一致する場合に、書き込みフラグを書き込むようにした。これにより、自プロセッサの状態だけでなく他プロセッサの状態も加味した上で書き込みフラグを書き込むことができ、システム全体としてより正確なデータ書き込み処理を行うことができる。なお、許可条件は、固定としてもよいし、例えば処理内容や処理の進捗度などに応じて動的に変動させるようにしてもよい。   According to the data processing device 70, when the flag write command information is obtained, the write flags are not written in the flag storage units 15a to 15d immediately, but the actual states of the processors 11a to 11d match the predetermined permission conditions. , Write the write flag. As a result, the write flag can be written in consideration of not only the state of the processor itself but also the state of other processors, and a more accurate data write process can be performed as a whole system. The permission condition may be fixed, or may be dynamically changed according to, for example, the processing content or the degree of progress of the processing.

(第8実施形態)
図16に例示するデータ処理装置80は、アクセス権付与部81を備える。アクセス権付与部81は、プロセッサ11a〜11dに、共有メモリ12へのアクセス権を排他的に付与する。アクセス権付与部81は、ソフトウェアにより実現してもよいし、ハードウェアにより実現してもよいし、ソフトウェアとハードウェアの組み合わせにより実現してもよい。プロセッサ11a〜11dは、アクセス権付与部81に対し、アクセス権の付与を要求する。プロセッサ11a〜11dから要求を受けたアクセス権付与部81は、要求したプロセッサ11a〜11dのうちの何れか1つにアクセス権を付与する。
Eighth Embodiment
The data processing device 80 illustrated in FIG. 16 includes an access right granting unit 81. The access right granting unit 81 exclusively grants the processors 11a to 11d the access right to the shared memory 12. The access right granting unit 81 may be realized by software, hardware or a combination of software and hardware. The processors 11a to 11d request the access right granting unit 81 to grant the access right. The access right granting unit 81 that has received the request from the processors 11a to 11d grants the access right to any one of the requested processors 11a to 11d.

アクセス権の付与は、例えば最先に要求したプロセッサ11a〜11dに与えるようにしてもよいし、要求した複数のプロセッサ11a〜11dからランダムに選択して与えるようにしてもよいし、要求した複数のプロセッサ11a〜11dのうち最も処理が速いプロセッサに与えるようにしてもよい。プロセッサ11a〜11dは、アクセス権が付与されていることを条件に、共有メモリ12にデータを書き込むことが可能となる。また、アクセス権が付与されていないプロセッサ11a〜11dは、共有メモリ12へのデータの書き込み処理が不能となる。   The access right may be granted to, for example, the processor 11a to 11d requested first, or may be randomly selected from a plurality of requested processors 11a to 11d, or a plurality of requested. It may be given to the processor with the fastest processing among the processors 11a to 11d. The processors 11a to 11d can write data to the shared memory 12 on the condition that the access right is granted. Also, the processors 11 a to 11 d to which the access right is not given can not perform the process of writing data to the shared memory 12.

データ処理装置80によれば、共有メモリ12にデータを書き込み可能なプロセッサ11a〜11dを排他的に制御することができる。従って、複数のプロセッサ11a〜11dが共有メモリ12に同時にデータを書き込むことを回避でき、データの書き込み処理を一層正確に行うことができる。また、共有メモリ12への読み書き処理、つまりメモリアクセスを排他的に制御できるので、読み込み処理と書き込み処理の順序を保障した処理が可能である。   According to the data processing device 80, the processors 11a to 11d capable of writing data to the shared memory 12 can be exclusively controlled. Therefore, the plurality of processors 11a to 11d can be prevented from simultaneously writing data to the shared memory 12, and the data writing process can be performed more accurately. Further, since the read / write process to the shared memory 12, that is, the memory access can be exclusively controlled, it is possible to guarantee the order of the read process and the write process.

(その他の実施形態)
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
プロセッサの数は適宜変更できる。また、プロセッサの数を変更した場合には、その数に応じてフラグ記憶部や専用回路などの周辺要素の数も適宜変更すればよい。また、上述した複数の実施形態を適宜組み合わせて実施してもよい。本実施形態に係るデータ処理装置は、ストリームデータを処理するストリームデータ処理装置などに適用可能である。
(Other embodiments)
The present invention is not limited to the embodiments described above, and can be applied to various embodiments without departing from the scope of the invention.
The number of processors can be changed as appropriate. In addition, when the number of processors is changed, the number of peripheral elements such as the flag storage unit and the dedicated circuit may be appropriately changed according to the number. Moreover, you may implement combining several embodiment mentioned above suitably. The data processing apparatus according to the present embodiment is applicable to a stream data processing apparatus that processes stream data.

図面中、10はデータ処理装置、11a〜11dはプロセッサ、12は共有メモリ、13はデータ書き込みバス、15a〜15dはフラグ記憶部、16はフラグ書き込みバスを示す。   In the drawings, 10 indicates a data processing apparatus, 11a to 11d indicate processors, 12 indicates a shared memory, 13 indicates a data write bus, 15a to 15d indicate flag storage units, and 16 indicates a flag write bus.

Claims (8)

複数のプロセッサ(11a〜11d)と、
複数の前記プロセッサが共有する共有メモリ(12)と、
前記プロセッサが前記共有メモリにデータを書き込むために用いるバスであって、複数の前記プロセッサが共有するデータ書き込みバス(13)と、
前記プロセッサが同期ポイントまでの処理を完了したことを示す書き込みフラグを記憶する記憶部であって、前記プロセッサが前記共有メモリよりも高速にアクセス可能であり、複数の前記プロセッサにそれぞれ対応付けて設けられた複数のフラグ記憶部(15a〜15d)と、
前記フラグ記憶部に前記書き込みフラグを書き込むためのフラグ書き込みバス(16)と、
を備え、
前記データ書き込みバスと前記フラグ書き込みバスが共通化されており、前記共有メモリにデータを書き込んだ後に前記フラグ記憶部に前記書き込みフラグを書き込むことを特徴とするデータ処理装置。
With multiple processors (11a-11d),
Shared memory (12) shared by a plurality of said processors;
A bus used by the processor to write data to the shared memory, a data write bus (13) shared by a plurality of the processors;
A storage unit that stores a write flag indicating that the processor has completed processing up to the synchronization point, the processor can be accessed faster than the shared memory, and provided in association with each of the plurality of processors. A plurality of flag storage units (15a to 15d)
A flag write bus (16) for writing the write flag in the flag storage unit;
Equipped with
A data processing apparatus, wherein the data write bus and the flag write bus are made common, and the data write flag is written to the flag storage unit after data is written to the shared memory.
前記共有メモリにデータを書き込む際に前記プロセッサが前記データ書き込みバスに出力する情報を記憶する情報記憶部(22)をさらに備え、
前記プロセッサが前記データ書き込みバスに出力する情報と前記情報記憶部に記憶されている情報とが一致する場合に、前記フラグ記憶部に前記書き込みフラグが書き込まれることを特徴とする請求項1に記載のデータ処理装置。
The information storage unit (22) stores information to be output to the data write bus by the processor when writing data to the shared memory.
The said write flag is written in the said flag storage part, when the information which the said processor outputs to the said data write bus | bath, and the information memorize | stored in the said information storage part correspond. Data processing equipment.
前記プロセッサは、前記共有メモリへのデータの書き込みを指令するデータ書き込み指令情報と、前記フラグ記憶部への書き込みフラグの書き込みを指令するフラグ書き込み指令情報とを連続して出力し、
前記プロセッサが連続して出力する前記データ書き込み指令情報および前記フラグ書き込み指令情報を監視する情報監視部(34)をさらに備え、
前記情報監視部は、前記データ書き込み指令情報に続いて前記フラグ書き込み指令情報が得られると、前記データ書き込み指令情報を前記情報記憶部に記憶することを特徴とする請求項2に記載のデータ処理装置。
The processor continuously outputs data write instruction information instructing to write data to the shared memory and flag write instruction information instructing to write a write flag to the flag storage unit.
It further comprises an information monitoring unit (34) that monitors the data write command information and the flag write command information that the processor continuously outputs.
The data processing according to claim 2, wherein the information monitoring unit stores the data write instruction information in the information storage unit when the flag write instruction information is obtained following the data write instruction information. apparatus.
自身が備える前記プロセッサによる前記共有メモリへのデータの書き込み要求を、他のデータ処理装置が備えるプロセッサによる前記共有メモリへのデータの書き込み要求よりも優先する優先部(41)をさらに備えることを特徴とする請求項1から3の何れか1項に記載のデータ処理装置。   The data processing apparatus further comprises a priority unit (41) which prioritizes a request for writing data to the shared memory by the processor provided in itself over a request for writing data to the shared memory by a processor included in another data processing apparatus. The data processing apparatus according to any one of claims 1 to 3, wherein 前記フラグ記憶部に前記書き込みフラグが書き込まれた順番を記憶する処理順記憶部(51a〜51d)をさらに備えることを特徴とする請求項1から4の何れか1項に記載のデータ処理装置。   The data processing apparatus according to any one of claims 1 to 4, further comprising a processing order storage unit (51a to 51d) that stores the order in which the write flag is written in the flag storage unit. 前記フラグ記憶部に前記書き込みフラグが書き込まれた時間を記憶する時間記憶部(61a〜61d)をさらに備えることを特徴とする請求項1から5の何れか1項に記載のデータ処理装置。   The data processing apparatus according to any one of claims 1 to 5, further comprising a time storage unit (61a to 61d) that stores the time when the write flag is written in the flag storage unit. 前記プロセッサが前記共有メモリにデータを書き込む前の状態であるのか書き込んだ後の状態であるのかを記憶する状態記憶部(71)と、
前記フラグ記憶部への前記書き込みフラグの書き込みを許可する許可条件を記憶する条件記憶部(72a〜72d)と、をさらに備え、
前記状態記憶部が記憶する前記プロセッサの状態と前記許可条件が一致する場合に、前記フラグ記憶部に前記書き込みフラグが書き込まれることを特徴とする請求項1に記載のデータ処理装置。
A state storage unit (71) for storing whether the processor is in a state before or after writing data to the shared memory;
And a condition storage unit (72a to 72d) storing permission conditions for permitting the writing of the write flag to the flag storage unit;
When the state and the conditions for permitting the processor to the state storage unit stores match, the data processing apparatus according to claim 1, characterized in that the write flag in the flag storage unit is written.
前記プロセッサに、前記共有メモリへのアクセス権を付与するアクセス権付与部(81)をさらに備え、
前記プロセッサは、前記アクセス権が付与されていることを条件に、前記共有メモリにデータを書き込むことが可能となることを特徴とする請求項1から7の何れか1項に記載のデータ処理装置。
The processor further comprises an access right grant unit (81) for granting the access right to the shared memory.
The data processing apparatus according to any one of claims 1 to 7, wherein the processor can write data to the shared memory on condition that the access right is granted. .
JP2015126553A 2015-06-24 2015-06-24 Data processor Active JP6519343B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015126553A JP6519343B2 (en) 2015-06-24 2015-06-24 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015126553A JP6519343B2 (en) 2015-06-24 2015-06-24 Data processor

Publications (2)

Publication Number Publication Date
JP2017010364A JP2017010364A (en) 2017-01-12
JP6519343B2 true JP6519343B2 (en) 2019-05-29

Family

ID=57764382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015126553A Active JP6519343B2 (en) 2015-06-24 2015-06-24 Data processor

Country Status (1)

Country Link
JP (1) JP6519343B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2976700B2 (en) * 1992-05-22 1999-11-10 日本電気株式会社 Synchronous control method between processors
JP2882304B2 (en) * 1995-03-22 1999-04-12 日本電気株式会社 Multiprocessor system
JPH1091589A (en) * 1996-09-12 1998-04-10 Kofu Nippon Denki Kk Inter-processor synchronization controller
JP4276028B2 (en) * 2003-08-25 2009-06-10 株式会社日立製作所 Multiprocessor system synchronization method
JP2009176116A (en) * 2008-01-25 2009-08-06 Univ Waseda Multiprocessor system and method for synchronizing multiprocessor system
EP2581832A4 (en) * 2010-06-08 2013-08-07 Fujitsu Ltd DEVICE, METHOD, AND PROGRAM FOR CONTROLLING ACCESS TO MEMORY, MULTI-HEART PROCESSOR SYSTEM

Also Published As

Publication number Publication date
JP2017010364A (en) 2017-01-12

Similar Documents

Publication Publication Date Title
US6952749B2 (en) Multiprocessor interrupt handling system and method
JP5498505B2 (en) Resolving contention between data bursts
JPS5812611B2 (en) Data Tensou Seigiyohoushiki
US7350005B2 (en) Handling interrupts in a system having multiple data processing units
JP4874165B2 (en) Multiprocessor system and access right setting method in multiprocessor system
US8458411B2 (en) Distributed shared memory multiprocessor and data processing method
US10303472B2 (en) Bufferless communication for redundant multithreading using register permutation
US9330024B1 (en) Processing device and method thereof
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
JP6519343B2 (en) Data processor
JP2009193378A (en) Vector processing device
US9710359B2 (en) Executing debug program instructions on a target apparatus processing pipeline
US9858222B2 (en) Register access control among multiple devices
JP2005303718A (en) Matrix bus connection system
JP2008158585A (en) Bus system and method for arbitrating bus
JP6206524B2 (en) Data transfer device, data transfer method, and program
JP2005165592A (en) Data transfer device
JP2012043083A (en) Conflict test device
JP2010092101A (en) Information processor
WO2018138975A1 (en) Computation processing device and information processing system
KR102333544B1 (en) An interrupt-driven i/o arbiter for a microcomputer system
JP7003752B2 (en) Data transfer device, data transfer method, program
JP2011192024A (en) Input/output control device
US20230019377A1 (en) Memory barrier elision for multi-threaded workloads
JP2011107939A (en) Redundant system information processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190408

R151 Written notification of patent or utility model registration

Ref document number: 6519343

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250