JP2004086615A - バス通信装置 - Google Patents

バス通信装置 Download PDF

Info

Publication number
JP2004086615A
JP2004086615A JP2002247530A JP2002247530A JP2004086615A JP 2004086615 A JP2004086615 A JP 2004086615A JP 2002247530 A JP2002247530 A JP 2002247530A JP 2002247530 A JP2002247530 A JP 2002247530A JP 2004086615 A JP2004086615 A JP 2004086615A
Authority
JP
Japan
Prior art keywords
data
interrupt
unit
block
interrupt factor
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.)
Pending
Application number
JP2002247530A
Other languages
English (en)
Inventor
Yoshihiro Yamaguchi
山口 喜弘
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002247530A priority Critical patent/JP2004086615A/ja
Publication of JP2004086615A publication Critical patent/JP2004086615A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】汎用性に優れた構成でバス通信が可能なバス通信装置を提供することを目的とする。
【解決手段】データデータ転送元のCPU21は、自メモリにデータを書き込み(S301)、書き込み完了後、CPU22に対して割り込みを発生する(S302)。割り込みを受信したCPU22は、CPU21の自メモリにアクセスし、そのメモリに書き込まれたデータを読み込む(S303)。
【選択図】 図3

Description

【0001】
【発明の属する技術分野】
本発明は、複数のプロセッサユニットを備えたバス通信装置に関する。
【0002】
【従来の技術】
従来のバス通信装置におけるバス通信は、主にハードウェアにて行われており、その一例として、特開平5−89056号公報に記載されている技術がある。この公報に記載のバス通信方式は、送信側のプロセッサユニット内のCPUが、同プロセッサユニット内の通信制御装置に送信データを送り、通信制御装置が、その送信データをデータ転送先のプロセッサユニット内の通信制御装置に対して送信することでバス通信を行っている。即ち、従来のバス通信方式は、データ通信を通信制御装置によって行うことでバス通信を実現していた。
【0003】
【発明が解決しようとする課題】
上記の通信制御装置は、その構成が通信に限定したハードウェアである。したがって、このハードウェアの通信制御装置は、データ通信以外には利用されることはなく、バス通信装置の汎用性が低くなってしまうという問題点があった。
【0004】
本発明は、上記問題点に鑑みて為されたものであって、汎用性に優れた構成でバス通信が可能なバス通信装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明のバス通信装置は、プロセッサ及び前記プロセッサに接続されるメモリを有する複数のプロセッサユニットと、前記複数のプロセッサユニットに接続される通信バスとを備え、前記通信バスを介して前記複数のプロセッサユニット間でデータの通信を行うバス通信装置であって、前記メモリは、各プロセッサユニット内の前記プロセッサによって読み込み及び書き込み可能であり、前記通信バスを介して転送されるデータの転送元の前記プロセッサをマスタ、当該データの転送先のプロセッサをスレーブとし、前記マスタは、前記データを前記メモリに書き込むデータ書き込み手段と、所定のタイミングで前記スレーブに対して割り込みを発生する割り込み発生手段とを備え、前記スレーブは、前記割り込みに基づいて、前記データが記録されているメモリから当該データを読み込むデータ読み込み手段を備えることを特徴とする。
【0006】
本発明によれば、マスタがメモリにデータを書き込み、そのメモリに書き込まれたデータをスレーブが読み込むことによって、マスタからスレーブへとデータが転送される。このようにすることで、データを転送する為のハードウェアをバス通信装置に別途に設ける必要が無くなる。又、各プロセッサから書き込みや読み込み可能なメモリは、データ転送以外の用途(データの共有化等)にも利用することができる為、汎用性に優れた構成でバス通信が可能なバス通信装置を提供することができる。
【0007】
更に、本発明のバス通信装置は、前記メモリは、割り込み要因を記録する割り込み要因記録部を備え、前記マスタは、前記割り込み発生手段が前記割り込みを発生する前に、前記データが書き込まれたことを示す書き込み割り込み要因を前記割り込み要因記録部に書き込む、書き込み割り込み要因書き込み手段を備え、前記スレーブの前記データ読み込み手段は、前記割り込みをトリガとして、前記割り込み要因記録部に記録されている前記書き込み割り込み要因に基づいて、前記データを読み込むことを特徴とする。
【0008】
本発明によれば、マスタがメモリにデータを書き込み、そのメモリに書き込まれたデータをスレーブが読み込むことによって、マスタからスレーブへとデータが転送される。このようにすることで、データを転送する為のハードウェアをバス通信装置に別途に設ける必要が無くなる。又、各プロセッサから書き込みや読み込み可能なメモリは、データ転送以外の用途(データの共有化等)にも利用することができる為、汎用性に優れた構成でバス通信が可能なバス通信装置を提供することができる。
【0009】
更に、本発明のバス通信装置は、前記メモリは、割り込み要因を記録する割り込み要因記録部を備え、前記マスタは、前記スレーブと通信同期をとる為の要求を示す通信同期要求割り込み要因を前記割り込み要因記録部に書き込む通信同期要求割り込み要因書き込み手段を備え、前記マスタの前記割り込み発生手段は、前記通信同期要求割り込み要因が書き込まれた後に前記スレーブに割り込みを発生し、前記スレーブは、当該割り込みをトリガとして、前記割り込み要因記録部に記録されている前記通信同期要求割り込み要因に基づいて、前記通信同期要求に応じたことを示す通信同期要求対応割り込み要因を前記割り込み要因記録部に書き込む通信同期要求対応割り込み要因書き込み手段と、前記通信同期要求対応割り込み要因が書き込まれると、前記マスタに割り込みを発生する割り込み発生手段とを備え、前記マスタの前記データ書き込み手段は、前記スレーブの前記割り込み発生手段からの前記割り込みをトリガとして、前記割り込み要因記録部に記録されている前記通信同期要求対応割り込み要因に基づいて、前記データの書き込みを開始することを特徴とする。
【0010】
この構成により、マスタとスレーブの通信同期がとれてから、マスタからスレーブへとデータの転送が行われる為、データの書き込み待ちや読み込み待ちといった時間のロスをなくすことができる。
【0011】
更に、本発明のバス通信装置は、前記メモリが、前記データを記録する複数のブロックを有し、各ブロックは、当該各ブロックへの前記データの書き込みの可否を示す書き込み可否情報を記録する書き込み可否情報記録部を備え、前記マスタの前記データ書き込み手段は、前記書き込み可否情報に基づいて、前記データを書き込み可能なブロックに前記データを書き込むものであり、前記マスタは、前記データが書き込まれたブロックについて、前記書き込み可否情報記録部に記録されている書き込み可否情報を変更する書き込み可否情報変更手段を備え、前記スレーブの前記データ読み込み手段は、前記書き込み可否情報に基づいて、前記データが記録されているブロックから当該データを読み込むものであり、前記スレーブは、前記データが読み込まれたブロックについて、前記書き込み可否情報記録部に記録されている書き込み可否情報を変更する書き込み可否情報変更手段を備えることを特徴とする。
【0012】
この構成により、書き込み可否情報に基づいて、書き込み可能なブロックや書き込み不可能なブロックを判断することが可能となる。この為、書き込み可能なブロックが複数あった場合に、それらのブロックに複数のデータを同時に書き込み、スレーブ側で、その複数のデータを同時に読み込むことといったことが可能となる。
【0013】
更に、本発明のバス通信装置は、前記メモリが、前記データを記録する複数のブロックと、前記データの書き込み先ブロックの番号を記録する書き込みブロック番号記録部と、前記データの読み込み先ブロックの番号を記録する読み込みブロック番号記録部とを備え、前記マスタの前記データ書き込み手段は、前記書き込みブロック番号記録部に記録されている前記番号のブロックに前記データを書き込むものであり、前記マスタは、当該ブロックに前記データが書き込まれると、前記書き込みブロック番号記録部に記録する前記番号を更新するブロック番号更新手段を備え、前記スレーブの前記データ読み込み手段は、前記読み込みブロック番号記録部に記録されている前記番号のブロックから前記データを読み込むものであり、前記スレーブは、当該ブロックから前記データが読み込まれると、前記読み込みブロック番号記録部に記録する前記番号を更新するブロック番号更新手段を備えることを特徴とする。
【0014】
この構成により、データを書き込むブロック及びデータを読み込むブロックを高速に決定できる為、バス通信を高速に行うことができる。
【0015】
更に、本発明のバス通信装置は、前記ブロックが、データを記録するデータ記録部と、前記ブロックに記録される前記データに関する所定の情報を記録するデータ情報記録部とを備え、前記マスタは、前記データを当該データ記録部の記録容量に合わせて分割するデータ分割手段を備え、前記マスタの前記データ書き込み手段は、前記分割されたデータを前記ブロックに書き込むと共に、当該分割されたデータに関する前記所定の情報を前記データ情報記録部に書き込むものであり、前記スレーブの前記データ読み込み手段は、前記ブロックに記録されている前記分割されたデータ及び前記データ情報記録部に記録されている前記所定の情報を読み込むものであり、前記スレーブは、前記分割されたデータ及び前記所定の情報に基づいて、前記分割されたデータを結合するデータ結合手段を備えることを特徴とする。
【0016】
この構成により、ブロック内のデータが記録される部分の容量に合わせてデータを分割することで、メモリのブロックを有効に活用できる為、メモリ使用効率を上げることができる。
【0017】
更に、本発明のバス通信装置は、前記マスタの前記割り込み発生手段が、前記分割されたデータ及び前記所定の情報が前記ブロックに全て書き込まれた後に、前記割り込みを発生し、前記スレーブの前記データ読み込み手段は、当該割り込みに基づいて、前記データ及び前記所定の情報を読み込むことを特徴とする。
【0018】
この構成により、マスタからスレーブに対して発生する割り込みの回数を1回にすることができる為、バス通信にかかる時間を短縮することができる。
【0019】
更に、本発明のバス通信装置は、前記スレーブが、前記データ読み込み手段によって前記データ及び前記所定の情報を読み込まれた後に、前記分割されたデータの読み込みが完了したことを通知する為の読み込み完了通知割り込み要因を前記割り込み要因記録部に書き込む、読み込み完了通知割り込み要因書き込み手段を備え、前記スレーブの前記割り込み発生手段は、前記読み込み完了通知割り込み要因が書き込まれると前記マスタに対して前記割り込みを発生し、前記マスタは、前記スレーブの前記割り込み発生手段からの前記割り込みに基づいて、前記割り込み要因記録部に記録されている前記割り込み要因の内容を判定する割り込み要因判定手段を備えることを特徴とする。
【0020】
この構成により、スレーブにデータが読み込まれたことをマスタが判断できる為、データ転送におけるデータ落ち等に、マスタが対応することができる。
【0021】
更に、本発明のバス通信装置は、前記マスタが、前記書き込みブロック番号及び前記読み込みブロック番号に基づいて、前記データの書き込みが可能なブロック数を算出する書き込み可能ブロック数算出手段を備え、前記書き込み可能なブロック数に応じて、前記スレーブへの前記データの転送を制御し、前記スレーブは、前記書き込みブロック番号及び前記読み込みブロック番号に基づいて、前記データの読み込みが完了したブロック数を算出する読み込み済みブロック数算出手段を備え、前記読み込み済みブロック数に応じて前記マスタの前記データの転送を制御することを特徴とする。
【0022】
この構成により、データ転送先の状態に応じてデータの転送を制御することができる。
【0023】
更に、本発明のバス通信装置は、前記マスタが、前記共有メモリの書き込み可能ブロック数の不足により書き込むことができなかったデータを一時的に保存するデータ保存手段を備え、前記共有メモリの書き込み可能ブロック数が、当該データの書き込みが可能な数になった場合に、前記マスタは、前記データ保存手段に保存されているデータを前記書き込み可能なブロックに書き込むことを特徴とする。
【0024】
この構成により、転送できなかったデータを保持しておくことで、マスタにおける処理を効率良く行うことができる。
【0025】
更に、本発明のバス通信装置は、前記割り込み要因記録部に記録される各種割り込み要因が、当該割り込み要因記録部にビット毎に記録されることを特徴とする。
【0026】
この構成により、割り込み要因がビット毎に記録される為、ビット毎に割り込み要因を判断可能になり、各割り込み要因の判断を高速に行うことができる。この結果、バス通信を高速に行うことができる。
【0027】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
(第一実施形態)
図1は、第一実施形態に係るバス通信装置の構成図である。
同図に示したように、バス通信装置1は、CPU101と共有メモリ102が実装された基板100、CPU201と共有メモリ202が実装された基板200、及びCPU301と共有メモリ302が実装された基板300を備えて構成される。共有メモリ101、202、及び302は、各CPUによってデータの読み出しや書き込みが可能な共有メモリである。基板100、200、及び300はマルチマスタバス10に接続される。
【0028】
尚、各CPUは特許請求の範囲のプロセッサに該当し、各共有メモリは特許請求の範囲のメモリに該当し、各基板は特許請求の範囲のプロセッサユニットに該当する。
【0029】
又、本実施形態では、説明を簡略にする為、基板の数を3つとしているが、この数はこれに限らず、複数個の基板を備えた構成であれば良い。更に、図1に示した構成は、以下に説明する全ての実施形態について共通の構成である。
【0030】
図2は、第一実施形態に係るバス通信装置のデータデータ転送元のCPUとデータデータ転送先のCPUの内部構成図である。
同図に示したように、データデータ転送元のCPU21は、CPU21自身と同じ基板に実装されている共有メモリ(以下、自メモリという)にデータを書き込む自メモリデータ書き込み部211及び自メモリデータ書き込み部211によるデータの書き込み完了後に、データデータ転送先のCPU22に対して割り込みを発生する割り込み発生部212を備える。
【0031】
データデータ転送先のCPU22は、CPU21からの割り込みを受信する割り込み受信部222及びCPU21の自メモリ(他基板上の共有メモリ、以下他メモリという)からバス10を介してデータを読み込む他メモリデータ読み込み部221を備える。
【0032】
次に、バス通信装置1におけるバス通信の動作について説明する。
図3は、第一実施形態に係るバス通信装置におけるバス通信の動作の流れを説明するシーケンスチャートである。
データデータ転送元のCPU21は、自メモリにデータを書き込み(S301)、書き込み完了後、CPU22に対して割り込みを発生する(S302)。割り込みを受信したCPU22は、CPU21の自メモリにアクセスし、そのメモリに書き込まれたデータを読み込む(S303)。
【0033】
以上説明したように、本実施形態によれば、データ転送元のCPU21が自メモリにデータを書き込んで割り込みを発生し、その割り込みを受信したデータ転送先のCPU22が、他メモリに書き込まれたデータを読み込む。このようにすることで、メモリの読み込みや書き込みといった処理によりバス通信を実現することができる。
共有メモリへの読み込みや書き込み機能は、データ通信に限定した機能ではない為、汎用性に優れた構成でバス通信を行うことができる。
【0034】
(第二実施形態)
第一実施形態で説明したバス通信装置において各CPUの通信タイミングが異なる場合、通信タイミングの同期をとることができず、バス通信が正常に行われない可能性がある。そこで、本実施形態では、CPUの通信タイミングの同期をとることが可能なバス通信装置について説明する。
【0035】
図4は、第二実施形態に係るバス通信装置の各CPUに接続される共有メモリのメモリ構成図である。
同図に示したように、共有メモリは、データが記録されるデータ記録部41及び割り込み要因が記録される割り込み要因記録部45を備える。
【0036】
割り込み要因記録部45は、通信同期をとる為の割込み要因である通信同期割込み要因が記録される通信同期割込み要因記録部42、通信同期をとったことを通知する為の割込み要因である通信同期完了割込み要因が記録される通信同期完了割込み要因記録部43、及びデータを転送する為の割込み要因である転送割込み要因が記録される転送割込み要因記録部44から構成される。
【0037】
図5は、第二実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。
【0038】
データ転送元のCPU51は、通信同期割込み要因設定部511、割込み要因判別部512、自メモリデータ書き込み部513、転送割込み要因設定部514、割込み発生部515、及び割り込み受信部516を備える。
【0039】
通信同期割込み要因設定部511は、通信同期割込み要因を自メモリに書き込んで設定する。割込み要因判別部512は、割り込み受信後に、自メモリの割り込み要因記録部45に記録されている割込み要因を判別する。自メモリデータ書き込み部513は、自メモリの割り込み要因記録部45に記録されている割込み要因が通信同期完了割込み要因であると判別されたときに、自メモリのデータ記録部41にデータを書き込む。転送割込み要因設定部514は、自メモリにデータが書き込まれた後、転送割込み要因を自メモリの転送割り込み要因記録部44に書き込んで設定する。割込み発生部515は、通信同期割込み要因又は転送割込み要因を自メモリの割り込み要因記録部45に設定完了後、他のCPUに対して割り込みを発生する。割り込み受信部516は、他のCPUからの割り込みを受信する。
【0040】
データデータ転送先のCPU52は、通信同期完了割込み要因設定部521、割込み要因判別部522、他メモリデータ読み込み部523、割り込み発生部525、及び割り込み受信部526を備える。
【0041】
割込み要因判別部522は、割り込み受信後に、他メモリの割り込み要因記録部45に設定されている割込み要因を判別する。通信同期完了割込み要因設定部521は、他メモリの割り込み要因記録部45に設定されている割込み要因が通信同期割込み要因であると判別されたときに、通信同期完了割込み要因を他メモリの通信同期完了割込み要因記録部43に書き込んで設定する。割り込み受信部526は、他のCPUからの割り込みを受信する。割り込み発生部525は、通信同期完了割込み要因設定後に他のCPUに対して割り込みを発生する。他メモリデータ読み込み部523は、他メモリの割り込み要因記録部45に設定されている割込み要因が転送割込み要因であると判別されたときに、他メモリのデータ記録部41に書き込まれているデータを読み込む。
【0042】
次に、本実施形態に係るバス通信装置において各CPUの通信同期をとる際の動作について説明する。
図6は、第二実施形態に係るバス通信装置において、各CPUの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
データ転送元のCPU51は、通信同期割込み要因を自メモリに設定し(S601)、CPU52に対して割り込みを発生する(S602)。割り込みを受信したCPU52は、CPU51の自メモリに設定されている割込み要因を判別する(S603)。設定されている割込み要因が通信同期割込み要因である為、CPU52は、CPU51との通信同期をとった後、通信同期完了割込み要因をCPU51の自メモリに設定し(S604)、CPU51に対して割り込みを発生する(S605)。割り込みを受信したCPU51は、自メモリに設定されている割込み要因を判別する(S606)。設定されている割込み要因が通信同期完了割込み要因である為、CPU51は、CPU52との通信同期がとれたことを確認し、CPU51の自メモリにデータを書き込む(S607)。
【0043】
データ書き込み完了後、CPU51は、転送割込み要因を自メモリに書き込んで設定し(S608)、CPU52に対して割込みを発生する(S609)。割込みを受信したCPU52は、CPU51の自メモリに設定されている割込み要因を判別する(S610)。設定されている割込み要因が転送割込み要因である為、CPU52は、CPU51の自メモリからデータを読み込む(S611)。
【0044】
以上説明したように、本実施形態によれば、各CPUの通信タイミングが異なる場合でも、通信タイミングの同期をとってからバス通信を開始する為、データの書き込み待ちや読み込み待ちといった時間のロスを無くすことができる。
【0045】
(第三実施形態)
第三実施形態に係るバス通信装置は、第二実施形態で説明したバス通信装置より更に高速にバス通信が可能な構成としたものである。
図7は、第三実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。尚、図5に示した構成と同様のものについては同一符号を付して説明を省略する。
【0046】
図7に示したように、データデータ転送元のCPU71は、通信同期割込み要因設定部511、割込み要因判別部512、他メモリのデータ記録部41にデータを書き込む他メモリデータ書き込み部713、転送割込み要因を他メモリの転送割り込み要因記録部44に書き込んで設定する転送割込み要因設定部714、割込み発生部515、及び割込み受信部516を備える。
【0047】
データ転送先のCPU72は、通信同期完了割込み要因設定部521、割り込み受信後に、自メモリに設定されている割込み要因を判別する割込み要因判別部722、自メモリの割り込み要因記録部45に設定されている割込み要因が転送割込み要因であるときに、自メモリのデータ記録部41に書き込まれているデータを読み込む自メモリデータ読み込み部723、割り込み発生部525、及び割込み受信部526を備える。
【0048】
図8は、第三実施形態に係るバス通信装置において、各CPUの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。尚、各CPUの通信同期をとるまでの動作は、図6に示したS601〜S606までと同様である為、図8では、図示を省略している。
【0049】
各CPUの通信同期がとれた後、CPU71はCPU72の自メモリにデータを書き込み(S807)、転送割込み要因をCPU72の自メモリに設定する(S808)。転送割込み要因設定完了後、CPU71は、CPU72に対して割り込みを発生する(S809)。割り込みを受信したCPU72は、自メモリに設定されている割込み要因を判別する(S810)。自メモリに設定されている割込み要因が転送割込み要因である為、CPU72は、自メモリに書き込まれているデータを読み込み(S811)、データ転送が終了する。
【0050】
本実施形態に用いるマルチマスタバス10が、PCI等のマルチマスタバスである場合、バス上でのメモリアクセスは、読み込みに対して書き込みの方が高速にアクセス可能である。この為、本実施形態のように、データ転送元のCPU71が、データ及び転送割込み要因を他メモリに書き込む構成とすることで、CPU71は高速にデータ及び転送割込み要因を書き込むことができる。又、CPU72は、データと転送割込み要因を自メモリから読み込めばよい為、他メモリからデータを読み込むよりも高速にデータを読み込むことができる。この結果、高速にバス通信を行うことができる。
【0051】
(第四実施形態)
本実施形態に係るバス通信装置は、第二実施形態で説明した通信同期割込み要因設定部511、割込み要因判別部512、転送割込み要因設定部514、割込み要因判別部522、及び通信同期完了割込み要因設定部521が、それぞれ割込み要因を判別したり設定したりする際に、割込み要因の判別又は設定を排他制御を行いながらビット毎に設定する構成としたものである。
【0052】
図9は、第四実施形態に係るバス通信装置の各CPUに接続されている共有メモリのメモリ構成図、図10は、第四実施形態に係るバス通信装置の各CPUに接続されている共有メモリのメモリ構成図における割込み要因ビット記録部の内部構成図である。
【0053】
図9に示したように、共有メモリは、データが記録されるデータ記録部91及び割込み要因がビットで示された割込み要因ビット記録部92から構成される。図10に示したように、割込み要因ビット記録部92は、複数のビットから構成され、これらのビットには、転送割込み要因を設定する為の転送割込み要因ビット921、通信同期完了割込み要因を設定する為の通信同期完了割込み要因ビット922、及び通信同期割込み要因を設定する為の通信同期割込み要因ビット923が含まれる。割り込み要因が設定されているビットは“1”に、設定されていないビットは“0”となっている。この為、各ビットの数値を判別することで、設定されている割込み要因の内容を判別することができる。
【0054】
図11は、第四実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。尚、図5と同様の構成には同一符号を付して説明を省略する。
同図に示したように、データ転送元のCPU111は、通信同期割込み要因ビット設定部1111、割込み要因ビット判別部1112、自メモリデータ書き込み部513、転送割込み要因ビット設定部1114、割込み発生部515、及び割込み受信部516を備える。
【0055】
通信同期割込み要因ビット設定部1111は、通信同期割込み要因ビットを排他制御を行いながら自メモリの通信同期割り込み要因ビット923に設定する。割込み要因ビット判別部1112は、割り込み受信後、自メモリの割り込み要因ビット記録部92に設定されている割込み要因ビットを排他制御を行いながらビット毎に判別する。転送割込み要因ビット設定部1114は、転送割込み要因ビットを排他制御を行いながら自メモリの転送割り込み要因ビット記録部921に設定する。
【0056】
データ転送先のCPU112は、通信同期完了割込み要因ビット設定部1121、割込み要因ビット判別部1122、他メモリデータ読み込み部523、割込み発生部525、及び割込み受信部526を備える。
【0057】
割込み要因ビット判別部1122は、割り込み受信後、他メモリの割り込み要因ビット記録部92に設定されている割込み要因ビットを排他制御を行いながらビット毎に判別する。通信同期完了割込み要因ビット設定部1121は、通信同期完了割込み要因ビットを排他制御を行いながら他メモリの通信同期完了割込み要因ビット記録部92に設定する。
【0058】
尚、第四実施形態に係るバス通信装置の動作は、第二実施形態で説明したバス通信装置において、通信同期割込み要因設定部511、転送割込み要因設定部514、及び通信同期完了割込み要因設定部521が、各種割込み要因を共有メモリにビット単位で設定し、設定された各種割り込み要因を割込み要因判別部512及び522がビット単位で判別すること以外は、図6に示したシーケンスと同様である為、その説明は省略する。
【0059】
以上説明したように、本実施形態によれば、各種割込み要因を共有メモリにビット単位で設定し、設定された各種割り込み要因をビット単位で判別することで、割込み要因の判別を高速に行うことができる為、バス通信を高速に行うことができる。
【0060】
尚、本実施形態で説明したバス通信装置の構成と第三実施形態で説明したバス通信装置の構成(割り込み要因やデータの書き込みをデータ転送元のCPUの自メモリではなく、データ転送先のCPUの自メモリに行う構成)とを組み合わせることも可能である。
【0061】
(第五実施形態)
第五実施形態に係るバス通信装置は、第三実施形態で説明したバス通信装置において、データ転送元のCPUが、複数のデータを同時に他メモリに書き込むことができる構成としたものである。
【0062】
図12は、第五実施形態に係るバス通信装置の各CPUに接続される共有メモリの内部構成図である。尚、図4と同様の構成には同一符号を付して説明を省略する。
同図に示したように、データ記録部121は、n個のブロックから構成される。尚、各ブロックには1〜nの番号が割り当てられる。各ブロックは、データを記録するデータ記録部122及びデータ記録部122にデータが記録可能かどうかを示すブロック記録可能フラグが設定されるブロック記録可能フラグ記録部123を備える。ブロック使用記録フラグは“0”と“1”の1ビットデータであり、例えば、データ記録部122にデータが記録可能な場合は“0”に、データ記録部122にデータが記録不可能な場合は“1”に設定される。
【0063】
図13は、第五実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。尚、図7と同様の構成には同一符号を付して説明を省略する。
【0064】
図13に示したように、データ転送元CPU131は、通信同期割込み要因設定部511、割込み要因判別部512、他メモリデータブロック書き込み部1317、書き込み可能ブロック検索部1318、ブロック記録可能フラグ設定部1319、転送割込み要因設定部714、割込み発生部515、及び割込み受信部516を備える。
【0065】
書き込み可能ブロック検索部1318は、ブロック記録可能フラグが“0”に設定されている他メモリのブロック(記録可能なブロック)を検索する。ブロック記録可能フラグ設定部1319は、他メモリの書き込み可能ブロックのデータ記録部122にデータが記録された後に、そのブロックのブロック記録可能フラグを“0”から“1”に設定する。他メモリブロックデータ書き込み部1317は、他メモリの書き込み可能ブロックのデータ記録部122にデータを書き込む。
【0066】
尚、他メモリブロックデータ書き込み部1317は、データ転送先CPU132に転送すべきデータが複数ある場合、各データをそれぞれ複数の記録可能ブロックに書き込むことで、複数のデータを同時に他メモリに書き込むことができる。
【0067】
データ転送先CPU132は、通信同期完了割込み要因設定部521、割込み要因判別部722、自メモリデータブロック読み込み部1327、読み込み可能ブロック検索部1328、ブロック記録可能フラグ設定部1329、割り込み発生部525、及び割込み受信部526を備える。
【0068】
読み込み可能ブロック検索部1328は、割込み要因判別部722で判別された割込み要因が転送割込み要因である場合に、ブロック記録可能フラグが“1”に設定されている自メモリのブロック(データが記録されているブロック)を検索する。ブロック使用記録フラグ設定部1329は、自メモリブロックデータ読み込み部1327が読み込んだブロックのブロック記録可能フラグを“1”から“0”に設定する。自メモリブロックデータ読み込み部1327は、ブロック記録可能フラグが“1”に設定されている自メモリのブロックのデータ記録部122からデータを読み込む。
【0069】
図14は、第五実施形態に係るバス通信装置におけるバス通信の動作の流れを説明するシーケンスチャートである。尚、各CPUの通信同期をとるまでの動作は、図6に示したS601〜S606までと同様である為、図14では、図示を省略している。
【0070】
各CPUの通信同期がとれた後、データ転送元CPU131は、書き込み可能ブロック検索部1318によって他メモリの書き込み可能ブロックを検索し(S1407)、検索された他メモリの複数の書き込み可能ブロックに複数のデータを同時に書き込む(S1408)。データの書き込み完了後、ブロック記録可能フラグ設定部1319により、データが書き込まれた他メモリのブロックのブロック記録可能フラグが“0”から“1”へと設定される(S1409)。
【0071】
ブロック記録可能フラグ設定完了後、CPU131は、転送割込み要因を他メモリに設定し(S1410)、CPU132に対して割込みを発生する(S1411)。割込みを受信したCPU132は、自メモリに設定されている割込み要因を判別する(S1412)。自メモリに設定されている割込み要因が転送割込み要因である為、CPU132では、読み込み可能ブロック検索部1328により自メモリの読み込み可能ブロックが検索され(S1413)、検索の結果、自メモリブロックデータ読み込み部1327によって、自メモリの読み込み可能な複数のブロックからデータが読み込まれる(S1414)。複数のデータが各ブロックから読み込まれると、その各ブロックのブロック記録可能フラグが“1”から“0”に設定される(S1415)。
【0072】
以上説明したように、本実施形態によれば、共有メモリをn個のブロックに分割して構成し、バス通信時には、データが記録可能なブロックにデータを書き込むことでデータの転送を行っている。この為、データが複数ある場合でも、複数の記録可能なブロックにデータを書き込むことで、複数のデータを同時に転送することが可能となる。
【0073】
尚、本実施形態で説明したバス通信装置の構成と第二及び第四実施形態で説明したバス通信装置の構成(データや割り込み要因の書き込みをデータ転送元のCPUの自メモリに行う構成、各種割り込み要因をビット毎に設定する構成)とを組み合わせることも可能である。
【0074】
(第六実施形態)
第六実施形態に係るバス通信装置は、第三実施形態で説明したバス通信装置において、データを書き込む位置とデータを読み込む位置とを高速に決定できる構成としたものである。
【0075】
図15は、第六実施形態に係るバス通信装置の各CPUに接続される共有メモリの内部構成図である。尚、図12と同様の構成には同一符号を付して説明を省略する。
同図に示したように、共有メモリは、書き込みブロック番号記録部151、読み込みブロック番号記録部152、データ記録部153、通信同期割込み要因記録部42、通信同期完了割込み要因記録部43、及び転送割込み要因記録部44から構成される。
【0076】
データ記録部153はn個のブロックから構成され、それぞれのブロックには1〜nの番号が付与されている。又、各ブロックは、データを記録するデータ記録部154を備える。書き込みブロック番号記録部151は、データを共有メモリに書き込む際に、どのブロックに書き込むかを指定する為の書き込みブロック番号が記録される。読み込みブロック番号記録部152は、データを共有メモリから読み込む際に、どのブロックから読み込むかを指定する為の読み込みブロック番号が記録される。
【0077】
尚、書き込みブロック番号記録部151と読み込みブロック番号記録部152に記録されるブロック番号はそれぞれ更新可能である。例えば、書き込みブロック番号が1に設定されている場合、更新後の書き込みブロック番号は2になる。又、書き込みブロック番号がnまで進むと、その次の更新時には、書き込みブロック番号は1に戻るというサイクリック構造をとる。尚、読み込みブロック番号記録部152も同様の構造をとる。
【0078】
図16は、第六実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。尚、図7に示した構成と同様のものには同一符号を付して説明を省略する。
【0079】
図16に示したように、データ転送元CPU161は、通信同期割込み要因設定部511、割込み要因判別部512、他メモリブロックデータ書き込み部1617、書き込みブロック番号決定部1618、書き込みブロック番号更新部1619、転送割込み要因設定部714、割込み発生部515、及び割込み受信部516を備える。
【0080】
書き込みブロック番号決定部1618は、データを書き込む他メモリのブロック番号を、他メモリの書き込みブロック番号記録部151を参照して決定する。書き込みブロック番号更新部1619は、書き込みブロック番号決定部1618によって決定された番号のブロックにデータが書き込まれた後に、共有メモリの書き込みブロック番号記録部151に記録される書き込みブロック番号を更新する。他メモリデータブロック書き込み部1617は、書き込みブロック番号決定部1618によって取得された番号のブロックにデータを書き込む。
【0081】
データ転送先CPU162は、通信同期完了割込み要因設定部521、割込み要因判別部722、自メモリブロックデータ書き込み部1627、読み込みブロック番号決定部1628、読み込みブロック番号更新部1629、割り込み発生部525、及び割込み受信部526を備える。
【0082】
読み込みブロック番号決定部1628は、割込み要因判別部722で判別された割込み要因が転送割込み要因である場合に、データ読み込み先の自メモリのブロック番号を、自メモリの読み込みブロック番号記録部152から取得する。読み込みブロック番号更新部1629は、読み込みブロック番号決定部1628によって決定されたブロックからデータが読み込まれた後に、共有メモリの読み込みブロック番号記録部152に記録される読み込みブロック番号を更新する。自メモリデータブロック読み込み部1627は、読み込みブロック番号決定部1628によって決定された番号のブロックからデータを読み込む。
【0083】
図17は、第六実施形態に係るバス通信装置において、各CPUの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。尚、各CPUの通信同期をとるまでの動作は、図6に示したS601〜S606までと同様である為、図17では図示を省略している。
【0084】
各CPUの通信同期がとれた後、データ転送元CPU161では、書き込みブロック番号決定部1618が、他メモリの書き込みブロック番号記録部151を参照して書き込みブロックを決定する(S1707)。CPU161では、他メモリブロックデータ書き込み部1617によって、決定されたブロック(ブロック1とする)にデータが書き込まれる(S1708)。データ書き込み完了後、書き込みブロック番号更新部1619によって、他メモリの書き込みブロック番号記録部151に記録されている書き込みブロック番号が1から2に更新される(S1709)。書き込みブロック番号更新後、CPU161は、転送割込み要因を他メモリに設定し(S1710)、CPU162に対して割り込みを発生する(S1711)。
【0085】
割り込みを受信したCPU162は、自メモリに設定されている割込み要因を判別する(S1712)。自メモリに設定されている割込み要因が転送割込み要因である為、データが自メモリに書き込まれているとCPU162が判断し、読み込みブロック番号決定部1628によって自メモリの読み込みブロック番号記録部152が参照されて読み込みブロック番号が決定される(S1713)。読み込みブロック番号が決定されると、自メモリブロックデータ読み込み部1627によって、決定されたブロック(ブロック1)からデータが読み込まれる(S1714)。その後、読み込みブロック番号更新部1629によって、自メモリの読み込みブロック番号記録部152に記録されている読み込みブロック番号が1から2に更新される(S1715)。
【0086】
以上説明したように、本実施形態によれば、各CPUに接続される共有メモリに書き込みブロック番号記録部151と読み込みブロック番号記録部152を設け、指定された書き込みブロック番号や読み込みブロック番号に基づいて、データの書き込みや読み込みを行う。この為、データの書き込みブロックや読み込みブロックを高速に決定することができ、バス通信を高速に行うことができる。
【0087】
尚、本実施形態で説明したバス通信装置の構成と第二、第四実施形態で説明したバス通信装置の構成(データや割り込み要因の書き込みをデータ転送元のCPUの自メモリに行う構成、各種割り込み要因をビット毎に設定する構成)とを組み合わせることも可能である。
【0088】
(第七実施形態)
第七実施形態に係るバス通信装置は、第六実施形態で説明したバス通信装置において、データを分割して他メモリに書き込む構成としたものである。
【0089】
図18は、第七実施形態に係るバス通信装置の各CPUに接続される共有メモリの内部構成図である。尚、図15と同様の構成には同一符号を付して説明を省略する。
同図に示したように、共有メモリは、書き込みブロック番号記録部151、読み込みブロック番号記録部152、データ記録部153、通信同期割込み要因記録部42、通信同期完了割込み要因記録部43、及び転送割込み要因記録部44から構成される。
【0090】
各ブロックは、データ記録部181、データ番号記録部182、及び分割数記録部183から構成される。データ記録部181には分割されたデータが記録される。データ番号記録部182には、分割されたデータのうちの何番目のデータであるかを示す番号が記録される。分割数記録部183には、分割されたデータの全体数が記録される。
【0091】
図19は、第七実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。図16に示した構成と同様のものには同一符号を付して説明を省略する。
【0092】
本実施形態に係るバス通信装置のデータ転送元のCPU191は、図16に示したデータ転送元のCPU161が有する構成に加え、自メモリのデータ記録部181に記録可能なサイズにデータを分割するデータ分割部1901を備え、他メモリブロックデータ書き込み部1617を他メモリブロックデータ書き込み部1917に変更した構成としたものである。
【0093】
他メモリブロックデータ書き込み部1917は、分割されたデータを他メモリのデータ記録部181に記録し、記録したデータが、分割されたデータのうちの何番目のデータなのかを示す番号(データに関する所定の情報)をデータ番号記録部182に記録し、分割されたデータの全体数(データに関する所定の情報)を分割数記録部183に記録する。尚、他メモリブロックデータ書き込み部1917は、他メモリの各ブロックにこれらのデータを連続して書き込む。
【0094】
この場合、他メモリブロックデータ書き込み部1917によって1つの分割データが他メモリに書き込まれる毎に、転送割込み要因設定部714が転送割込み要因を他メモリに設定し、割込み発生部515が割り込みを発生する。即ち、図17に示したS1708からS1711までの動作を分割したデータの数分行う。
【0095】
データ転送先のCPU192は、図16に示したデータ転送先のCPU162が有する構成に加え、自メモリブロックデータ読み込み部1927によって読み込まれた分割データを、データ番号と分割数とを参照して結合するデータ結合部1902を備え、自メモリブロックデータ読み込み部1627を自メモリブロックデータ読み込み部1927に変更した構成としたものである。
【0096】
自メモリブロックデータ読み込み部1927は、分割されたデータ、そのデータのデータ番号、及びデータの全体数を自メモリの各ブロックから読み込み、データ結合部1902に伝達する。尚、自メモリブロックデータ読み込み部1927は、これらのデータを自メモリの各ブロックから連続して読み込む。この為、自メモリブロックデータ読み込み部1927がデータを読み込む際に、読み込みブロック番号決定部1628及び読み込みブロック番号更新部1629は、読み込みブロック番号決定動作及び読み込みブロック番号更新動作を繰り返す。即ち、図17に示したS1712〜S1715までの動作を、割込みを受信した回数分行う。
【0097】
一般に、メモリ内の1つのブロックには、1つのデータが記録される。この為、ブロックサイズが大きいと、記録されるデータが小さい場合には、ブロック内にブランクが生じてしまい、結果的に多くのメモリを使用してしまうことになり、メモリ使用効率が悪い。そこで、本実施形態で説明したように、各ブロックのデータ記録部181のサイズに合わせてデータを分割して書き込むことで、メモリ使用効率を上げることができる。
【0098】
尚、本実施形態では、分割したデータを書き込む毎に、データ転送元のCPU191から割り込みを発生する構成としているが、他メモリブロックデータ書き込み部1917によって、分割されたデータの全てについての書き込みが完了した時点で、CPU192に対して割り込みを発生するようにしても良い。
【0099】
このようにすることで、データを分割して書き込む際に、CPU192に対しての割り込み発生回数を1回にすることができ、割り込み発生回数が減少する為、バス通信にかかる通信時間を削減することができる。
【0100】
又、本実施形態で説明したバス通信装置の構成と第二、第四実施形態で説明したバス通信装置の構成(データや割り込み要因の書き込みをデータ転送元のCPUの自メモリに行う構成、各種割り込み要因をビット毎に設定する構成)とを組み合わせることも可能である。
【0101】
(第八実施形態)
第八実施形態に係るバス通信装置は、第七実施形態で説明したバス通信装置において、CPU192が、分割されたデータを自メモリから読み込んだ後又は読み込まれたデータがデータ結合部1902によって結合された後に、データの読み込みの完了又はデータの結合完了をCPU191に対して通知する構成としたものである。
【0102】
図20は、第八実施形態に係るバス通信装置の各CPUに接続される共有メモリの内部構成図である。尚、図18に示した構成と同様のものには同一符号を付して説明を省略する。
【0103】
図20に示したように、本実施形態の共有メモリは、図18に示したメモリ構成に加え、分割されたデータの読み込みが完了したことを示す読み込み完了割り込み要因を記録する読み込み完了割り込み要因記録部210を備えた構成としたものである。
【0104】
図21は、第八実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。図19に示した構成と同様のものには同一符号を付して説明を省略する。
【0105】
本実施形態に係るバス通信装置は、データ転送先のCPU212が、図19に示したデータ転送先のCPU192が有する構成に加えて、読み込み完了割り込み要因設定部2103を備え、更に、割り込み発生部525を割り込み発生部2125に変更した構成としたものである。
【0106】
読み込み完了割り込み要因設定部2103は、自メモリブロックデータ読み込み部1927による各種データの読み込みが完了する毎に、CPU212の自メモリの読み込み完了割り込み要因記録部210に読み込み完了割り込み要因を書き込んで設定する。
【0107】
尚、読み込み完了割り込み要因設定部2103は、分割されたデータが自メモリブロックデータ読み込み部1927によって全て読み込まれ、データ結合部1902によってデータの結合が完了した後に、CPU212の自メモリの読み込み完了割り込み要因記録部210に読み込み完了割り込み要因を書き込んで設定するようにしても良い。
【0108】
割り込み発生部2125は、割り込み発生部525の構成に加え、読み込み完了割り込み要因設定部2103が読み込み完了割り込み要因をCPU212の自メモリに設定した後に、CPU191に対して割り込みを発生する。
【0109】
又、第四実施形態で説明した構成を本実施形態のバス通信装置に適用しても良い。この場合は、図20に示した共有メモリの内部構成において、通信同期割込み要因が記録される通信同期割込み要因記録部42、通信同期完了割込み要因が記録される通信同期完了割込み要因記録部43、及び転送割込み要因記録部44を、図10に示したような構成とし、更に、割込み要因ビット記録部92に読み込み完了割り込み要因ビット記録部を設けた構成とすれば良い。
【0110】
更に、上記で説明した読み込み完了割り込み要因設定部2103は、読み込み完了割り込み要因を、排他制御を行いながら自メモリの読み込み完了割り込み要因ビット記録部に設定する構成とすれば良い。
【0111】
図22は、第八実施形態に係るバス通信装置において、各CPUの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。尚、図17に示したステップと同様のステップには同一符号を付して説明を省略する。
【0112】
S1715で読み込みブロック番号が更新されると、読み込み完了割り込み要因設定部2103が読み込み完了割り込み要因をCPU212の自メモリに設定する(S2216)。その後、割り込み発生部2125がCPU191に対して割り込みを発生する(S2217)。割り込みを受信したCPU191では、割り込み要因判別部512により他メモリに設定されている割り込み要因が判別される(S2218)。設定されている割り込み要因が読み込み完了割り込み要因である場合は、データの読み込みが正常に行われたことをCPU191によって確認することができる。読み込み完了割り込み要因が設定されていない場合は、設定されるまで、CPU191は、データの書き込みを繰り返す。
【0113】
以上説明したように、本実施形態によれば、データ転送先のCPU212が、読み込み完了割り込み要因を自メモリに設定することで、データの読み込みが完了したことをデータ転送元のCPU191に通知することが可能となる。したがって、データ転送先のCPU212でデータが読み込まれなかったという状況を避けることができる。
【0114】
(第九実施形態)
第九実施形態に係るバス通信装置は、第八実施形態で説明したバス通信装置において、更に、高速なバス通信を実現できる構成としたものである。
図23は、第九実施形態に係るバス通信装置の各CPUに接続される共有メモリの内部構成図である。尚、図20と同様の構成には同一符号を付して説明を省略する。
【0115】
同図に示したように、本実施形態に係るバス通信装置の各CPUに接続される共有メモリは、図20に示したメモリ構成に、更に、読み込み完了割り込み要因の設定の有無を示す読み込み完了割り込み要因設定フラグを記録する読み込み完了割り込み要因設定フラグ記録部230を追加した構成をとる。尚、読み込み完了割り込み要因設定フラグは“0”と“1”の1ビットの数値によって設定される。
【0116】
図24は、第九実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。図21に示した構成と同様のものには同一符号を付して説明を省略する。
【0117】
図24に示したように、データ転送元のCPU241は、図21に示したデータ転送元のCPU191が有する構成に加えて、書き込み可能ブロック数算出部2402及び読み込み完了割り込み要因設定フラグ設定部2403を備える。
【0118】
書き込み可能ブロック数算出部2402は、データ転送先のCPU242の共有メモリに記録されている書き込みブロック番号と読み込みブロック番号とに基づいて、CPU242の自メモリ内の書き込み可能なブロック数を算出する。
【0119】
具体的には、
(読込ブロック番号−書込ブロック番号)>0のとき:
(書き込み可能なブロック数)=(読み込みブロック番号−書き込みブロック番号)
(読込ブロック番号−書込ブロック番号)<0のとき:
(書込可能なブロック数)=(読込ブロック番号−書込ブロック番号)+全ブロック数
となる。
【0120】
読み込み完了割り込み要因設定フラグ設定部2403は、書き込み可能ブロック数算出部2402によって算出された書き込み可能ブロック数が所定の数より少ない場合に、読み込み完了割り込み要因設定フラグを“1”に設定する。それ以外の場合は、読み込み完了割り込み要因設定フラグを“0”に設定する。
【0121】
データ転送先のCPU242は、図21に示したデータ転送先のCPU212が有する構成に加えて、読み込み完了割り込み要因設定フラグ判定部2414、読み込み完了割り込み要因設定フラグリセット部2415、及び読み込み済みブロック数算出部2416を備える。
【0122】
読み込み完了割り込み要因設定フラグ判定部2414は、読み込み完了割り込み要因設定フラグ記録部230に記録されている読み込み完了割り込み要因設定フラグが“0”又は“1”のどちらであるかを判定する。
【0123】
読み込み可能ブロック数算出部2416は、全てのデータの読み込みが完了した後、自メモリに記録されている書き込みブロック番号と読み込みブロック番号とを参照して、自メモリ内の読み込み済みのブロック数を算出する。
【0124】
読み込み完了割り込み要因設定フラグリセット部2415は、読み込み済みブロック数算出部2416で算出された読み込み済みブロック数が所定の数より多い場合に、読み込み完了割り込み要因設定フラグ記録部230に記録されている読み込み完了割り込み要因設定フラグを“0”に設定する。
【0125】
図25は、第九実施形態に係るバス通信装置において、各CPUの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。尚、各CPUの通信同期をとるまでの動作は、図6に示したS601〜S606までと同様である為、図25では図示を省略している。ここでは、共有メモリのブロック数を全部で10個とする。
【0126】
各CPUとの通信同期がとれた後、CPU241は、他メモリに設定されている書き込みブロック番号に基づいて、他メモリにデータを書き込み(S2507)、データ書き込み後、書き込みブロック番号を更新する(S2508)。ここでは、10個のデータを連続して書き込んだものとする。そして、CPU241は、CPU242の自メモリに記録されている書き込みブロック番号と読み込みブロック番号とを参照してデータ書き込み可能なブロック数を算出する(S2509)。算出された書き込みブロック数が0(一定値以下)である為、CPU241は、他メモリの読み込み完了割り込み要因設定フラグ記録部230の読み込み完了割り込み要因設定フラグを“1”に設定する(S2510)。その後、CPU242の自メモリに転送割り込み要因を設定し(S2511)、CPU242に対して割り込みを発生する(S2512)。尚、読み込み完了割り込み要因設定フラグが“1”に設定された後は、CPU242によって読み込み完了割り込み要因設定フラグが“0”に設定されるまでは、CPU241は次のデータの転送を行わない。
【0127】
割り込みを受信したCPU242は、自メモリに設定されている割り込み要因を判別する(S2513)。自メモリに設定されている割り込み要因が転送割り込み要因である為、CPU242は自メモリからデータを読み込む(S2514)。データ読み込み後、CPU242は読み込みブロック番号を更新し(S2515)、自メモリに設定されている読み込み完了割り込み要因設定フラグを参照する(S2516)。読み込み完了割り込み要因設定フラグが“1”に設定されている為、CPU242は自メモリに読み込み完了割り込み要因を設定し(S2517)、CPU241に対して割り込みを発生する(S2518)。
【0128】
尚、CPU242側において、書き込みブロック番号と読み込みブロック番号とに基づいて算出される読み込み済みブロック数が一定値より多くなった場合は、自メモリに設定されている読み込み完了割り込み要因を“0”にする(S2519)。したがって、CPU241は、読み込み完了割り込み要因設定フラグを参照することで、CPU242に対してデータの転送を開始して良いかどうかを判断することができる。
【0129】
以上説明したように、本実施形態によれば、データ転送の完了をCPU241側で確認できると共に、データ転送先CPUの状態に応じてデータ転送元CPUのデータ転送を制御することで、高速なバス通信を実現することができる。
【0130】
尚、本実施形態で説明したバス通信装置の構成と第二、第四実施形態で説明したバス通信装置の構成(データや割り込み要因の書き込みをデータ転送元のCPUの自メモリに行う構成、各種割り込み要因をビット毎に設定する構成)とを組み合わせることも可能である。
【0131】
(第十実施形態)
本実施形態に係るバス通信装置は、第九実施形態で説明したバス通信装置において、CPU241内に転送データを保存する内部メモリを設けた構成としたものである。この場合の動作について説明する。
【0132】
例えば、転送先CPUの共有メモリの書き込み可能ブロックが7個あり、転送元CPUが転送先CPUに転送したいデータの数が10個あるとする。この場合は、転送元CPUによって全てのデータ転送が不可能である為、内部メモリに転送できなかったデータを一時保存する。その後、書き込み可能ブロック数が10個になったときに、保存されているデータを読み出して、転送先CPUに転送する。
【0133】
このように、書き込み可能ブロックが不足していた為に転送できなかったデータを内部メモリに保存する構成とすることで、上位ソフトウェア階層に対する利便性を向上させることができる。
【0134】
【発明の効果】
本発明によれば、マスタがメモリにデータを書き込み、そのメモリに書き込まれたデータをスレーブが読み込むことによって、マスタからスレーブへとデータが転送される。このようにすることで、データを転送する為のハードウェアをバス通信装置に別途に設ける必要が無くなる。又、各プロセッサから書き込みや読み込み可能なメモリは、データ転送以外の用途(データの共有化等)にも利用することができる為、汎用性に優れた構成でバス通信が可能なバス通信装置を提供することができる。
【図面の簡単な説明】
【図1】第一実施形態に係るバス通信装置の構成図である。
【図2】第一実施形態に係るバス通信装置のデータデータ転送元のCPUとデータデータ転送先のCPUの内部構成図である。
【図3】第一実施形態に係るバス通信装置におけるバス通信の動作の流れを説明するシーケンスチャートである。
【図4】第二実施形態に係るバス通信装置の各CPUに接続される共有メモリのメモリ構成図である。
【図5】第二実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。
【図6】第二実施形態に係るバス通信装置において、各CPUの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
【図7】第三実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。
【図8】第三実施形態に係るバス通信装置において、各CPUの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
【図9】第四実施形態に係るバス通信装置の各CPUに接続されている共有メモリのメモリ構成図である。
【図10】第四実施形態に係るバス通信装置の各CPUに接続されている共有メモリのメモリ構成図における割込み要因ビット記録部の内部構成図である。
【図11】第四実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。
【図12】第五実施形態に係るバス通信装置の各CPUに接続される共有メモリの内部構成図である。
【図13】第五実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。
【図14】第五実施形態に係るバス通信装置におけるバス通信の動作の流れを説明するシーケンスチャートである。
【図15】第六実施形態に係るバス通信装置の各CPUに接続される共有メモリの内部構成図である。
【図16】第六実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。
【図17】第六実施形態に係るバス通信装置において、各CPUの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
【図18】第七実施形態に係るバス通信装置の各CPUに接続される共有メモリの内部構成図である。
【図19】第七実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。
【図20】第八実施形態に係るバス通信装置の各CPUに接続される共有メモリの内部構成図である。
【図21】第八実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。
【図22】第八実施形態に係るバス通信装置において、各CPUの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
【図23】第九実施形態に係るバス通信装置の各CPUに接続される共有メモリの内部構成図である。
【図24】第九実施形態に係るバス通信装置のデータ転送元のCPUとデータ転送先のCPUの内部構成図である。
【図25】第九実施形態に係るバス通信装置において、各CPUの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
【符号の説明】
1 バス通信装置
10 マルチマスタバス
100,200,300 基板
101,201,301 CPU
102,202,302 共有メモリ
21,51,71,111,131,161,191,241 データ転送元CPU
22,52,72,112,132,162,192,212,242 データ転送先CPU
211,513 自メモリデータ書き込み部
212、515,525,2125 割り込み発生部
221,523 他メモリデータ読み込み部
222,516,526 割り込み受信部
41,91,121,122,153,154,181 データ記録部
42 通信同期割り込み要因記録部
43 通信同期完了割り込み要因記録部
44 転送割り込み要因記録部
45 割り込み要因記録部
511 通信同期割り込み要因設定部
512,522,722 割り込み要因判別部
514,714 転送割り込み要因設定部
521 通信同期完了割り込み要因設定部
713 他メモリデータ書き込み部
723 自メモリデータ読み込み部
92 割り込み要因ビット記録部
921 転送割り込み要因ビット
922 通信同期完了割り込み要因ビット
923 通信同期割り込み要因ビット
1111 通信同期割り込み要因ビット設定部
1112,1122 割り込み要因ビット判別部
1114 転送割り込み要因ビット設定部
123 ブロック記録可能フラグ記録部
1317,1617,1917 他メモリブロックデータ書き込み部
1318 書き込み可能ブロック検索部
1319,1329 ブロック記録可能フラグ設定部
1327,1627,1927 自メモリブロックデータ読み込み部
1328 読み込み可能ブロック検索部
151 書き込みブロック番号記録部
152 読み込みブロック番号記録部
1618 書き込みブロック番号決定部
1619 書き込みブロック番号更新部
1628 読み込みブロック番号決定部
1629 読み込みブロック番号更新部
182 データ番号記録部
183 分割数記録部
1901 データ分割部
1902 データ結合部
210 読み込み完了割り込み要因記録部
2103 読み込み完了割り込み要因設定部
230 読み込み完了割り込み要因設定フラグ記録部
2402 書き込み可能ブロック数算出部
2403 読み込み完了割り込み要因設定フラグ設定部
2414 読み込み完了割り込み要因設定フラグ判定部
2415 読み込み完了割り込み要因設定フラグリセット部
2416 読み込み済みブロック数算出部

