(57)【要約】【課題】システム全体の動作に影響することなくマスタリセットを実現する。【解決手段】マスタ１０１とスレーブ１０９とをつなぐバス１１０，１１１，１１２上に転送キャンセル部１０３を介在させる。転送キャンセル部１０３は、マスタ１０１のリセット中、バス上を流れる無効コマンドがスレーブ１０９に到達しないようバス遮断をしつつ、スレーブ１０９へ既に出力したアクセス要求コマンドに対応するスレーブ１０９へのデータ生成及びスレーブ１０９からのデータ受信を、リセットにより停止しているマスタ１０１に代わって実行する。これにより、動作中のマスタ１０１がリセットされた場合に、スレーブ１０９をリセットしなくても当該スレーブ１０９内にコマンドが残留せず、また当該スレーブ１０９を共有する他のマスタ１０２の動作に影響を及ぼすこともない。【選択図】図１
2008250632.tif 000002
【特許請求の範囲】
【請求項１】
互いの間でデータ通信を行うマスタ及びスレーブと、
前記マスタと前記スレーブとの間に介在し、前記マスタがデータ転送動作を実行できない状態になった場合には、前記マスタの代わりに前記スレーブの動作を実行完了させる転送キャンセル部とを備え、
前記転送キャンセル部は、
前記マスタから前記スレーブへのコマンドの発行及びデータの送出を遮断するバス遮断部と、
前記スレーブへ発行済みのコマンドに対応して前記スレーブへ送出すべきデータを前記マスタに代わって生成するデータ生成部と、
前記スレーブへ発行済みの前記コマンドに対応する前記スレーブからの応答データを前記マスタに代わって受信するデータ吸収部と、
前記バス遮断部、前記データ生成部及び前記データ吸収部の制御を行う転送キャンセル制御部とを有することを特徴とするデータ処理システム。
【請求項２】
請求項１記載のデータ処理システムにおいて、
前記スレーブを前記マスタと共有する他のマスタと、
前記他のマスタと前記スレーブとの間に介在し、前記他のマスタがデータ転送動作を実行できない状態になった場合には、前記他のマスタの代わりに前記スレーブの動作を実行完了させる他の転送キャンセル部とを更に備えたことを特徴とするデータ処理システム。
【請求項３】
請求項１記載のデータ処理システムにおいて、
前記転送キャンセル部は、前記マスタに代わってコマンドを生成するコマンド生成部を更に有し、
前記コマンド生成部は、前記スレーブ内のステートマシンを初期状態に戻すためのコマンドを生成することを特徴とするデータ処理システム。
【請求項４】
請求項１記載のデータ処理システムにおいて、
前記転送キャンセル部は、前記マスタに代わってコマンドを生成するコマンド生成部を更に有し、
前記コマンド生成部は、前記コマンドに先行して前記スレーブへ送出されたデータの処理を完了させるためのコマンドを生成することを特徴とするデータ処理システム。
【請求項５】
請求項１記載のデータ処理システムにおいて、
前記転送キャンセル部は、前記データ生成部で生成した前記スレーブへのデータが無効データであることを前記スレーブへ伝えるためのフラグを生成する無効データフラグ生成部を更に有することを特徴とするデータ処理システム。
【請求項６】
請求項１記載のデータ処理システムにおいて、
前記転送キャンセル部は、当該転送キャンセル部へのクロック供給の必要性を示す信号を生成するクロック要求生成部を更に有することを特徴とするデータ処理システム。
【請求項７】
請求項１記載のデータ処理システムにおいて、
前記転送キャンセル部は、転送キャンセルの必要性を判定するキャンセル判定部を更に有することを特徴とするデータ処理システム。
【請求項８】
請求項７記載のデータ処理システムにおいて、
前記キャンセル判定部は、前記マスタからのコマンド及びデータを監視するバスモニタを有し、
前記転送キャンセル部は、前記バスモニタがバスプロトコル違反を検出した際に転送キャンセルを行うことを特徴とするデータ処理システム。
【請求項９】
請求項８記載のデータ処理システムにおいて、
前記キャンセル判定部は、バスプロトコル違反のコマンドの修正を行うコマンド修正部を有することを特徴とするデータ処理システム。
【請求項１０】
請求項７記載のデータ処理システムにおいて、
前記キャンセル判定部は、前記マスタからのコマンド及びデータを監視するバスモニタを有し、
前記転送キャンセル部は、設定されたアドレス領域へのアクセスを前記バスモニタが検出した際に転送キャンセルを行うことを特徴とするデータ処理システム。
【請求項１１】
請求項７記載のデータ処理システムにおいて、
前記キャンセル判定部は、前記マスタからのコマンド及びデータを監視するバスモニタを有し、
前記転送キャンセル部は、設定された値に該当するデータの転送を前記バスモニタが検出した際に転送キャンセルを行うことを特徴とするデータ処理システム。
【請求項１２】
請求項７記載のデータ処理システムにおいて、
前記キャンセル判定部は、前記マスタからのコマンド及びデータを監視するバスモニタを有し、
前記転送キャンセル部は、前記マスタのハングアップを前記バスモニタが検出した際に転送キャンセルを行うことを特徴とするデータ処理システム。
【請求項１３】
請求項１２記載のデータ処理システムにおいて、
前記バスモニタは、前記スレーブへのコマンドの発行間隔又はデータの送出間隔の計測結果をもとにして前記マスタのハングアップを検出することを特徴とするデータ処理システム。
【請求項１４】
電源装置と、電力制御機能を有する半導体集積回路とを備えた電子装置であって、
前記半導体集積回路は、請求項１記載のデータ処理システムを有し、かつ前記電源装置から当該半導体集積回路内の各ブロックへの電力供給を前記転送キャンセル部の状態に応じて制御することを特徴とする電子装置。
【請求項１５】
複数のマスタと共有スレーブとを有するデータ処理システムのリセット方法であって、
リセット対象マスタから前記共有スレーブへのコマンドの発行及びデータの送出を遮断する第１のステップと、
前記第１のステップの完了後に前記リセット対象マスタのリセットを実施する第２のステップと、
前記第２のステップと並行して、前記共有スレーブへ発行済みのコマンドに対応して前記共有スレーブへ送出すべきデータを前記リセット対象マスタに代わって生成して前記共有スレーブへ送出し、かつ前記共有スレーブへ発行済みの前記コマンドに対応する前記共有スレーブからの応答データを前記リセット対象マスタに代わって受信して破棄することにより前記共有スレーブの動作を実行完了させる第３のステップと、
前記第３のステップの完了後に前記リセット対象マスタのリセットを解除する第４のステップとを備えたことを特徴とするリセット方法。
【請求項１６】
互いの間でデータ通信を行うマスタ及びスレーブと、
前記マスタと前記スレーブとの間に介在し、前記マスタがデータ転送動作を実行できない状態になった場合には、前記マスタの代わりに前記スレーブの動作を実行完了させる転送キャンセル部とを備えたことを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いの間でデータ通信を行うマスタ及びスレーブを有するデータ処理システムに関するものである。
【背景技術】
【０００２】
システムＬＳＩにおいて複数のマスタがバスを介して１つ又は複数のスレーブを共有する場合、システムの動作中に一部のマスタに障害が発生したとき、当該マスタにリセットをかける機能を設けることが必要である。ここに、マスタはマイクロプロセッサ、ＤＳＰ（Digital Signal Processor）、ＤＭＡ（Direct Memory Access）コントローラ等であり、スレーブはメモリ、周辺Ｉ／Ｏ（input/output）コントローラ等である。
【０００３】
ある従来技術によれば、バスにつながる装置に障害が発生してリセットをかける場合には、全ての装置を一旦停止させ、障害情報を採集し、必要なレジスタにリセットをかけてクリアさせることで、障害からの復帰を実現している（特許文献１参照）。
【特許文献１】特開平１１−３１２１０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
システムの動作中にあるマスタにリセットをかける必要が生じた場合、システムの復旧のために全マスタの動作を一旦停止させることとすると、本来リセットとは無関係のマスタが影響を受け、システムの性能に大きな影響を及ぼすことになる。
【０００５】
加えて、マスタの動作停止や復旧動作の高速化のために、マスタやスレーブに特別な機能を新たに実装する必要があり、例えばマスタやスレーブに他社ＩＰ（Intellectual Property）を利用している場合等、修正が困難である場合には、対応ができない。
【０００６】
また、単一のマスタがスレーブとの間でデータ通信を行うシステムであっても、データ転送動作を実行できない状態になったマスタから既に発行されていたコマンドがスレーブ内に残留すると、システムの復旧に支障が生じる。
【０００７】
本発明は、上記従来技術の課題を解決するものであり、システム全体の動作に影響することなくマスタリセットを実現することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明は、マスタがデータ転送動作を実行できない状態になった場合に当該マスタの代わりにスレーブの動作を実行完了させる転送キャンセル部をマスタとスレーブとの間に介在させることとしたものである。
【０００９】
具体的に説明すると、転送キャンセル部は、マスタからスレーブへのコマンドの発行及びデータの送出を遮断するバス遮断部と、スレーブへ発行済みのコマンドに対応してスレーブへ送出すべきデータをマスタに代わって生成するデータ生成部と、スレーブへ発行済みのコマンドに対応するスレーブからの応答データをマスタに代わって受信するデータ吸収部と、これらバス遮断部、データ生成部及びデータ吸収部の制御を行う転送キャンセル制御部とを有することとする。
【００１０】
これにより、動作途中でのマスタリセットに際し、転送キャンセル部がリセット中のマスタからのデータを遮断し、当該マスタの代わりにスレーブの動作を完了させることで、スレーブへ発行済みの転送コマンドをキャンセルする。
【発明の効果】
【００１１】
本発明によれば、あるマスタが動作中にリセットされる場合でも、スレーブをリセットすることなく復旧が可能となり、かつ他のマスタの動作を停止させる必要がない。すなわち、スレーブの動作や該当するマスタ以外のマスタの動作に影響を及ぼすことなく、復旧を必要とするマスタをリセットすることが可能となる。
【００１２】
加えて、本発明における転送キャンセル部はマスタとスレーブとをつなぐバス上に挿入すればよいため、マスタ及びスレーブの双方とも回路の修正を行う必要が生じない。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
【００１４】
《第１の実施形態》
図１は、本発明の第１の実施形態に係るデータ処理システムを持つ電子装置の構成を示している。ここに言う電子装置とは、例えば携帯電話機やＤＶＤレコーダ等の任意の機器があてはまる。
【００１５】
図１の電子装置は、電源装置１１７と、電力制御部１１６を含む半導体集積回路１００とからなる。電源装置１１７は電力線１２２により半導体集積回路１００に電力の供給を行い、電力制御部１１６は半導体集積回路１００内の各ブロックに電力を分配するとともに、各ブロックの状態をもとに電力制御信号線１２１を介して電源装置１１７からの供給電力の制御を行う。
【００１６】
次に、半導体集積回路１００の内部について詳しく説明する。図１の半導体集積回路１００は、上記電力制御部１１６に加えて、複数のマスタ１０１，１０２と、複数の転送キャンセル部１０３，１０４と、共有スレーブ１０９と、リセット制御部１１３とを備えている。１１０，１１１，１１２はマスタ１０１と共有スレーブ１０９とを接続するバスであり、１１０は共有スレーブ１０９へのアクセス要求コマンドを伝送するコマンドバス、１１１は共有スレーブ１０９への書き込みデータを伝送するライトデータバス、１１２は共有スレーブ１０９からの読み出しデータを伝送するリードデータバスである。マスタ１０１，１０２は例えばマイクロプロセッサ、ＤＳＰ（Digital Signal Processor）、ＤＭＡ（Direct Memory Access）コントローラ等であり、共有スレーブ１０９はメモリ、周辺Ｉ／Ｏ（input/output）コントローラ等である。
【００１７】
リセット制御部１１３は、マスタ１０１，１０２や共有スレーブ１０９のリセットを制御するブロックである。このリセット制御部１１３は、転送キャンセル部１０３と信号線１１４，１１５を介して接続され、転送キャンセル部１０３の制御も行っている。他の転送キャンセル部１０４も同様にリセット制御部１１３により制御される。
【００１８】
転送キャンセル部１０３は、マスタ１０１と共有スレーブ１０９とをつなぐバス１１０，１１１，１１２上に挿入されている。他の転送キャンセル部１０４も同様に、マスタ１０２と共有スレーブ１０９とをつなぐバス上に挿入されている。
【００１９】
転送キャンセル部１０３は、転送キャンセル制御部１０５と、バス遮断部１０６と、データ生成部１０７と、データ吸収部１０８とを有している。
【００２０】
転送キャンセル制御部１０５は、リセット制御部１１３から信号線１１４を介して指示を受けて転送キャンセル部１０３内のブロックの動作開始、終了等の制御を行う。また、転送キャンセル制御部１０５は、信号線１１５を介してリセット制御部１１３へ転送キャンセルの完了等、転送キャンセル部１０３の状態の通知を行う。また、信号線１２０により電力制御部１１６へ転送キャンセル部１０３の状態を通知している。電力制御部１１６は、信号線１２０の情報を含め半導体集積回路１００内の各ブロックからの状態信号をもとに各ブロックが動作しているかを確認して、電力供給が必要なブロックを決定する。例えば、全マスタ１０１，１０２から共有スレーブ１０９へのアクセスが停止し、かつ転送キャンセル部１０３が転送キャンセル動作を実行していない場合には、共有スレーブ１０９及び転送キャンセル部１０３への電力供給を止めることで、電力消費を抑える。
【００２１】
バス遮断部１０６は、転送キャンセル制御部１０５からの制御をもとにコマンドバス１１０及びライトデータバス１１１からのデータ受信を停止し、共有スレーブ１０９に伝達しないようにバス遮断をする。例えば、コマンドバス１１０及びライトデータバス１１１においてマスタ１０１からの送信要求信号と共有スレーブ１０９からの受信可能信号とによるハンドシェイクによってコマンド及びデータを転送している場合、バス遮断部１０６においてマスタ１０１へ送出する受信可能信号をネゲートし、かつ共有スレーブ１０９への送信要求信号をネゲートすることで、バス遮断が可能となる。バス遮断部１０６からのコマンド出力信号線１１８及びライトデータ出力信号線１１９は、それぞれコマンドバス１１０及びライトデータバス１１１に対応しており、転送キャンセル時はコマンド及びデータを遮断し、通常時はコマンドバス１１０及びライトデータバス１１１を流れるコマンドやデータをそのまま通過させている。
【００２２】
データ生成部１０７は、転送キャンセル制御部１０５からの転送キャンセルの指示を受けて、共有スレーブ１０９へのダミーデータの生成を、リセットにより停止するマスタ１０１に代わって行う。例えば、共有スレーブ１０９が受信したコマンドで要求されるデータ転送量以上のデータを受信しない構造になっている場合、共有スレーブ１０９への送信要求信号を常にアサートしておけばよい。
【００２３】
データ吸収部１０８は、転送キャンセル制御部１０５からの転送キャンセルの指示を受けて、共有スレーブ１０９からのデータの受信を、リセットにより停止するマスタ１０１に代わって行う。例えば、リードデータバス１１２が上述のコマンドバス１１０及びライトデータバス１１１と同様にマスタ１０１からの受信可能信号と共有スレーブ１０９からの送信要求信号とによるハンドシェイクによってデータ転送をしている場合、共有スレーブ１０９への受信可能信号を常にアサートしておけばよい。
【００２４】
図２は、図１中のデータ処理システムの動作フロー図である。はじめに、ステップ１５０において、マスタ１０１のリセットが必要となったため転送キャンセルが必要となったことをリセット制御部１１３から信号線１１４を介して転送キャンセル部１０３内の転送キャンセル制御部１０５に通知する。これを受け、ステップ１５１において転送キャンセル制御部１０５はまずバス遮断部１０６にバス遮断の指示を行い、マスタ１０１からの無効データが共有スレーブ１０９に伝わらないようにする。バス遮断が完了すれば、ステップ１５２において転送キャンセル制御部１０５が信号線１１５を介してリセット制御部１１３にバス遮断の完了を通知する。
【００２５】
バス遮断が完了すると、ステップ１５５においてリセット制御部１１３はマスタ１０１をリセットする。このステップ１５５と並行して、ステップ１５３において転送キャンセル部１０３内のデータ生成部１０７及びデータ吸収部１０８を動作させ、共有スレーブ１０９との間のデータ転送をマスタ１０１に代わって完了させることで転送キャンセルを達成する。転送キャンセルが完了すると、ステップ１５４において転送キャンセル制御部１０５は信号線１１５を介してリセット制御部１１３に転送キャンセルの完了を通知する。
【００２６】
次にステップ１５６において、リセット制御部１１３はマスタ１０１のリセットを解除する。その後、ステップ１５７においてリセット制御部１１３は転送キャンセル制御部１０５に転送キャンセル状態の終了を指示し、それを受けステップ１５８において転送キャンセル部１０３はバス遮断を解除する。
【００２７】
以上のステップを踏むことで、あるマスタ１０１にリセットをかける際に、リセットのための特別な機構等を設けるために共有スレーブ１０９を改変することなく、共有スレーブ１０９内に残留するコマンドを実質的に消去することが可能となる。このようなコマンド消去方法をとることで、他のマスタ１０２の動作を阻害することなくシステムを復帰させることが可能となる。また、バス遮断機構によりリセット時やリセット中にバス上で発生しうる無効コマンドが共有スレーブ１０９に伝達することも防止できる。
【００２８】
なお、図１ではマスタは２つ、共有スレーブ１０９は１つ記載されているが、実際にはそれらの個数は任意であり、バスの形態もマルチレイヤバス等の様々な形態をとることが可能である。また、図１では全マスタ−スレーブ間に転送キャンセル部を実装しているが、マスタ毎に実装の有無を決定してもよい。
【００２９】
また、図１ではリセット制御部１１３が信号線１１４を介して転送キャンセル部１０３への指示を行っているが、転送キャンセル部１０３への指示はマイクロプロセッサ等のマスタが担ってもよい。全ての転送キャンセル部１０３，１０４の制御を１つのブロックが担うか別々のブロックが担うかも任意である。また、転送キャンセル制御部１０５は信号線１１５を介してリセット制御部１１３に転送キャンセル部１０３の状態を通知しているが、マイクロプロセッサへの通知のために、マイクロプロセッサからリード可能なレジスタを設けて通知してもよく、またマイクロプロセッサへの割り込みによる通知を行ってもよい。
【００３０】
また、上記の説明においてバス遮断部１０６は転送キャンセル時にマスタ１０１からのコマンド及びデータを受信せずマスタ１０１にコマンド及びデータをとどめておき、これらをマスタ１０１のリセットによって消去しているが、バス遮断部１０６においてコマンド及びデータを一旦受信し、このバス遮断部１０６内において消去することも可能である。この場合、マスタ１０１への受信可能信号はアサートし、共有スレーブ１０９への送信要求信号はネゲートすることとなる。
【００３１】
コマンドで要求されるデータ量以上のデータを共有スレーブ１０９が受信する構造の場合には、先行するコマンドに対して不足するデータ量を計数する機能をデータ生成部１０７に設け、不足データのみをデータ生成部１０７から共有スレーブ１０９へ送出すればよい。
【００３２】
《第２の実施形態》
図３は、本発明の第２の実施形態に係るデータ処理システムの構成を示している。図３によれば、図１の半導体集積回路１００内の転送キャンセル部１０３において、バス遮断部１０６のコマンド出力信号線１１８上にコマンド生成部２００が追加されている。
【００３３】
図４は、図３中のコマンド生成部２００の詳細構成例を示している。図４に示すように、コマンド生成部２００には状態初期化コマンド生成部２０１と、余剰データ消去コマンド生成部２０２とが含まれる。
【００３４】
状態初期化コマンド生成部２０１は、共有スレーブ１０９内に含まれるステートマシンを転送キャンセル時に初期化するためのコマンドを発行する。ここでは、共有スレーブ１０９の占有を指示するコマンドと、占有を解除するコマンドとがバスプロトコルで定義されており、共有スレーブ１０９の占有状況を示すステートマシンが共有スレーブ１０９内に含まれている場合を例にとって説明する。この場合、図２におけるステップ１５３において、状態初期化コマンド生成部２０１によって共有スレーブ１０９の占有解除コマンドを生成することで、共有スレーブ１０９の占有中にマスタ１０１がリセットされた場合でも、共有スレーブ１０９のステートを初期状態に戻し、他のマスタ１０２が共有スレーブ１０９にアクセスできない状態が続くことのないようにすることが可能である。
【００３５】
余剰データ消去コマンド生成部２０２は、共有スレーブ１０９がコマンドに先行してデータを受信できる回路であった場合に、共有スレーブ１０９内の先行データを消去するためのコマンドを生成するブロックである。具体的に説明すると、余剰データ消去コマンド生成部２０２は、コマンドに先行するデータを監視し、共有スレーブ１０９内でデータの処理を完了させるのに必要なコマンドを発行する。一例として、共有スレーブ１０９がメモリであり、書き込みコマンドに先行してデータを受信できるバッファを持つ場合には、余剰データ消去コマンド生成部２０２が先行データ量を監視し、それらのデータ全てをメモリ内のいずれかのアドレスに書き込ませるためのコマンドを発行して当該メモリへの書き込みを完了させることで、共有スレーブ１０９内のバッファに残るデータを消去する。
【００３６】
以上の構成により、共有スレーブ１０９がコマンドに応じて内部のステートを変化させている場合や、共有スレーブ１０９がコマンドに先行してデータを受信できる場合でも、第１の実施形態に示すマスタリセットの効果を実現することが可能となる。
【００３７】
なお、コマンド生成部２００には状態初期化コマンド生成部２０１と余剰データ消去コマンド生成部２０２との両方が必ずしも含まれていなくてもよく、いずれか一方だけが含まれていてもよい。また、バスからのコマンドにより初期化することができるステートマシンであれば任意のステートを初期化することが可能である。
【００３８】
ただし、共有スレーブ１０９での処理の完了に関しては、共有スレーブ１０９の動作を阻害しない考慮が必要である。先に示したメモリ書き込みの例では、無効なデータを書き込んでも問題の生じないアドレスを選択する等の考慮が必要であり、書き込み先アドレスをソフトウェアにより設定変更できるようにすることが有効である。
【００３９】
《第３の実施形態》
図５は、本発明の第３の実施形態に係るデータ処理システムの構成を示している。図５によれば、図１の半導体集積回路１００内の転送キャンセル部１０３において、バス遮断部１０６のライトデータ出力信号線１１９上に無効データフラグ生成部３００が追加されている。
【００４０】
一例として、ライトデータバス１１１、ライトデータ出力信号線１１９及び共有スレーブ１０９が、データが有効か無効かをバイト単位で表すバイトマスク信号に対応しているものとする。図２の動作フロー図のステップ１５３において、共有スレーブ１０９へのダミーデータを生成する際に、無効データフラグ生成部３００がバイトマスク信号を用いてデータの無効を表すようにする。これにより、データ生成部１０７によって生成された無効データが共有スレーブ１０９のいずれのアドレスに書き込まれても、共有スレーブ１０９の有効データを上書きしないようにすることができる。
【００４１】
なお、ここではデータの有効／無効を示す信号としてバイトマスク信号を挙げたが、使用するバスに応じて、データの無効を示す任意の信号を付加することが可能である。
【００４２】
《第４の実施形態》
図６は、本発明の第４の実施形態に係るデータ処理システムの構成を示している。図６によれば、図１の半導体集積回路１００内の転送キャンセル部１０３にクロック要求生成部４０１が追加されている。
【００４３】
システムが正常に作動している場合には転送キャンセル部１０３が動作する必要はなく、転送キャンセル部１０３は、バス１１０，１１１，１１２のコマンド及びデータをそのまま通過させるだけでよい。そこで、消費電力の削減のため、クロック要求生成部４０１において、必要なときのみクロック要求信号を生成する。
【００４４】
クロック要求生成部４０１の動作の一例を説明する。リセット制御部１１３からの転送キャンセルの指示があると同時に、クロック要求生成部４０１は、半導体集積回路１００内の各ブロックのクロックを制御しているクロック制御部４００に対して転送キャンセル部１０３へのクロックの供給を信号線４０２により要求する。その後、クロック要求生成部４０１は転送キャンセル部１０３の状態を監視し、転送キャンセル動作が完了してリセット制御部１１３への通知が終わった時点で、クロック供給の停止をクロック制御部４００に要求する。
【００４５】
本構成をとることで、転送キャンセルのために追加した転送キャンセル部１０３の電力消費を最小限に抑えることが可能となる。
【００４６】
なお、上記では転送キャンセル部１０３内のクロック供給を一括して要求しているが、転送キャンセル部１０３内の各ブロックのクロックを個別に制御し、より細かな電力制御を行うことも可能である。また、上記ではクロック要求生成部４０１が信号線４０２を介してクロック制御部４００に対して直接指示を出しているが、信号線１１５を介してリセット制御部１１３に対してクロック供給要求を一旦通知し、リセット制御部１１３が信号線４０３を介してクロック制御部４００に要求する等、任意の要求経路をとることができる。また、転送キャンセル部１０３内のクロックを一括管理するのであれば、クロック要求生成部４０１によらずリセット制御部１１３内の状態のみに応じてクロック供給の制御を行うことも可能である。
【００４７】
《第５の実施形態》
図７は、本発明の第５の実施形態に係るデータ処理システムの構成を示している。図７によれば、図１の半導体集積回路１００内の転送キャンセル部１０３にキャンセル判定部５００が追加されている。
【００４８】
図８は、図７中のキャンセル判定部５００の詳細構成例を示している。キャンセル判定部５００は、図８に示すように、設定レジスタ５１０と、バスモニタ５１１と、コマンド修正部５１２とを備えている。バスモニタ５１１は、バス１１０，１１１，１１２を監視し、設定レジスタ５１０から信号線５０５を介して通知されるモニタ条件に該当する転送を検知した場合には、転送キャンセル制御部１０５に対して転送キャンセルの実行を信号線５０１により指示し、必要に応じてコマンドの修正をコマンド修正部５１２に対して信号線５０６を介して指示する。転送キャンセル制御部１０５は、必要に応じてリセット制御部１１３に対して転送キャンセルの発生を信号線１１５により通知する。なお、図７及び図８中の５０２、５０３及び５０４は、バス１１０，１１１，１１２に対応するバスを表している。
【００４９】
バスモニタ５１１で監視する内容について説明する。まず、バス１１０，１１１，１１２によって、予め定められた形式以外のコマンドやデータが転送されたことを検出する。この際、違反を起こしたコマンドが共有スレーブ１０９を誤動作させることのないようにコマンド修正部５１２によってコマンドを修正することも有効である。これにより、あるマスタの誤動作によって発生した違反コマンドが共有スレーブ１０９や他のマスタの動作に影響を及ぼすことを回避することが可能となる。
【００５０】
バスモニタ５１１は、設定レジスタ５１０に指定されたアドレスに対してアクセスが発生したことや、設定レジスタ５１０に指定された形式のデータが転送されたことを検出する機能も有する。この際、コマンド修正部５１２によって、共有スレーブ１０９に影響を及ぼさないようにコマンドを修正することも有効である。これにより、あるマスタからのアクセスが共有スレーブ１０９や他のマスタの動作に影響を及ぼすことを防ぐことができる。
【００５１】
バスモニタ５１１は、バス１１０，１１１，１１２の監視により、マスタのハングアップを検出する機構も有する。例えば、共有スレーブ１０９に対して発行したコマンドに対応するデータが長時間マスタから転送されないことをカウンタの計数結果にて検知する方法が挙げられる。これにより、あるマスタのハングアップによって共有スレーブ１０９に対して負荷をかけ続ける不具合等を防止することができる。
【００５２】
なお、図８では設定レジスタ５１０への条件設定をバス１１０，１１１，１１２によって行っているが、別途設定用のバスを設けてもよい。設定レジスタ５１０による設定変更機構を設けず、予め固定的な値を指定しておいてもよい。また、設定レジスタ５１０及びコマンド修正部５１２の実装の有無は任意である。キャンセル判定部５００とリセット制御部１１３とのうちいずれか一方を用いて最終的な転送キャンセルの実行有無を決定するか、あるいは制御信号の多数決をとる等、両方の信号を用いるかは任意である。
【００５３】
また、先の説明ではバスモニタ５１１でアドレスやデータを個別に監視しているが、アドレスとデータとの組み合わせを検出することや、連続する一連のアドレスやデータを検出することも可能である。コマンド修正部５１２は上記ではコマンドを修正しているが、共有スレーブ１０９にとって不都合なコマンドを消去してもよい。
【００５４】
バスモニタ５１１は上記に挙げた検出機能を必ずしも全て保有する必要はない。また、設定レジスタ５１０によって各検出を実行するかどうかを設定できるようにすることも有効である。
【産業上の利用可能性】
【００５５】
以上説明してきたとおり、本発明に係るデータ処理システムは、システム全体の動作に影響することなくマスタリセットを実現することができるので、マスタの動作時リセット及び復帰を行う機構を有する電子装置等において有用である。
【図面の簡単な説明】
【００５６】
【図１】本発明の第１の実施形態に係るデータ処理システムを持つ電子装置のブロック図である。
【図２】図１中のデータ処理システムの動作フロー図である。
【図３】本発明の第２の実施形態に係るデータ処理システムのブロック図である。
【図４】図３中のコマンド生成部の詳細構成例を示すブロック図である。
【図５】本発明の第３の実施形態に係るデータ処理システムのブロック図である。
【図６】本発明の第４の実施形態に係るデータ処理システムのブロック図である。
【図７】本発明の第５の実施形態に係るデータ処理システムのブロック図である。
【図８】図７中のキャンセル判定部の詳細構成例を示すブロック図である。
【符号の説明】
【００５７】
１００  半導体集積回路
１０１，１０２  マスタ
１０３，１０４  転送キャンセル部
１０５  転送キャンセル制御部
１０６  バス遮断部
１０７  データ生成部
１０８  データ吸収部
１０９  共有スレーブ
１１０  コマンドバス
１１１  ライトデータバス
１１２  リードデータバス
１１３  リセット制御部
１１６  電力制御部
１１７  電源装置
２００  コマンド生成部
２０１  状態初期化コマンド生成部
２０２  余剰データ消去コマンド生成部
３００  無効データフラグ生成部
４００  クロック制御部
４０１  クロック要求生成部
５００  キャンセル判定部
５１０  設定レジスタ
５１１  バスモニタ
５１２  コマンド修正部
【図１】
2008250632.tif 000003
【図２】
2008250632.tif 000004
【図３】
2008250632.tif 000005
【図４】
2008250632.tif 000006
【図５】
2008250632.tif 000007
【図６】
2008250632.tif 000008
【図７】
2008250632.tif 000009
【図８】
2008250632.tif 000010