JP2018032320A - バスシステム及びバスシステムの制御方法 - Google Patents
バスシステム及びバスシステムの制御方法 Download PDFInfo
- Publication number
- JP2018032320A JP2018032320A JP2016165845A JP2016165845A JP2018032320A JP 2018032320 A JP2018032320 A JP 2018032320A JP 2016165845 A JP2016165845 A JP 2016165845A JP 2016165845 A JP2016165845 A JP 2016165845A JP 2018032320 A JP2018032320 A JP 2018032320A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt signal
- master
- channels
- bus
- transmission
- 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
Links
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】書き込みが完了してからデータを読み出すことができるバスシステムを提供することを課題とする。【解決手段】バスシステムは、複数のチャンネルの書き込みデータを並行して送信し、少なくとも1個のチャンネルの書き込みデータの送信が完了すると単一の第1の割り込み信号をアサートする第1のマスタ(101)と、第1のマスタから受信した複数のチャンネルの書き込みデータをメモリ装置に転送するバスブリッジ(103)と、第1の割り込み信号がアサートされると、複数のチャンネルの送信完了ステータスを読み出し、複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第2の割り込み信号をアサートする分割回路(106)と、バスブリッジがすべての書き込みデータの転送を完了した場合には、第2の割り込み信号がアサートされたチャンネルの第3の割り込み信号をアサートするモニタ回路(107)を有する。【選択図】図1
Description
本発明は、バスシステム及びバスシステムの制御方法に関する。
複数のマスタは、複数のバスにそれぞれ接続され、主記憶ユニットを共有メモリとして使用する場合がある。その場合には、第1のマスタが共有メモリにデータを書き込み、そのデータを第2のマスタが共有メモリから読み出すことが頻繁に行われる。第1のマスタが共有メモリに書き込んだデータを第2のマスタが共有メモリから読み出すためには、第2のマスタが読み出し動作を開始する前に、第1のマスタによる共有メモリへのデータの書き込みが完了していることを保証しなければならない。そのための技術が特許文献1に開示されている。
特許文献1では、第1のバスと第2のバスの間に接続されるバスブリッジ内部のバッファに滞留するデータ転送を監視するモニタ回路を配置する。第1のマスタからの転送完了を通知するトリガ信号(割り込み信号)は、モニタ回路に入力される。モニタ回路は、トリガ信号が入力されると、バスブリッジ内部のバッファに滞留するデータ転送をカウントし、滞留する転送数までのカウントが完了すると完了信号を第2のマスタに通知する。第2のマスタは、モニタ回路からの完了信号(遅延した第1のマスタの割り込み信号)を受けてから共有メモリからのデータの読み出しを行うことで、共有メモリに書き込みが完了したデータを読み出すことが保証される。
第1のマスタが共有メモリに対して複数のチャンネルのデータ送信を並行して行う場合を考える。複数のチャンネルがある場合、どのチャンネルのデータ送信が完了したかを判別することが困難である。そのため、第2のマスタは、共有メモリへの送信完了が保証されていないチャンネルのデータを読み出してしまう恐れがある。
本発明の目的は、第1のマスタが複数のチャンネルの書き込みデータを送信する場合に、メモリ装置への書き込みが完了してから第2のマスタがメモリ装置からデータを読み出すことができるバスシステム及びバスシステムの制御方法を提供することである。
本発明のバスシステムは、第1のバスに接続され、複数のチャンネルの書き込みデータを並行して送信し、前記送信が完了すると前記送信が完了したことを示す送信完了ステータスを前記チャンネル毎に第1の保持部に保持させ、前記複数のチャンネルのうちの少なくとも1個のチャンネルの書き込みデータの送信が完了すると単一の第1の割り込み信号をアサートする第1のマスタと、第2のバスに接続されるメモリ装置と、前記第1のバスと前記第2のバスとの間に接続され、前記第1のマスタから受信した複数のチャンネルの書き込みデータを前記メモリ装置に転送するバスブリッジと、前記第1の割り込み信号がアサートされると、前記第1の保持部から前記複数のチャンネルの送信完了ステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第2の割り込み信号をアサートする分割回路と、前記第2の割り込み信号がアサートされると、前記バスブリッジの転送を監視し、前記バスブリッジがすべての書き込みデータの転送を完了した場合には、前記第2の割り込み信号がアサートされたチャンネルの第3の割り込み信号をアサートするモニタ回路と、前記第2のバスに接続され、前記第3の割り込み信号がアサートされたチャンネルの書き込みデータを前記メモリ装置から読み出す第2のマスタとを有する。
本発明によれば、第1のマスタが複数のチャンネルの書き込みデータを送信する場合に、メモリ装置への書き込みが完了してから第2のマスタがメモリ装置からデータを読み出すことができる。
図1は、本発明の実施形態によるバスシステムの構成例を示すブロック図である。バスシステムは、第1のマスタ101、第2のマスタ102、バスブリッジ103、メモリ制御回路104、共有メモリ105、割り込み分割回路106、及びモニタ回路107を有する。メモリ装置114は、メモリ制御回路104と共有メモリ105とを有し、第2のバス109に接続されている。第1のマスタ101、バスブリッジ103、及び割り込み分割回路106は、第1のバス108に接続されている。また、第2のマスタ102、バスブリッジ103、及びメモリ制御回路104(共有メモリ105)は、第2のバス109に接続されている。バスブリッジ103は、第1のバス108と第2のバス109との間に接続されている。第1のマスタ101は、例えば、IOデバイスを制御するIOコントローラであり、第1のバス108、バスブリッジ103、第2のバス109及びメモリ制御回路104を介して、共有メモリ105へのデータの書き込みを行う。バスブリッジ103は、データバッファ1030を有する。第1のマスタ101は、共有メモリ105に書き込みため、複数のチャンネルの書き込みデータを並行してバスブリッジ103に送信し、その書き込みデータの送信が完了すると、データ送信完了を示す単一の第1の割り込み信号110をアサートする。第1のマスタ101は、複数の割り込み要因を持ち、複数の割り込み要因の論理和を1本の割り込み信号110として出力する。第1のマスタ101は、これらの複数の割り込み要因のステータスを示す割り込み要因ステータスレジスタ1010を有し、割り込み信号110がアサートされた要因を読み出すことが可能である。割り込み分割回路106は、第1のマスタ101から入力される1本の割り込み信号110を、複数の割り込み要因に応じて、対応する複数の割り込み信号111及び112に分割して出力する。モニタ回路107は複数の割り込み信号111を入力し、第2のマスタ102は複数の割り込み信号112を入力する。モニタ回路107は、バスブリッジ103のデータバッファ1030内に滞留しているデータが全てメモリ制御回路104(共有メモリ105)に転送されると、転送完了を示す割り込み信号113をアサートする。第2のマスタ102は、割り込み信号113を入力する。
図2は、割り込み要因ステータスレジスタ1010の構成例を示す図である。例えば、第1のマスタ101は、4個の書き込み完了保証が必要な割り込み要因のステータスCH1_END〜CH4_ENDと、4個の書き込み完了保証が不要な割り込み要因のステータスERR1〜ERR4、合計8個の割り込み要因のステータスを有する。割り込み要因ステータスレジスタ1010は、32ビットレジスタの第1の保持部である。割り込み要因ステータスレジスタ1010は、0〜3ビットに、書き込み完了保証が必要な割り込み要因のステータスCH1_END〜CH4_ENDを記憶し、4〜7ビットに、書き込み完了保証が不要な割り込み要因のステータスERR1〜ERR4を記憶する。書き込み完了保証が必要な割り込み要因のステータスCH1_END〜CH4_ENDは、複数のチャンネル(例えば4個のチャンネル)CH1〜CH4毎のデータ送信完了を示す送信完了ステータスであり、データ送信が完了すると対応するビットが‘1’になる。書き込み完了保証が不要な割り込み要因のステータスERR1〜ERR4は、バスエラーやタイムアウトなどのエラーが発生したことを示すエラーステータスであり、エラーが発生すると対応するビットが‘1’になる。また、第1のマスタ101は、該当する割り込み要因のレジスタビットに‘1’を書き込むことで、レジスタビットを‘0’にクリアすることができる。第1のマスタ101は、この8ビットのステータスCH1_END〜CH4_END及びERR1〜ERR4の論理和を、単一の割り込み信号110として出力する。
第1のマスタ101は、複数のチャンネルの書き込みデータの送信が完了すると送信が完了したことを示す送信完了ステータスCH1_END〜CH4_ENDをチャンネル毎に割り込み要因ステータスレジスタ1010に保持させる。また、第1のマスタ101は、エラーの発生に応じて、複数のエラーを示す複数のエラーステータスERR1〜ERR4を割り込み要因ステータスレジスタ1010に保持させる。第1のマスタ101は、複数のチャンネルCH1〜CH4のうちの少なくとも1個のチャンネルの書き込みデータの送信が完了すると単一の割り込み信号110をアサートする。具体的には、第1のマスタ101は、複数のチャンネルの送信完了ステータスCH1_END〜CH4_ENDのいずれかが送信完了を示す場合又は複数のエラーステータスERR1〜ERR4のいずれかがエラーを示す場合には、割り込み信号110をアサートする。
図1において、バスブリッジ103は、内部に緩衝用のデータバッファ1030を有する。バスブリッジ103は、第1のマスタ101から複数のチャンネルの書き込みデータを受信し、その受信した複数のチャンネルの書き込みデータをデータバッファ1030にバッファリングする。そして、バスブリッジ103は、そのバッファリングした複数のチャンネルの書き込みデータを第2のバス109を介してメモリ制御回路104に転送する。メモリ制御回路104は、バスブリッジ103からそのデータの書き込み要求を受信すると、共有メモリ105へのデータの書き込みを行う。割り込み分割回路106は、第1のマスタ101から入力される1本の割り込み信号110を、複数の割り込み要因に応じて、対応する複数の割り込み信号111及び112に分割して出力する。書き込み完了保証が必要な割り込み信号111は、ステータスCH1_END〜CH4_ENDに対応し、モニタ回路107に出力される。書き込み完了保証が不要な割り込み信号112は、ステータスERR1〜ERR4に対応し、第2のマスタ102に出力される。割り込み分割回路106の詳細は後述する。
モニタ回路107は、バスブリッジ103を介して、データ転送の状態を監視する。モニタ回路107は、割り込み分割回路106が書き込み完了保証が必要な割り込み信号111をアサートすると、バスブリッジ103のデータバッファ1030のモニタを開始する。モニタ回路107は、モニタを開始した時点でデータバッファ1030内に滞留しているデータが全てメモリ制御回路104(共有メモリ105)に転送されると、モニタ完了を示す割り込み信号113をアサートする。モニタ完了を示す複数の割り込み信号113は、書き込み完了保証が必要な複数の割り込み信号111と1対1で対応している。
第2のマスタ102は、例えば、CPUであり、モニタ回路107からの割り込み信号113と、割り込み分割回路106からの書き込み完了保証が不要な割り込み信号112が入力される。第2のマスタ102は、モニタ回路107の割り込み信号113がアサートされると、メモリ制御回路104を介して、共有メモリ105からデータの読み出しを開始する。
次に、図3と図4を用いて、割り込み分割回路106の動作について説明する。図3は、割り込み分割回路106の構成例を示すブロック図である。割り込み分割回路106は、割り込みマスク部1060と、割り込み要因読み出し部1061とを有する。割り込みマスク部1060は、割り込みマスク機能が有効に設定されている場合、第1のマスタ101から入力される割り込み信号110をマスクし、割り込み信号1063を割り込み要因読み出し部1061に出力する。また、割り込みマスク部1060は、割り込みマスク機能が無効に設定されている場合、第1のマスタ101から入力される割り込み信号110をそのままスルーして割り込み信号1063として割り込み要因読み出し部1061に出力する。割り込みマスク部1060の割り込みマスク機能有効/無効設定は、第2のマスタ102又は割り込み分割回路106内部により設定可能である。割り込み要因読み出し部1061は、割り込み要因保持部(第2の保持部)1062を有し、割り込み分割処理を実行し、割り込み信号111及び112を出力する。
図4は、割り込み要因読み出し部1061の割り込み分割処理を示すフローチャートである。開始(初期)状態では、割り込み分割回路106又は第2のマスタ102は、割り込みマスク機能を無効に設定し、割り込み要因保持部1062のレジスタ初期値を全て‘0’に設定する。ステップS401では、割り込み要因読み出し部1061は、割り込み信号1063(割り込み信号110)がアサートされるまで待機し、アサートされた場合にはステップS402に処理を進める。ステップS402では、割り込み分割回路106又は第2のマスタ102は、割り込みマスク部1060の割り込みマスク機能を有効に設定する。これにより、割り込みマスク部1060は、割り込み信号110を無効化する。次に、ステップS403では、割り込み要因読み出し部1061は、第1のバス108を介して、第1のマスタ101の割り込み要因ステータスレジスタ1010から割り込み要因のステータスCH1_END〜CH4_END及びERR1〜ERR4を読み出す。第1のマスタ101の割り込み要因ステータスレジスタ1010にアクセスするためのアドレスは、予め、第2のマスタ(CPU)102等により設定されている。次に、ステップS404では、割り込み要因読み出し部1061は、読み出した割り込み要因のステータスCH1_END〜CH4_END及びERR1〜ERR4を割り込み要因保持部1062に保持させ、ステップS401に処理を戻す。割り込み分割回路106は、複数のチャンネルの送信完了ステータスCH1_END〜CH4_ENDのうちの送信が完了しているチャンネルの第2の割り込み信号111をアサートする。また、割り込み分割回路106は、複数のエラーステータスERR1〜ERR4のうちのエラーを示すエラーステータスの第4の割り込み信号112をアサートする。ここで、ステップS402で割り込みマスク機能が有効に設定されているので、割り込み信号111がアサートされた場合でも、割り込みマスク機能が無効に設定されるまで、割り込み信号1063がアサートされることはない。
割り込み要因保持部1062は、第1のマスタ101の割り込み要因ステータスレジスタ1010と同じように32ビットレジスタで構成されており、その32ビットレジスタ値を割り込み信号112及び113として出力する。割り込み要因保持部1062は、第1のマスタ101の割り込み要因の仕様に合わせて、割り込み信号111及び112を出力する。第1のマスタ101が、図2に示す割り込み要因のステータスCH1_END〜CH4_END及びERR1〜ERR4を扱う場合を説明する。その場合、書き込み完了保証が必要な複数の割り込み信号111(0〜3ビット目)は、ステータスCH1_END〜CH4_ENDであり、モニタ回路107に出力される。書き込み完了保証が不要な複数の割り込み信号112(4〜7ビット目)は、ステータスERR1〜ERR4であり、第2のマスタ102に出力される。
なお、書き込み完了保証が不要な割り込み信号112は、ステータスERR1〜ERR4の論理和を1本の割り込み信号として出力してもよい。すなわち、割り込み分割回路106は、複数のエラーステータスERR1〜ERR4のいずれかがエラーを示す場合には単一の第4の割り込み信号112をアサートする。こうすることで、第2のマスタ102に入力される割り込み信号112の本数を削減することが可能である。この場合、第2のマスタ102は、1本にまとめられた書き込み完了保証が不要な割り込み信号112を受信すると、第1のマスタ101の割り込み要因ステータスレジスタ1010からステータスERR1〜ERR4を読み出し、割り込み要因を判別すればよい。すなわち、第2のマスタ102は単一の割り込み信号112がアサートされると、割り込み要因ステータスレジスタ1010から複数のステータスERR1〜ERR4を読み出し、割り込み要因を判別する。
図2の割り込み要因が割り当てられていない8〜31ビットに対応する信号は、必要ないため、割り込み要因保持部1062に信号線を接続しなくてもよいし、図3に示すように、割り込み要因保持部1062が出力しない構成にしてもよい。この場合、割り込み要因保持部1062のレジスタは、割り込み要因の数(8ビット)だけ持てばよく、回路規模を削減できる。
図1のモニタ回路107は、割り込み信号111がアサートされると、バスブリッジ103の転送を監視する。そして、図1のモニタ回路107は、バスブリッジ103がすべての書き込みデータの転送を完了した場合には、第2の割り込み信号111がアサートされたチャンネルの第3の割り込み信号113をアサートする。第2のマスタ102は、割り込み信号113がアサートされたチャンネルの書き込みデータをメモリ装置114から読み出す。
図5は、本実施形態のバスシステムの制御方法を示すシーケンス図であり、書き込み完了を保証する処理を示す。ステップS501では、第1のマスタ101は、共有メモリ105に対してデータの書き込みを行うため、第1のチャンネルCH1と第2のチャンネルCH2の書き込みデータを並行してバスブリッジ103に送信し始める。次に、ステップS502では、バスブリッジ103は、第1のマスタ101からの共有メモリ105に対する書き込みデータを受信し、その書き込みデータをデータバッファ1030にバッファリングする。そして、バスブリッジ103は、そのバッファリングした書き込みデータをメモリ制御回路104に送信する。メモリ制御回路104は、その受信した書き込みデータを共有メモリ105に書き込む。その後、第1のマスタ101は、第1のチャンネルCH1の最終書き込みデータ521をバスブリッジ103に送信する。次に、ステップS503では、第1のマスタ101は、バスブリッジ103が最終書き込みデータ521を受信すると、割り込み要因ステータスレジスタ1010のステータスCH1_ENDを‘1’に設定し、第1のチャンネルCH1の書き込み処理を完了する。そして、第1のマスタ101は、書き込み完了を示す割り込み信号110をアサートする。
次に、ステップS504では、割り込み分割回路106は、第1のマスタ101からの割り込み信号110がアサートになると、図4を用いて前述した割り込み分割処理を実行する。具体的には、割り込み分割回路106又は第2のマスタ102は、割り込みマスク部1060の割り込みマスク機能を有効に設定する。割り込み要因読み出し部1061は、ステータス読み出し要求525により、第1のマスタ101の割り込み要因ステータスレジスタ1010のステータスCH1_END〜CH4_END及びERR1〜ERR4を読み出す。
ステップS503でステータスCH1_ENDが‘1’に設定されてから、ステータス読み出し要求525によりステータスが読み出されるまでの間に、第1のマスタ101は、第2のチャンネルCH2の最終書き込みデータ522をバスブリッジ103に送信する。ステップS505では、第1のマスタ101は、バスブリッジ103が最終書き込みデータ522を受信すると、割り込み要因ステータスレジスタ1010のステータスCH2_ENDを‘1’に設定し、第2のチャンネルCH2の書き込み処理を完了する。
図6は、このときの第1のマスタ101の割り込み要因ステータスレジスタ1010の状態を示す図である。0ビット目のステータスCH1_ENDと1ビット目のステータスCH2_ENDが書き込み完了を示す‘1’になっており、その他のビットは‘0’である。
割り込み要因読み出し部1061は、ステータス読み出し要求525により、割り込み要因ステータスレジスタ1010のステータスを読み出す。ステップS506では、割り込み要因読み出し部1061は、読み出した割り込み要因ステータスレジスタ1010のステータスを割り込み要因保持部1062に書き込む。割り込み要因保持部1062は、図6の割り込み要因ステータスレジスタ1010のステータスと同じステータスを保持する。そして、割り込み要因保持部1062は、第1のチャンネルCH1の書き込み完了を示すステータスCH1_ENDと第2のチャンネルCH2の書き込み完了を示すステータスCH2_ENDとの2本の割り込み信号111をアサートする。
次に、ステップS507では、モニタ回路107は、割り込み信号111がアサートされると、バスブリッジ103のデータバッファ1030のモニタを開始する。バスブリッジ103は、第1のマスタ101から受信した書き込みデータをデータバッファ1030にバッファリングし、そのバッファリングした書き込みデータをメモリ制御回路104に送信する。データバッファ1030には、送信待ちの書き込みデータが滞留する。バスブリッジ103は、第1のチャンネルCH1の最終書き込みデータ523をメモリ制御回路104に送信し、第2のチャンネルCH2の最終書き込みデータ524をメモリ制御回路104に送信する。メモリ制御回路104は、受信した書き込みデータを共有メモリ105に書き込む。
次に、ステップS508では、モニタ回路107は、データバッファ1030内の書き込みデータが全てメモリ制御回路104に送信されると、ステータスCH1_ENDとステータスCH2_ENDに対応する2本の割り込み信号113をアサートする。これは、バスブリッジ103が第1のチャンネルCH1の書き込みデータと第2のチャンネルCH2の書き込みデータの転送を完了したことを意味する。モニタ回路107は、ステップS507のタイミングで第1のチャンネルCH1と第2のチャンネルCH2のデータ転送のモニタを同時に開始する。また、モニタ回路107は、ステップS508のタイミングで第1のチャンネルCH1のステータスCH1_ENDと第2のチャンネルCH2のステータスCH2_ENDの割り込み信号113を同時にアサートする。
ここで、モニタ回路107がステップS507でモニタを開始するタイミングで、第1のチャンネルCH1と第2のチャンネルCH2の最終書き込みデータ521及び522がバスブリッジ103のデータバッファ1030に格納されていることは保証されている。ステップS508でステータスCH1_END及びCH2_ENDの割り込み信号113がアサートされるとき、第1のチャンネルCH1と第2のチャンネルの最終書き込みデータ523及び524がメモリ制御回路104に書き込まれていることは保証されている。
ステップS509では、第2のマスタ102は、ステータスCH1_ENDとCH2_ENDの割り込み信号113がアサートされると、第1のマスタ101の割り込み要因ステータスレジスタ1010のステータスCH1_ENDとCH2_ENDをクリアする。第2のマスタ102は、第1のマスタ101の割り込み要因ステータスレジスタ1010の0ビット目のステータスCH1_ENDと1ビット目のステータスCH2_ENDに‘1’を書き込み、ステータスCH1_END及びCH2_ENDを‘0’にクリアする。
次に、ステップS510では、第2のマスタ102は、割り込み要因保持部1062のステータスCH1_END及びCH2_ENDに‘1’を書き込み、割り込み要因保持部1062のステータスCH1_END及びCH2_ENDを‘0’にクリアする。次に、ステップS511では、第2のマスタ102は、割り込み分割回路106の割り込みマスク部1060の割り込みマスク機能を無効に設定する。これにより、割り込みマスク部1060は割り込み信号110を有効化し、割り込み要因読み出し部1061は、第1のマスタ101からの割り込み信号110を受信可能な状態になる。次に、ステップS512では、第2のマスタ102は、共有メモリ105に書き込まれた第1のチャンネルCH1と第2のチャンネルCH2のデータを読み出すための読み出し要求をメモリ制御回路104に送信する。すると、メモリ制御回路104は、共有メモリ105から第1のチャンネルCH1と第2のチャンネルCH2のデータを読み出し、その読み出した第1のチャンネルCH1と第2のチャンネルCH2のデータを第2のマスタ102に送信する。第2のマスタ102は、その第1のチャンネルCH1と第2のチャンネルCH2のデータを受信する。
以上のように、バスシステムは、割り込み分割回路106を設ける。これにより、単一の割り込み信号110を出力する第1のマスタ101は、共有メモリ105に対して複数チャンネルのデータ転送を並行して行う場合においても、複数チャンネルの書き込み完了を保証することができる。
第1のマスタ101は、複数の割り込み要因を単一の割り込み信号110で通知する。第1のマスタ101の設計変更を行うことなく、割り込み分割回路106は、複数の割り込み要因毎に割り込み信号111及び112を出力することで、割り込み要因を判別することができる。また、書き込み完了保証が必要な割り込み要因の割り込み信号111をモニタ回路107に出力する。これにより、複数のチャンネルのデータの一貫性を保証することが可能となる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
101 第1のマスタ、102 第2のマスタ、103 バスブリッジ、104 メモリ制御回路、105 共有メモリ、106 割り込み分割回路、107 モニタ回路、108 第1のバス、109 第2のバス、110〜113 割り込み信号、114 メモリ装置
Claims (8)
- 第1のバスに接続され、複数のチャンネルの書き込みデータを並行して送信し、前記送信が完了すると前記送信が完了したことを示す送信完了ステータスを前記チャンネル毎に第1の保持部に保持させ、前記複数のチャンネルのうちの少なくとも1個のチャンネルの書き込みデータの送信が完了すると単一の第1の割り込み信号をアサートする第1のマスタと、
第2のバスに接続されるメモリ装置と、
前記第1のバスと前記第2のバスとの間に接続され、前記第1のマスタから受信した複数のチャンネルの書き込みデータを前記メモリ装置に転送するバスブリッジと、
前記第1の割り込み信号がアサートされると、前記第1の保持部から前記複数のチャンネルの送信完了ステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第2の割り込み信号をアサートする分割回路と、
前記第2の割り込み信号がアサートされると、前記バスブリッジの転送を監視し、前記バスブリッジがすべての書き込みデータの転送を完了した場合には、前記第2の割り込み信号がアサートされたチャンネルの第3の割り込み信号をアサートするモニタ回路と、
前記第2のバスに接続され、前記第3の割り込み信号がアサートされたチャンネルの書き込みデータを前記メモリ装置から読み出す第2のマスタと
を有することを特徴とするバスシステム。 - 前記第1のマスタは、エラーが発生すると、エラーを示すエラーステータスを前記第1の保持部に保持させ、前記複数のチャンネルの送信完了ステータスのいずれかが送信完了を示す場合又は前記エラーステータスがエラーを示す場合には、前記第1の割り込み信号をアサートし、
前記分割回路は、前記第1の割り込み信号がアサートされると、前記第1の保持部から前記複数のチャンネルの送信完了ステータス及び前記エラーステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第2の割り込み信号をアサートし、前記エラーステータスがエラーを示す場合には第4の割り込み信号をアサートし、
前記第2のマスタは、前記第4の割り込み信号を入力することを特徴とする請求項1記載のバスシステム。 - 前記第1のマスタは、複数のエラーを示す複数のエラーステータスを前記第1の保持部に保持させ、前記複数のチャンネルの送信完了ステータスのいずれかが送信完了を示す場合又は前記複数のエラーステータスのいずれかがエラーを示す場合には、前記第1の割り込み信号をアサートし、
前記分割回路は、前記第1の割り込み信号がアサートされると、前記第1の保持部から前記複数のチャンネルの送信完了ステータス及び前記複数のエラーステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第2の割り込み信号をアサートし、前記複数のエラーステータスのうちのエラーを示すエラーステータスの第4の割り込み信号をアサートすることを特徴とする請求項1又は2記載のバスシステム。 - 前記第1のマスタは、複数のエラーを示す複数のエラーステータスを前記第1の保持部に保持させ、前記複数のチャンネルの送信完了ステータスのいずれかが送信完了を示す場合又は前記複数のエラーステータスのいずれかがエラーを示す場合には、前記第1の割り込み信号をアサートし、
前記分割回路は、前記第1の割り込み信号がアサートされると、前記第1の保持部から前記複数のチャンネルの送信完了ステータス及び前記複数のエラーステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第2の割り込み信号をアサートし、前記複数のエラーステータスのいずれかがエラーを示す場合には単一の第4の割り込み信号をアサートし、
前記第2のマスタは、前記第4の割り込み信号がアサートされると、前記第1の保持部から前記複数のエラーステータスを読み出すことを特徴とする請求項1又は2記載のバスシステム。 - 前記分割回路は、前記第1の割り込み信号がアサートされた場合には、前記第1の割り込み信号を無効化し、前記第3の割り込み信号がアサートされた場合には、前記第1の割り込み信号を有効化するマスク部を有することを特徴とする請求項1〜4のいずれか1項に記載のバスシステム。
- 前記分割回路は、前記第1の保持部から読み出した前記複数のチャンネルの送信完了ステータスを保持するための第2の保持部を有することを特徴とする請求項1〜5のいずれか1項に記載のバスシステム。
- 前記第3の割り込み信号がアサートされた場合には、前記第1の保持部と前記第2の保持部の前記送信完了を示す前記送信完了ステータスは、クリアされることを特徴とする請求項6記載のバスシステム。
- 第1のバスに接続される第1のマスタと、
第2のバスに接続されるメモリ装置と、
前記第1のバスと前記第2のバスとの間に接続されるバスブリッジと、
前記第2のバスに接続される第2のマスタとを有するバスシステムの制御方法であって、
前記第1のマスタにより、複数のチャンネルの書き込みデータを並行して送信し、前記送信が完了すると前記送信が完了したことを示す送信完了ステータスを前記チャンネル毎に第1の保持部に保持させ、前記複数のチャンネルのうちの少なくとも1個のチャンネルの書き込みデータの送信が完了すると単一の第1の割り込み信号をアサートするステップと、
前記バスブリッジにより、前記第1のマスタから受信した複数のチャンネルの書き込みデータを前記メモリ装置に転送するステップと、
分割回路により、前記第1の割り込み信号がアサートされると、前記第1の保持部から前記複数のチャンネルの送信完了ステータスを読み出し、前記複数のチャンネルの送信完了ステータスのうちの送信が完了しているチャンネルの第2の割り込み信号をアサートするステップと、
モニタ回路により、前記第2の割り込み信号がアサートされると、前記バスブリッジの転送を監視し、前記バスブリッジがすべての書き込みデータの転送を完了した場合には、前記第2の割り込み信号がアサートされたチャンネルの第3の割り込み信号をアサートするステップと、
前記第2のマスタにより、前記第3の割り込み信号がアサートされたチャンネルの書き込みデータを前記メモリ装置から読み出すステップと
を有することを特徴とするバスシステムの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016165845A JP2018032320A (ja) | 2016-08-26 | 2016-08-26 | バスシステム及びバスシステムの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016165845A JP2018032320A (ja) | 2016-08-26 | 2016-08-26 | バスシステム及びバスシステムの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018032320A true JP2018032320A (ja) | 2018-03-01 |
Family
ID=61304416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016165845A Pending JP2018032320A (ja) | 2016-08-26 | 2016-08-26 | バスシステム及びバスシステムの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018032320A (ja) |
-
2016
- 2016-08-26 JP JP2016165845A patent/JP2018032320A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114443529B (zh) | 内存直接访问架构、系统、方法、电子设备和介质 | |
JP2011150397A (ja) | バス調停装置 | |
TWI590061B (zh) | 內部整合電路資料通訊系統中的位址變換 | |
US10282343B2 (en) | Semiconductor device | |
JP7212687B2 (ja) | シリアル通信装置 | |
US8838862B2 (en) | Data transfer device, method of transferring data, and image forming apparatus | |
JP6602579B2 (ja) | 半導体装置およびシステム | |
JP5637145B2 (ja) | バスモニタ回路及びバスモニタ方法 | |
JP2007058716A (ja) | データ転送バスシステム | |
US7934043B2 (en) | Data processing apparatus for controlling access to a memory based upon detection of completion of a DMA bus cycle | |
JP2006113689A (ja) | バスブリッジ装置およびデータ転送方法 | |
TWI750386B (zh) | 匯流排系統 | |
US20060195628A1 (en) | System and method for DMA transfer between FIFOs | |
US9442819B2 (en) | Method and apparatus for storing trace data | |
JP2018032320A (ja) | バスシステム及びバスシステムの制御方法 | |
KR100606163B1 (ko) | 디렉트 메모리 엑세스 장치, 디렉트 메모리 엑세스 장치를통한 데이터를 송수신하는 시스템 및 방법 | |
JP2015018408A (ja) | 入出力制御回路及び入出力制御回路における同期制御方法 | |
KR102206313B1 (ko) | 시스템 인터커넥트 및 시스템 인터커넥트의 동작 방법 | |
JP2006285872A (ja) | マルチcpuシステム | |
JP2009163531A (ja) | 割り込み管理機構およびマイクロコンピュータ | |
US20100153610A1 (en) | Bus arbiter and bus system | |
JP2006092077A (ja) | バスシステム | |
JP6416488B2 (ja) | 半導体装置 | |
JP2014232414A (ja) | I2c通信スレーブ装置 | |
JP2017107441A (ja) | 情報処理装置、並びに、その制御装置および制御方法 |