Claims (11)

  1. プロセッサ及び前記プロセッサに接続されるメモリを有する複数のプロセッサユニットと、前記複数のプロセッサユニットに接続される通信バスとを備え、前記通信バスを介して前記複数のプロセッサユニット間でデータの通信を行うバス通信装置であって、
    前記メモリは、各プロセッサユニット内の前記プロセッサによって読み込み及び書き込み可能であり、
    前記通信バスを介して転送されるデータの転送元の前記プロセッサをマスタ、当該データの転送先のプロセッサをスレーブとし、
    前記マスタは、前記データを前記メモリに書き込むデータ書き込み手段と、所定のタイミングで前記スレーブに対して割り込みを発生する割り込み発生手段とを備え、
    前記スレーブは、前記割り込みに基づいて、前記データが記録されているメモリから当該データを読み込むデータ読み込み手段を備えることを特徴とするバス通信装置。
  2. 前記メモリは、割り込み要因を記録する割り込み要因記録部を備え、
    前記マスタは、前記割り込み発生手段が前記割り込みを発生する前に、前記データが書き込まれたことを示す書き込み割り込み要因を前記割り込み要因記録部に書き込む、書き込み割り込み要因書き込み手段を備え、
    前記スレーブの前記データ読み込み手段は、前記割り込みをトリガとして、前記割り込み要因記録部に記録されている前記書き込み割り込み要因に基づいて、前記データを読み込むことを特徴とする請求項1記載のバス通信装置。
  3. 前記メモリは、割り込み要因を記録する割り込み要因記録部を備え、
    前記マスタは、前記スレーブと通信同期をとる為の要求を示す通信同期要求割り込み要因を前記割り込み要因記録部に書き込む通信同期要求割り込み要因書き込み手段を備え、
    前記マスタの前記割り込み発生手段は、前記通信同期要求割り込み要因が書き込まれた後に前記スレーブに割り込みを発生し、
    前記スレーブは、当該割り込みをトリガとして、前記割り込み要因記録部に記録されている前記通信同期要求割り込み要因に基づいて、前記通信同期要求に応じたことを示す通信同期要求対応割り込み要因を前記割り込み要因記録部に書き込む通信同期要求対応割り込み要因書き込み手段と、前記通信同期要求対応割り込み要因が書き込まれると、前記マスタに割り込みを発生する割り込み発生手段とを備え、
    前記マスタの前記データ書き込み手段は、前記スレーブの前記割り込み発生手段からの前記割り込みをトリガとして、前記割り込み要因記録部に記録されている前記通信同期要求対応割り込み要因に基づいて、前記データの書き込みを開始することを特徴とする請求項1記載のバス通信装置。
  4. 前記メモリは、前記データを記録する複数のブロックを有し、各ブロックは、当該各ブロックへの前記データの書き込みの可否を示す書き込み可否情報を記録する書き込み可否情報記録部を備え、
    前記マスタの前記データ書き込み手段は、前記書き込み可否情報に基づいて、前記データを書き込み可能なブロックに前記データを書き込むものであり、
    前記マスタは、前記データが書き込まれたブロックについて、前記書き込み可否情報記録部に記録されている書き込み可否情報を変更する書き込み可否情報変更手段を備え、
    前記スレーブの前記データ読み込み手段は、前記書き込み可否情報に基づいて、前記データが記録されているブロックから当該データを読み込むものであり、
    前記スレーブは、前記データが読み込まれたブロックについて、前記書き込み可否情報記録部に記録されている書き込み可否情報を変更する書き込み可否情報変更手段を備えることを特徴とする請求項1乃至請求項3のいずれか記載のバス通信装置。
  5. 前記メモリは、前記データを記録する複数のブロックと、前記データの書き込み先ブロックの番号を記録する書き込みブロック番号記録部と、前記データの読み込み先ブロックの番号を記録する読み込みブロック番号記録部とを備え、
    前記マスタの前記データ書き込み手段は、前記書き込みブロック番号記録部に記録されている前記番号のブロックに前記データを書き込むものであり、
    前記マスタは、当該ブロックに前記データが書き込まれると、前記書き込みブロック番号記録部に記録する前記番号を更新するブロック番号更新手段を備え、
    前記スレーブの前記データ読み込み手段は、前記読み込みブロック番号記録部に記録されている前記番号のブロックから前記データを読み込むものであり、
    前記スレーブは、当該ブロックから前記データが読み込まれると、前記読み込みブロック番号記録部に記録する前記番号を更新するブロック番号更新手段を備えることを特徴とする請求項1乃至3のいずれか記載のバス通信装置。
  6. 前記ブロックは、データを記録するデータ記録部と、前記ブロックに記録される前記データに関する所定の情報を記録するデータ情報記録部とを備え、
    前記マスタは、前記データを当該データ記録部の記録容量に合わせて分割するデータ分割手段を備え、
    前記マスタの前記データ書き込み手段は、前記分割されたデータを前記ブロックに書き込むと共に、当該分割されたデータに関する前記所定の情報を前記データ情報記録部に書き込むものであり、
    前記スレーブの前記データ読み込み手段は、前記ブロックに記録されている前記分割されたデータ及び前記データ情報記録部に記録されている前記所定の情報を読み込むものであり、
    前記スレーブは、前記分割されたデータ及び前記所定の情報に基づいて、前記分割されたデータを結合するデータ結合手段を備えることを特徴とする請求項4又は請求項5記載のバス通信装置。
  7. 前記マスタの前記割り込み発生手段は、前記分割されたデータ及び前記所定の情報が前記ブロックに全て書き込まれた後に、前記割り込みを発生し、
    前記スレーブの前記データ読み込み手段は、当該割り込みに基づいて、前記データ及び前記所定の情報を読み込むことを特徴とする請求項6記載のバス通信装置。
  8. 前記スレーブは、前記データ読み込み手段によって前記データ及び前記所定の情報を読み込まれた後に、前記分割されたデータの読み込みが完了したことを通知する為の読み込み完了通知割り込み要因を前記割り込み要因記録部に書き込む、読み込み完了通知割り込み要因書き込み手段を備え、
    前記スレーブの前記割り込み発生手段は、前記読み込み完了通知割り込み要因が書き込まれると前記マスタに対して前記割り込みを発生し、
    前記マスタは、前記スレーブの前記割り込み発生手段からの前記割り込みに基づいて、前記割り込み要因記録部に記録されている前記割り込み要因の内容を判定する割り込み要因判定手段を備えることを特徴とする請求項7記載のバス通信装置。
  9. 前記マスタは、前記書き込みブロック番号及び前記読み込みブロック番号に基づいて、前記データの書き込みが可能なブロック数を算出する書き込み可能ブロック数算出手段を備え、前記書き込み可能なブロック数に応じて、前記スレーブへの前記データの転送を制御し、
    前記スレーブは、前記書き込みブロック番号及び前記読み込みブロック番号に基づいて、前記データの読み込みが完了したブロック数を算出する読み込み済みブロック数算出手段を備え、前記読み込み済みブロック数に応じて前記マスタの前記データの転送を制御することを特徴とする請求項8記載のバス通信装置。
  10. 前記マスタが、前記共有メモリの書き込み可能ブロック数の不足により書き込むことができなかったデータを一時的に保存するデータ保存手段を備え、前記共有メモリの書き込み可能ブロック数が、当該データの書き込みが可能な数になった場合に、前記マスタは、前記データ保存手段に保存されているデータを前記書き込み可能なブロックに書き込むことを特徴とする請求項9記載のバス通信装置。
  11. 前記割り込み要因記録部に記録される各種割り込み要因が、当該割り込み要因記録部にビット毎に記録されることを特徴とする請求項2乃至請求項10のいずれか記載のバス通信装置。
