(57)【要約】【課題】汎用性に優れた構成でバス通信が可能なバス通信装置を提供することを目的とする。【解決手段】データデータ転送元のＣＰＵ２１は、自メモリにデータを書き込み（Ｓ３０１）、書き込み完了後、ＣＰＵ２２に対して割り込みを発生する（Ｓ３０２）。割り込みを受信したＣＰＵ２２は、ＣＰＵ２１の自メモリにアクセスし、そのメモリに書き込まれたデータを読み込む（Ｓ３０３）。【選択図】　図３
2004086615.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ及び前記プロセッサに接続されるメモリを有する複数のプロセッサユニットと、前記複数のプロセッサユニットに接続される通信バスとを備え、前記通信バスを介して前記複数のプロセッサユニット間でデータの通信を行うバス通信装置であって、
前記メモリは、各プロセッサユニット内の前記プロセッサによって読み込み及び書き込み可能であり、
前記通信バスを介して転送されるデータの転送元の前記プロセッサをマスタ、当該データの転送先のプロセッサをスレーブとし、
前記マスタは、前記データを前記メモリに書き込むデータ書き込み手段と、所定のタイミングで前記スレーブに対して割り込みを発生する割り込み発生手段とを備え、
前記スレーブは、前記割り込みに基づいて、前記データが記録されているメモリから当該データを読み込むデータ読み込み手段を備えることを特徴とするバス通信装置。
【請求項２】
前記メモリは、割り込み要因を記録する割り込み要因記録部を備え、
前記マスタは、前記割り込み発生手段が前記割り込みを発生する前に、前記データが書き込まれたことを示す書き込み割り込み要因を前記割り込み要因記録部に書き込む、書き込み割り込み要因書き込み手段を備え、
前記スレーブの前記データ読み込み手段は、前記割り込みをトリガとして、前記割り込み要因記録部に記録されている前記書き込み割り込み要因に基づいて、前記データを読み込むことを特徴とする請求項１記載のバス通信装置。
【請求項３】
前記メモリは、割り込み要因を記録する割り込み要因記録部を備え、
前記マスタは、前記スレーブと通信同期をとる為の要求を示す通信同期要求割り込み要因を前記割り込み要因記録部に書き込む通信同期要求割り込み要因書き込み手段を備え、
前記マスタの前記割り込み発生手段は、前記通信同期要求割り込み要因が書き込まれた後に前記スレーブに割り込みを発生し、
前記スレーブは、当該割り込みをトリガとして、前記割り込み要因記録部に記録されている前記通信同期要求割り込み要因に基づいて、前記通信同期要求に応じたことを示す通信同期要求対応割り込み要因を前記割り込み要因記録部に書き込む通信同期要求対応割り込み要因書き込み手段と、前記通信同期要求対応割り込み要因が書き込まれると、前記マスタに割り込みを発生する割り込み発生手段とを備え、
前記マスタの前記データ書き込み手段は、前記スレーブの前記割り込み発生手段からの前記割り込みをトリガとして、前記割り込み要因記録部に記録されている前記通信同期要求対応割り込み要因に基づいて、前記データの書き込みを開始することを特徴とする請求項１記載のバス通信装置。
【請求項４】
前記メモリは、前記データを記録する複数のブロックを有し、各ブロックは、当該各ブロックへの前記データの書き込みの可否を示す書き込み可否情報を記録する書き込み可否情報記録部を備え、
前記マスタの前記データ書き込み手段は、前記書き込み可否情報に基づいて、前記データを書き込み可能なブロックに前記データを書き込むものであり、
前記マスタは、前記データが書き込まれたブロックについて、前記書き込み可否情報記録部に記録されている書き込み可否情報を変更する書き込み可否情報変更手段を備え、
前記スレーブの前記データ読み込み手段は、前記書き込み可否情報に基づいて、前記データが記録されているブロックから当該データを読み込むものであり、
前記スレーブは、前記データが読み込まれたブロックについて、前記書き込み可否情報記録部に記録されている書き込み可否情報を変更する書き込み可否情報変更手段を備えることを特徴とする請求項１乃至請求項３のいずれか記載のバス通信装置。
【請求項５】
前記メモリは、前記データを記録する複数のブロックと、前記データの書き込み先ブロックの番号を記録する書き込みブロック番号記録部と、前記データの読み込み先ブロックの番号を記録する読み込みブロック番号記録部とを備え、
前記マスタの前記データ書き込み手段は、前記書き込みブロック番号記録部に記録されている前記番号のブロックに前記データを書き込むものであり、
前記マスタは、当該ブロックに前記データが書き込まれると、前記書き込みブロック番号記録部に記録する前記番号を更新するブロック番号更新手段を備え、
前記スレーブの前記データ読み込み手段は、前記読み込みブロック番号記録部に記録されている前記番号のブロックから前記データを読み込むものであり、
前記スレーブは、当該ブロックから前記データが読み込まれると、前記読み込みブロック番号記録部に記録する前記番号を更新するブロック番号更新手段を備えることを特徴とする請求項１乃至３のいずれか記載のバス通信装置。
【請求項６】
前記ブロックは、データを記録するデータ記録部と、前記ブロックに記録される前記データに関する所定の情報を記録するデータ情報記録部とを備え、
前記マスタは、前記データを当該データ記録部の記録容量に合わせて分割するデータ分割手段を備え、
前記マスタの前記データ書き込み手段は、前記分割されたデータを前記ブロックに書き込むと共に、当該分割されたデータに関する前記所定の情報を前記データ情報記録部に書き込むものであり、
前記スレーブの前記データ読み込み手段は、前記ブロックに記録されている前記分割されたデータ及び前記データ情報記録部に記録されている前記所定の情報を読み込むものであり、
前記スレーブは、前記分割されたデータ及び前記所定の情報に基づいて、前記分割されたデータを結合するデータ結合手段を備えることを特徴とする請求項４又は請求項５記載のバス通信装置。
【請求項７】
前記マスタの前記割り込み発生手段は、前記分割されたデータ及び前記所定の情報が前記ブロックに全て書き込まれた後に、前記割り込みを発生し、
前記スレーブの前記データ読み込み手段は、当該割り込みに基づいて、前記データ及び前記所定の情報を読み込むことを特徴とする請求項６記載のバス通信装置。
【請求項８】
前記スレーブは、前記データ読み込み手段によって前記データ及び前記所定の情報を読み込まれた後に、前記分割されたデータの読み込みが完了したことを通知する為の読み込み完了通知割り込み要因を前記割り込み要因記録部に書き込む、読み込み完了通知割り込み要因書き込み手段を備え、
前記スレーブの前記割り込み発生手段は、前記読み込み完了通知割り込み要因が書き込まれると前記マスタに対して前記割り込みを発生し、
前記マスタは、前記スレーブの前記割り込み発生手段からの前記割り込みに基づいて、前記割り込み要因記録部に記録されている前記割り込み要因の内容を判定する割り込み要因判定手段を備えることを特徴とする請求項７記載のバス通信装置。
【請求項９】
前記マスタは、前記書き込みブロック番号及び前記読み込みブロック番号に基づいて、前記データの書き込みが可能なブロック数を算出する書き込み可能ブロック数算出手段を備え、前記書き込み可能なブロック数に応じて、前記スレーブへの前記データの転送を制御し、
前記スレーブは、前記書き込みブロック番号及び前記読み込みブロック番号に基づいて、前記データの読み込みが完了したブロック数を算出する読み込み済みブロック数算出手段を備え、前記読み込み済みブロック数に応じて前記マスタの前記データの転送を制御することを特徴とする請求項８記載のバス通信装置。
【請求項１０】
前記マスタが、前記共有メモリの書き込み可能ブロック数の不足により書き込むことができなかったデータを一時的に保存するデータ保存手段を備え、前記共有メモリの書き込み可能ブロック数が、当該データの書き込みが可能な数になった場合に、前記マスタは、前記データ保存手段に保存されているデータを前記書き込み可能なブロックに書き込むことを特徴とする請求項９記載のバス通信装置。
【請求項１１】
前記割り込み要因記録部に記録される各種割り込み要因が、当該割り込み要因記録部にビット毎に記録されることを特徴とする請求項２乃至請求項１０のいずれか記載のバス通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のプロセッサユニットを備えたバス通信装置に関する。
【０００２】
【従来の技術】
従来のバス通信装置におけるバス通信は、主にハードウェアにて行われており、その一例として、特開平５−８９０５６号公報に記載されている技術がある。この公報に記載のバス通信方式は、送信側のプロセッサユニット内のＣＰＵが、同プロセッサユニット内の通信制御装置に送信データを送り、通信制御装置が、その送信データをデータ転送先のプロセッサユニット内の通信制御装置に対して送信することでバス通信を行っている。即ち、従来のバス通信方式は、データ通信を通信制御装置によって行うことでバス通信を実現していた。
【０００３】
【発明が解決しようとする課題】
上記の通信制御装置は、その構成が通信に限定したハードウェアである。したがって、このハードウェアの通信制御装置は、データ通信以外には利用されることはなく、バス通信装置の汎用性が低くなってしまうという問題点があった。
【０００４】
本発明は、上記問題点に鑑みて為されたものであって、汎用性に優れた構成でバス通信が可能なバス通信装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明のバス通信装置は、プロセッサ及び前記プロセッサに接続されるメモリを有する複数のプロセッサユニットと、前記複数のプロセッサユニットに接続される通信バスとを備え、前記通信バスを介して前記複数のプロセッサユニット間でデータの通信を行うバス通信装置であって、前記メモリは、各プロセッサユニット内の前記プロセッサによって読み込み及び書き込み可能であり、前記通信バスを介して転送されるデータの転送元の前記プロセッサをマスタ、当該データの転送先のプロセッサをスレーブとし、前記マスタは、前記データを前記メモリに書き込むデータ書き込み手段と、所定のタイミングで前記スレーブに対して割り込みを発生する割り込み発生手段とを備え、前記スレーブは、前記割り込みに基づいて、前記データが記録されているメモリから当該データを読み込むデータ読み込み手段を備えることを特徴とする。
【０００６】
本発明によれば、マスタがメモリにデータを書き込み、そのメモリに書き込まれたデータをスレーブが読み込むことによって、マスタからスレーブへとデータが転送される。このようにすることで、データを転送する為のハードウェアをバス通信装置に別途に設ける必要が無くなる。又、各プロセッサから書き込みや読み込み可能なメモリは、データ転送以外の用途（データの共有化等）にも利用することができる為、汎用性に優れた構成でバス通信が可能なバス通信装置を提供することができる。
【０００７】
更に、本発明のバス通信装置は、前記メモリは、割り込み要因を記録する割り込み要因記録部を備え、前記マスタは、前記割り込み発生手段が前記割り込みを発生する前に、前記データが書き込まれたことを示す書き込み割り込み要因を前記割り込み要因記録部に書き込む、書き込み割り込み要因書き込み手段を備え、前記スレーブの前記データ読み込み手段は、前記割り込みをトリガとして、前記割り込み要因記録部に記録されている前記書き込み割り込み要因に基づいて、前記データを読み込むことを特徴とする。
【０００８】
本発明によれば、マスタがメモリにデータを書き込み、そのメモリに書き込まれたデータをスレーブが読み込むことによって、マスタからスレーブへとデータが転送される。このようにすることで、データを転送する為のハードウェアをバス通信装置に別途に設ける必要が無くなる。又、各プロセッサから書き込みや読み込み可能なメモリは、データ転送以外の用途（データの共有化等）にも利用することができる為、汎用性に優れた構成でバス通信が可能なバス通信装置を提供することができる。
【０００９】
更に、本発明のバス通信装置は、前記メモリは、割り込み要因を記録する割り込み要因記録部を備え、前記マスタは、前記スレーブと通信同期をとる為の要求を示す通信同期要求割り込み要因を前記割り込み要因記録部に書き込む通信同期要求割り込み要因書き込み手段を備え、前記マスタの前記割り込み発生手段は、前記通信同期要求割り込み要因が書き込まれた後に前記スレーブに割り込みを発生し、前記スレーブは、当該割り込みをトリガとして、前記割り込み要因記録部に記録されている前記通信同期要求割り込み要因に基づいて、前記通信同期要求に応じたことを示す通信同期要求対応割り込み要因を前記割り込み要因記録部に書き込む通信同期要求対応割り込み要因書き込み手段と、前記通信同期要求対応割り込み要因が書き込まれると、前記マスタに割り込みを発生する割り込み発生手段とを備え、前記マスタの前記データ書き込み手段は、前記スレーブの前記割り込み発生手段からの前記割り込みをトリガとして、前記割り込み要因記録部に記録されている前記通信同期要求対応割り込み要因に基づいて、前記データの書き込みを開始することを特徴とする。
【００１０】
この構成により、マスタとスレーブの通信同期がとれてから、マスタからスレーブへとデータの転送が行われる為、データの書き込み待ちや読み込み待ちといった時間のロスをなくすことができる。
【００１１】
更に、本発明のバス通信装置は、前記メモリが、前記データを記録する複数のブロックを有し、各ブロックは、当該各ブロックへの前記データの書き込みの可否を示す書き込み可否情報を記録する書き込み可否情報記録部を備え、前記マスタの前記データ書き込み手段は、前記書き込み可否情報に基づいて、前記データを書き込み可能なブロックに前記データを書き込むものであり、前記マスタは、前記データが書き込まれたブロックについて、前記書き込み可否情報記録部に記録されている書き込み可否情報を変更する書き込み可否情報変更手段を備え、前記スレーブの前記データ読み込み手段は、前記書き込み可否情報に基づいて、前記データが記録されているブロックから当該データを読み込むものであり、前記スレーブは、前記データが読み込まれたブロックについて、前記書き込み可否情報記録部に記録されている書き込み可否情報を変更する書き込み可否情報変更手段を備えることを特徴とする。
【００１２】
この構成により、書き込み可否情報に基づいて、書き込み可能なブロックや書き込み不可能なブロックを判断することが可能となる。この為、書き込み可能なブロックが複数あった場合に、それらのブロックに複数のデータを同時に書き込み、スレーブ側で、その複数のデータを同時に読み込むことといったことが可能となる。
【００１３】
更に、本発明のバス通信装置は、前記メモリが、前記データを記録する複数のブロックと、前記データの書き込み先ブロックの番号を記録する書き込みブロック番号記録部と、前記データの読み込み先ブロックの番号を記録する読み込みブロック番号記録部とを備え、前記マスタの前記データ書き込み手段は、前記書き込みブロック番号記録部に記録されている前記番号のブロックに前記データを書き込むものであり、前記マスタは、当該ブロックに前記データが書き込まれると、前記書き込みブロック番号記録部に記録する前記番号を更新するブロック番号更新手段を備え、前記スレーブの前記データ読み込み手段は、前記読み込みブロック番号記録部に記録されている前記番号のブロックから前記データを読み込むものであり、前記スレーブは、当該ブロックから前記データが読み込まれると、前記読み込みブロック番号記録部に記録する前記番号を更新するブロック番号更新手段を備えることを特徴とする。
【００１４】
この構成により、データを書き込むブロック及びデータを読み込むブロックを高速に決定できる為、バス通信を高速に行うことができる。
【００１５】
更に、本発明のバス通信装置は、前記ブロックが、データを記録するデータ記録部と、前記ブロックに記録される前記データに関する所定の情報を記録するデータ情報記録部とを備え、前記マスタは、前記データを当該データ記録部の記録容量に合わせて分割するデータ分割手段を備え、前記マスタの前記データ書き込み手段は、前記分割されたデータを前記ブロックに書き込むと共に、当該分割されたデータに関する前記所定の情報を前記データ情報記録部に書き込むものであり、前記スレーブの前記データ読み込み手段は、前記ブロックに記録されている前記分割されたデータ及び前記データ情報記録部に記録されている前記所定の情報を読み込むものであり、前記スレーブは、前記分割されたデータ及び前記所定の情報に基づいて、前記分割されたデータを結合するデータ結合手段を備えることを特徴とする。
【００１６】
この構成により、ブロック内のデータが記録される部分の容量に合わせてデータを分割することで、メモリのブロックを有効に活用できる為、メモリ使用効率を上げることができる。
【００１７】
更に、本発明のバス通信装置は、前記マスタの前記割り込み発生手段が、前記分割されたデータ及び前記所定の情報が前記ブロックに全て書き込まれた後に、前記割り込みを発生し、前記スレーブの前記データ読み込み手段は、当該割り込みに基づいて、前記データ及び前記所定の情報を読み込むことを特徴とする。
【００１８】
この構成により、マスタからスレーブに対して発生する割り込みの回数を１回にすることができる為、バス通信にかかる時間を短縮することができる。
【００１９】
更に、本発明のバス通信装置は、前記スレーブが、前記データ読み込み手段によって前記データ及び前記所定の情報を読み込まれた後に、前記分割されたデータの読み込みが完了したことを通知する為の読み込み完了通知割り込み要因を前記割り込み要因記録部に書き込む、読み込み完了通知割り込み要因書き込み手段を備え、前記スレーブの前記割り込み発生手段は、前記読み込み完了通知割り込み要因が書き込まれると前記マスタに対して前記割り込みを発生し、前記マスタは、前記スレーブの前記割り込み発生手段からの前記割り込みに基づいて、前記割り込み要因記録部に記録されている前記割り込み要因の内容を判定する割り込み要因判定手段を備えることを特徴とする。
【００２０】
この構成により、スレーブにデータが読み込まれたことをマスタが判断できる為、データ転送におけるデータ落ち等に、マスタが対応することができる。
【００２１】
更に、本発明のバス通信装置は、前記マスタが、前記書き込みブロック番号及び前記読み込みブロック番号に基づいて、前記データの書き込みが可能なブロック数を算出する書き込み可能ブロック数算出手段を備え、前記書き込み可能なブロック数に応じて、前記スレーブへの前記データの転送を制御し、前記スレーブは、前記書き込みブロック番号及び前記読み込みブロック番号に基づいて、前記データの読み込みが完了したブロック数を算出する読み込み済みブロック数算出手段を備え、前記読み込み済みブロック数に応じて前記マスタの前記データの転送を制御することを特徴とする。
【００２２】
この構成により、データ転送先の状態に応じてデータの転送を制御することができる。
【００２３】
更に、本発明のバス通信装置は、前記マスタが、前記共有メモリの書き込み可能ブロック数の不足により書き込むことができなかったデータを一時的に保存するデータ保存手段を備え、前記共有メモリの書き込み可能ブロック数が、当該データの書き込みが可能な数になった場合に、前記マスタは、前記データ保存手段に保存されているデータを前記書き込み可能なブロックに書き込むことを特徴とする。
【００２４】
この構成により、転送できなかったデータを保持しておくことで、マスタにおける処理を効率良く行うことができる。
【００２５】
更に、本発明のバス通信装置は、前記割り込み要因記録部に記録される各種割り込み要因が、当該割り込み要因記録部にビット毎に記録されることを特徴とする。
【００２６】
この構成により、割り込み要因がビット毎に記録される為、ビット毎に割り込み要因を判断可能になり、各割り込み要因の判断を高速に行うことができる。この結果、バス通信を高速に行うことができる。
【００２７】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
（第一実施形態）
図１は、第一実施形態に係るバス通信装置の構成図である。
同図に示したように、バス通信装置１は、ＣＰＵ１０１と共有メモリ１０２が実装された基板１００、ＣＰＵ２０１と共有メモリ２０２が実装された基板２００、及びＣＰＵ３０１と共有メモリ３０２が実装された基板３００を備えて構成される。共有メモリ１０１、２０２、及び３０２は、各ＣＰＵによってデータの読み出しや書き込みが可能な共有メモリである。基板１００、２００、及び３００はマルチマスタバス１０に接続される。
【００２８】
尚、各ＣＰＵは特許請求の範囲のプロセッサに該当し、各共有メモリは特許請求の範囲のメモリに該当し、各基板は特許請求の範囲のプロセッサユニットに該当する。
【００２９】
又、本実施形態では、説明を簡略にする為、基板の数を３つとしているが、この数はこれに限らず、複数個の基板を備えた構成であれば良い。更に、図１に示した構成は、以下に説明する全ての実施形態について共通の構成である。
【００３０】
図２は、第一実施形態に係るバス通信装置のデータデータ転送元のＣＰＵとデータデータ転送先のＣＰＵの内部構成図である。
同図に示したように、データデータ転送元のＣＰＵ２１は、ＣＰＵ２１自身と同じ基板に実装されている共有メモリ（以下、自メモリという）にデータを書き込む自メモリデータ書き込み部２１１及び自メモリデータ書き込み部２１１によるデータの書き込み完了後に、データデータ転送先のＣＰＵ２２に対して割り込みを発生する割り込み発生部２１２を備える。
【００３１】
データデータ転送先のＣＰＵ２２は、ＣＰＵ２１からの割り込みを受信する割り込み受信部２２２及びＣＰＵ２１の自メモリ（他基板上の共有メモリ、以下他メモリという）からバス１０を介してデータを読み込む他メモリデータ読み込み部２２１を備える。
【００３２】
次に、バス通信装置１におけるバス通信の動作について説明する。
図３は、第一実施形態に係るバス通信装置におけるバス通信の動作の流れを説明するシーケンスチャートである。
データデータ転送元のＣＰＵ２１は、自メモリにデータを書き込み（Ｓ３０１）、書き込み完了後、ＣＰＵ２２に対して割り込みを発生する（Ｓ３０２）。割り込みを受信したＣＰＵ２２は、ＣＰＵ２１の自メモリにアクセスし、そのメモリに書き込まれたデータを読み込む（Ｓ３０３）。
【００３３】
以上説明したように、本実施形態によれば、データ転送元のＣＰＵ２１が自メモリにデータを書き込んで割り込みを発生し、その割り込みを受信したデータ転送先のＣＰＵ２２が、他メモリに書き込まれたデータを読み込む。このようにすることで、メモリの読み込みや書き込みといった処理によりバス通信を実現することができる。
共有メモリへの読み込みや書き込み機能は、データ通信に限定した機能ではない為、汎用性に優れた構成でバス通信を行うことができる。
【００３４】
（第二実施形態）
第一実施形態で説明したバス通信装置において各ＣＰＵの通信タイミングが異なる場合、通信タイミングの同期をとることができず、バス通信が正常に行われない可能性がある。そこで、本実施形態では、ＣＰＵの通信タイミングの同期をとることが可能なバス通信装置について説明する。
【００３５】
図４は、第二実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリのメモリ構成図である。
同図に示したように、共有メモリは、データが記録されるデータ記録部４１及び割り込み要因が記録される割り込み要因記録部４５を備える。
【００３６】
割り込み要因記録部４５は、通信同期をとる為の割込み要因である通信同期割込み要因が記録される通信同期割込み要因記録部４２、通信同期をとったことを通知する為の割込み要因である通信同期完了割込み要因が記録される通信同期完了割込み要因記録部４３、及びデータを転送する為の割込み要因である転送割込み要因が記録される転送割込み要因記録部４４から構成される。
【００３７】
図５は、第二実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。
【００３８】
データ転送元のＣＰＵ５１は、通信同期割込み要因設定部５１１、割込み要因判別部５１２、自メモリデータ書き込み部５１３、転送割込み要因設定部５１４、割込み発生部５１５、及び割り込み受信部５１６を備える。
【００３９】
通信同期割込み要因設定部５１１は、通信同期割込み要因を自メモリに書き込んで設定する。割込み要因判別部５１２は、割り込み受信後に、自メモリの割り込み要因記録部４５に記録されている割込み要因を判別する。自メモリデータ書き込み部５１３は、自メモリの割り込み要因記録部４５に記録されている割込み要因が通信同期完了割込み要因であると判別されたときに、自メモリのデータ記録部４１にデータを書き込む。転送割込み要因設定部５１４は、自メモリにデータが書き込まれた後、転送割込み要因を自メモリの転送割り込み要因記録部４４に書き込んで設定する。割込み発生部５１５は、通信同期割込み要因又は転送割込み要因を自メモリの割り込み要因記録部４５に設定完了後、他のＣＰＵに対して割り込みを発生する。割り込み受信部５１６は、他のＣＰＵからの割り込みを受信する。
【００４０】
データデータ転送先のＣＰＵ５２は、通信同期完了割込み要因設定部５２１、割込み要因判別部５２２、他メモリデータ読み込み部５２３、割り込み発生部５２５、及び割り込み受信部５２６を備える。
【００４１】
割込み要因判別部５２２は、割り込み受信後に、他メモリの割り込み要因記録部４５に設定されている割込み要因を判別する。通信同期完了割込み要因設定部５２１は、他メモリの割り込み要因記録部４５に設定されている割込み要因が通信同期割込み要因であると判別されたときに、通信同期完了割込み要因を他メモリの通信同期完了割込み要因記録部４３に書き込んで設定する。割り込み受信部５２６は、他のＣＰＵからの割り込みを受信する。割り込み発生部５２５は、通信同期完了割込み要因設定後に他のＣＰＵに対して割り込みを発生する。他メモリデータ読み込み部５２３は、他メモリの割り込み要因記録部４５に設定されている割込み要因が転送割込み要因であると判別されたときに、他メモリのデータ記録部４１に書き込まれているデータを読み込む。
【００４２】
次に、本実施形態に係るバス通信装置において各ＣＰＵの通信同期をとる際の動作について説明する。
図６は、第二実施形態に係るバス通信装置において、各ＣＰＵの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
データ転送元のＣＰＵ５１は、通信同期割込み要因を自メモリに設定し（Ｓ６０１）、ＣＰＵ５２に対して割り込みを発生する（Ｓ６０２）。割り込みを受信したＣＰＵ５２は、ＣＰＵ５１の自メモリに設定されている割込み要因を判別する（Ｓ６０３）。設定されている割込み要因が通信同期割込み要因である為、ＣＰＵ５２は、ＣＰＵ５１との通信同期をとった後、通信同期完了割込み要因をＣＰＵ５１の自メモリに設定し（Ｓ６０４）、ＣＰＵ５１に対して割り込みを発生する（Ｓ６０５）。割り込みを受信したＣＰＵ５１は、自メモリに設定されている割込み要因を判別する（Ｓ６０６）。設定されている割込み要因が通信同期完了割込み要因である為、ＣＰＵ５１は、ＣＰＵ５２との通信同期がとれたことを確認し、ＣＰＵ５１の自メモリにデータを書き込む（Ｓ６０７）。
【００４３】
データ書き込み完了後、ＣＰＵ５１は、転送割込み要因を自メモリに書き込んで設定し（Ｓ６０８）、ＣＰＵ５２に対して割込みを発生する（Ｓ６０９）。割込みを受信したＣＰＵ５２は、ＣＰＵ５１の自メモリに設定されている割込み要因を判別する（Ｓ６１０）。設定されている割込み要因が転送割込み要因である為、ＣＰＵ５２は、ＣＰＵ５１の自メモリからデータを読み込む（Ｓ６１１）。
【００４４】
以上説明したように、本実施形態によれば、各ＣＰＵの通信タイミングが異なる場合でも、通信タイミングの同期をとってからバス通信を開始する為、データの書き込み待ちや読み込み待ちといった時間のロスを無くすことができる。
【００４５】
（第三実施形態）
第三実施形態に係るバス通信装置は、第二実施形態で説明したバス通信装置より更に高速にバス通信が可能な構成としたものである。
図７は、第三実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。尚、図５に示した構成と同様のものについては同一符号を付して説明を省略する。
【００４６】
図７に示したように、データデータ転送元のＣＰＵ７１は、通信同期割込み要因設定部５１１、割込み要因判別部５１２、他メモリのデータ記録部４１にデータを書き込む他メモリデータ書き込み部７１３、転送割込み要因を他メモリの転送割り込み要因記録部４４に書き込んで設定する転送割込み要因設定部７１４、割込み発生部５１５、及び割込み受信部５１６を備える。
【００４７】
データ転送先のＣＰＵ７２は、通信同期完了割込み要因設定部５２１、割り込み受信後に、自メモリに設定されている割込み要因を判別する割込み要因判別部７２２、自メモリの割り込み要因記録部４５に設定されている割込み要因が転送割込み要因であるときに、自メモリのデータ記録部４１に書き込まれているデータを読み込む自メモリデータ読み込み部７２３、割り込み発生部５２５、及び割込み受信部５２６を備える。
【００４８】
図８は、第三実施形態に係るバス通信装置において、各ＣＰＵの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。尚、各ＣＰＵの通信同期をとるまでの動作は、図６に示したＳ６０１〜Ｓ６０６までと同様である為、図８では、図示を省略している。
【００４９】
各ＣＰＵの通信同期がとれた後、ＣＰＵ７１はＣＰＵ７２の自メモリにデータを書き込み（Ｓ８０７）、転送割込み要因をＣＰＵ７２の自メモリに設定する（Ｓ８０８）。転送割込み要因設定完了後、ＣＰＵ７１は、ＣＰＵ７２に対して割り込みを発生する（Ｓ８０９）。割り込みを受信したＣＰＵ７２は、自メモリに設定されている割込み要因を判別する（Ｓ８１０）。自メモリに設定されている割込み要因が転送割込み要因である為、ＣＰＵ７２は、自メモリに書き込まれているデータを読み込み（Ｓ８１１）、データ転送が終了する。
【００５０】
本実施形態に用いるマルチマスタバス１０が、ＰＣＩ等のマルチマスタバスである場合、バス上でのメモリアクセスは、読み込みに対して書き込みの方が高速にアクセス可能である。この為、本実施形態のように、データ転送元のＣＰＵ７１が、データ及び転送割込み要因を他メモリに書き込む構成とすることで、ＣＰＵ７１は高速にデータ及び転送割込み要因を書き込むことができる。又、ＣＰＵ７２は、データと転送割込み要因を自メモリから読み込めばよい為、他メモリからデータを読み込むよりも高速にデータを読み込むことができる。この結果、高速にバス通信を行うことができる。
【００５１】
（第四実施形態）
本実施形態に係るバス通信装置は、第二実施形態で説明した通信同期割込み要因設定部５１１、割込み要因判別部５１２、転送割込み要因設定部５１４、割込み要因判別部５２２、及び通信同期完了割込み要因設定部５２１が、それぞれ割込み要因を判別したり設定したりする際に、割込み要因の判別又は設定を排他制御を行いながらビット毎に設定する構成としたものである。
【００５２】
図９は、第四実施形態に係るバス通信装置の各ＣＰＵに接続されている共有メモリのメモリ構成図、図１０は、第四実施形態に係るバス通信装置の各ＣＰＵに接続されている共有メモリのメモリ構成図における割込み要因ビット記録部の内部構成図である。
【００５３】
図９に示したように、共有メモリは、データが記録されるデータ記録部９１及び割込み要因がビットで示された割込み要因ビット記録部９２から構成される。図１０に示したように、割込み要因ビット記録部９２は、複数のビットから構成され、これらのビットには、転送割込み要因を設定する為の転送割込み要因ビット９２１、通信同期完了割込み要因を設定する為の通信同期完了割込み要因ビット９２２、及び通信同期割込み要因を設定する為の通信同期割込み要因ビット９２３が含まれる。割り込み要因が設定されているビットは“１”に、設定されていないビットは“０”となっている。この為、各ビットの数値を判別することで、設定されている割込み要因の内容を判別することができる。
【００５４】
図１１は、第四実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。尚、図５と同様の構成には同一符号を付して説明を省略する。
同図に示したように、データ転送元のＣＰＵ１１１は、通信同期割込み要因ビット設定部１１１１、割込み要因ビット判別部１１１２、自メモリデータ書き込み部５１３、転送割込み要因ビット設定部１１１４、割込み発生部５１５、及び割込み受信部５１６を備える。
【００５５】
通信同期割込み要因ビット設定部１１１１は、通信同期割込み要因ビットを排他制御を行いながら自メモリの通信同期割り込み要因ビット９２３に設定する。割込み要因ビット判別部１１１２は、割り込み受信後、自メモリの割り込み要因ビット記録部９２に設定されている割込み要因ビットを排他制御を行いながらビット毎に判別する。転送割込み要因ビット設定部１１１４は、転送割込み要因ビットを排他制御を行いながら自メモリの転送割り込み要因ビット記録部９２１に設定する。
【００５６】
データ転送先のＣＰＵ１１２は、通信同期完了割込み要因ビット設定部１１２１、割込み要因ビット判別部１１２２、他メモリデータ読み込み部５２３、割込み発生部５２５、及び割込み受信部５２６を備える。
【００５７】
割込み要因ビット判別部１１２２は、割り込み受信後、他メモリの割り込み要因ビット記録部９２に設定されている割込み要因ビットを排他制御を行いながらビット毎に判別する。通信同期完了割込み要因ビット設定部１１２１は、通信同期完了割込み要因ビットを排他制御を行いながら他メモリの通信同期完了割込み要因ビット記録部９２に設定する。
【００５８】
尚、第四実施形態に係るバス通信装置の動作は、第二実施形態で説明したバス通信装置において、通信同期割込み要因設定部５１１、転送割込み要因設定部５１４、及び通信同期完了割込み要因設定部５２１が、各種割込み要因を共有メモリにビット単位で設定し、設定された各種割り込み要因を割込み要因判別部５１２及び５２２がビット単位で判別すること以外は、図６に示したシーケンスと同様である為、その説明は省略する。
【００５９】
以上説明したように、本実施形態によれば、各種割込み要因を共有メモリにビット単位で設定し、設定された各種割り込み要因をビット単位で判別することで、割込み要因の判別を高速に行うことができる為、バス通信を高速に行うことができる。
【００６０】
尚、本実施形態で説明したバス通信装置の構成と第三実施形態で説明したバス通信装置の構成（割り込み要因やデータの書き込みをデータ転送元のＣＰＵの自メモリではなく、データ転送先のＣＰＵの自メモリに行う構成）とを組み合わせることも可能である。
【００６１】
（第五実施形態）
第五実施形態に係るバス通信装置は、第三実施形態で説明したバス通信装置において、データ転送元のＣＰＵが、複数のデータを同時に他メモリに書き込むことができる構成としたものである。
【００６２】
図１２は、第五実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリの内部構成図である。尚、図４と同様の構成には同一符号を付して説明を省略する。
同図に示したように、データ記録部１２１は、ｎ個のブロックから構成される。尚、各ブロックには１〜ｎの番号が割り当てられる。各ブロックは、データを記録するデータ記録部１２２及びデータ記録部１２２にデータが記録可能かどうかを示すブロック記録可能フラグが設定されるブロック記録可能フラグ記録部１２３を備える。ブロック使用記録フラグは“０”と“１”の１ビットデータであり、例えば、データ記録部１２２にデータが記録可能な場合は“０”に、データ記録部１２２にデータが記録不可能な場合は“１”に設定される。
【００６３】
図１３は、第五実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。尚、図７と同様の構成には同一符号を付して説明を省略する。
【００６４】
図１３に示したように、データ転送元ＣＰＵ１３１は、通信同期割込み要因設定部５１１、割込み要因判別部５１２、他メモリデータブロック書き込み部１３１７、書き込み可能ブロック検索部１３１８、ブロック記録可能フラグ設定部１３１９、転送割込み要因設定部７１４、割込み発生部５１５、及び割込み受信部５１６を備える。
【００６５】
書き込み可能ブロック検索部１３１８は、ブロック記録可能フラグが“０”に設定されている他メモリのブロック（記録可能なブロック）を検索する。ブロック記録可能フラグ設定部１３１９は、他メモリの書き込み可能ブロックのデータ記録部１２２にデータが記録された後に、そのブロックのブロック記録可能フラグを“０”から“１”に設定する。他メモリブロックデータ書き込み部１３１７は、他メモリの書き込み可能ブロックのデータ記録部１２２にデータを書き込む。
【００６６】
尚、他メモリブロックデータ書き込み部１３１７は、データ転送先ＣＰＵ１３２に転送すべきデータが複数ある場合、各データをそれぞれ複数の記録可能ブロックに書き込むことで、複数のデータを同時に他メモリに書き込むことができる。
【００６７】
データ転送先ＣＰＵ１３２は、通信同期完了割込み要因設定部５２１、割込み要因判別部７２２、自メモリデータブロック読み込み部１３２７、読み込み可能ブロック検索部１３２８、ブロック記録可能フラグ設定部１３２９、割り込み発生部５２５、及び割込み受信部５２６を備える。
【００６８】
読み込み可能ブロック検索部１３２８は、割込み要因判別部７２２で判別された割込み要因が転送割込み要因である場合に、ブロック記録可能フラグが“１”に設定されている自メモリのブロック（データが記録されているブロック）を検索する。ブロック使用記録フラグ設定部１３２９は、自メモリブロックデータ読み込み部１３２７が読み込んだブロックのブロック記録可能フラグを“１”から“０”に設定する。自メモリブロックデータ読み込み部１３２７は、ブロック記録可能フラグが“１”に設定されている自メモリのブロックのデータ記録部１２２からデータを読み込む。
【００６９】
図１４は、第五実施形態に係るバス通信装置におけるバス通信の動作の流れを説明するシーケンスチャートである。尚、各ＣＰＵの通信同期をとるまでの動作は、図６に示したＳ６０１〜Ｓ６０６までと同様である為、図１４では、図示を省略している。
【００７０】
各ＣＰＵの通信同期がとれた後、データ転送元ＣＰＵ１３１は、書き込み可能ブロック検索部１３１８によって他メモリの書き込み可能ブロックを検索し（Ｓ１４０７）、検索された他メモリの複数の書き込み可能ブロックに複数のデータを同時に書き込む（Ｓ１４０８）。データの書き込み完了後、ブロック記録可能フラグ設定部１３１９により、データが書き込まれた他メモリのブロックのブロック記録可能フラグが“０”から“１”へと設定される（Ｓ１４０９）。
【００７１】
ブロック記録可能フラグ設定完了後、ＣＰＵ１３１は、転送割込み要因を他メモリに設定し（Ｓ１４１０）、ＣＰＵ１３２に対して割込みを発生する（Ｓ１４１１）。割込みを受信したＣＰＵ１３２は、自メモリに設定されている割込み要因を判別する（Ｓ１４１２）。自メモリに設定されている割込み要因が転送割込み要因である為、ＣＰＵ１３２では、読み込み可能ブロック検索部１３２８により自メモリの読み込み可能ブロックが検索され（Ｓ１４１３）、検索の結果、自メモリブロックデータ読み込み部１３２７によって、自メモリの読み込み可能な複数のブロックからデータが読み込まれる（Ｓ１４１４）。複数のデータが各ブロックから読み込まれると、その各ブロックのブロック記録可能フラグが“１”から“０”に設定される（Ｓ１４１５）。
【００７２】
以上説明したように、本実施形態によれば、共有メモリをｎ個のブロックに分割して構成し、バス通信時には、データが記録可能なブロックにデータを書き込むことでデータの転送を行っている。この為、データが複数ある場合でも、複数の記録可能なブロックにデータを書き込むことで、複数のデータを同時に転送することが可能となる。
【００７３】
尚、本実施形態で説明したバス通信装置の構成と第二及び第四実施形態で説明したバス通信装置の構成（データや割り込み要因の書き込みをデータ転送元のＣＰＵの自メモリに行う構成、各種割り込み要因をビット毎に設定する構成）とを組み合わせることも可能である。
【００７４】
（第六実施形態）
第六実施形態に係るバス通信装置は、第三実施形態で説明したバス通信装置において、データを書き込む位置とデータを読み込む位置とを高速に決定できる構成としたものである。
【００７５】
図１５は、第六実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリの内部構成図である。尚、図１２と同様の構成には同一符号を付して説明を省略する。
同図に示したように、共有メモリは、書き込みブロック番号記録部１５１、読み込みブロック番号記録部１５２、データ記録部１５３、通信同期割込み要因記録部４２、通信同期完了割込み要因記録部４３、及び転送割込み要因記録部４４から構成される。
【００７６】
データ記録部１５３はｎ個のブロックから構成され、それぞれのブロックには１〜ｎの番号が付与されている。又、各ブロックは、データを記録するデータ記録部１５４を備える。書き込みブロック番号記録部１５１は、データを共有メモリに書き込む際に、どのブロックに書き込むかを指定する為の書き込みブロック番号が記録される。読み込みブロック番号記録部１５２は、データを共有メモリから読み込む際に、どのブロックから読み込むかを指定する為の読み込みブロック番号が記録される。
【００７７】
尚、書き込みブロック番号記録部１５１と読み込みブロック番号記録部１５２に記録されるブロック番号はそれぞれ更新可能である。例えば、書き込みブロック番号が１に設定されている場合、更新後の書き込みブロック番号は２になる。又、書き込みブロック番号がｎまで進むと、その次の更新時には、書き込みブロック番号は１に戻るというサイクリック構造をとる。尚、読み込みブロック番号記録部１５２も同様の構造をとる。
【００７８】
図１６は、第六実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。尚、図７に示した構成と同様のものには同一符号を付して説明を省略する。
【００７９】
図１６に示したように、データ転送元ＣＰＵ１６１は、通信同期割込み要因設定部５１１、割込み要因判別部５１２、他メモリブロックデータ書き込み部１６１７、書き込みブロック番号決定部１６１８、書き込みブロック番号更新部１６１９、転送割込み要因設定部７１４、割込み発生部５１５、及び割込み受信部５１６を備える。
【００８０】
書き込みブロック番号決定部１６１８は、データを書き込む他メモリのブロック番号を、他メモリの書き込みブロック番号記録部１５１を参照して決定する。書き込みブロック番号更新部１６１９は、書き込みブロック番号決定部１６１８によって決定された番号のブロックにデータが書き込まれた後に、共有メモリの書き込みブロック番号記録部１５１に記録される書き込みブロック番号を更新する。他メモリデータブロック書き込み部１６１７は、書き込みブロック番号決定部１６１８によって取得された番号のブロックにデータを書き込む。
【００８１】
データ転送先ＣＰＵ１６２は、通信同期完了割込み要因設定部５２１、割込み要因判別部７２２、自メモリブロックデータ書き込み部１６２７、読み込みブロック番号決定部１６２８、読み込みブロック番号更新部１６２９、割り込み発生部５２５、及び割込み受信部５２６を備える。
【００８２】
読み込みブロック番号決定部１６２８は、割込み要因判別部７２２で判別された割込み要因が転送割込み要因である場合に、データ読み込み先の自メモリのブロック番号を、自メモリの読み込みブロック番号記録部１５２から取得する。読み込みブロック番号更新部１６２９は、読み込みブロック番号決定部１６２８によって決定されたブロックからデータが読み込まれた後に、共有メモリの読み込みブロック番号記録部１５２に記録される読み込みブロック番号を更新する。自メモリデータブロック読み込み部１６２７は、読み込みブロック番号決定部１６２８によって決定された番号のブロックからデータを読み込む。
【００８３】
図１７は、第六実施形態に係るバス通信装置において、各ＣＰＵの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。尚、各ＣＰＵの通信同期をとるまでの動作は、図６に示したＳ６０１〜Ｓ６０６までと同様である為、図１７では図示を省略している。
【００８４】
各ＣＰＵの通信同期がとれた後、データ転送元ＣＰＵ１６１では、書き込みブロック番号決定部１６１８が、他メモリの書き込みブロック番号記録部１５１を参照して書き込みブロックを決定する（Ｓ１７０７）。ＣＰＵ１６１では、他メモリブロックデータ書き込み部１６１７によって、決定されたブロック（ブロック１とする）にデータが書き込まれる（Ｓ１７０８）。データ書き込み完了後、書き込みブロック番号更新部１６１９によって、他メモリの書き込みブロック番号記録部１５１に記録されている書き込みブロック番号が１から２に更新される（Ｓ１７０９）。書き込みブロック番号更新後、ＣＰＵ１６１は、転送割込み要因を他メモリに設定し（Ｓ１７１０）、ＣＰＵ１６２に対して割り込みを発生する（Ｓ１７１１）。
【００８５】
割り込みを受信したＣＰＵ１６２は、自メモリに設定されている割込み要因を判別する（Ｓ１７１２）。自メモリに設定されている割込み要因が転送割込み要因である為、データが自メモリに書き込まれているとＣＰＵ１６２が判断し、読み込みブロック番号決定部１６２８によって自メモリの読み込みブロック番号記録部１５２が参照されて読み込みブロック番号が決定される（Ｓ１７１３）。読み込みブロック番号が決定されると、自メモリブロックデータ読み込み部１６２７によって、決定されたブロック（ブロック１）からデータが読み込まれる（Ｓ１７１４）。その後、読み込みブロック番号更新部１６２９によって、自メモリの読み込みブロック番号記録部１５２に記録されている読み込みブロック番号が１から２に更新される（Ｓ１７１５）。
【００８６】
以上説明したように、本実施形態によれば、各ＣＰＵに接続される共有メモリに書き込みブロック番号記録部１５１と読み込みブロック番号記録部１５２を設け、指定された書き込みブロック番号や読み込みブロック番号に基づいて、データの書き込みや読み込みを行う。この為、データの書き込みブロックや読み込みブロックを高速に決定することができ、バス通信を高速に行うことができる。
【００８７】
尚、本実施形態で説明したバス通信装置の構成と第二、第四実施形態で説明したバス通信装置の構成（データや割り込み要因の書き込みをデータ転送元のＣＰＵの自メモリに行う構成、各種割り込み要因をビット毎に設定する構成）とを組み合わせることも可能である。
【００８８】
（第七実施形態）
第七実施形態に係るバス通信装置は、第六実施形態で説明したバス通信装置において、データを分割して他メモリに書き込む構成としたものである。
【００８９】
図１８は、第七実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリの内部構成図である。尚、図１５と同様の構成には同一符号を付して説明を省略する。
同図に示したように、共有メモリは、書き込みブロック番号記録部１５１、読み込みブロック番号記録部１５２、データ記録部１５３、通信同期割込み要因記録部４２、通信同期完了割込み要因記録部４３、及び転送割込み要因記録部４４から構成される。
【００９０】
各ブロックは、データ記録部１８１、データ番号記録部１８２、及び分割数記録部１８３から構成される。データ記録部１８１には分割されたデータが記録される。データ番号記録部１８２には、分割されたデータのうちの何番目のデータであるかを示す番号が記録される。分割数記録部１８３には、分割されたデータの全体数が記録される。
【００９１】
図１９は、第七実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。図１６に示した構成と同様のものには同一符号を付して説明を省略する。
【００９２】
本実施形態に係るバス通信装置のデータ転送元のＣＰＵ１９１は、図１６に示したデータ転送元のＣＰＵ１６１が有する構成に加え、自メモリのデータ記録部１８１に記録可能なサイズにデータを分割するデータ分割部１９０１を備え、他メモリブロックデータ書き込み部１６１７を他メモリブロックデータ書き込み部１９１７に変更した構成としたものである。
【００９３】
他メモリブロックデータ書き込み部１９１７は、分割されたデータを他メモリのデータ記録部１８１に記録し、記録したデータが、分割されたデータのうちの何番目のデータなのかを示す番号（データに関する所定の情報）をデータ番号記録部１８２に記録し、分割されたデータの全体数（データに関する所定の情報）を分割数記録部１８３に記録する。尚、他メモリブロックデータ書き込み部１９１７は、他メモリの各ブロックにこれらのデータを連続して書き込む。
【００９４】
この場合、他メモリブロックデータ書き込み部１９１７によって１つの分割データが他メモリに書き込まれる毎に、転送割込み要因設定部７１４が転送割込み要因を他メモリに設定し、割込み発生部５１５が割り込みを発生する。即ち、図１７に示したＳ１７０８からＳ１７１１までの動作を分割したデータの数分行う。
【００９５】
データ転送先のＣＰＵ１９２は、図１６に示したデータ転送先のＣＰＵ１６２が有する構成に加え、自メモリブロックデータ読み込み部１９２７によって読み込まれた分割データを、データ番号と分割数とを参照して結合するデータ結合部１９０２を備え、自メモリブロックデータ読み込み部１６２７を自メモリブロックデータ読み込み部１９２７に変更した構成としたものである。
【００９６】
自メモリブロックデータ読み込み部１９２７は、分割されたデータ、そのデータのデータ番号、及びデータの全体数を自メモリの各ブロックから読み込み、データ結合部１９０２に伝達する。尚、自メモリブロックデータ読み込み部１９２７は、これらのデータを自メモリの各ブロックから連続して読み込む。この為、自メモリブロックデータ読み込み部１９２７がデータを読み込む際に、読み込みブロック番号決定部１６２８及び読み込みブロック番号更新部１６２９は、読み込みブロック番号決定動作及び読み込みブロック番号更新動作を繰り返す。即ち、図１７に示したＳ１７１２〜Ｓ１７１５までの動作を、割込みを受信した回数分行う。
【００９７】
一般に、メモリ内の１つのブロックには、１つのデータが記録される。この為、ブロックサイズが大きいと、記録されるデータが小さい場合には、ブロック内にブランクが生じてしまい、結果的に多くのメモリを使用してしまうことになり、メモリ使用効率が悪い。そこで、本実施形態で説明したように、各ブロックのデータ記録部１８１のサイズに合わせてデータを分割して書き込むことで、メモリ使用効率を上げることができる。
【００９８】
尚、本実施形態では、分割したデータを書き込む毎に、データ転送元のＣＰＵ１９１から割り込みを発生する構成としているが、他メモリブロックデータ書き込み部１９１７によって、分割されたデータの全てについての書き込みが完了した時点で、ＣＰＵ１９２に対して割り込みを発生するようにしても良い。
【００９９】
このようにすることで、データを分割して書き込む際に、ＣＰＵ１９２に対しての割り込み発生回数を１回にすることができ、割り込み発生回数が減少する為、バス通信にかかる通信時間を削減することができる。
【０１００】
又、本実施形態で説明したバス通信装置の構成と第二、第四実施形態で説明したバス通信装置の構成（データや割り込み要因の書き込みをデータ転送元のＣＰＵの自メモリに行う構成、各種割り込み要因をビット毎に設定する構成）とを組み合わせることも可能である。
【０１０１】
（第八実施形態）
第八実施形態に係るバス通信装置は、第七実施形態で説明したバス通信装置において、ＣＰＵ１９２が、分割されたデータを自メモリから読み込んだ後又は読み込まれたデータがデータ結合部１９０２によって結合された後に、データの読み込みの完了又はデータの結合完了をＣＰＵ１９１に対して通知する構成としたものである。
【０１０２】
図２０は、第八実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリの内部構成図である。尚、図１８に示した構成と同様のものには同一符号を付して説明を省略する。
【０１０３】
図２０に示したように、本実施形態の共有メモリは、図１８に示したメモリ構成に加え、分割されたデータの読み込みが完了したことを示す読み込み完了割り込み要因を記録する読み込み完了割り込み要因記録部２１０を備えた構成としたものである。
【０１０４】
図２１は、第八実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。図１９に示した構成と同様のものには同一符号を付して説明を省略する。
【０１０５】
本実施形態に係るバス通信装置は、データ転送先のＣＰＵ２１２が、図１９に示したデータ転送先のＣＰＵ１９２が有する構成に加えて、読み込み完了割り込み要因設定部２１０３を備え、更に、割り込み発生部５２５を割り込み発生部２１２５に変更した構成としたものである。
【０１０６】
読み込み完了割り込み要因設定部２１０３は、自メモリブロックデータ読み込み部１９２７による各種データの読み込みが完了する毎に、ＣＰＵ２１２の自メモリの読み込み完了割り込み要因記録部２１０に読み込み完了割り込み要因を書き込んで設定する。
【０１０７】
尚、読み込み完了割り込み要因設定部２１０３は、分割されたデータが自メモリブロックデータ読み込み部１９２７によって全て読み込まれ、データ結合部１９０２によってデータの結合が完了した後に、ＣＰＵ２１２の自メモリの読み込み完了割り込み要因記録部２１０に読み込み完了割り込み要因を書き込んで設定するようにしても良い。
【０１０８】
割り込み発生部２１２５は、割り込み発生部５２５の構成に加え、読み込み完了割り込み要因設定部２１０３が読み込み完了割り込み要因をＣＰＵ２１２の自メモリに設定した後に、ＣＰＵ１９１に対して割り込みを発生する。
【０１０９】
又、第四実施形態で説明した構成を本実施形態のバス通信装置に適用しても良い。この場合は、図２０に示した共有メモリの内部構成において、通信同期割込み要因が記録される通信同期割込み要因記録部４２、通信同期完了割込み要因が記録される通信同期完了割込み要因記録部４３、及び転送割込み要因記録部４４を、図１０に示したような構成とし、更に、割込み要因ビット記録部９２に読み込み完了割り込み要因ビット記録部を設けた構成とすれば良い。
【０１１０】
更に、上記で説明した読み込み完了割り込み要因設定部２１０３は、読み込み完了割り込み要因を、排他制御を行いながら自メモリの読み込み完了割り込み要因ビット記録部に設定する構成とすれば良い。
【０１１１】
図２２は、第八実施形態に係るバス通信装置において、各ＣＰＵの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。尚、図１７に示したステップと同様のステップには同一符号を付して説明を省略する。
【０１１２】
Ｓ１７１５で読み込みブロック番号が更新されると、読み込み完了割り込み要因設定部２１０３が読み込み完了割り込み要因をＣＰＵ２１２の自メモリに設定する（Ｓ２２１６）。その後、割り込み発生部２１２５がＣＰＵ１９１に対して割り込みを発生する（Ｓ２２１７）。割り込みを受信したＣＰＵ１９１では、割り込み要因判別部５１２により他メモリに設定されている割り込み要因が判別される（Ｓ２２１８）。設定されている割り込み要因が読み込み完了割り込み要因である場合は、データの読み込みが正常に行われたことをＣＰＵ１９１によって確認することができる。読み込み完了割り込み要因が設定されていない場合は、設定されるまで、ＣＰＵ１９１は、データの書き込みを繰り返す。
【０１１３】
以上説明したように、本実施形態によれば、データ転送先のＣＰＵ２１２が、読み込み完了割り込み要因を自メモリに設定することで、データの読み込みが完了したことをデータ転送元のＣＰＵ１９１に通知することが可能となる。したがって、データ転送先のＣＰＵ２１２でデータが読み込まれなかったという状況を避けることができる。
【０１１４】
（第九実施形態）
第九実施形態に係るバス通信装置は、第八実施形態で説明したバス通信装置において、更に、高速なバス通信を実現できる構成としたものである。
図２３は、第九実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリの内部構成図である。尚、図２０と同様の構成には同一符号を付して説明を省略する。
【０１１５】
同図に示したように、本実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリは、図２０に示したメモリ構成に、更に、読み込み完了割り込み要因の設定の有無を示す読み込み完了割り込み要因設定フラグを記録する読み込み完了割り込み要因設定フラグ記録部２３０を追加した構成をとる。尚、読み込み完了割り込み要因設定フラグは“０”と“１”の１ビットの数値によって設定される。
【０１１６】
図２４は、第九実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。図２１に示した構成と同様のものには同一符号を付して説明を省略する。
【０１１７】
図２４に示したように、データ転送元のＣＰＵ２４１は、図２１に示したデータ転送元のＣＰＵ１９１が有する構成に加えて、書き込み可能ブロック数算出部２４０２及び読み込み完了割り込み要因設定フラグ設定部２４０３を備える。
【０１１８】
書き込み可能ブロック数算出部２４０２は、データ転送先のＣＰＵ２４２の共有メモリに記録されている書き込みブロック番号と読み込みブロック番号とに基づいて、ＣＰＵ２４２の自メモリ内の書き込み可能なブロック数を算出する。
【０１１９】
具体的には、
（読込ブロック番号−書込ブロック番号）＞０のとき：
（書き込み可能なブロック数）＝（読み込みブロック番号−書き込みブロック番号）
（読込ブロック番号−書込ブロック番号）＜０のとき：
（書込可能なブロック数）＝（読込ブロック番号−書込ブロック番号）＋全ブロック数
となる。
【０１２０】
読み込み完了割り込み要因設定フラグ設定部２４０３は、書き込み可能ブロック数算出部２４０２によって算出された書き込み可能ブロック数が所定の数より少ない場合に、読み込み完了割り込み要因設定フラグを“１”に設定する。それ以外の場合は、読み込み完了割り込み要因設定フラグを“０”に設定する。
【０１２１】
データ転送先のＣＰＵ２４２は、図２１に示したデータ転送先のＣＰＵ２１２が有する構成に加えて、読み込み完了割り込み要因設定フラグ判定部２４１４、読み込み完了割り込み要因設定フラグリセット部２４１５、及び読み込み済みブロック数算出部２４１６を備える。
【０１２２】
読み込み完了割り込み要因設定フラグ判定部２４１４は、読み込み完了割り込み要因設定フラグ記録部２３０に記録されている読み込み完了割り込み要因設定フラグが“０”又は“１”のどちらであるかを判定する。
【０１２３】
読み込み可能ブロック数算出部２４１６は、全てのデータの読み込みが完了した後、自メモリに記録されている書き込みブロック番号と読み込みブロック番号とを参照して、自メモリ内の読み込み済みのブロック数を算出する。
【０１２４】
読み込み完了割り込み要因設定フラグリセット部２４１５は、読み込み済みブロック数算出部２４１６で算出された読み込み済みブロック数が所定の数より多い場合に、読み込み完了割り込み要因設定フラグ記録部２３０に記録されている読み込み完了割り込み要因設定フラグを“０”に設定する。
【０１２５】
図２５は、第九実施形態に係るバス通信装置において、各ＣＰＵの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。尚、各ＣＰＵの通信同期をとるまでの動作は、図６に示したＳ６０１〜Ｓ６０６までと同様である為、図２５では図示を省略している。ここでは、共有メモリのブロック数を全部で１０個とする。
【０１２６】
各ＣＰＵとの通信同期がとれた後、ＣＰＵ２４１は、他メモリに設定されている書き込みブロック番号に基づいて、他メモリにデータを書き込み（Ｓ２５０７）、データ書き込み後、書き込みブロック番号を更新する（Ｓ２５０８）。ここでは、１０個のデータを連続して書き込んだものとする。そして、ＣＰＵ２４１は、ＣＰＵ２４２の自メモリに記録されている書き込みブロック番号と読み込みブロック番号とを参照してデータ書き込み可能なブロック数を算出する（Ｓ２５０９）。算出された書き込みブロック数が０（一定値以下）である為、ＣＰＵ２４１は、他メモリの読み込み完了割り込み要因設定フラグ記録部２３０の読み込み完了割り込み要因設定フラグを“１”に設定する（Ｓ２５１０）。その後、ＣＰＵ２４２の自メモリに転送割り込み要因を設定し（Ｓ２５１１）、ＣＰＵ２４２に対して割り込みを発生する（Ｓ２５１２）。尚、読み込み完了割り込み要因設定フラグが“１”に設定された後は、ＣＰＵ２４２によって読み込み完了割り込み要因設定フラグが“０”に設定されるまでは、ＣＰＵ２４１は次のデータの転送を行わない。
【０１２７】
割り込みを受信したＣＰＵ２４２は、自メモリに設定されている割り込み要因を判別する（Ｓ２５１３）。自メモリに設定されている割り込み要因が転送割り込み要因である為、ＣＰＵ２４２は自メモリからデータを読み込む（Ｓ２５１４）。データ読み込み後、ＣＰＵ２４２は読み込みブロック番号を更新し（Ｓ２５１５）、自メモリに設定されている読み込み完了割り込み要因設定フラグを参照する（Ｓ２５１６）。読み込み完了割り込み要因設定フラグが“１”に設定されている為、ＣＰＵ２４２は自メモリに読み込み完了割り込み要因を設定し（Ｓ２５１７）、ＣＰＵ２４１に対して割り込みを発生する（Ｓ２５１８）。
【０１２８】
尚、ＣＰＵ２４２側において、書き込みブロック番号と読み込みブロック番号とに基づいて算出される読み込み済みブロック数が一定値より多くなった場合は、自メモリに設定されている読み込み完了割り込み要因を“０”にする（Ｓ２５１９）。したがって、ＣＰＵ２４１は、読み込み完了割り込み要因設定フラグを参照することで、ＣＰＵ２４２に対してデータの転送を開始して良いかどうかを判断することができる。
【０１２９】
以上説明したように、本実施形態によれば、データ転送の完了をＣＰＵ２４１側で確認できると共に、データ転送先ＣＰＵの状態に応じてデータ転送元ＣＰＵのデータ転送を制御することで、高速なバス通信を実現することができる。
【０１３０】
尚、本実施形態で説明したバス通信装置の構成と第二、第四実施形態で説明したバス通信装置の構成（データや割り込み要因の書き込みをデータ転送元のＣＰＵの自メモリに行う構成、各種割り込み要因をビット毎に設定する構成）とを組み合わせることも可能である。
【０１３１】
（第十実施形態）
本実施形態に係るバス通信装置は、第九実施形態で説明したバス通信装置において、ＣＰＵ２４１内に転送データを保存する内部メモリを設けた構成としたものである。この場合の動作について説明する。
【０１３２】
例えば、転送先ＣＰＵの共有メモリの書き込み可能ブロックが７個あり、転送元ＣＰＵが転送先ＣＰＵに転送したいデータの数が１０個あるとする。この場合は、転送元ＣＰＵによって全てのデータ転送が不可能である為、内部メモリに転送できなかったデータを一時保存する。その後、書き込み可能ブロック数が１０個になったときに、保存されているデータを読み出して、転送先ＣＰＵに転送する。
【０１３３】
このように、書き込み可能ブロックが不足していた為に転送できなかったデータを内部メモリに保存する構成とすることで、上位ソフトウェア階層に対する利便性を向上させることができる。
【０１３４】
【発明の効果】
本発明によれば、マスタがメモリにデータを書き込み、そのメモリに書き込まれたデータをスレーブが読み込むことによって、マスタからスレーブへとデータが転送される。このようにすることで、データを転送する為のハードウェアをバス通信装置に別途に設ける必要が無くなる。又、各プロセッサから書き込みや読み込み可能なメモリは、データ転送以外の用途（データの共有化等）にも利用することができる為、汎用性に優れた構成でバス通信が可能なバス通信装置を提供することができる。
【図面の簡単な説明】
【図１】第一実施形態に係るバス通信装置の構成図である。
【図２】第一実施形態に係るバス通信装置のデータデータ転送元のＣＰＵとデータデータ転送先のＣＰＵの内部構成図である。
【図３】第一実施形態に係るバス通信装置におけるバス通信の動作の流れを説明するシーケンスチャートである。
【図４】第二実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリのメモリ構成図である。
【図５】第二実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。
【図６】第二実施形態に係るバス通信装置において、各ＣＰＵの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
【図７】第三実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。
【図８】第三実施形態に係るバス通信装置において、各ＣＰＵの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
【図９】第四実施形態に係るバス通信装置の各ＣＰＵに接続されている共有メモリのメモリ構成図である。
【図１０】第四実施形態に係るバス通信装置の各ＣＰＵに接続されている共有メモリのメモリ構成図における割込み要因ビット記録部の内部構成図である。
【図１１】第四実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。
【図１２】第五実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリの内部構成図である。
【図１３】第五実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。
【図１４】第五実施形態に係るバス通信装置におけるバス通信の動作の流れを説明するシーケンスチャートである。
【図１５】第六実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリの内部構成図である。
【図１６】第六実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。
【図１７】第六実施形態に係るバス通信装置において、各ＣＰＵの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
【図１８】第七実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリの内部構成図である。
【図１９】第七実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。
【図２０】第八実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリの内部構成図である。
【図２１】第八実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。
【図２２】第八実施形態に係るバス通信装置において、各ＣＰＵの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
【図２３】第九実施形態に係るバス通信装置の各ＣＰＵに接続される共有メモリの内部構成図である。
【図２４】第九実施形態に係るバス通信装置のデータ転送元のＣＰＵとデータ転送先のＣＰＵの内部構成図である。
【図２５】第九実施形態に係るバス通信装置において、各ＣＰＵの通信同期をとってから、バス通信を行う際の動作の流れを説明するシーケンスチャートである。
【符号の説明】
１　バス通信装置
１０　マルチマスタバス
１００，２００，３００　基板
１０１，２０１，３０１　ＣＰＵ
１０２，２０２，３０２　共有メモリ
２１，５１，７１，１１１，１３１，１６１，１９１，２４１　データ転送元ＣＰＵ
２２，５２，７２，１１２，１３２，１６２，１９２，２１２，２４２　データ転送先ＣＰＵ
２１１，５１３　自メモリデータ書き込み部
２１２、５１５，５２５，２１２５　割り込み発生部
２２１，５２３　他メモリデータ読み込み部
２２２，５１６，５２６　割り込み受信部
４１，９１，１２１，１２２，１５３，１５４，１８１　データ記録部
４２　通信同期割り込み要因記録部
４３　通信同期完了割り込み要因記録部
４４　転送割り込み要因記録部
４５　割り込み要因記録部
５１１　通信同期割り込み要因設定部
５１２，５２２，７２２　割り込み要因判別部
５１４，７１４　転送割り込み要因設定部
５２１　通信同期完了割り込み要因設定部
７１３　他メモリデータ書き込み部
７２３　自メモリデータ読み込み部
９２　割り込み要因ビット記録部
９２１　転送割り込み要因ビット
９２２　通信同期完了割り込み要因ビット
９２３　通信同期割り込み要因ビット
１１１１　通信同期割り込み要因ビット設定部
１１１２，１１２２　割り込み要因ビット判別部
１１１４　転送割り込み要因ビット設定部
１２３　ブロック記録可能フラグ記録部
１３１７，１６１７，１９１７　他メモリブロックデータ書き込み部
１３１８　書き込み可能ブロック検索部
１３１９，１３２９　ブロック記録可能フラグ設定部
１３２７，１６２７，１９２７　自メモリブロックデータ読み込み部
１３２８　読み込み可能ブロック検索部
１５１　書き込みブロック番号記録部
１５２　読み込みブロック番号記録部
１６１８　書き込みブロック番号決定部
１６１９　書き込みブロック番号更新部
１６２８　読み込みブロック番号決定部
１６２９　読み込みブロック番号更新部
１８２　データ番号記録部
１８３　分割数記録部
１９０１　データ分割部
１９０２　データ結合部
２１０　読み込み完了割り込み要因記録部
２１０３　読み込み完了割り込み要因設定部
２３０　読み込み完了割り込み要因設定フラグ記録部
２４０２　書き込み可能ブロック数算出部
２４０３　読み込み完了割り込み要因設定フラグ設定部
２４１４　読み込み完了割り込み要因設定フラグ判定部
２４１５　読み込み完了割り込み要因設定フラグリセット部
２４１６　読み込み済みブロック数算出部
【図１】
2004086615.tif 000003
【図２】
2004086615.tif 000004
【図３】
2004086615.tif 000005
【図４】
2004086615.tif 000006
【図５】
2004086615.tif 000007
【図６】
2004086615.tif 000008
【図７】
2004086615.tif 000009
【図８】
2004086615.tif 000010
【図９】
2004086615.tif 000011
【図１０】
2004086615.tif 000012
【図１１】
2004086615.tif 000013
【図１２】
2004086615.tif 000014
【図１３】
2004086615.tif 000015
【図１４】
2004086615.tif 000016
【図１５】
2004086615.tif 000017
【図１６】
2004086615.tif 000018
【図１７】
2004086615.tif 000019
【図１８】
2004086615.tif 000020
【図１９】
2004086615.tif 000021
【図２０】
2004086615.tif 000022
【図２１】
2004086615.tif 000023
【図２２】
2004086615.tif 000024
【図２３】
2004086615.tif 000025
【図２４】
2004086615.tif 000026
【図２５】
2004086615.tif 000027