(57)【要約】【課題】書き込みが完了してからデータを読み出すことができるバスシステムを提供することを課題とする。【解決手段】バスシステムは、複数のチャンネルの書き込みデータを並行して送信し、少なくとも１個のチャンネルの書き込みデータの送信が完了すると単一の第１の割り込み信号をアサートする第１のマスタ（１０１）と、第１のマスタから受信した複数のチャンネルの書き込みデータをメモリ装置に転送するバスブリッジ（１０３）と、第１の割り込み信号がアサートされると、複数のチャンネルの送信完了ステータスを読み出し、複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第２の割り込み信号をアサートする分割回路（１０６）と、バスブリッジがすべての書き込みデータの転送を完了した場合には、第２の割り込み信号がアサートされたチャンネルの第３の割り込み信号をアサートするモニタ回路（１０７）を有する。【選択図】図１
2018032320.tif 000002
【特許請求の範囲】
【請求項１】
第１のバスに接続され、複数のチャンネルの書き込みデータを並行して送信し、前記送信が完了すると前記送信が完了したことを示す送信完了ステータスを前記チャンネル毎に第１の保持部に保持させ、前記複数のチャンネルのうちの少なくとも１個のチャンネルの書き込みデータの送信が完了すると単一の第１の割り込み信号をアサートする第１のマスタと、
第２のバスに接続されるメモリ装置と、
前記第１のバスと前記第２のバスとの間に接続され、前記第１のマスタから受信した複数のチャンネルの書き込みデータを前記メモリ装置に転送するバスブリッジと、
前記第１の割り込み信号がアサートされると、前記第１の保持部から前記複数のチャンネルの送信完了ステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第２の割り込み信号をアサートする分割回路と、
前記第２の割り込み信号がアサートされると、前記バスブリッジの転送を監視し、前記バスブリッジがすべての書き込みデータの転送を完了した場合には、前記第２の割り込み信号がアサートされたチャンネルの第３の割り込み信号をアサートするモニタ回路と、
前記第２のバスに接続され、前記第３の割り込み信号がアサートされたチャンネルの書き込みデータを前記メモリ装置から読み出す第２のマスタと
を有することを特徴とするバスシステム。
【請求項２】
前記第１のマスタは、エラーが発生すると、エラーを示すエラーステータスを前記第１の保持部に保持させ、前記複数のチャンネルの送信完了ステータスのいずれかが送信完了を示す場合又は前記エラーステータスがエラーを示す場合には、前記第１の割り込み信号をアサートし、
前記分割回路は、前記第１の割り込み信号がアサートされると、前記第１の保持部から前記複数のチャンネルの送信完了ステータス及び前記エラーステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第２の割り込み信号をアサートし、前記エラーステータスがエラーを示す場合には第４の割り込み信号をアサートし、
前記第２のマスタは、前記第４の割り込み信号を入力することを特徴とする請求項１記載のバスシステム。
【請求項３】
前記第１のマスタは、複数のエラーを示す複数のエラーステータスを前記第１の保持部に保持させ、前記複数のチャンネルの送信完了ステータスのいずれかが送信完了を示す場合又は前記複数のエラーステータスのいずれかがエラーを示す場合には、前記第１の割り込み信号をアサートし、
前記分割回路は、前記第１の割り込み信号がアサートされると、前記第１の保持部から前記複数のチャンネルの送信完了ステータス及び前記複数のエラーステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第２の割り込み信号をアサートし、前記複数のエラーステータスのうちのエラーを示すエラーステータスの第４の割り込み信号をアサートすることを特徴とする請求項１又は２記載のバスシステム。
【請求項４】
前記第１のマスタは、複数のエラーを示す複数のエラーステータスを前記第１の保持部に保持させ、前記複数のチャンネルの送信完了ステータスのいずれかが送信完了を示す場合又は前記複数のエラーステータスのいずれかがエラーを示す場合には、前記第１の割り込み信号をアサートし、
前記分割回路は、前記第１の割り込み信号がアサートされると、前記第１の保持部から前記複数のチャンネルの送信完了ステータス及び前記複数のエラーステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第２の割り込み信号をアサートし、前記複数のエラーステータスのいずれかがエラーを示す場合には単一の第４の割り込み信号をアサートし、
前記第２のマスタは、前記第４の割り込み信号がアサートされると、前記第１の保持部から前記複数のエラーステータスを読み出すことを特徴とする請求項１又は２記載のバスシステム。
【請求項５】
前記分割回路は、前記第１の割り込み信号がアサートされた場合には、前記第１の割り込み信号を無効化し、前記第３の割り込み信号がアサートされた場合には、前記第１の割り込み信号を有効化するマスク部を有することを特徴とする請求項１〜４のいずれか１項に記載のバスシステム。
【請求項６】
前記分割回路は、前記第１の保持部から読み出した前記複数のチャンネルの送信完了ステータスを保持するための第２の保持部を有することを特徴とする請求項１〜５のいずれか１項に記載のバスシステム。
【請求項７】
前記第３の割り込み信号がアサートされた場合には、前記第１の保持部と前記第２の保持部の前記送信完了を示す前記送信完了ステータスは、クリアされることを特徴とする請求項６記載のバスシステム。
【請求項８】
第１のバスに接続される第１のマスタと、
第２のバスに接続されるメモリ装置と、
前記第１のバスと前記第２のバスとの間に接続されるバスブリッジと、
前記第２のバスに接続される第２のマスタとを有するバスシステムの制御方法であって、
前記第１のマスタにより、複数のチャンネルの書き込みデータを並行して送信し、前記送信が完了すると前記送信が完了したことを示す送信完了ステータスを前記チャンネル毎に第１の保持部に保持させ、前記複数のチャンネルのうちの少なくとも１個のチャンネルの書き込みデータの送信が完了すると単一の第１の割り込み信号をアサートするステップと、
前記バスブリッジにより、前記第１のマスタから受信した複数のチャンネルの書き込みデータを前記メモリ装置に転送するステップと、
分割回路により、前記第１の割り込み信号がアサートされると、前記第１の保持部から前記複数のチャンネルの送信完了ステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第２の割り込み信号をアサートするステップと、
モニタ回路により、前記第２の割り込み信号がアサートされると、前記バスブリッジの転送を監視し、前記バスブリッジがすべての書き込みデータの転送を完了した場合には、前記第２の割り込み信号がアサートされたチャンネルの第３の割り込み信号をアサートするステップと、
前記第２のマスタにより、前記第３の割り込み信号がアサートされたチャンネルの書き込みデータを前記メモリ装置から読み出すステップと
を有することを特徴とするバスシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バスシステム及びバスシステムの制御方法に関する。
【背景技術】
【０００２】
複数のマスタは、複数のバスにそれぞれ接続され、主記憶ユニットを共有メモリとして使用する場合がある。その場合には、第１のマスタが共有メモリにデータを書き込み、そのデータを第２のマスタが共有メモリから読み出すことが頻繁に行われる。第１のマスタが共有メモリに書き込んだデータを第２のマスタが共有メモリから読み出すためには、第２のマスタが読み出し動作を開始する前に、第１のマスタによる共有メモリへのデータの書き込みが完了していることを保証しなければならない。そのための技術が特許文献１に開示されている。
【０００３】
特許文献１では、第１のバスと第２のバスの間に接続されるバスブリッジ内部のバッファに滞留するデータ転送を監視するモニタ回路を配置する。第１のマスタからの転送完了を通知するトリガ信号（割り込み信号）は、モニタ回路に入力される。モニタ回路は、トリガ信号が入力されると、バスブリッジ内部のバッファに滞留するデータ転送をカウントし、滞留する転送数までのカウントが完了すると完了信号を第２のマスタに通知する。第２のマスタは、モニタ回路からの完了信号（遅延した第１のマスタの割り込み信号）を受けてから共有メモリからのデータの読み出しを行うことで、共有メモリに書き込みが完了したデータを読み出すことが保証される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１１３６１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
第１のマスタが共有メモリに対して複数のチャンネルのデータ送信を並行して行う場合を考える。複数のチャンネルがある場合、どのチャンネルのデータ送信が完了したかを判別することが困難である。そのため、第２のマスタは、共有メモリへの送信完了が保証されていないチャンネルのデータを読み出してしまう恐れがある。
【０００６】
本発明の目的は、第１のマスタが複数のチャンネルの書き込みデータを送信する場合に、メモリ装置への書き込みが完了してから第２のマスタがメモリ装置からデータを読み出すことができるバスシステム及びバスシステムの制御方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明のバスシステムは、第１のバスに接続され、複数のチャンネルの書き込みデータを並行して送信し、前記送信が完了すると前記送信が完了したことを示す送信完了ステータスを前記チャンネル毎に第１の保持部に保持させ、前記複数のチャンネルのうちの少なくとも１個のチャンネルの書き込みデータの送信が完了すると単一の第１の割り込み信号をアサートする第１のマスタと、第２のバスに接続されるメモリ装置と、前記第１のバスと前記第２のバスとの間に接続され、前記第１のマスタから受信した複数のチャンネルの書き込みデータを前記メモリ装置に転送するバスブリッジと、前記第１の割り込み信号がアサートされると、前記第１の保持部から前記複数のチャンネルの送信完了ステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第２の割り込み信号をアサートする分割回路と、前記第２の割り込み信号がアサートされると、前記バスブリッジの転送を監視し、前記バスブリッジがすべての書き込みデータの転送を完了した場合には、前記第２の割り込み信号がアサートされたチャンネルの第３の割り込み信号をアサートするモニタ回路と、前記第２のバスに接続され、前記第３の割り込み信号がアサートされたチャンネルの書き込みデータを前記メモリ装置から読み出す第２のマスタとを有する。
【発明の効果】
【０００８】
本発明によれば、第１のマスタが複数のチャンネルの書き込みデータを送信する場合に、メモリ装置への書き込みが完了してから第２のマスタがメモリ装置からデータを読み出すことができる。
【図面の簡単な説明】
【０００９】
【図１】バスシステムの構成例を示すブロック図である。
【図２】割り込み要因ステータスレジスタの構成例を示す図である。
【図３】割り込み分割回路の構成例を示すブロック図である。
【図４】割り込み要因読み出し部の割り込み分割処理を示すフローチャートである。
【図５】バスシステムの制御方法を示すシーケンス図である。
【図６】割り込み要因ステータスレジスタの状態を示す図である。
【発明を実施するための形態】
【００１０】
図１は、本発明の実施形態によるバスシステムの構成例を示すブロック図である。バスシステムは、第１のマスタ１０１、第２のマスタ１０２、バスブリッジ１０３、メモリ制御回路１０４、共有メモリ１０５、割り込み分割回路１０６、及びモニタ回路１０７を有する。メモリ装置１１４は、メモリ制御回路１０４と共有メモリ１０５とを有し、第２のバス１０９に接続されている。第１のマスタ１０１、バスブリッジ１０３、及び割り込み分割回路１０６は、第１のバス１０８に接続されている。また、第２のマスタ１０２、バスブリッジ１０３、及びメモリ制御回路１０４（共有メモリ１０５）は、第２のバス１０９に接続されている。バスブリッジ１０３は、第１のバス１０８と第２のバス１０９との間に接続されている。第１のマスタ１０１は、例えば、ＩＯデバイスを制御するＩＯコントローラであり、第１のバス１０８、バスブリッジ１０３、第２のバス１０９及びメモリ制御回路１０４を介して、共有メモリ１０５へのデータの書き込みを行う。バスブリッジ１０３は、データバッファ１０３０を有する。第１のマスタ１０１は、共有メモリ１０５に書き込みため、複数のチャンネルの書き込みデータを並行してバスブリッジ１０３に送信し、その書き込みデータの送信が完了すると、データ送信完了を示す単一の第１の割り込み信号１１０をアサートする。第１のマスタ１０１は、複数の割り込み要因を持ち、複数の割り込み要因の論理和を１本の割り込み信号１１０として出力する。第１のマスタ１０１は、これらの複数の割り込み要因のステータスを示す割り込み要因ステータスレジスタ１０１０を有し、割り込み信号１１０がアサートされた要因を読み出すことが可能である。割り込み分割回路１０６は、第１のマスタ１０１から入力される１本の割り込み信号１１０を、複数の割り込み要因に応じて、対応する複数の割り込み信号１１１及び１１２に分割して出力する。モニタ回路１０７は複数の割り込み信号１１１を入力し、第２のマスタ１０２は複数の割り込み信号１１２を入力する。モニタ回路１０７は、バスブリッジ１０３のデータバッファ１０３０内に滞留しているデータが全てメモリ制御回路１０４（共有メモリ１０５）に転送されると、転送完了を示す割り込み信号１１３をアサートする。第２のマスタ１０２は、割り込み信号１１３を入力する。
【００１１】
図２は、割り込み要因ステータスレジスタ１０１０の構成例を示す図である。例えば、第１のマスタ１０１は、４個の書き込み完了保証が必要な割り込み要因のステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤと、４個の書き込み完了保証が不要な割り込み要因のステータスＥＲＲ１〜ＥＲＲ４、合計８個の割り込み要因のステータスを有する。割り込み要因ステータスレジスタ１０１０は、３２ビットレジスタの第１の保持部である。割り込み要因ステータスレジスタ１０１０は、０〜３ビットに、書き込み完了保証が必要な割り込み要因のステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤを記憶し、４〜７ビットに、書き込み完了保証が不要な割り込み要因のステータスＥＲＲ１〜ＥＲＲ４を記憶する。書き込み完了保証が必要な割り込み要因のステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤは、複数のチャンネル（例えば４個のチャンネル）ＣＨ１〜ＣＨ４毎のデータ送信完了を示す送信完了ステータスであり、データ送信が完了すると対応するビットが‘１’になる。書き込み完了保証が不要な割り込み要因のステータスＥＲＲ１〜ＥＲＲ４は、バスエラーやタイムアウトなどのエラーが発生したことを示すエラーステータスであり、エラーが発生すると対応するビットが‘１’になる。また、第１のマスタ１０１は、該当する割り込み要因のレジスタビットに‘１’を書き込むことで、レジスタビットを‘０’にクリアすることができる。第１のマスタ１０１は、この８ビットのステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤ及びＥＲＲ１〜ＥＲＲ４の論理和を、単一の割り込み信号１１０として出力する。
【００１２】
第１のマスタ１０１は、複数のチャンネルの書き込みデータの送信が完了すると送信が完了したことを示す送信完了ステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤをチャンネル毎に割り込み要因ステータスレジスタ１０１０に保持させる。また、第１のマスタ１０１は、エラーの発生に応じて、複数のエラーを示す複数のエラーステータスＥＲＲ１〜ＥＲＲ４を割り込み要因ステータスレジスタ１０１０に保持させる。第１のマスタ１０１は、複数のチャンネルＣＨ１〜ＣＨ４のうちの少なくとも１個のチャンネルの書き込みデータの送信が完了すると単一の割り込み信号１１０をアサートする。具体的には、第１のマスタ１０１は、複数のチャンネルの送信完了ステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤのいずれかが送信完了を示す場合又は複数のエラーステータスＥＲＲ１〜ＥＲＲ４のいずれかがエラーを示す場合には、割り込み信号１１０をアサートする。
【００１３】
図１において、バスブリッジ１０３は、内部に緩衝用のデータバッファ１０３０を有する。バスブリッジ１０３は、第１のマスタ１０１から複数のチャンネルの書き込みデータを受信し、その受信した複数のチャンネルの書き込みデータをデータバッファ１０３０にバッファリングする。そして、バスブリッジ１０３は、そのバッファリングした複数のチャンネルの書き込みデータを第２のバス１０９を介してメモリ制御回路１０４に転送する。メモリ制御回路１０４は、バスブリッジ１０３からそのデータの書き込み要求を受信すると、共有メモリ１０５へのデータの書き込みを行う。割り込み分割回路１０６は、第１のマスタ１０１から入力される１本の割り込み信号１１０を、複数の割り込み要因に応じて、対応する複数の割り込み信号１１１及び１１２に分割して出力する。書き込み完了保証が必要な割り込み信号１１１は、ステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤに対応し、モニタ回路１０７に出力される。書き込み完了保証が不要な割り込み信号１１２は、ステータスＥＲＲ１〜ＥＲＲ４に対応し、第２のマスタ１０２に出力される。割り込み分割回路１０６の詳細は後述する。
【００１４】
モニタ回路１０７は、バスブリッジ１０３を介して、データ転送の状態を監視する。モニタ回路１０７は、割り込み分割回路１０６が書き込み完了保証が必要な割り込み信号１１１をアサートすると、バスブリッジ１０３のデータバッファ１０３０のモニタを開始する。モニタ回路１０７は、モニタを開始した時点でデータバッファ１０３０内に滞留しているデータが全てメモリ制御回路１０４（共有メモリ１０５）に転送されると、モニタ完了を示す割り込み信号１１３をアサートする。モニタ完了を示す複数の割り込み信号１１３は、書き込み完了保証が必要な複数の割り込み信号１１１と１対１で対応している。
【００１５】
第２のマスタ１０２は、例えば、ＣＰＵであり、モニタ回路１０７からの割り込み信号１１３と、割り込み分割回路１０６からの書き込み完了保証が不要な割り込み信号１１２が入力される。第２のマスタ１０２は、モニタ回路１０７の割り込み信号１１３がアサートされると、メモリ制御回路１０４を介して、共有メモリ１０５からデータの読み出しを開始する。
【００１６】
次に、図３と図４を用いて、割り込み分割回路１０６の動作について説明する。図３は、割り込み分割回路１０６の構成例を示すブロック図である。割り込み分割回路１０６は、割り込みマスク部１０６０と、割り込み要因読み出し部１０６１とを有する。割り込みマスク部１０６０は、割り込みマスク機能が有効に設定されている場合、第１のマスタ１０１から入力される割り込み信号１１０をマスクし、割り込み信号１０６３を割り込み要因読み出し部１０６１に出力する。また、割り込みマスク部１０６０は、割り込みマスク機能が無効に設定されている場合、第１のマスタ１０１から入力される割り込み信号１１０をそのままスルーして割り込み信号１０６３として割り込み要因読み出し部１０６１に出力する。割り込みマスク部１０６０の割り込みマスク機能有効／無効設定は、第２のマスタ１０２又は割り込み分割回路１０６内部により設定可能である。割り込み要因読み出し部１０６１は、割り込み要因保持部（第２の保持部）１０６２を有し、割り込み分割処理を実行し、割り込み信号１１１及び１１２を出力する。
【００１７】
図４は、割り込み要因読み出し部１０６１の割り込み分割処理を示すフローチャートである。開始（初期）状態では、割り込み分割回路１０６又は第２のマスタ１０２は、割り込みマスク機能を無効に設定し、割り込み要因保持部１０６２のレジスタ初期値を全て‘０’に設定する。ステップＳ４０１では、割り込み要因読み出し部１０６１は、割り込み信号１０６３（割り込み信号１１０）がアサートされるまで待機し、アサートされた場合にはステップＳ４０２に処理を進める。ステップＳ４０２では、割り込み分割回路１０６又は第２のマスタ１０２は、割り込みマスク部１０６０の割り込みマスク機能を有効に設定する。これにより、割り込みマスク部１０６０は、割り込み信号１１０を無効化する。次に、ステップＳ４０３では、割り込み要因読み出し部１０６１は、第１のバス１０８を介して、第１のマスタ１０１の割り込み要因ステータスレジスタ１０１０から割り込み要因のステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤ及びＥＲＲ１〜ＥＲＲ４を読み出す。第１のマスタ１０１の割り込み要因ステータスレジスタ１０１０にアクセスするためのアドレスは、予め、第２のマスタ（ＣＰＵ）１０２等により設定されている。次に、ステップＳ４０４では、割り込み要因読み出し部１０６１は、読み出した割り込み要因のステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤ及びＥＲＲ１〜ＥＲＲ４を割り込み要因保持部１０６２に保持させ、ステップＳ４０１に処理を戻す。割り込み分割回路１０６は、複数のチャンネルの送信完了ステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤのうちの送信が完了しているチャンネルの第２の割り込み信号１１１をアサートする。また、割り込み分割回路１０６は、複数のエラーステータスＥＲＲ１〜ＥＲＲ４のうちのエラーを示すエラーステータスの第４の割り込み信号１１２をアサートする。ここで、ステップＳ４０２で割り込みマスク機能が有効に設定されているので、割り込み信号１１１がアサートされた場合でも、割り込みマスク機能が無効に設定されるまで、割り込み信号１０６３がアサートされることはない。
【００１８】
割り込み要因保持部１０６２は、第１のマスタ１０１の割り込み要因ステータスレジスタ１０１０と同じように３２ビットレジスタで構成されており、その３２ビットレジスタ値を割り込み信号１１２及び１１３として出力する。割り込み要因保持部１０６２は、第１のマスタ１０１の割り込み要因の仕様に合わせて、割り込み信号１１１及び１１２を出力する。第１のマスタ１０１が、図２に示す割り込み要因のステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤ及びＥＲＲ１〜ＥＲＲ４を扱う場合を説明する。その場合、書き込み完了保証が必要な複数の割り込み信号１１１（０〜３ビット目）は、ステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤであり、モニタ回路１０７に出力される。書き込み完了保証が不要な複数の割り込み信号１１２（４〜７ビット目）は、ステータスＥＲＲ１〜ＥＲＲ４であり、第２のマスタ１０２に出力される。
【００１９】
なお、書き込み完了保証が不要な割り込み信号１１２は、ステータスＥＲＲ１〜ＥＲＲ４の論理和を１本の割り込み信号として出力してもよい。すなわち、割り込み分割回路１０６は、複数のエラーステータスＥＲＲ１〜ＥＲＲ４のいずれかがエラーを示す場合には単一の第４の割り込み信号１１２をアサートする。こうすることで、第２のマスタ１０２に入力される割り込み信号１１２の本数を削減することが可能である。この場合、第２のマスタ１０２は、１本にまとめられた書き込み完了保証が不要な割り込み信号１１２を受信すると、第１のマスタ１０１の割り込み要因ステータスレジスタ１０１０からステータスＥＲＲ１〜ＥＲＲ４を読み出し、割り込み要因を判別すればよい。すなわち、第２のマスタ１０２は単一の割り込み信号１１２がアサートされると、割り込み要因ステータスレジスタ１０１０から複数のステータスＥＲＲ１〜ＥＲＲ４を読み出し、割り込み要因を判別する。
【００２０】
図２の割り込み要因が割り当てられていない８〜３１ビットに対応する信号は、必要ないため、割り込み要因保持部１０６２に信号線を接続しなくてもよいし、図３に示すように、割り込み要因保持部１０６２が出力しない構成にしてもよい。この場合、割り込み要因保持部１０６２のレジスタは、割り込み要因の数（８ビット）だけ持てばよく、回路規模を削減できる。
【００２１】
図１のモニタ回路１０７は、割り込み信号１１１がアサートされると、バスブリッジ１０３の転送を監視する。そして、図１のモニタ回路１０７は、バスブリッジ１０３がすべての書き込みデータの転送を完了した場合には、第２の割り込み信号１１１がアサートされたチャンネルの第３の割り込み信号１１３をアサートする。第２のマスタ１０２は、割り込み信号１１３がアサートされたチャンネルの書き込みデータをメモリ装置１１４から読み出す。
【００２２】
図５は、本実施形態のバスシステムの制御方法を示すシーケンス図であり、書き込み完了を保証する処理を示す。ステップＳ５０１では、第１のマスタ１０１は、共有メモリ１０５に対してデータの書き込みを行うため、第１のチャンネルＣＨ１と第２のチャンネルＣＨ２の書き込みデータを並行してバスブリッジ１０３に送信し始める。次に、ステップＳ５０２では、バスブリッジ１０３は、第１のマスタ１０１からの共有メモリ１０５に対する書き込みデータを受信し、その書き込みデータをデータバッファ１０３０にバッファリングする。そして、バスブリッジ１０３は、そのバッファリングした書き込みデータをメモリ制御回路１０４に送信する。メモリ制御回路１０４は、その受信した書き込みデータを共有メモリ１０５に書き込む。その後、第１のマスタ１０１は、第１のチャンネルＣＨ１の最終書き込みデータ５２１をバスブリッジ１０３に送信する。次に、ステップＳ５０３では、第１のマスタ１０１は、バスブリッジ１０３が最終書き込みデータ５２１を受信すると、割り込み要因ステータスレジスタ１０１０のステータスＣＨ１＿ＥＮＤを‘１’に設定し、第１のチャンネルＣＨ１の書き込み処理を完了する。そして、第１のマスタ１０１は、書き込み完了を示す割り込み信号１１０をアサートする。
【００２３】
次に、ステップＳ５０４では、割り込み分割回路１０６は、第１のマスタ１０１からの割り込み信号１１０がアサートになると、図４を用いて前述した割り込み分割処理を実行する。具体的には、割り込み分割回路１０６又は第２のマスタ１０２は、割り込みマスク部１０６０の割り込みマスク機能を有効に設定する。割り込み要因読み出し部１０６１は、ステータス読み出し要求５２５により、第１のマスタ１０１の割り込み要因ステータスレジスタ１０１０のステータスＣＨ１＿ＥＮＤ〜ＣＨ４＿ＥＮＤ及びＥＲＲ１〜ＥＲＲ４を読み出す。
【００２４】
ステップＳ５０３でステータスＣＨ１＿ＥＮＤが‘１’に設定されてから、ステータス読み出し要求５２５によりステータスが読み出されるまでの間に、第１のマスタ１０１は、第２のチャンネルＣＨ２の最終書き込みデータ５２２をバスブリッジ１０３に送信する。ステップＳ５０５では、第１のマスタ１０１は、バスブリッジ１０３が最終書き込みデータ５２２を受信すると、割り込み要因ステータスレジスタ１０１０のステータスＣＨ２＿ＥＮＤを‘１’に設定し、第２のチャンネルＣＨ２の書き込み処理を完了する。
【００２５】
図６は、このときの第１のマスタ１０１の割り込み要因ステータスレジスタ１０１０の状態を示す図である。０ビット目のステータスＣＨ１＿ＥＮＤと１ビット目のステータスＣＨ２＿ＥＮＤが書き込み完了を示す‘１’になっており、その他のビットは‘０’である。
【００２６】
割り込み要因読み出し部１０６１は、ステータス読み出し要求５２５により、割り込み要因ステータスレジスタ１０１０のステータスを読み出す。ステップＳ５０６では、割り込み要因読み出し部１０６１は、読み出した割り込み要因ステータスレジスタ１０１０のステータスを割り込み要因保持部１０６２に書き込む。割り込み要因保持部１０６２は、図６の割り込み要因ステータスレジスタ１０１０のステータスと同じステータスを保持する。そして、割り込み要因保持部１０６２は、第１のチャンネルＣＨ１の書き込み完了を示すステータスＣＨ１＿ＥＮＤと第２のチャンネルＣＨ２の書き込み完了を示すステータスＣＨ２＿ＥＮＤとの２本の割り込み信号１１１をアサートする。
【００２７】
次に、ステップＳ５０７では、モニタ回路１０７は、割り込み信号１１１がアサートされると、バスブリッジ１０３のデータバッファ１０３０のモニタを開始する。バスブリッジ１０３は、第１のマスタ１０１から受信した書き込みデータをデータバッファ１０３０にバッファリングし、そのバッファリングした書き込みデータをメモリ制御回路１０４に送信する。データバッファ１０３０には、送信待ちの書き込みデータが滞留する。バスブリッジ１０３は、第１のチャンネルＣＨ１の最終書き込みデータ５２３をメモリ制御回路１０４に送信し、第２のチャンネルＣＨ２の最終書き込みデータ５２４をメモリ制御回路１０４に送信する。メモリ制御回路１０４は、受信した書き込みデータを共有メモリ１０５に書き込む。
【００２８】
次に、ステップＳ５０８では、モニタ回路１０７は、データバッファ１０３０内の書き込みデータが全てメモリ制御回路１０４に送信されると、ステータスＣＨ１＿ＥＮＤとステータスＣＨ２＿ＥＮＤに対応する２本の割り込み信号１１３をアサートする。これは、バスブリッジ１０３が第１のチャンネルＣＨ１の書き込みデータと第２のチャンネルＣＨ２の書き込みデータの転送を完了したことを意味する。モニタ回路１０７は、ステップＳ５０７のタイミングで第１のチャンネルＣＨ１と第２のチャンネルＣＨ２のデータ転送のモニタを同時に開始する。また、モニタ回路１０７は、ステップＳ５０８のタイミングで第１のチャンネルＣＨ１のステータスＣＨ１＿ＥＮＤと第２のチャンネルＣＨ２のステータスＣＨ２＿ＥＮＤの割り込み信号１１３を同時にアサートする。
【００２９】
ここで、モニタ回路１０７がステップＳ５０７でモニタを開始するタイミングで、第１のチャンネルＣＨ１と第２のチャンネルＣＨ２の最終書き込みデータ５２１及び５２２がバスブリッジ１０３のデータバッファ１０３０に格納されていることは保証されている。ステップＳ５０８でステータスＣＨ１＿ＥＮＤ及びＣＨ２＿ＥＮＤの割り込み信号１１３がアサートされるとき、第１のチャンネルＣＨ１と第２のチャンネルの最終書き込みデータ５２３及び５２４がメモリ制御回路１０４に書き込まれていることは保証されている。
【００３０】
ステップＳ５０９では、第２のマスタ１０２は、ステータスＣＨ１＿ＥＮＤとＣＨ２＿ＥＮＤの割り込み信号１１３がアサートされると、第１のマスタ１０１の割り込み要因ステータスレジスタ１０１０のステータスＣＨ１＿ＥＮＤとＣＨ２＿ＥＮＤをクリアする。第２のマスタ１０２は、第１のマスタ１０１の割り込み要因ステータスレジスタ１０１０の０ビット目のステータスＣＨ１＿ＥＮＤと１ビット目のステータスＣＨ２＿ＥＮＤに‘１’を書き込み、ステータスＣＨ１＿ＥＮＤ及びＣＨ２＿ＥＮＤを‘０’にクリアする。
【００３１】
次に、ステップＳ５１０では、第２のマスタ１０２は、割り込み要因保持部１０６２のステータスＣＨ１＿ＥＮＤ及びＣＨ２＿ＥＮＤに‘１’を書き込み、割り込み要因保持部１０６２のステータスＣＨ１＿ＥＮＤ及びＣＨ２＿ＥＮＤを‘０’にクリアする。次に、ステップＳ５１１では、第２のマスタ１０２は、割り込み分割回路１０６の割り込みマスク部１０６０の割り込みマスク機能を無効に設定する。これにより、割り込みマスク部１０６０は割り込み信号１１０を有効化し、割り込み要因読み出し部１０６１は、第１のマスタ１０１からの割り込み信号１１０を受信可能な状態になる。次に、ステップＳ５１２では、第２のマスタ１０２は、共有メモリ１０５に書き込まれた第１のチャンネルＣＨ１と第２のチャンネルＣＨ２のデータを読み出すための読み出し要求をメモリ制御回路１０４に送信する。すると、メモリ制御回路１０４は、共有メモリ１０５から第１のチャンネルＣＨ１と第２のチャンネルＣＨ２のデータを読み出し、その読み出した第１のチャンネルＣＨ１と第２のチャンネルＣＨ２のデータを第２のマスタ１０２に送信する。第２のマスタ１０２は、その第１のチャンネルＣＨ１と第２のチャンネルＣＨ２のデータを受信する。
【００３２】
以上のように、バスシステムは、割り込み分割回路１０６を設ける。これにより、単一の割り込み信号１１０を出力する第１のマスタ１０１は、共有メモリ１０５に対して複数チャンネルのデータ転送を並行して行う場合においても、複数チャンネルの書き込み完了を保証することができる。
【００３３】
第１のマスタ１０１は、複数の割り込み要因を単一の割り込み信号１１０で通知する。第１のマスタ１０１の設計変更を行うことなく、割り込み分割回路１０６は、複数の割り込み要因毎に割り込み信号１１１及び１１２を出力することで、割り込み要因を判別することができる。また、書き込み完了保証が必要な割り込み要因の割り込み信号１１１をモニタ回路１０７に出力する。これにより、複数のチャンネルのデータの一貫性を保証することが可能となる。
【００３４】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００３５】
１０１  第１のマスタ、１０２  第２のマスタ、１０３  バスブリッジ、１０４  メモリ制御回路、１０５  共有メモリ、１０６  割り込み分割回路、１０７  モニタ回路、１０８  第１のバス、１０９  第２のバス、１１０〜１１３  割り込み信号、１１４  メモリ装置
【図１】
2018032320.tif 000003
【図２】
2018032320.tif 000004
【図３】
2018032320.tif 000005
【図４】
2018032320.tif 000006
【図５】
2018032320.tif 000007
【図６】
2018032320.tif 000008