JP2002247530A 2002-08-27 2002-08-27 バス通信装置 Pending JP2004086615A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002247530A JP2004086615A (ja) 2002-08-27 2002-08-27 バス通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002247530A JP2004086615A (ja) 2002-08-27 2002-08-27 バス通信装置

Publications (1)

Publication Number Publication Date
JP2004086615A true JP2004086615A (ja) 2004-03-18

Family

ID=32055150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002247530A Pending JP2004086615A (ja) 2002-08-27 2002-08-27 バス通信装置

Country Status (1)

Country Link
JP (1) JP2004086615A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008503833A (ja) * 2004-06-22 2008-02-07 ゼネラル・エレクトリック・カンパニイ 並列通信バスに連結された装置内で割込みメッセージを待ち行列に入れるためのコンピュータシステム及び方法
US7774529B2 (en) 2007-07-03 2010-08-10 Panasonic Corporation Bus communication apparatus that uses shared memory
WO2013125294A1 (ja) * 2012-02-23 2013-08-29 日立オートモティブシステムズ株式会社 車両用制御装置
EP2704009A2 (en) 2012-08-31 2014-03-05 Fujitsu Limited Information processing apparatus, information processing method, and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008503833A (ja) * 2004-06-22 2008-02-07 ゼネラル・エレクトリック・カンパニイ 並列通信バスに連結された装置内で割込みメッセージを待ち行列に入れるためのコンピュータシステム及び方法
US7774529B2 (en) 2007-07-03 2010-08-10 Panasonic Corporation Bus communication apparatus that uses shared memory
WO2013125294A1 (ja) * 2012-02-23 2013-08-29 日立オートモティブシステムズ株式会社 車両用制御装置
JP2013171547A (ja) * 2012-02-23 2013-09-02 Hitachi Automotive Systems Ltd 車両用制御装置
US9547492B2 (en) 2012-02-23 2017-01-17 Hitachi Automotive Systems, Ltd. Arithmetic units accessing redundantly stored data in shared memory as part of a control device for a vehicle
EP2704009A2 (en) 2012-08-31 2014-03-05 Fujitsu Limited Information processing apparatus, information processing method, and program
US9063929B2 (en) 2012-08-31 2015-06-23 Fujitsu Limited Information processing apparatus, information processing method, computer-readable recording medium having stored therein program

