JP5228552B2 - プロセス間通信機構 - Google Patents
プロセス間通信機構 Download PDFInfo
- Publication number
- JP5228552B2 JP5228552B2 JP2008069851A JP2008069851A JP5228552B2 JP 5228552 B2 JP5228552 B2 JP 5228552B2 JP 2008069851 A JP2008069851 A JP 2008069851A JP 2008069851 A JP2008069851 A JP 2008069851A JP 5228552 B2 JP5228552 B2 JP 5228552B2
- Authority
- JP
- Japan
- Prior art keywords
- index
- data
- communication mechanism
- inter
- processes
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Description
1: シミュレーション上の矛盾の排除
並列に動作するプロセス間通信にOS付属の通信機能などをそのまま使用した場合、2つのプロセスの動作順序によっては、まだ読み出すべきでない、シミュレーション時刻でみるところの未来のデータが読まれてしまう状況が発生する。
2: 高速性の確保
プロセス間通信に、書き込みや読み出しを行うデータの数の通信バッファを使用し, 同期処理中に通信バッファのコピーを行った場合,コピーデータ数およびそのコピー実行頻度が多いと 全シミュレーション時間中にプロセスの並列動作できない時間(=クリティカルパス)の割合が増え, シミュレーションの高速性が損なわれる。
本実施形態では、プロセスの実行周期である所定の周期間隔(コピー実行時間よりも充分長い時間周期たとえば、1ms)毎に, 書き込み側プロセス(procA)から読み出し側プロセス(procB)へデータを転送するプロセス間通信機構であり、 次のような機能を持つ。
・procA側で書き込んだ順に, procB側で読み出す。
・procA側で書き込んだデータは, procB側に送られるまでprocB上のモデルから読み出さない。
・procA側からは, 1ms区間に所定の個数, データを書き込む。
段数は所定のデータ数の2倍とする。所定のデータ数とは、1回のシミュレーション周期で、書き込みや読み出しを行いたいデータの量であり、シミュレーションの内容などによって適宜設定されるべきものである。リングバッファは、データの書き込み/読み出し量の単位量の領域(コマ)が複数接続された構成とする。
まず、Write-Terminal12をWrite-Index10から所定のデータ数分進んだ位置に配置する。すなわち、Write-Index10をWrite-Terminal12から書き込みを行いたいデータ量の分だけ進んだ位置に配置する。次に、Read-Terminal13をWrite-Index10の位置に配置する。以上の操作の結果, Read-Terminal13がRead-Index11の位置から所定のデータ数+1コマ分以上進んだ位置に配置された場合, バッファオーバーフローの処理を行う。
シミュレーションの周期が1msとした場合、データ転送処理を, n.99999999msのタイミングで動作させる。ここで、nは整数とする。
図4に従うと、シミュレーション全体は、シミュレーション(1ms:より一般には、シミュレーション周期:ステップS10)を行った後、バリア同期(A)(ステップS11)をとって、データ転送処理(ステップS12〜S14)をし、さらにバリア同期 (B)(ステップS15)をとって、シミュレーション(ステップS10)に戻るステップからなる。
図5に従うと、シミュレーション全体は、シミュレーション(1ms:より一般には、シミュレーション周期:ステップS20)を行い、バリア同期(A)(ステップS21)をとり、バリア同期(B)(ステップS22)をとるステップからなる。
ユーザーモデル内で行う書き込み処理は以下のとおりである。書き込みを開始すると、Write-IndexとWrite-Terminalの指し示す位置が同じか否かを判断し(ステップS30)、Yesの場合には、バッファオーバーフローとして異常終了する。Write-IndexとWrite-Terminalの指し示す位置が異なる場合、Write-Indexが指す位置へデータを書き込み(ステップS31)、Write-Indexの位置を1つ進め(ステップS32)、書き込み処理を終了する。
読み出し処理は以下のとおりである。Read-IndexとRead-Terminalの指し示す位置が同じか否かを判断し(ステップS40)、Yesの場合,バッファアンダーフローとして異常終了する。Read-IndexとRead-Terminalの指し示す位置が異なる場合,Read-Indexが指す位置からデータを読み出し(ステップS41)、Read-Indexの位置を1つ進める(ステップS42)。
11 Read-Index
12 Write-Terminal
13 Read-Terminal
Claims (5)
- 少なくとも2つのプロセスが並列に実行され、プロセス間でデータの通信を行う装置におけるプロセス間通信機構であって、
送信されるべきデータを書き込む領域を書き込み可能領域開始位置を示す第1のインデックスと書き込み可能領域終了位置を示す第2のインデックスで指定し、受信されるべきデータを読み出す領域を読み出し可能領域開始位置を示す第3のインデックスと読み出し可能領域終了位置を示す第4のインデックスで指定し、前記第1、第2、第3および第4のインデックスを配置し、前記第1のインデックスの位置を書き込み処理に応じて進め、前記第3のインデックスの位置を読み出し処理に応じて進め、前記第1のインデックスの位置が前記第2のインデックスの位置と一致した場合に書込みエラーになったとし、前記第3のインデックスの位置が前記第4のインデックスの位置と一致した場合に読み出しエラーになったとする、1回のプロセスの実行周期で送信されるデータ量の2倍のデータの格納容量を有するリングバッファを備え、
前のプロセスの実行周期と次のプロセスの実行周期との間の空き時間において、前記リングバッファを介して、書き込み側プロセスから読み出し側プロセスへ前記データを転送し、
更に前記リングバッファは前記転送周期毎に、前記第2のインデックスを前記第1のインデックスの位置から所定の数進んだ位置に配置し、前記第4のインデックスを前記第1のインデックスの位置に配置し、前記第4のインデックスの位置が前記第3のインデックスの位置より前記所定の数+1以上進んだ位置に配置された場合に前記リングバッファがオーバーフローになったとする、
ことを特徴とするプロセス間通信機構。 - 前記プロセス間通信機構は、ソフトウェアをシミュレートするプロセスと、ハードウェアをシミュレートするプロセスとを並列に実行し、動作を検証するハードウェア/ソフトウェア協調検証装置における機構であることを特徴とする請求項1に記載のプロセス間通信機構。
- 前記プロセスの実行周期は、通信のためのデータコピー実行時間よりも充分長い所定の周期であることを特徴とする請求項2に記載のプロセス間通信機構。
- 前記プロセスの実行周期において、プロセスの実行の開始と終了において、前記少なくとも2つのプロセスについてバリア同期を取ることを特徴とする請求項1に記載のプロセス間通信機構。
- 前記データのやり取りは、プロセスの終了のバリア同期の後、プロセスの開始のバリア同期の前に行われることを特徴とする請求項4に記載のプロセス間通信機構。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008069851A JP5228552B2 (ja) | 2008-03-18 | 2008-03-18 | プロセス間通信機構 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008069851A JP5228552B2 (ja) | 2008-03-18 | 2008-03-18 | プロセス間通信機構 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009223788A JP2009223788A (ja) | 2009-10-01 |
JP5228552B2 true JP5228552B2 (ja) | 2013-07-03 |
Family
ID=41240463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008069851A Expired - Fee Related JP5228552B2 (ja) | 2008-03-18 | 2008-03-18 | プロセス間通信機構 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5228552B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2908202B2 (ja) * | 1993-11-10 | 1999-06-21 | 甲府日本電気株式会社 | 論理シミュレータにおける同期装置と制御情報作成装置 |
JPH07210521A (ja) * | 1994-01-10 | 1995-08-11 | Mitsubishi Heavy Ind Ltd | リアルタイムシミュレーションシステム |
JP3573546B2 (ja) * | 1995-10-27 | 2004-10-06 | 富士通株式会社 | 並列計算機における並列プロセススケジューリング方法および並列計算機用処理装置 |
JP3492105B2 (ja) * | 1996-08-30 | 2004-02-03 | 株式会社東芝 | ハードウェア/ソフトウェア協調シミュレーション装置及びシミュレーション方法 |
JP3479623B2 (ja) * | 1999-12-28 | 2003-12-15 | 川崎重工業株式会社 | マイクロコンピュータ装置 |
JP2004094800A (ja) * | 2002-09-03 | 2004-03-25 | Toshiba Corp | プログラムシミュレーション装置およびプログラムシミュレーション方法 |
-
2008
- 2008-03-18 JP JP2008069851A patent/JP5228552B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009223788A (ja) | 2009-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4529063B2 (ja) | システムシミュレータ、シミュレーション方法及びシミュレーションプログラム | |
JP4667206B2 (ja) | マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法 | |
JP5595633B2 (ja) | シミュレーション方法及びシミュレーション装置 | |
JP4975544B2 (ja) | シミュレーション装置及びプログラム | |
US10275386B2 (en) | Memory physical layer interface logic for generating dynamic random access memory (DRAM) commands with programmable delays | |
MX2012005183A (es) | Linea de espera de comandos para componente periferico. | |
JP2008065640A (ja) | シミュレーション装置およびそのシミュレーション制御方法 | |
US8237683B2 (en) | Touch panel interface system used on touch panel, touch device, and method thereof | |
US11042500B1 (en) | Systems and methods for high-speed data transfer over a communication interface | |
JP2008282314A (ja) | シミュレータ、シミュレーション方法 | |
US20050055190A1 (en) | Circuit operation verification device and method | |
JP5228552B2 (ja) | プロセス間通信機構 | |
JP2011039781A (ja) | 協調シミュレーション装置及びシミュレーション方法 | |
JP2005141532A (ja) | システムデバッグ装置 | |
TWI242718B (en) | Method for dynamically arranging an operating speed of a microprocessor | |
JP6859878B2 (ja) | シミュレーションプログラム、方法、及び装置 | |
JP2000276502A (ja) | ソフトウエアシミュレータ | |
JP2009223762A (ja) | 協調検証装置 | |
JP2007018440A (ja) | アーキテクチャ検証装置 | |
JP4182321B2 (ja) | デュアルポートメモリシステム | |
JP2007156728A (ja) | 論理検証方法及び論理検証システム | |
JP2006227668A (ja) | メモリモデルとプログラムと論理回路検証方法 | |
JP6119442B2 (ja) | シミュレーション装置、シミュレーション装置の動作方法およびシミュレーションプログラム | |
JP3678656B2 (ja) | インタフェース回路、論理回路検証方法、論理装置、情報処理装置 | |
JP2006127017A (ja) | 論理検証手法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120420 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120717 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121015 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20121022 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130128 |
|
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: 20130219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130304 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5228552 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |