(57)【要約】   【課題】  バス転送効率の向上を図ったバス制御方法を提供する。  【解決手段】  バススレーブとして機能するメモリコントローラと、前記メモリコントローラに対してデータを入出力処理するバスマスタとして機能するデータ処理デバイスとが、バスを介して接続されるバス制御システムのバス制御方法であって、前記データ処理デバイスは、前記メモリコントローラに対してデータのアドレス情報を含む読出しリクエストまたは転送リクエストを発行した後に前記バスを開放し、前記メモリコントローラは、前記読出しリクエストまたは転送リクエストに応じてデータをバッファリングし、前記読出しリクエストまたは転送リクエストで特定される転送先へ転送リクエストを発行し、データの転送処理が終了した後に前記バスを開放するバス制御方法。  【選択図】  図２
2006209369.tif 000002
【特許請求の範囲】
【請求項１】
バススレーブとして機能するメモリコントローラと、前記メモリコントローラに対してデータを入出力処理するバスマスタとして機能するデータ処理デバイスとが、バスを介して接続されるバス制御システムであって、
前記データ処理デバイスに、前記メモリコントローラに対してデータのアドレス情報を含む読出しリクエストまたは転送リクエストを発行した後に前記バスを開放する読出しリクエスト発行部を備え、
前記メモリコントローラに、前記読出しリクエストまたは転送リクエストに応じてデータをバッファリングし、前記読出しリクエストまたは転送リクエストで特定される転送先へ転送リクエストを発行する転送リクエスト発行部を備えてあるバス制御システム。
【請求項２】
前記データ処理デバイスは、前記転送リクエストに応じてデータを受け取るデータ受信処理部を設けてある請求項１記載のバス制御システム。
【請求項３】
バススレーブとして機能するメモリコントローラと、前記メモリコントローラに対してデータを入出力処理するバスマスタとして機能するデータ処理デバイスとが、バスを介して接続されるバス制御システムのバス制御方法であって、
前記データ処理デバイスは、前記メモリコントローラに対してデータのアドレス情報を含む読出しリクエストまたは転送リクエストを発行した後に前記バスを開放し、前記メモリコントローラは、前記読出しリクエストまたは転送リクエストに応じてデータをバッファリングし、前記読出しリクエストまたは転送リクエストで特定される転送先へ転送リクエストを発行し、データの転送処理が終了した後に前記バスを開放するバス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バススレーブとして機能するメモリコントローラと、前記メモリコントローラに対してデータを入出力処理するバスマスタとして機能するデータ処理デバイスとが、バスを介して接続されるバス制御システム及びバス制御方法に関する。
【背景技術】
【０００２】
従来のバス制御システムにおいて、データ転送を行うバスマスタとして機能するデータ処理デバイスは、バス使用要求を行い、調停に従ってバス使用許可がなされるとバスを専有する。そして、データの読出し命令や転送命令の発行及び転送データの送信あるいは受信を行い、転送終了後バスを開放し１回の転送サイクルを終了する制御を行っている。つまり、バススレーブとして機能するメモリコントローラが、データ処理デバイスから発行されたコマンドを受信し処理する間、データ処理デバイスはバスを専有した状態であり、その間他のデータ処理デバイスはバスを使用できないといういわゆる排他的バス使用システムとなっている。
【特許文献１】特開平５−２４２０１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述のようなバス制御システムにおいては、メモリコントローラでのコマンド及びデータの処理に要する時間が長くなると、１回のバス使用サイクルが長くなり、かつメモリコントローラの内部処理中は実際にはバス上でのデータ転送は行われていない待ち時間となり、転送効率が低下するという問題があった。
【０００４】
本発明は、上述の問題点に鑑み、バス転送効率の向上を図ったバス制御システム及びバス制御方法を提供する点にある。
【課題を解決するための手段】
【０００５】
上述の目的を達成するため、本発明によるバス制御システムの第一の特徴構成は、特許請求の範囲の書類の請求項１に記載した通り、バススレーブとして機能するメモリコントローラと、前記メモリコントローラに対してデータを入出力処理するバスマスタとして機能するデータ処理デバイスとが、バスを介して接続されるバス制御システムであって、前記データ処理デバイスに、前記メモリコントローラに対してデータのアドレス情報を含む読出しリクエストまたは転送リクエストを発行した後に前記バスを開放する読出しリクエスト発行部を備え、前記メモリコントローラに、前記読出しリクエストまたは転送リクエストに応じてデータをバッファリングし、前記読出しリクエストまたは転送リクエストで特定される転送先へ転送リクエストを発行する転送リクエスト発行部を備えてある点にある。
【０００６】
上述の構成によれば、バスを開放した状態で、読出しリクエストまたは転送リクエストに応じてデータをバッファリングすることが可能となるのである。つまり、この間に、他のデバイスが前記バスに接続し、更に他のデバイスに対してデータのアドレス情報を含む読出しリクエストまたは転送リクエストを発行することができるため、バス転送効率が向上するバス制御システム提供することが可能となるのである。
【０００７】
同第二の特徴構成は、同請求項２に記載した通り、上述の第一特徴構成に加えて、前記データ処理デバイスは、前記転送リクエストに応じてデータを受け取るデータ受信処理部を設けてある点にある。
【０００８】
上述の構成によれば、データ処理デバイスは、確実にデータを受け取ることが可能となるのである。つまり、データ処理デバイスが、メモリコントローラに対してデータのアドレス情報を含む読出しリクエストまたは転送リクエストを発行した後に前記バスを一旦開放しても、前記メモリコントローラがバスを占有し、前記メモリコントローラから送信される転送リクエストに応じてデータを受け取ることが可能となるのである。
【０００９】
上述の目的を達成するため、本発明によるバス制御方法の第一の特徴構成は、特許請求の範囲の書類の請求項３に記載した通り、バススレーブとして機能するメモリコントローラと、前記メモリコントローラに対してデータを入出力処理するバスマスタとして機能するデータ処理デバイスとが、バスを介して接続されるバス制御システムのバス制御方法であって、前記データ処理デバイスは、前記メモリコントローラに対してデータのアドレス情報を含む読出しリクエストまたは転送リクエストを発行した後に前記バスを開放し、前記メモリコントローラは、前記読出しリクエストまたは転送リクエストに応じてデータをバッファリングし、前記読出しリクエストまたは転送リクエストで特定される転送先へ転送リクエストを発行し、データの転送処理が終了した後に前記バスを開放する点にあり、バススレーブであるメモリコントローラが、時には、バスマスタとなって転送を開始することが可能となるのである。
【発明の効果】
【００１０】
以上説明した通り、本発明によれば、バス転送効率の向上を図ったバス制御システム及びバス制御方法を提供することができるようになった。
【発明を実施するための最良の形態】
【００１１】
本発明のバス制御システムの実施の形態について説明する。本発明のバス制御システムのブロック構成は、図１に示すように、バススレーブとして機能するメモリコントローラ３０、３１と前記メモリコントローラ３０、３１に対してデータを入出力処理するバスマスタとして機能するＣＰＵやＤＭＡＣ等といったデータ処理デバイス１０、１１とが、共通バス０１を介して接続されている。
【００１２】
前記データ処理デバイス１０、１１は同一構成であるため、データ処理デバイス１０についてのみ説明する。前記データ処理デバイス１０は、前記メモリコントローラ３０或いは３１に対して所定のリクエストを発行する読出しリクエスト発行部１２と、前記読出しリクエストの発行先メモリコントローラから発行される転送リクエストに応じてデータを受け取るデータ受信処理部１３と、前記データを用いて主要な処理を行なう主要処理部１４とを備えて構成されている。
【００１３】
前記読出しリクエスト発行部１２は、前記メモリコントローラ３０或いは３１に対して読出しデータのアドレス情報や転送量の属性からなる読出しリクエストまたは転送リクエスト、つまり、リード要求信号を発行し、その後に前記バスを開放するもので、前記共通バス０１の使用要求を行なうバス使用要求部１５と、前記リード要求信号を発行し送信するリード要求送信部１６と、前記リード要求信号が前記リード要求信号の送信先メモリコントローラにおいて受信完了したことを示すリード完了信号を受信するリード完了受信部１７とを備えて構成されている。
【００１４】
前記データ受信処理部１３は、前記リード要求信号の送信先メモリコントローラが前記リード要求信号に応じて当該データ処理デバイス１０に発行する転送リクエストを受け取り処理するもので、前記読出しデータの書き込み先、つまり、データの転送先のアドレス情報等の要求を伝える転送先要求信号を受け取る転送先要求受信部１８と、前記転送先要求信号に対して前記データの転送先のアドレス情報等からなるライト指定信号を発行し前記リード要求信号の送信先メモリコントローラに送信するライト指定送信部１９と、前記ライト指定信号により前記データの書き込み先が当該データ処理デバイス１０であった場合に前記リード要求信号の送信先メモリコントローラから発行されるライト要求信号を受信するライト要求受信部２０と、前記ライト要求信号を受信したことを伝えるライト要求完了信号を送信する要求完了送信部２１と、前記データを受信するデータ受信部２２と、前記データの受信が完了したことを伝えるデータ受信完了信号を送信するライト完了送信部２３とを備えて構成されている。
【００１５】
前記メモリコントローラ３０、３１は同一構成であるため、メモリコントローラ３１についてのみ説明する。前記メモリコントローラ３１は、前記データ処理デバイス１０或いは１１から発行される前記リード要求信号を受信しその受信の完了を伝えるリクエスト応答部３２と、前記リード要求信号に応じて前記読出しデータを読み出すための内部処理を行なうメモリ処理部３３と、前記内部処理の終了の後に、前記リード要求信号の送信元データ処理デバイスに転送リクエストを送信しこれに基づくライト指定に応じた処理を実行する転送リクエスト発行部３４と、当該メモリコントローラ３１が他のメモリコントローラからの読出しデータの書き込み先に指定された場合に前記データの受信を行ない処理するデータ受信処理部３５とを備えて構成されている。
【００１６】
前記リクエスト応答部３２は、前記リード要求信号を受信するリード要求受信部３６と、前記リード要求信号の受信の完了を前記リード要求信号の送信元データ処理デバイスに伝えるリード要求受信完了信号を送信するリード完了送信部３７とを備えて構成されている。
【００１７】
前記メモリ処理部３３は、データを蓄積する主メモリ部３８と、前記リード要求信号における読み出しデータを一時蓄積するバッファ３９と、前記主メモリ部３８と前記バッファ３９間でデータの転送処理を実行する処理実効部４０とを備えて構成されている。
【００１８】
前記転送リクエスト発行部３４は、当該メモリコントローラ３１が前記リード要求信号によりデータの読出し先メモリコントローラとなった場合に、前記メモリ処理部３３における内部処理が終了した後に、前記共通バス０１の使用要求を行なうバス使用要求部４１と、リード要求信号の送信元データ処理デバイスに前記転送先要求信号を送信する転送要求送信部４２と、前記ライト指定信号を受信するライト指定受信部４３と、前記読出しデータの書き込み先デバイスに前記読出しデータの書き込み先であることを伝える前記ライト要求信号を送信するライト要求送信部４４と、前記ライト要求完了信号を受信する要求完了受信部４５と、前記ライト指定信号に基づいて前記読込みデータを送信するデータ送信部４６と、前記データ受信完了信号を受信するライト完了受信部４７とを備えて構成されている。
【００１９】
前記データ受信処理部３５は、他のメモリコントローラからの読出しデータの書き込み先が当該メモリコントローラ３１であった場合に、前記読出しデータの受信を行い処理するもので、前記リード要求信号の送信先メモリコントローラから発行される前記ライト要求信号を受信するライト要求受信部４８と、前記ライト要求信号を受信したことを伝えるライト要求完了信号を送信する要求完了送信部４９と、前記データを受信するデータ受信部５０と、前記データの受信が完了したことを伝えるデータ受信完了信号を送信するライト完了送信部５１とを備えて構成されている。
【００２０】
前記データ処理デバイス１０、１１、及び、前記メモリコントローラ３０、３１は、前記共通バスを占有するための優先順位が定められ、前記バス使用要求部１５や４１からのバス使用要求に対しては、前記優先順位に基づいてその占有、つまり、使用が許可される。
【００２１】
以下、前記データ処理デバイス１０からメモリコントローラ３１に発行されたリード要求信号とライト指定信号に基づいて、前記メモリコントローラ３１が前記主メモリ部３８に蓄積しているデータを読出し、前記データ処理デバイス１０に送信する場合におけるバス制御システムの動作について、図２に示すフローチャート及び図３に示すタイミングチャートに基づいて説明する。
【００２２】
前記データ処理デバイス１０は、前記主要処理部１４の処理によりデータの読出し或いは転送が必要な状態になると（ＳＡ１）、前記バス使用要求部１５によって前記共通バス０１の使用要求を行なう（ＳＡ２）。前記リード要求送信部１６は、前記共通バス０１の使用が可能になると（ＳＡ３）、リード要求信号を発行し、前記メモリコントローラ３１に送信する（ＳＡ４）。
【００２３】
前記メモリコントローラ３１は、前記リード要求受信部３６により前記リード要求信号の受信が完了すると（ＳＢ１）、前記リード完了送信部３７によってリード完了信号を発行し、前記データ処理デバイス１０に送信する（ＳＢ２）。
【００２４】
前記データ処理デバイス１０は、リード完了受信部１７により前記リード完了信号を受信すると（ＳＡ５）、前記共通バス０１を開放する（ＳＡ６）。
【００２５】
上述のステップＳＡ３からステップＳＡ６の間が、図３に示すタイミングＴ１に相当し、前記データ処理デバイス１０による前記バス０１の占有時間となる。
【００２６】
前記処理実行部４０は、前記リード要求信号に基づいて、前記主メモリ部３８に蓄積されているデータを前記バッファ３９に転送する。つまり、前記主メモリ部３８に蓄積されているデータから前記リード要求信号における読出しアドレスに対応するデータを読出し（ＳＢ３）、前記バッファ３９に書き込みを行なう（ＳＢ４）。このとき、前記共通バス０１は、前記データ処理デバイス１０から開放されているため、前記共通バス０１は他のデバイス、例えば、データ処理デバイス１１やメモリコントローラ３０によって使用が可能な状態となる（図３におけるタイミングＴ２）。尚、前記データ処理デバイス１０が、他のリード要求信号に関する信号を送受信するために、前記共通バス１０を使用することも可能である。
【００２７】
前記バス使用要求部４１は、前記主メモリ部３８から前記バッファ３９にデータの転送が完了すると（ＳＢ５）、前記共通バス０１の使用要求を行なう（ＳＢ６）。前記転送要求送信部４２は、前記共通バス０１の使用が可能になると（ＳＢ７）、転送先要求信号を発行し前記データ処理デバイス１０に送信する（ＳＢ８）。
【００２８】
前記データ処理デバイス１０は、前記転送要求受信部１８により前記転送先要求信号の受信を完了すると（ＳＡ７）、前記ライト指定送信部１９によってライト指定信号を発行し、前記メモリコントローラ３１に送信する（ＳＡ８）。
【００２９】
前記メモリコントローラ３１は、前記ライト指定受信部４３により前記ライト指定信号の受信が完了すると（ＳＢ９）、前記ライト要求送信部４４によってライト要求信号を発行し、前記ライト指定信号に基づいた前記読込みデータの書き込み先デバイスにライト要求信号を送信する（ＳＢ１０）。
【００３０】
前記書き込み先デバイスが、前記リード要求信号発信先と同一であった場合、つまり、前記データ処理デバイス１０であった場合、ライト要求信号を前記データ処理デバイス１０に送信する。
【００３１】
前記データ処理デバイス１０は、前記ライト要求受信部２０により前記ライト要求信号の受信が完了すると（ＳＡ９）、要求完了送信部２１によってライト要求完了信号を発行し、前記メモリコントローラ３１に送信する（ＳＡ１０）。
【００３２】
前記メモリコントローラ３１は、前記要求完了受信部４５により前記ライト要求完了信号の受信が完了すると（ＳＢ１１）、前記データ送信部４６によって前記バッファ３９に転送されたデータを前記データ処理デバイス１０に送信する（ＳＢ１２）。
【００３３】
前記データ処理デバイス１０は、前記データ受信部２２により前記データの受信が完了すると（ＳＡ１１）、ライト完了送信部２３によってライト完了信号を発行し、前記メモリコントローラ３１に送信する（ＳＡ１２）。
【００３４】
前記メモリコントローラ３１は、前記ライト完了受信部４７により前記ライト完了信号の受信が完了すると（ＳＢ１３）、前記共通バス０１を開放する（ＳＢ１４）。
【００３５】
上述のステップＳＢ７からステップＳＢ１４の間が、図３に示すタイミングＴ３に相当し、前記メモリコントローラ３１による前記バス０１の占有時間となる。
【００３６】
つまり、バススレーブであるメモリコントローラが、時には、バスマスタとなって転送を開始することが可能となるのである。
【００３７】
前記データ処理デバイス１０からメモリコントローラ３１に発行されたリード要求信号とライト指定信号に基づいて、前記メモリコントローラ３１が前記主メモリ部３８に蓄積しているデータを読出し、他のメモリコントローラ、例えばメモリコントローラ３０に転送する場合におけるバス制御システムの動作について、図４に示すフローチャートに基づいて説明する。尚、上述したように、前記メモリコントローラ３０、３１は同一構成であるため、前記メモリコントローラ３０に関し詳細図は示していないが、同一の機能を有するものに同一の符号を用いて説明する。
【００３８】
前記データ処理デバイス１０は、前記主要処理部１４の処理によりデータの読出し或いは転送が必要な状態になると（ＳＣ１）、前記バス使用要求部１５によって前記共通バス０１の使用要求を行なう（ＳＣ２）。前記リード要求送信部１６は、前記共通バス０１の使用が可能になると（ＳＣ３）、リード要求信号を発行し、前記メモリコントローラ３１に送信する（ＳＣ４）。
【００３９】
前記メモリコントローラ３１は、前記リード要求受信部３６により前記リード要求信号の受信が完了すると（ＳＤ１）、前記リード完了送信部３７によってリード完了信号を発行し、前記データ処理デバイス１０に送信する（ＳＤ２）。
【００４０】
前記データ処理デバイス１０は、リード完了受信部１７により前記リード完了信号を受信すると（ＳＣ５）、前記共通バス０１を開放する（ＳＣ６）。
【００４１】
前記処理実行部４０は、前記リード要求信号に基づいて、前記主メモリ部３８に蓄積されているデータを前記バッファ３９に転送する。つまり、前記主メモリ部３８に蓄積されているデータから前記リード要求信号における読出しアドレスに対応するデータを読出し（ＳＤ３）、前記バッファ３９に書き込みを行なう（ＳＤ４）。このとき、前記共通バス０１は、前記データ処理デバイス１０から開放されているため、前記共通バス０１は他のデバイス、例えば、データ処理デバイス１１やメモリコントローラ３０によって使用が可能な状態となる。尚、前記データ処理デバイス１０が、他のリード要求信号に関する信号を送受信するために、前記共通バス１０を使用することも可能である。
【００４２】
前記バス使用要求部４１は、前記主メモリ部３８から前記バッファ３９にデータの転送が終了すると（ＳＤ５）、前記共通バス０１の使用要求を行なう（ＳＤ６）。前記転送要求送信部４２は、前記共通バス０１の使用が可能になると（ＳＤ７）、転送先要求信号を発行し前記データ処理デバイス１０に送信する（ＳＤ８）。
【００４３】
前記データ処理デバイス１０は、前記転送要求受信部１８により前記転送先要求信号の受信を完了すると（ＳＣ７）、前記ライト指定送信部１９によってライト指定信号を発行し、前記メモリコントローラ３１に送信する（ＳＣ８）。
【００４４】
前記メモリコントローラ３１は、前記ライト指定受信部４３により前記ライト指定信号の受信が完了すると（ＳＤ９）、前記ライト要求送信部４４によって、ライト要求信号を発行し、前記ライト指定信号に基づいた前記読込みデータの書き込み先デバイスにライト要求信号を送信する（ＳＤ１０）。
【００４５】
前記書き込み先デバイスが、前記リード要求信号発信先と異なる場合、例えば、前記メモリコントローラ３０であった場合、ライト要求信号を前記メモリコントローラ３０に送信する。
【００４６】
前記メモリコントローラ３０は、前記ライト要求受信部４８によりに前記ライト要求信号の受信が完了すると（ＳＥ１）、前記要求完了送信部４９によってライト要求完了信号を発行し、前記メモリコントローラ３１に送信する（ＳＥ２）。
【００４７】
前記メモリコントローラ３１は、前記要求完了受信部４５により前記ライト要求完了信号の受信が完了すると（ＳＤ１１）、前記データ送信部４６によって、前記バッファ３９に転送されたデータを前記メモリコントローラ３０に送信する（ＳＤ１２）。
【００４８】
前記メモリコントローラ３０は、前記データ受信部５０により前記データの受信が完了すると（ＳＤ１１）、ライト完了送信部５１によってライト完了信号を発行し、前記メモリコントローラ３１に送信する（ＳＤ１２）。
【００４９】
前記メモリコントローラ３０は、前記ライト完了受信部４７により前記ライト完了信号の受信が完了すると（ＳＥ３）、前記共通バス０１を開放する（ＳＥ４）。
【００５０】
つまり、バススレーブであるメモリコントローラが、時には、バスマスタとなって転送を開始することが可能となるのである。
【００５１】
上述では、前記共通バス０１に二つのデータ処理デバイスと二つのメモリコントローラが接続されている場合について説明したが、これに限定するものではなく、適宜複数のデータ処理デバイス或いはメモリコントローラを接続することができる。
【図面の簡単な説明】
【００５２】
【図１】バス制御システムのブロック構成の説明図
【図２】バス制御システムの動作について説明するためのフローチャート
【図３】バス制御システムの動作について説明するためのタイミングチャート
【図４】バス制御システムの動作について説明するためのフローチャート
【符号の説明】
【００５３】
０１： 共通バス
１０、１１：データ処理デバイス
１２：読出しリクエスト発行部
１３：データ受信処理部
１４：主要処理部
３０、３１：メモリコントローラ
３２：リクエスト応答部
３３：メモリ処理部
３４：転送リクエスト発行部
３５：データ受信処理部
【図１】
2006209369.tif 000003
【図２】
2006209369.tif 000004
【図３】
2006209369.tif 000005
【図４】
2006209369.tif 000006