JP2017010364A - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP2017010364A
JP2017010364A JP2015126553A JP2015126553A JP2017010364A JP 2017010364 A JP2017010364 A JP 2017010364A JP 2015126553 A JP2015126553 A JP 2015126553A JP 2015126553 A JP2015126553 A JP 2015126553A JP 2017010364 A JP2017010364 A JP 2017010364A
Authority
JP
Japan
Prior art keywords
write
flag
data
processor
shared memory
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.)
Granted
Application number
JP2015126553A
Other languages
English (en)
Other versions
JP6519343B2 (ja
Inventor
敦史 北山
Atsushi Kitayama
敦史 北山
啓史 山本
Hiroshi Yamamoto
啓史 山本
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/ja
Publication of JP2017010364A publication Critical patent/JP2017010364A/ja
Application granted granted Critical
Publication of JP6519343B2 publication Critical patent/JP6519343B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】プロセッサから共有メモリへの書き込み処理を遅延が生じ得るバスを介して行う場合であっても、共有メモリへの書き込み処理の完了前にプロセッサが同期待ち状態となることを回避して、正常な同期処理を実現する。【解決手段】データ処理装置10は、プロセッサ11a〜11dと、プロセッサが共有する共有メモリ12と、プロセッサが共有メモリ12にデータを書き込むために用いるデータ書き込みバス13と、プロセッサが同期ポイントまでの処理を完了したことを示す書き込みフラグを記憶するフラグ記憶部15a〜15dと、フラグ記憶部に書き込みフラグを書き込むためのフラグ書き込みバス16と、を備え、データ書き込みバス13とフラグ書き込みバス16が共通化されており、共有メモリ12にデータを書き込んだ後にフラグ記憶部15a〜15dに書き込みフラグを書き込む。【選択図】図1

Description

本発明は、複数のプロセッサを備えるデータ処理装置に関する。
マルチプロセッサにより処理を並列的に効率良く実行するためには、プロセッサ間の同期処理、即ち、バリア同期処理や相互排他制御処理を高速で実現することが重要である。例えば特許文献1には、各プロセッサに、全プロセッサの同期待ち状態を保持するレジスタと、自身の同期待ち状態を他のプロセッサに通知するためのレジスタとを設けることにより、バリア同期処理の効率化を図るようにした技術が開示されている。
特開2013−137833号公報
ところで、近年では、複数のデータ処理装置を双方向スロテッドバスにより接続することで、ストリームデータ処理に適した構成を実現することが提案されている。この構成では、共有メモリへの書き込み処理と共有メモリからの読み出し処理において、それぞれ異なる経路を介してアクセスする。そのため、書き込み処理と読み込み処理との一貫性、いわゆるコヒーレンシを保つことが困難である。また、スロテッドバスは、遅延が生じ得るバスである。そのため、スロテッドバスによる遅延の影響により、共有メモリへのデータの書き込み処理が完了していないにも関わらずフラグが立って同期待ち状態となってしまう場合がある。そのため、他のプロセッサが同期ポイントまでの処理を完了する前に、例えば共有メモリへの書き込み処理を完了する前に、プロセッサが次の処理サイクルを開始してしまうおそれがある。このような場合には、正常なバリア同期処理を実現できない。
そこで、本発明は、プロセッサから共有メモリへの書き込み処理を遅延が生じ得るバスを介して行う場合であっても、共有メモリへの書き込み処理の完了前にプロセッサが同期待ち状態となることを回避でき、正常な同期処理を実現することができるデータ処理装置を提供する。
本発明に係るデータ処理装置によれば、共有メモリは複数のプロセッサにより共有される。フラグ記憶部は、プロセッサが同期ポイントまでの処理を完了したことを示す書き込みフラグを記憶するものであり、複数のフラグ記憶部が各プロセッサにそれぞれ対応付けて設けられている。プロセッサのフラグ記憶部に対するアクセス速度は、共有メモリに対するアクセス速度よりも高速である。データ書き込みバスは、プロセッサが共有メモリにデータを書き込むために用いるバスであって、複数のプロセッサが共有する。データ書き込みバスは、遅延が生じ得るバスである。フラグ書き込みバスは、フラグ記憶部に書き込みフラグを書き込むためのバスである。そして、データ処理装置によれば、データ書き込みバスとフラグ書き込みバスとが共通化されており、共有メモリにデータが書き込まれた後にフラグ記憶部に書き込みフラグが書き込まれる。
この構成によれば、プロセッサの同期ポイントまでの処理が完了する前に、例えば共有メモリにデータが書き込まれる前に、同期ポイントまでの処理が完了したことを示す書込みフラグが書き込まれてしまうことを回避できる。即ち、書き込みフラグは、共有メモリにデータが書き込まれた後に書き込まれる。よって、プロセッサから共有メモリへの書き込み処理を遅延が生じ得るデータ書き込みバスを介して行う場合であっても、共有メモリへの書き込み処理の完了前に、プロセッサが次の処理サイクルを開始してしまうことを回避でき、正常な同期処理を実現することができる。
第1実施形態に係るデータ処理装置の構成例を概略的に示すブロック図 データ処理装置の比較構成例を概略的に示すブロック図 比較構成例によるデータ書き込み処理とフラグ書き込み処理の前後関係を示すタイミングフロー図 本実施形態によるデータ書き込み処理とフラグ書き込み処理の前後関係を示すタイミングフロー図 第2実施形態に係るデータ処理装置の構成例を概略的に示すブロック図 フラグ書き込み情報先読み回路の構成例を概略的に示すブロック図 フラグ書き込み指令情報の出力が遅延する状態例を示す図 第3実施形態に係るデータ処理装置の構成例を概略的に示すブロック図 フラグ書き込み情報先読み回路の構成例を概略的に示すブロック図 第4実施形態に係るデータ処理装置の構成例を概略的に示すブロック図 第5実施形態に係るデータ処理装置の構成例を概略的に示すブロック図 第6実施形態に係るデータ処理装置の構成例を概略的に示すブロック図 第7実施形態に係るデータ処理装置の構成例を概略的に示すブロック図 状態記憶部に記憶されるプロセッサの状態例を示す図 条件記憶部に記憶される許可条件の一例を示す図 第8実施形態に係るデータ処理装置の構成例を概略的に示すブロック図
以下、データ処理装置に係る複数の実施形態について図面を参照しながら説明する。なお、各実施形態において実質的に同一の要素には同一の符号を付し、説明を省略する。
(第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に対する書き込み処理および読み出し処理が可能となっている。
プロセッサ11a〜11dは、共有メモリ12にデータを書き込む際には、書き込むデータそのものを出力するとともに、共有メモリ12にデータを書き込むことを指令するデータ書き込み指令情報、フラグ記憶部15a〜15dに書き込みフラグを書き込むことを指令するフラグ書き込み指令情報などの各種情報を出力する。この場合、プロセッサ11a〜11dは、データ書き込み指令情報を出力した後にフラグ書き込み指令情報を出力する。プロセッサ11a〜11dのフラグ記憶部15a〜15dに対するアクセス速度は、プロセッサ11a〜11dの共有メモリ12に対するアクセス速度よりも高速である。
共有メモリ12は、複数のプロセッサ11a〜11dにより共有される。データ書き込みバス13は、複数のプロセッサ11a〜11dが共有メモリ12にデータを書き込むために用いるバスである。データ書き込みバス13は、複数のプロセッサ11a〜11dにより共有されている。データ書き込みバス13は、遅延が生じ得るバスの一例である。データ読み込みバス14は、複数のプロセッサ11a〜11dが共有メモリ12からデータを読み込むために用いるバスである。データ読み込みバス14は、複数のプロセッサ11a〜11dにより共有されている。
フラグ記憶部15a〜15dは、プロセッサ11a〜11dが共有メモリ12にデータを書き込んだことを示す書き込みフラグを記憶する記憶部である。フラグ記憶部15a〜15dは、例えばレジスタなどで構成される。フラグ記憶部15a〜15dは、複数のプロセッサ11a〜11dにそれぞれ対応付けて設けられている。書き込みフラグは、例えば同期条件に基づき予め設定された同期ポイントまでの処理が完了したことを示すフラグである。書き込みフラグが書き込まれたフラグ記憶部15a〜15dに対応するプロセッサ11a〜11dは、データ書き込み前状態から同期待ち状態に遷移する。データ書き込み前状態は、共有メモリ12へのデータの書き込み処理を実行する前の状態であり、即ち、同期ポイントまでの処理が完了していない状態である。同期待ち状態は、共有メモリ12へのデータの書き込み処理を完了した状態であり、即ち、同期ポイントまでの処理が完了し、次の処理サイクルを開始できる状態である。同期条件で指定された任意の全てのプロセッサ11a〜11dが同期待ち状態になると、つまり、同期条件で指定された各プロセッサ11a〜11dが全て同期ポイントまでの処理を完了すると、データ処理装置10は、次の処理サイクルに移行する。
フラグ書き込みバス16は、フラグ記憶部15a〜15dに書き込みフラグを書き込むためのバスである。データ処理装置10は、データ書き込みバス13とフラグ書き込みバス16を共通化した構成である。この場合、データ書き込みバス13およびフラグ書き込みバス16は、プロセッサ11a〜11dから分岐点Pまでの間で共通化されている。そして、分岐点Pから分岐して、データ書き込みバス13は共有メモリ12に接続され、フラグ書き込みバス16は、フラグ記憶部15a〜15dに接続されている。
図2に例示する構成では、データ書き込みバス113に共通化されたフラグ書き込みバスを備えていない。この構成において、プロセッサ111a〜111dは、フラグ記憶部115a〜115dへのフラグの書き込みを、専用インタフェース117a〜117dを介して行う。そのため、図3に例示するように、データ書き込みバス113に遅延が生じると、共通メモリ112へのデータの書き込みが完了する前にフラグ記憶部115a〜115dに書き込みフラグが書き込まれてしまう場合が生じる。
これに対して、データ処理装置10によれば、データ書き込みバス13とフラグ書き込みバス16が共通化されており、図4に例示するように、プロセッサ11a〜11dは、データ書き込みバス13に対し、データ書き込み指令情報を出力し、これに続いて、フラグ書き込み指令情報を出力する。即ち、共通化されたバス上に、データ書き込み指令情報が先に出力され、続いて、フラグ書き込み指令情報が出力される。従って、共有メモリ12へのデータの書き込み処理が先に行われ、その後、該当するフラグ記憶部15a〜15d、つまり、書き込み処理を行ったプロセッサに対応するフラグ記憶部15a〜15dへの書き込みフラグの書き込み処理が行われる。
データ処理装置10によれば、共有メモリ12にデータが書き込まれる前にフラグ記憶部15a〜15dに書き込みフラグが書き込まれること、つまり、プロセッサ11a〜11dが次の処理サイクルを開始可能な状態となってしまうことを回避できる。よって、プロセッサ11a〜11dから共有メモリ12へのデータの書き込み処理を、遅延が生じ得るデータ書き込みバス13を介して行う場合であっても、共有メモリ12への書き込み処理の完了前にプロセッサ11a〜11dが同期待ち状態となることを回避でき、正常な同期処理を実現することができる。
(第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は、ソフトウェアにより仮想的に実現してもよいし、ハードウェアにより実現してもよいし、ソフトウェアとハードウェアの組み合わせにより実現してもよい。
情報記憶部22は、共有メモリ12にデータを書き込む際にプロセッサ11aがデータ書き込みバス13に出力する情報を記憶する。この場合、プロセッサ11aは、共有メモリ12にデータを書き込む際に、共有メモリ12におけるデータの書き込み先を指定するアドレス情報を出力する。このアドレス情報は、少なくとも、データ書き込み指令情報が出力された後に出力される。そして、情報記憶部22は、専用インタフェース17aを介してプロセッサ11aからアドレス情報を取得し、記憶媒体に設けられた記憶領域22aに記憶する。
一致判定部23は、判定処理部23aおよびフラグ書き込み処理部23bを有する。一致判定部23は、判定処理部23aにより、データ書き込みバス13から得られるアドレス情報と、情報記憶部22に記憶されているアドレス情報とが一致するか否かを判定する。そして、一致判定部23は、両情報が一致する場合には、フラグ書き込み処理部23bにより、フラグ記憶部15aに書き込みフラグを書き込む。
データ処理装置20によれば、共有メモリ12にデータを書き込む際にプロセッサ11a〜11dがデータ書き込みバス13に出力する情報、この場合、アドレス情報を利用して、フラグ記憶部15a〜15dへの書き込みフラグの書き込みの可否を決定する。従って、フラグ書き込み指令情報を不要とすることができる。また、図7に例示するように、データ書き込み指令情報に続いてフラグ書き込み指令情報を出力する構成では、データ書き込み指令情報の出力後に例えば他のプロセッサからのデータ書き込み指令情報などが割り込んで、フラグ書き込み指令情報の出力が遅延する場合がある。データ処理装置20によれば、フラグ書き込み指令情報によらずとも、書き込みフラグの書き込み処理を行うことができ、従って、割り込みによる遅延の影響を受けることがない。
(第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と同じである。
情報監視部34は、共有メモリ12にデータを書き込む際にプロセッサ11aが連続して出力する書き込み指令[2]および書き込み指令[1]を監視する。この場合、情報監視部34は、記憶媒体に設けられた記憶領域34a,34bを備える。情報監視部34は、プロセッサ11aから先に得られる書き込み指令[2]、具体的には「データ書き込み指令情報」を記憶領域34aに記憶し、データ書き込み指令情報の後に得られる書き込み指令[1]、具体的には「フラグ書き込み指令情報」を記憶領域34bに記憶する。なお、書き込み指令[1],[2]が何れも「データ書き込み指令情報」である場合、つまり、「データ書き込み指令情報」が連続して出力される場合には、記憶領域34bに「データ書き込み指令情報」が格納される。
情報監視部34は、記憶領域34bに記憶されている情報が「フラグ書き込み指令情報」であるか否かを判断する。そして、情報監視部34は、記憶領域34bに記憶されている情報が「フラグ書き込み指令情報」である場合には、その1つ前の書き込み情報である書き込み指令[2]、即ち、記憶領域34aに記憶されているデータ書き込み指令情報を情報記憶部32に出力する。情報記憶部32は、情報監視部34から得られたデータ書き込み指令情報を記憶領域32aに記憶する。一致判定部33は、判定処理部33aにより、データ書き込みバス13から得られるデータ書き込み指令情報と、情報記憶部32に記憶されているデータ書き込み指令情報とが一致するか否かを判定する。一致判定部33は、両情報が一致する場合には、フラグ書き込み処理部33bにより、フラグ記憶部15aに書き込みフラグを書き込む。
なお、本実施形態では、データ書き込み指令情報が一致するか否かを判定する構成を例示した。但し、データ処理装置30は、その他の情報、例えば、データ書き込み指令情報を発行したプロセッサを特定する発行元情報、共有メモリ12におけるデータの書き込み先を指定するアドレス情報などが一致するか否かに基づいて書き込みフラグの書き込みの可否を判定するように構成してもよい。
データ処理装置30によれば、共有メモリ12にデータを書き込む際にプロセッサ11a〜11dがデータ書き込みバス13に連続的に出力する情報、この場合、データ書き込み指令情報およびフラグ書き込み指令情報を利用して、フラグ記憶部15a〜15dへの書き込みフラグの書き込みの可否を決定することができる。
(第4実施形態)
図10に例示するデータ処理装置40は、調停部41を備える。調停部41は、ソフトウェアにより実現してもよいし、ハードウェアにより実現してもよいし、ソフトウェアとハードウェアの組み合わせにより実現してもよい。調停部41は、優先部の一例であり、この場合、データ書き込みバス13に設けられている。調停部41は、自身が備えるプロセッサ11a〜11dによる共有メモリ12へのデータの書き込み要求と、他のデータ処理装置401,402が備えるプロセッサによる共有メモリ12へのデータの書き込み要求とが競合した場合に、自装置からのデータ書き込み要求を他装置からのデータ書き込み要求よりも優先する。また、調停部41は、自身が備えるプロセッサ11a〜11dによるフラグ記憶部15a〜15dへの書き込みフラグの書き込み要求と、他のデータ処理装置401,402が備えるプロセッサによるフラグ記憶部15a〜15dへの書き込みフラグの書き込み要求とが競合した場合に、自装置からのフラグ書き込み要求を他装置からのフラグ書き込み要求よりも優先する。
自装置のプロセッサ11a〜11dからの要求および他装置のプロセッサからの要求を含め、それぞれの要求を発生順に処理する場合には、自装置のデータ書き込み処理と自装置のフラグ書き込み処理との間の他装置からの要求が割り込む場合があり、遅延の要因となる。データ処理装置40によれば、自装置からの要求を他装置からの要求よりも優先する。従って、自装置のデータ書き込み処理と自装置のフラグ書き込み処理との間に他装置からの要求が割り込むことを回避でき、遅延を起こすことなく処理の高速化を図ることができる。なお、調停部41は、データ書き込みバス13とは別体に設けてもよい。
(第5実施形態)
図11に例示するデータ処理装置50は、処理順記憶部51a〜51dを備える。処理順記憶部51a〜51dは、フラグ記憶部15a〜15dにそれぞれ対応付けて設けられている。また、処理順記憶部51a〜51dは、フラグ記憶部15a〜15dにそれぞれ併設されている。なお、処理順記憶部51a〜51dは、フラグ記憶部15a〜15dとは別個の記憶媒体に設けてもよい。処理順記憶部51a〜51dは、フラグ記憶部15a〜15dに書き込みフラグが書き込まれた順番を記憶する。
データ処理装置50によれば、処理順記憶部51a〜51dに記憶されている順番情報に基づいて、プロセッサ11a〜11dのデータ書き込み処理が、それぞれ何番目に完了したのかを把握することができる。これにより、データ書き込み処理を速く完了できるプロセッサ11a〜11dを特定することができる。よって、例えば、次の処理サイクルにおいて、データ書き込み処理を速く完了できるプロセッサ11a〜11dに多くの処理を割り振ることにより、処理全体としての高速化を図ることができる。
(第6実施形態)
図12に例示するデータ処理装置60は、時間記憶部61a〜61dを備える。時間記憶部61a〜61dは、フラグ記憶部15a〜15dにそれぞれ対応付けて設けられている。また、時間記憶部61a〜61dは、フラグ記憶部15a〜15dにそれぞれ併設されている。なお、時間記憶部61a〜61dは、フラグ記憶部15a〜15dとは別個の記憶媒体に設けてもよい。時間記憶部61a〜61dは、フラグ記憶部15a〜15dに書き込みフラグが書き込まれた時間を記憶する。なお、データ処理装置60は、時間を計測するための図示しないタイマを備える。時間記憶部61a〜61dは、タイマに基づき、フラグが書き込まれた時間を特定する。
データ処理装置60によれば、時間記憶部61a〜61dに記憶されている時間情報に基づいて、プロセッサ11a〜11dのデータ書き込み処理が、それぞれ何番目に完了したのかを把握することができる。また、時間記憶部61a〜61dに記憶されている時間情報に基づいて、プロセッサ11a〜11dのデータ書き込み処理がどの程度速く完了したのかも把握することができる。これにより、データ書き込み処理を速く完了できるプロセッサ11a〜11dを一層正確に特定することができる。よって、例えば、次の処理サイクルにおいて、データ書き込み処理を速く完了できるプロセッサ11a〜11dに多くの処理を割り振ることにより、処理全体としての高速化を図ることができる。
(第7実施形態)
図13に例示するデータ処理装置70は、状態記憶部71および複数の条件記憶部72a〜72dを備える。状態記憶部71は、プロセッサ11a〜11dが共有メモリ12にデータを書き込む前の状態であるのか書き込んだ後の状態であるのかを記憶する。即ち、図14に例示するように、状態記憶部71は、例えばデータ書き込みバス13から得られるフラグ書き込み指令情報の有無に基づいて、プロセッサ11a〜11dの状態、つまり、データ書き込み前であるのか後であるのかを記憶する。なお、図14では、データを書き込んだ後の状態を同期待ち状態として示している。
条件記憶部72a〜72dは、フラグ記憶部15a〜15dにそれぞれ対応付けて設けられている。図15に例示するように、条件記憶部72a〜72dには、フラグ記憶部15a〜15dへの書き込みフラグの書き込みを許可するための許可条件が記憶されている。図15に示す例では、プロセッサ11aが同期待ち状態、プロセッサ11bがデータ書き込み前状態、プロセッサ11cが同期待ち状態、プロセッサ11dがデータ書き込み前状態である場合に、書き込みフラグの書き込みが許可される条件となっている。
データ処理装置70は、状態記憶部71に記憶されている各プロセッサ11a〜11dの実際の状態と条件記憶部72a〜72dにそれぞれ格納されている許可条件とが一致するか否かを判定する。そして、データ処理装置70は、両情報が一致する場合に、該当するフラグ記憶部15a〜15dに書き込みフラグを書き込む。
データ処理装置70によれば、フラグ書き込み指令情報が得られたら直ちにフラグ記憶部15a〜15dに書き込みフラグを書き込むのではなく、各プロセッサ11a〜11dの実際の状態が所定の許可条件に一致する場合に、書き込みフラグを書き込むようにした。これにより、自プロセッサの状態だけでなく他プロセッサの状態も加味した上で書き込みフラグを書き込むことができ、システム全体としてより正確なデータ書き込み処理を行うことができる。なお、許可条件は、固定としてもよいし、例えば処理内容や処理の進捗度などに応じて動的に変動させるようにしてもよい。
(第8実施形態)
図16に例示するデータ処理装置80は、アクセス権付与部81を備える。アクセス権付与部81は、プロセッサ11a〜11dに、共有メモリ12へのアクセス権を排他的に付与する。アクセス権付与部81は、ソフトウェアにより実現してもよいし、ハードウェアにより実現してもよいし、ソフトウェアとハードウェアの組み合わせにより実現してもよい。プロセッサ11a〜11dは、アクセス権付与部81に対し、アクセス権の付与を要求する。プロセッサ11a〜11dから要求を受けたアクセス権付与部81は、要求したプロセッサ11a〜11dのうちの何れか1つにアクセス権を付与する。
アクセス権の付与は、例えば最先に要求したプロセッサ11a〜11dに与えるようにしてもよいし、要求した複数のプロセッサ11a〜11dからランダムに選択して与えるようにしてもよいし、要求した複数のプロセッサ11a〜11dのうち最も処理が速いプロセッサに与えるようにしてもよい。プロセッサ11a〜11dは、アクセス権が付与されていることを条件に、共有メモリ12にデータを書き込むことが可能となる。また、アクセス権が付与されていないプロセッサ11a〜11dは、共有メモリ12へのデータの書き込み処理が不能となる。
データ処理装置80によれば、共有メモリ12にデータを書き込み可能なプロセッサ11a〜11dを排他的に制御することができる。従って、複数のプロセッサ11a〜11dが共有メモリ12に同時にデータを書き込むことを回避でき、データの書き込み処理を一層正確に行うことができる。また、共有メモリ12への読み書き処理、つまりメモリアクセスを排他的に制御できるので、読み込み処理と書き込み処理の順序を保障した処理が可能である。
(その他の実施形態)
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
プロセッサの数は適宜変更できる。また、プロセッサの数を変更した場合には、その数に応じてフラグ記憶部や専用回路などの周辺要素の数も適宜変更すればよい。また、上述した複数の実施形態を適宜組み合わせて実施してもよい。本実施形態に係るデータ処理装置は、ストリームデータを処理するストリームデータ処理装置などに適用可能である。
図面中、10はデータ処理装置、11a〜11dはプロセッサ、12は共有メモリ、13はデータ書き込みバス、15a〜15dはフラグ記憶部、16はフラグ書き込みバスを示す。

Claims (8)

  1. 複数のプロセッサ(11a〜11d)と、
    複数の前記プロセッサが共有する共有メモリ(12)と、
    前記プロセッサが前記共有メモリにデータを書き込むために用いるバスであって、複数の前記プロセッサが共有するデータ書き込みバス(13)と、
    前記プロセッサが同期ポイントまでの処理を完了したことを示す書き込みフラグを記憶する記憶部であって、前記プロセッサが前記共有メモリよりも高速にアクセス可能であり、複数の前記プロセッサにそれぞれ対応付けて設けられた複数のフラグ記憶部(15a〜15d)と、
    前記フラグ記憶部に前記書き込みフラグを書き込むためのフラグ書き込みバス(16)と、
    を備え、
    前記データ書き込みバスと前記フラグ書き込みバスが共通化されており、前記共有メモリにデータを書き込んだ後に前記フラグ記憶部に前記書き込みフラグを書き込むことを特徴とするデータ処理装置。
  2. 前記共有メモリにデータを書き込む際に前記プロセッサが前記データ書き込みバスに出力する情報を記憶する情報記憶部(22)をさらに備え、
    前記プロセッサが前記データ書き込みバスに出力する情報と前記情報記憶部に記憶されている情報とが一致する場合に、前記フラグ記憶部に前記書き込みフラグが書き込まれることを特徴とする請求項1に記載のデータ処理装置。
  3. 前記プロセッサは、前記共有メモリへのデータの書き込みを指令するデータ書き込み指令情報と、前記フラグ記憶部への書き込みフラグの書き込みを指令するフラグ書き込み指令情報とを連続して出力し、
    前記プロセッサが連続して出力する前記データ書き込み指令情報および前記フラグ書き込み指令情報を監視する情報監視部(34)をさらに備え、
    前記情報監視部は、前記データ書き込み指令情報に続いて前記フラグ書き込み指令情報が得られると、前記データ書き込み指令情報を前記情報記憶部に記憶することを特徴とする請求項2に記載のデータ処理装置。
  4. 自身が備える前記プロセッサによる前記共有メモリへのデータの書き込み要求を、他のデータ処理装置が備えるプロセッサによる前記共有メモリへのデータの書き込み要求よりも優先する優先部(41)をさらに備えることを特徴とする請求項1から3の何れか1項に記載のデータ処理装置。
  5. 前記フラグ記憶部に前記書き込みフラグが書き込まれた順番を記憶する処理順記憶部(51a〜51d)をさらに備えることを特徴とする請求項1から4の何れか1項に記載のデータ処理装置。
  6. 前記フラグ記憶部に前記書き込みフラグが書き込まれた時間を記憶する時間記憶部(61a〜61d)をさらに備えることを特徴とする請求項1から5の何れか1項に記載のデータ処理装置。
  7. 前記プロセッサが前記共有メモリにデータを書き込む前の状態であるのか書き込んだ後の状態であるのかを記憶する状態記憶部(71)と、
    前記フラグ記憶部への前記書き込みフラグの書き込みを許可する許可条件を記憶する条件記憶部(72a〜72d)と、をさらに備え、
    前記状態記憶部が記憶する前記プロセッサの状態と前記許可条件が一致する場合に、前記フラグ記憶部に前記書き込みフラグが書き込まれることを特徴とする請求項1から6の何れか1項に記載のデータ処理装置。
  8. 前記プロセッサに、前記共有メモリへのアクセス権を付与するアクセス権付与部(81)をさらに備え、
    前記プロセッサは、前記アクセス権が付与されていることを条件に、前記共有メモリにデータを書き込むことが可能となることを特徴とする請求項1から7の何れか1項に記載のデータ処理装置。
JP2015126553A 2015-06-24 2015-06-24 データ処理装置 Active JP6519343B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015126553A JP6519343B2 (ja) 2015-06-24 2015-06-24 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015126553A JP6519343B2 (ja) 2015-06-24 2015-06-24 データ処理装置

Publications (2)

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

Family

ID=57764382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015126553A Active JP6519343B2 (ja) 2015-06-24 2015-06-24 データ処理装置

Country Status (1)

Country Link
JP (1) JP6519343B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324576A (ja) * 1992-05-22 1993-12-07 Nec Corp プロセッサ間同期制御方式
JPH08263459A (ja) * 1995-03-22 1996-10-11 Nec Corp マルチプロセッサシステム
JPH1091589A (ja) * 1996-09-12 1998-04-10 Kofu Nippon Denki Kk プロセッサ間同期制御装置
JP2005071109A (ja) * 2003-08-25 2005-03-17 Hitachi Ltd マルチプロセッサシステムの同期方法
JP2009176116A (ja) * 2008-01-25 2009-08-06 Univ Waseda マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法
WO2011155027A1 (ja) * 2010-06-08 2011-12-15 富士通株式会社 メモリアクセス制御装置、マルチコアプロセッサシステム、メモリアクセス制御方法、およびメモリアクセス制御プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324576A (ja) * 1992-05-22 1993-12-07 Nec Corp プロセッサ間同期制御方式
JPH08263459A (ja) * 1995-03-22 1996-10-11 Nec Corp マルチプロセッサシステム
JPH1091589A (ja) * 1996-09-12 1998-04-10 Kofu Nippon Denki Kk プロセッサ間同期制御装置
JP2005071109A (ja) * 2003-08-25 2005-03-17 Hitachi Ltd マルチプロセッサシステムの同期方法
JP2009176116A (ja) * 2008-01-25 2009-08-06 Univ Waseda マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法
WO2011155027A1 (ja) * 2010-06-08 2011-12-15 富士通株式会社 メモリアクセス制御装置、マルチコアプロセッサシステム、メモリアクセス制御方法、およびメモリアクセス制御プログラム

Also Published As

Publication number Publication date
JP6519343B2 (ja) 2019-05-29

Similar Documents

Publication Publication Date Title
JP5498505B2 (ja) データバースト間の競合の解決
US8082420B2 (en) Method and apparatus for executing instructions
JPS5812611B2 (ja) デ−タテンソウセイギヨホウシキ
JP4874165B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
JP2005235135A (ja) ベクトル処理装置、及び、追い越し制御回路
JP4388005B2 (ja) コンテキスト切替え装置
US8458411B2 (en) Distributed shared memory multiprocessor and data processing method
US10409610B2 (en) Method and apparatus for inter-lane thread migration
JP2016024762A (ja) 情報処理装置、メモリ順序保障方法、及び、プログラム
JP4985452B2 (ja) ベクトル処理装置
US10303472B2 (en) Bufferless communication for redundant multithreading using register permutation
JP2005293596A (ja) データ要求のアービトレーション
JP6519343B2 (ja) データ処理装置
JP5505192B2 (ja) 競合試験装置
JP2005303718A (ja) マトリックス状バス接続システム
US20150052307A1 (en) Processor and control method of processor
JP2010092101A (ja) 情報処理装置
JP6206524B2 (ja) データ転送装置、データ転送方法、プログラム
US7877533B2 (en) Bus system, bus slave and bus control method
WO2018138975A1 (ja) 演算処理装置および情報処理システム
JP2004005710A (ja) 情報処置装置
WO2017036041A1 (zh) 数据的同步访问方法和同步访问装置
JP2011192024A (ja) 入出力制御装置
JPWO2012098812A1 (ja) マルチプロセッサシステム、マルチプロセッサ制御方法、及びプロセッサ
JP2008191856A (ja) 情報処理システム

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