Similar Documents

Publication Publication Date Title
CN100578478C (zh) 用于存储器模块的板上数据搜索能力的装置、系统和方法
KR100560761B1 (ko) 인터페이스 변환 시스템 및 그 방법
JP2575557B2 (ja) スーパーコンピユータシステム
JP4820867B2 (ja) システム内で異なる動作を有する同一チップ
US9703697B2 (en) Sharing serial peripheral interface flash memory in a multi-node server system on chip platform environment
EP2767908A1 (en) Method and system for improving serial port memory communication latency and reliability
JP4917746B2 (ja) 共通プラットホームを有する通信装置と通信方法
US6282598B1 (en) PCI bus system wherein target latency information are transmitted along with a retry request
KR20060122934A (ko) 복수의 어드레스 2 채널 버스 구조
EP3036648B1 (en) Enhanced data transfer in multi-cpu systems
JP2004086615A (ja) バス通信装置
CN106815176B (zh) 用于经由柔性寄存器访问总线传输访问请求的系统和方法
CN115312094B (zh) Sram控制系统、方法、fpga芯片及电子设备
US6483753B1 (en) Endianess independent memory interface
JP2000172655A (ja) データ処理装置およびデータ処理方法
CN117136350A (zh) 一种控制数据读写的方法和装置
JP2616490B2 (ja) 共有データ蓄積方式
JPS61262870A (ja) バス制御方式
JPS5831459A (ja) 磁気バブルメモリ装置
JP2002024157A (ja) Dma処理方法およびdma処理装置
JPH0120781B2 (ja)
JPH039453A (ja) データ転送制御装置
CN113254384A (zh) 一种众核系统的数据传输方法及系统
JP2000315158A (ja) 同報通信ダウンロード回路
JPH036768A (ja) リング状階層化マルチプロセッサ