JP6519343B2 - Data processor - Google Patents
Data processor Download PDFInfo
- 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
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,
ところで、近年では、複数のデータ処理装置を双方向スロテッドバスにより接続することで、ストリームデータ処理に適した構成を実現することが提案されている。この構成では、共有メモリへの書き込み処理と共有メモリからの読み出し処理において、それぞれ異なる経路を介してアクセスする。そのため、書き込み処理と読み込み処理との一貫性、いわゆるコヒーレンシを保つことが困難である。また、スロテッドバスは、遅延が生じ得るバスである。そのため、スロテッドバスによる遅延の影響により、共有メモリへのデータの書き込み処理が完了していないにも関わらずフラグが立って同期待ち状態となってしまう場合がある。そのため、他のプロセッサが同期ポイントまでの処理を完了する前に、例えば共有メモリへの書き込み処理を完了する前に、プロセッサが次の処理サイクルを開始してしまうおそれがある。このような場合には、正常なバリア同期処理を実現できない。 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実施形態)
図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
プロセッサ11a〜11dは、共有メモリ12にデータを書き込む際には、書き込むデータそのものを出力するとともに、共有メモリ12にデータを書き込むことを指令するデータ書き込み指令情報、フラグ記憶部15a〜15dに書き込みフラグを書き込むことを指令するフラグ書き込み指令情報などの各種情報を出力する。この場合、プロセッサ11a〜11dは、データ書き込み指令情報を出力した後にフラグ書き込み指令情報を出力する。プロセッサ11a〜11dのフラグ記憶部15a〜15dに対するアクセス速度は、プロセッサ11a〜11dの共有メモリ12に対するアクセス速度よりも高速である。
When writing data to the shared
共有メモリ12は、複数のプロセッサ11a〜11dにより共有される。データ書き込みバス13は、複数のプロセッサ11a〜11dが共有メモリ12にデータを書き込むために用いるバスである。データ書き込みバス13は、複数のプロセッサ11a〜11dにより共有されている。データ書き込みバス13は、遅延が生じ得るバスの一例である。データ読み込みバス14は、複数のプロセッサ11a〜11dが共有メモリ12からデータを読み込むために用いるバスである。データ読み込みバス14は、複数のプロセッサ11a〜11dにより共有されている。
The shared
フラグ記憶部15a〜15dは、プロセッサ11a〜11dが共有メモリ12にデータを書き込んだことを示す書き込みフラグを記憶する記憶部である。フラグ記憶部15a〜15dは、例えばレジスタなどで構成される。フラグ記憶部15a〜15dは、複数のプロセッサ11a〜11dにそれぞれ対応付けて設けられている。書き込みフラグは、例えば同期条件に基づき予め設定された同期ポイントまでの処理が完了したことを示すフラグである。書き込みフラグが書き込まれたフラグ記憶部15a〜15dに対応するプロセッサ11a〜11dは、データ書き込み前状態から同期待ち状態に遷移する。データ書き込み前状態は、共有メモリ12へのデータの書き込み処理を実行する前の状態であり、即ち、同期ポイントまでの処理が完了していない状態である。同期待ち状態は、共有メモリ12へのデータの書き込み処理を完了した状態であり、即ち、同期ポイントまでの処理が完了し、次の処理サイクルを開始できる状態である。同期条件で指定された任意の全てのプロセッサ11a〜11dが同期待ち状態になると、つまり、同期条件で指定された各プロセッサ11a〜11dが全て同期ポイントまでの処理を完了すると、データ処理装置10は、次の処理サイクルに移行する。
The
フラグ書き込みバス16は、フラグ記憶部15a〜15dに書き込みフラグを書き込むためのバスである。データ処理装置10は、データ書き込みバス13とフラグ書き込みバス16を共通化した構成である。この場合、データ書き込みバス13およびフラグ書き込みバス16は、プロセッサ11a〜11dから分岐点Pまでの間で共通化されている。そして、分岐点Pから分岐して、データ書き込みバス13は共有メモリ12に接続され、フラグ書き込みバス16は、フラグ記憶部15a〜15dに接続されている。
The flag write
図2に例示する構成では、データ書き込みバス113に共通化されたフラグ書き込みバスを備えていない。この構成において、プロセッサ111a〜111dは、フラグ記憶部115a〜115dへのフラグの書き込みを、専用インタフェース117a〜117dを介して行う。そのため、図3に例示するように、データ書き込みバス113に遅延が生じると、共通メモリ112へのデータの書き込みが完了する前にフラグ記憶部115a〜115dに書き込みフラグが書き込まれてしまう場合が生じる。
In the configuration illustrated in FIG. 2, the data write
これに対して、データ処理装置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
データ処理装置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
(第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
情報記憶部22は、共有メモリ12にデータを書き込む際にプロセッサ11aがデータ書き込みバス13に出力する情報を記憶する。この場合、プロセッサ11aは、共有メモリ12にデータを書き込む際に、共有メモリ12におけるデータの書き込み先を指定するアドレス情報を出力する。このアドレス情報は、少なくとも、データ書き込み指令情報が出力された後に出力される。そして、情報記憶部22は、専用インタフェース17aを介してプロセッサ11aからアドレス情報を取得し、記憶媒体に設けられた記憶領域22aに記憶する。
The
一致判定部23は、判定処理部23aおよびフラグ書き込み処理部23bを有する。一致判定部23は、判定処理部23aにより、データ書き込みバス13から得られるアドレス情報と、情報記憶部22に記憶されているアドレス情報とが一致するか否かを判定する。そして、一致判定部23は、両情報が一致する場合には、フラグ書き込み処理部23bにより、フラグ記憶部15aに書き込みフラグを書き込む。
The
データ処理装置20によれば、共有メモリ12にデータを書き込む際にプロセッサ11a〜11dがデータ書き込みバス13に出力する情報、この場合、アドレス情報を利用して、フラグ記憶部15a〜15dへの書き込みフラグの書き込みの可否を決定する。従って、フラグ書き込み指令情報を不要とすることができる。また、図7に例示するように、データ書き込み指令情報に続いてフラグ書き込み指令情報を出力する構成では、データ書き込み指令情報の出力後に例えば他のプロセッサからのデータ書き込み指令情報などが割り込んで、フラグ書き込み指令情報の出力が遅延する場合がある。データ処理装置20によれば、フラグ書き込み指令情報によらずとも、書き込みフラグの書き込み処理を行うことができ、従って、割り込みによる遅延の影響を受けることがない。
According to the data processing apparatus 20, the information that the
(第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
情報監視部34は、共有メモリ12にデータを書き込む際にプロセッサ11aが連続して出力する書き込み指令[2]および書き込み指令[1]を監視する。この場合、情報監視部34は、記憶媒体に設けられた記憶領域34a,34bを備える。情報監視部34は、プロセッサ11aから先に得られる書き込み指令[2]、具体的には「データ書き込み指令情報」を記憶領域34aに記憶し、データ書き込み指令情報の後に得られる書き込み指令[1]、具体的には「フラグ書き込み指令情報」を記憶領域34bに記憶する。なお、書き込み指令[1],[2]が何れも「データ書き込み指令情報」である場合、つまり、「データ書き込み指令情報」が連続して出力される場合には、記憶領域34bに「データ書き込み指令情報」が格納される。
The
情報監視部34は、記憶領域34bに記憶されている情報が「フラグ書き込み指令情報」であるか否かを判断する。そして、情報監視部34は、記憶領域34bに記憶されている情報が「フラグ書き込み指令情報」である場合には、その1つ前の書き込み情報である書き込み指令[2]、即ち、記憶領域34aに記憶されているデータ書き込み指令情報を情報記憶部32に出力する。情報記憶部32は、情報監視部34から得られたデータ書き込み指令情報を記憶領域32aに記憶する。一致判定部33は、判定処理部33aにより、データ書き込みバス13から得られるデータ書き込み指令情報と、情報記憶部32に記憶されているデータ書き込み指令情報とが一致するか否かを判定する。一致判定部33は、両情報が一致する場合には、フラグ書き込み処理部33bにより、フラグ記憶部15aに書き込みフラグを書き込む。
The
なお、本実施形態では、データ書き込み指令情報が一致するか否かを判定する構成を例示した。但し、データ処理装置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
データ処理装置30によれば、共有メモリ12にデータを書き込む際にプロセッサ11a〜11dがデータ書き込みバス13に連続的に出力する情報、この場合、データ書き込み指令情報およびフラグ書き込み指令情報を利用して、フラグ記憶部15a〜15dへの書き込みフラグの書き込みの可否を決定することができる。
According to the data processing device 30, the information that the
(第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
自装置のプロセッサ11a〜11dからの要求および他装置のプロセッサからの要求を含め、それぞれの要求を発生順に処理する場合には、自装置のデータ書き込み処理と自装置のフラグ書き込み処理との間の他装置からの要求が割り込む場合があり、遅延の要因となる。データ処理装置40によれば、自装置からの要求を他装置からの要求よりも優先する。従って、自装置のデータ書き込み処理と自装置のフラグ書き込み処理との間に他装置からの要求が割り込むことを回避でき、遅延を起こすことなく処理の高速化を図ることができる。なお、調停部41は、データ書き込みバス13とは別体に設けてもよい。
When processing the respective requests in the order of occurrence, including the requests from the
(第5実施形態)
図11に例示するデータ処理装置50は、処理順記憶部51a〜51dを備える。処理順記憶部51a〜51dは、フラグ記憶部15a〜15dにそれぞれ対応付けて設けられている。また、処理順記憶部51a〜51dは、フラグ記憶部15a〜15dにそれぞれ併設されている。なお、処理順記憶部51a〜51dは、フラグ記憶部15a〜15dとは別個の記憶媒体に設けてもよい。処理順記憶部51a〜51dは、フラグ記憶部15a〜15dに書き込みフラグが書き込まれた順番を記憶する。
Fifth Embodiment
The
データ処理装置50によれば、処理順記憶部51a〜51dに記憶されている順番情報に基づいて、プロセッサ11a〜11dのデータ書き込み処理が、それぞれ何番目に完了したのかを把握することができる。これにより、データ書き込み処理を速く完了できるプロセッサ11a〜11dを特定することができる。よって、例えば、次の処理サイクルにおいて、データ書き込み処理を速く完了できるプロセッサ11a〜11dに多くの処理を割り振ることにより、処理全体としての高速化を図ることができる。
According to the
(第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
データ処理装置60によれば、時間記憶部61a〜61dに記憶されている時間情報に基づいて、プロセッサ11a〜11dのデータ書き込み処理が、それぞれ何番目に完了したのかを把握することができる。また、時間記憶部61a〜61dに記憶されている時間情報に基づいて、プロセッサ11a〜11dのデータ書き込み処理がどの程度速く完了したのかも把握することができる。これにより、データ書き込み処理を速く完了できるプロセッサ11a〜11dを一層正確に特定することができる。よって、例えば、次の処理サイクルにおいて、データ書き込み処理を速く完了できるプロセッサ11a〜11dに多くの処理を割り振ることにより、処理全体としての高速化を図ることができる。
According to the
(第7実施形態)
図13に例示するデータ処理装置70は、状態記憶部71および複数の条件記憶部72a〜72dを備える。状態記憶部71は、プロセッサ11a〜11dが共有メモリ12にデータを書き込む前の状態であるのか書き込んだ後の状態であるのかを記憶する。即ち、図14に例示するように、状態記憶部71は、例えばデータ書き込みバス13から得られるフラグ書き込み指令情報の有無に基づいて、プロセッサ11a〜11dの状態、つまり、データ書き込み前であるのか後であるのかを記憶する。なお、図14では、データを書き込んだ後の状態を同期待ち状態として示している。
Seventh Embodiment
The
条件記憶部72a〜72dは、フラグ記憶部15a〜15dにそれぞれ対応付けて設けられている。図15に例示するように、条件記憶部72a〜72dには、フラグ記憶部15a〜15dへの書き込みフラグの書き込みを許可するための許可条件が記憶されている。図15に示す例では、プロセッサ11aが同期待ち状態、プロセッサ11bがデータ書き込み前状態、プロセッサ11cが同期待ち状態、プロセッサ11dがデータ書き込み前状態である場合に、書き込みフラグの書き込みが許可される条件となっている。
The
データ処理装置70は、状態記憶部71に記憶されている各プロセッサ11a〜11dの実際の状態と条件記憶部72a〜72dにそれぞれ格納されている許可条件とが一致するか否かを判定する。そして、データ処理装置70は、両情報が一致する場合に、該当するフラグ記憶部15a〜15dに書き込みフラグを書き込む。
The
データ処理装置70によれば、フラグ書き込み指令情報が得られたら直ちにフラグ記憶部15a〜15dに書き込みフラグを書き込むのではなく、各プロセッサ11a〜11dの実際の状態が所定の許可条件に一致する場合に、書き込みフラグを書き込むようにした。これにより、自プロセッサの状態だけでなく他プロセッサの状態も加味した上で書き込みフラグを書き込むことができ、システム全体としてより正確なデータ書き込み処理を行うことができる。なお、許可条件は、固定としてもよいし、例えば処理内容や処理の進捗度などに応じて動的に変動させるようにしてもよい。
According to the
(第8実施形態)
図16に例示するデータ処理装置80は、アクセス権付与部81を備える。アクセス権付与部81は、プロセッサ11a〜11dに、共有メモリ12へのアクセス権を排他的に付与する。アクセス権付与部81は、ソフトウェアにより実現してもよいし、ハードウェアにより実現してもよいし、ソフトウェアとハードウェアの組み合わせにより実現してもよい。プロセッサ11a〜11dは、アクセス権付与部81に対し、アクセス権の付与を要求する。プロセッサ11a〜11dから要求を受けたアクセス権付与部81は、要求したプロセッサ11a〜11dのうちの何れか1つにアクセス権を付与する。
Eighth Embodiment
The
アクセス権の付与は、例えば最先に要求したプロセッサ11a〜11dに与えるようにしてもよいし、要求した複数のプロセッサ11a〜11dからランダムに選択して与えるようにしてもよいし、要求した複数のプロセッサ11a〜11dのうち最も処理が速いプロセッサに与えるようにしてもよい。プロセッサ11a〜11dは、アクセス権が付与されていることを条件に、共有メモリ12にデータを書き込むことが可能となる。また、アクセス権が付与されていないプロセッサ11a〜11dは、共有メモリ12へのデータの書き込み処理が不能となる。
The access right may be granted to, for example, the
データ処理装置80によれば、共有メモリ12にデータを書き込み可能なプロセッサ11a〜11dを排他的に制御することができる。従って、複数のプロセッサ11a〜11dが共有メモリ12に同時にデータを書き込むことを回避でき、データの書き込み処理を一層正確に行うことができる。また、共有メモリ12への読み書き処理、つまりメモリアクセスを排他的に制御できるので、読み込み処理と書き込み処理の順序を保障した処理が可能である。
According to the
(その他の実施形態)
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
プロセッサの数は適宜変更できる。また、プロセッサの数を変更した場合には、その数に応じてフラグ記憶部や専用回路などの周辺要素の数も適宜変更すればよい。また、上述した複数の実施形態を適宜組み合わせて実施してもよい。本実施形態に係るデータ処理装置は、ストリームデータを処理するストリームデータ処理装置などに適用可能である。
(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)
複数の前記プロセッサが共有する共有メモリ(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.
前記プロセッサが前記データ書き込みバスに出力する情報と前記情報記憶部に記憶されている情報とが一致する場合に、前記フラグ記憶部に前記書き込みフラグが書き込まれることを特徴とする請求項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.
前記フラグ記憶部への前記書き込みフラグの書き込みを許可する許可条件を記憶する条件記憶部(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.
前記プロセッサは、前記アクセス権が付与されていることを条件に、前記共有メモリにデータを書き込むことが可能となることを特徴とする請求項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. .
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)
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 |
-
2015
- 2015-06-24 JP JP2015126553A patent/JP6519343B2/en active Active
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 |