(57)【要約】【課題】  ２つのシステムを有し、互いが通信をしてデータ処理を実行するデータ処理装置において、他方のシステムが確実に処理を開始し終了してから、一方のシステムが処理を再開することを可能にする。【解決手段】  フラグセット回路１１は、一方のシステムからの指示（フラグセット信号ＳＥＴ１）を受けて、フラグ保持回路１３を介し他方のシステムに、データ処理の実行を要求することを示すフラグ信号ＦＬＧ２を出力する。ＯＲ回路Ｚ１は、フラグ信号ＦＬＧ２が出力されたことを示すフラグ信号ＦＬＧ１を一方のシステムに出力する。よって、一方のシステムは、ＯＲ回路Ｚ１から出力されるフラグ信号ＦＬＧ１により、実行要求をしていることを認識することが可能となり、他方のシステムの処理速度が遅い場合でも、他方のシステムが確実に処理を開始し終了してから、処理を再開することが可能となる。【選択図】  図１
2005070923.tif 000002
【特許請求の範囲】
【請求項１】
第１のシステムと第２のシステムとを有し、互いが通信をしてデータ処理を実行するデータ処理装置において、
前記第１のシステムからの指示を受けて、前記データ処理の実行を要求する実行要求信号を生成し、前記第２のシステムへ供給する要求信号供給手段と、
前記実行要求信号を前記第１のシステムに供給する要求信号帰還手段と、
を有することを特徴とするデータ処理装置。
【請求項２】
前記要求信号供給手段は、
前記第１のシステムからの指示を受けて、前記実行要求信号を前記第２のシステムへ出力する要求信号出力回路と、
前記実行要求信号を保持する要求信号保持回路と、を有し、
前記要求信号帰還手段は、前記要求信号出力回路から出力される前記実行要求信号と、前記要求信号保持回路に保持された前記実行要求信号との論理和を前記第１のシステムに供給する、
ことを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記要求信号出力回路は、前記第１のシステムの動作クロックに同期して動作し、前記要求信号保持回路は、前記第２のシステムの動作クロックに同期して動作することを特徴とする請求項２記載のデータ処理装置。
【請求項４】
前記第１のシステムからの指示を受けて、前記要求信号供給手段により生成された前記実行要求信号を消去する要求信号消去手段をさらに有することを特徴とする請求項１記載のデータ処理装置。
【請求項５】
前記第２のシステムからの指示を受けて、前記データ処理の実行を要求する逆方向実行要求信号を生成し、前記第１のシステムへ供給する逆方向要求信号供給手段と、
前記逆方向実行要求信号を前記第２のシステムに供給する逆方向要求信号帰還手段と、
をさらに有することを特徴とする請求項１記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置に関し、特に第１のシステムと第２のシステムとを有し、互いが通信をしてデータ処理を実行するデータ処理装置に関する。
【背景技術】
【０００２】
現在、ＭＣＵ（Micro Controller Unit）とＤＳＰ（Digital Signal Processor）など複数のシステムをオンチップ化したマルチプロセッサのシステムＬＳＩが多々開発されている。これらＬＳＩを開発する上で大きな課題となっているのが低消費電流の実現であり、処理能力を落とすことなく動作周波数を減速することが大きなかぎとなっている。そのためには、高度な処理を短い命令で行う必要があり、システムのスループットの向上が望まれる。そのような中、システム間の通信を高速にかつ安全に行えるハードウェアはスループットの向上のために大きく役立つ。
【０００３】
従来、システム間（ＣＰＵ間）でデータ処理を行うのに、両方のシステムからアクセス可能なコマンドレジスタを設けたデータ処理装置がある（例えば、特許文献１参照）。このデータ処理装置では、第１のＣＰＵがコマンドレジスタにコマンドを書き込み、第２のＣＰＵがコマンドレジスタに書き込まれたコマンドを参照して、第１のＣＰＵと共有する共有メモリのプログラムを実行する。このとき、第２のＣＰＵの動作状態を示す、第１のＣＰＵから参照可能なビジーフラグが存在し、第１のＣＰＵは第２のＣＰＵが動作状態にあるか否かを認識できるようになっている。
【特許文献１】特開２００１−９２７９２号公報（段落番号〔００１４〕〜〔００１８〕、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、第２のＣＰＵの処理速度が第１のＣＰＵに対して遅い場合、第１のＣＰＵが第２のＣＰＵに実行要求を出しても、すぐには第２のＣＰＵが実行を開始しないという状況がありえる。この状況下で、第１のＣＰＵがビジーフラグを参照すると、第２のＣＰＵの処理が終了したと認識してしまい、第２のＣＰＵが処理をしていないにもかかわらず第１のＣＰＵが次の処理を開始してしまう恐れがあるという問題点があった。
【０００５】
本発明はこのような点に鑑みてなされたものであり、一方のシステムが他方のシステムに実行要求をした場合、他方のシステムが確実に処理を開始し終了してから、一方のシステムが次の処理を再開することを可能にしたデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は上記課題に記載の点についてその問題の低減を図るべくなされたものであり、その目的とするところは、第１のシステムと第２のシステムとを有し、互いが通信をしてデータ処理を実行するデータ処理装置において、前記第１のシステムからの指示を受けて、前記データ処理の実行を要求する実行要求信号を生成し、前記第２のシステムへ供給する要求信号供給手段と、前記実行要求信号を前記第１のシステムに供給する要求信号帰還手段と、を有することを特徴とするデータ処理装置を提供するところにある。
【０００７】
このようなデータ処理装置によれば、第２のシステムに供給される実行要求信号は、要求信号帰還手段によって第１のシステムにも供給される。よって、第１のシステムは、要求信号帰還手段から供給される実行要求信号を検出することにより、第２のシステムに実行要求をしていることを認識することが可能となる。
【発明の効果】
【０００８】
本発明のデータ処理装置では、第１のシステムは、要求信号帰還手段から供給される実行要求信号によって第２のシステムに実行要求をしていることを認識することが可能となる。よって、第２のシステムが、処理速度が遅いために処理を開始していなくても、第１のシステムは、処理を終了したと誤って認識することがなく、第２のシステムが確実に処理を開始し終了してから、次の処理を再開することが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面を参照して詳細に説明する。図２は第１の実施の形態に係るデータ処理装置の回路構成図である。図に示すようにデータ処理装置は、フラグ回路１と、ＣＰＵ２ａ、メモリ３ａ、周辺ハードウェア４ａ、およびバス５ａを有し所定の処理を実行するシステムＡと、ＣＰＵ２ｂ、メモリ３ｂ、周辺ハードウェア４ｂ、およびバス５ｂを有し所定の処理を実行するシステムＢとから構成されている。データ処理装置は、例えば、１つの半導体に形成される。
【００１０】
システムＡのＣＰＵ２ａは、バス５ａを介してメモリ３ａ、周辺ハードウェア４ａと接続されている。メモリ３ａには、ＣＰＵ２ａに実行させるプログラムやデータが格納されている。また、バス５ａは、フラグ回路１と接続されている。
【００１１】
システムＢのＣＰＵ２ｂは、バス５ｂを介してメモリ３ｂ、周辺ハードウェア４ｂと接続されている。メモリ３ｂには、ＣＰＵ２ｂに実行させるプログラムやデータが格納されている。また、バス５ｂは、フラグ回路１と接続されている。
【００１２】
フラグ回路１は、システムＢ（ＣＰＵ２ｂ）にデータ処理の実行要求をするためのフラグセット信号ＳＥＴ１がシステムＡ（ＣＰＵ２ａ）から入力される。フラグ回路１は、システムＡからフラグセット信号ＳＥＴ１が入力されると、システムＢに実行要求がされたことを示すフラグ信号ＦＬＧ２を出力する。また、フラグ回路１は、実行要求をするためのフラグセット信号ＳＥＴ１がセット（入力）されたこと、または実行要求を示すフラグ信号ＦＬＧ２を出力したことを示すフラグ信号ＦＬＧ１をシステムＡに出力する。
【００１３】
フラグ回路１は、システムＢから所定の処理が終了したことを示すクリア信号ＣＬＲ１が入力される。フラグ回路１は、クリア信号ＣＬＲ１が入力されると、システムＢが所定の処理を終了したことを示すフラグ信号ＦＬＧ１をシステムＡに出力する。また、フラグ回路１は、システムＡから、システムＢへの実行要求を解除する（実行権限をシステムＡに戻す）ためのフラグクリアセット信号ＳＥＴ２が入力される。フラグ回路１は、フラグクリアセット信号ＳＥＴ２が入力されると、システムＢに実効要求を解除することを示すフラグ信号ＦＬＧ２を出力する。
【００１４】
フラグ回路１は、システムＡより入力されたフラグセット信号ＳＥＴ１を、システムＡがモニタできるようにセットレジスタ信号ＳＥＴＲＥＧを出力する。また、フラグ回路１は、システムＡより入力されたフラグクリアセット信号ＳＥＴ２を、システムＡがモニタできるようにクリアレジスタ信号ＣＬＲＲＥＧを出力する。
【００１５】
なお以下では、フラグセット信号ＳＥＴ１は‘１’（Ｈ状態）でシステムＢに実行要求をしていることを示す。フラグクリアセット信号ＳＥＴ２は‘１’でシステムＢへの実行要求を解除することを示す。フラグ信号ＦＬＧ１は‘１’で実行要求を示すフラグセット信号ＳＥＴ１がセットされたこと、または実行要求のフラグ信号ＦＬＧ２を出力していることを示す。フラグ信号ＦＬＧ２は‘１’でシステムＢに実行要求がされていることを示す。クリア信号ＣＬＲ１は‘１’でシステムＢが所定の処理を終了したことを示す。
【００１６】
システムＡは、システムＢに所定の処理を実行させる必要が生じた場合、フラグ回路１に‘１’のフラグセット信号ＳＥＴ１を出力する。フラグ回路１は、‘１’のフラグセット信号ＳＥＴ１を受けて‘１’のフラグ信号ＦＬＧ１をシステムＡに出力する。システムＡは、‘１’のフラグ信号ＦＬＧ１によって、実行要求を示すフラグセット信号ＳＥＴ１がセットされたことを認識することができる。また、フラグ回路１は、‘１’のフラグセット信号ＳＥＴ１を受けて‘１’のフラグ信号ＦＬＧ２をシステムＢに出力する。システムＢは、‘１’のフラグ信号ＦＬＧ２を検出することによって、システムＡから実行要求がされたことを認識でき、所定の処理を開始する。
【００１７】
システムＢは、所定の処理が終了すると‘１’のクリア信号ＣＬＲ１を出力する。フラグ回路１は、‘１’のクリア信号ＣＬＲ１を受けて、フラグ信号ＦＬＧ１，２を‘０’にし、システムＡ，Ｂに出力する。システムＡは、‘０’のフラグ信号ＦＬＧ１によって、システムＢが処理を終了したことを認識でき、システムＢは、‘０’のフラグ信号ＦＬＧ１によって、システムＡからの実行要求がないことを認識できる。
【００１８】
システムＡは、システムＢから所定時間が経過しても処理が終了したことの返信がない場合、またはシステムＢに実行要求をしたが解除したい場合、‘１’のフラグクリアセット信号ＳＥＴ２をフラグ回路１に出力する。フラグ回路１は、‘１’のフラグクリアセット信号ＳＥＴ２を受けて、‘０’のフラグ信号ＦＬＧ２をシステムＢに出力し、‘０’のフラグ信号ＦＬＧ１をシステムＡに出力する。これによって、システムＢは実行要求が解除され処理を終了する。
【００１９】
フラグ回路１の詳細について説明する。図１は、図２のフラグ回路の詳細な回路図である。図に示すように、フラグ回路１は、フラグセット回路１１、フラグクリア回路１２、フラグ保持回路１３、およびＯＲ回路Ｚ１を有している。
【００２０】
フラグセット回路１１は、システムＡに同期して動作し、システムＡからのフラグセット信号ＳＥＴ１を入力する。フラグセット回路１１は、‘１’のフラグセット信号ＳＥＴ１が入力されると、‘１’のフラグセット信号ＳＥＴ３をＯＲ回路Ｚ１、フラグ保持回路１３に出力する。また、フラグセット回路１１は、システムＢに出力されるフラグ信号ＦＬＧ２が入力される。フラグセット回路１１は、‘１’のフラグ信号ＦＬＧ２が入力されると、出力していた‘１’のフラグセット信号ＳＥＴ３を‘０’にする。また、フラグセット回路１１は、フラグセット信号ＳＥＴ１がセットされたことをシステムＡからモニタできるようにセットレジスタ信号ＳＥＴＲＥＧをシステムＡに出力する。
【００２１】
フラグクリア回路１２は、システムＡに同期して動作し、システムＡからのフラグクリアセット信号ＳＥＴ２を入力する。フラグクリア回路１２は、‘１’のフラグクリアセット信号ＳＥＴ２が入力されると、‘１’のクリア信号ＣＬＲ２をフラグ保持回路１３に出力する。また、フラグクリア回路１２は、システムＢに出力されるフラグ信号ＦＬＧ２が入力される。フラグクリア回路１２は、‘０’のフラグ信号ＦＬＧ２が入力されると、出力していた‘１’のクリア信号ＣＬＲ２を‘０’にする。なお、クリア信号ＣＬＲ２は、システムＡからモニタできるようにクリアレジスタ信号ＣＬＲＲＥＧとしてシステムＡに出力する。
【００２２】
システムＢの処理速度がシステムＡの処理速度より遅い場合、システムＢの動作クロックからみて、システムＡから同時に‘１’のフラグセット信号ＳＥＴ１とフラグクリアセット信号ＳＥＴ２が出力される場合がある（ＣＰＵ２ｂの１クロック内にシステムＡから‘１’のフラグセット信号ＳＥＴ１とフラグクリアセット信号ＳＥＴ２が出力される場合）。この場合、フラグクリア回路１２から出力される調停信号ＡＢＴによって、フラグセット回路１１から出力されるフラグセット信号ＳＥＴ３がクリア信号ＣＬＲ２に対し優先して出力されるようになっており、システムＢの実行が保障されるようになっている（後述詳細）。
【００２３】
フラグ保持回路１３は、システムＢに同期して動作し、フラグセット回路１１から出力されるフラグセット信号ＳＥＴ３と、フラグクリア回路１２から出力されるクリア信号ＣＬＲ２を入力する。フラグ保持回路１３は、‘１’のフラグセット信号ＳＥＴ３が入力されると‘１’のフラグ信号ＦＬＧ２を出力する。‘１’のクリア信号ＣＬＲ２が入力されると‘０’のフラグ信号ＦＬＧ２を出力する。フラグ信号ＦＬＧ２は、システムＢ、ＯＲ回路Ｚ１、フラグセット回路１１、およびフラグクリア回路１２に出力される。また、フラグ保持回路１３は、システムＢからクリア信号ＣＬＲ１が入力される。フラグ保持回路１３は、‘１’のクリア信号ＣＬＲ１が入力されると‘０’のフラグ信号ＦＬＧ２を出力する。
【００２４】
ＯＲ回路Ｚ１は、フラグセット回路１１から出力されるセットレジスタ信号ＳＥＴＲＥＧと、フラグ保持回路１３から出力されるフラグ信号ＦＬＧ２が入力される。ＯＲ回路Ｚ１は、セットレジスタ信号ＳＥＴＲＥＧとフラグ信号ＦＬＧ２とをＯＲ演算し、その結果をフラグ信号ＦＬＧ１としてシステムＡに出力する。システムＡは、ＯＲ回路Ｚ１によって、フラグセット回路１１から出力されるセットレジスタ信号ＳＥＴＲＥＧ、またはフラグ保持回路１３から出力されるフラグ信号ＦＬＧ２が帰還されることによって、実行要求を示す‘１’フラグセット信号ＳＥＴ１がフラグセット回路１１にセットされたか、実行要求を示す‘１’のフラグ信号ＦＬＧ２がシステムＢに出力されたかを認識することができる。
【００２５】
次に図１のフラグセット回路１１、フラグクリア回路１２およびフラグ保持回路１３の具体的な回路図の一例を示す。図３は、フラグセット回路、フラグクリア回路およびフラグ保持回路の具体的な回路図の一例である。図に示すように、フラグセット回路１１は、ＯＲ回路Ｚ２、一方の入力が反転端子となっているＡＮＤ回路Ｚ３，Ｚ５、ＦＦ（フリップフロップ）回路Ｚ４、およびＡＮＤ回路Ｚ６を有している。フラグクリア回路１２は、ＯＲ回路Ｚ７、一方の入力が反転端子となっているＡＮＤ回路Ｚ８，Ｚ１０、およびＦＦ回路Ｚ９を有している。フラグ保持回路１３は、ＦＦ回路Ｚ１１，Ｚ１２，Ｚ１５，Ｚ１６，Ｚ２０、一方の入力が反転端子となっているＡＮＤ回路Ｚ１３，Ｚ１７，Ｚ１８、Ｚ１９およびＯＲ回路Ｚ１４を有している。
【００２６】
フラグセット回路１１のＯＲ回路Ｚ２は、フラグセット信号ＳＥＴ１とＦＦ回路Ｚ４から出力されるセットレジスタ信号ＳＥＴＲＥＧが入力され、ＯＲ演算してＡＮＤ回路Ｚ３に出力する。ＡＮＤ回路Ｚ３は、ＯＲ回路Ｚ２とＡＮＤ回路Ｚ６とから出力される信号をＡＮＤ演算し、ＦＦ回路Ｚ４に出力する。ＦＦ回路Ｚ４は、システムＡの動作クロックが入力され、このクロックに同期してＡＮＤ回路Ｚ３から出力される信号をＡＮＤ回路Ｚ５，Ｚ６、ＯＲ回路Ｚ１に出力する。ＡＮＤ回路Ｚ５は、ＦＦ回路Ｚ４から出力されるセットレジスタ信号ＳＥＴＲＥＧとＦＦ回路Ｚ９から出力されるクリア信号ＣＬＲ２をＡＮＤ演算し、ＦＦ回路Ｚ１１にフラグセット信号ＳＥＴ３として出力する。ＡＮＤ回路Ｚ６は、ＦＦ回路Ｚ４から出力されるセットレジスタ信号ＳＥＴＲＥＧとＦＦ回路Ｚ２０から出力されるフラグ信号ＦＬＧ２をＡＮＤ演算しＡＮＤ回路Ｚ３に出力する。
【００２７】
フラグクリア回路１２のＯＲ回路Ｚ７は、フラグクリアセット信号ＳＥＴ２とＦＦ回路Ｚ９から出力されるクリア信号ＣＬＲ２が入力され、ＯＲ演算してＡＮＤ回路Ｚ８に出力する。ＡＮＤ回路Ｚ８は、ＯＲ回路Ｚ７とＡＮＤ回路Ｚ１０とから出力される信号をＡＮＤ演算し、ＦＦ回路Ｚ９に出力する。ＦＦ回路Ｚ９は、システムＡの動作クロックが入力され、このクロックに同期してＡＮＤ回路Ｚ８から出力される信号をＡＮＤ回路Ｚ５，Ｚ１０、ＦＦ回路Ｚ１５に出力する。ＡＮＤ回路Ｚ１０は、ＦＦ回路Ｚ４から出力されるクリア信号ＣＬＲ２とＦＦ回路Ｚ２０から出力されるフラグ信号ＦＬＧ２をＡＮＤ演算しＡＮＤ回路Ｚ８に出力する。
【００２８】
フラグ保持回路１３のＦＦ回路Ｚ１１は、システムＢの動作クロックが入力され、このクロックに同期してＡＮＤ回路Ｚ５から出力されるフラグセット信号ＳＥＴ３をＦＦ回路Ｚ１２、ＡＮＤ回路Ｚ１３に出力する。ＦＦ回路Ｚ１２は、システムＢの動作クロックが入力され、このクロックに同期してＦＦ回路Ｚ１１から出力される信号をＡＮＤ回路Ｚ１３に出力する。ＡＮＤ回路Ｚ１３は、ＦＦ回路Ｚ１１，Ｚ１２から出力される信号をＡＮＤ演算し、ＯＲ回路Ｚ１４に出力する。
【００２９】
ＦＦ回路Ｚ１５は、システムＢの動作クロックが入力され、このクロックに同期してＦＦ回路Ｚ９から出力されるクリア信号ＣＬＲ２をＦＦ回路Ｚ１６、ＡＮＤ回路Ｚ１７に出力する。ＦＦ回路Ｚ１７は、システムＢの動作クロックが入力され、このクロックに同期してＦＦ回路Ｚ１６から出力される信号をＡＮＤ回路Ｚ１７に出力する。ＡＮＤ回路Ｚ１７は、ＦＦ回路Ｚ１５，Ｚ１６から出力される信号をＡＮＤ演算して、ＡＮＤ回路Ｚ１８に出力する。ＡＮＤ回路Ｚ１８は、ＡＮＤ回路Ｚ１７から出力される信号とフラグ信号ＦＬＧ２をＡＮＤ演算し、ＯＲ回路Ｚ１４に出力する。
【００３０】
ＯＲ回路Ｚ１４は、ＡＮＤ回路Ｚ１３，Ｚ１８から出力される信号をＯＲ演算し、ＡＮＤ回路Ｚ１９に出力する。ＡＮＤ回路Ｚ１９は、ＯＲ回路Ｚ１４から出力される信号とクリア信号ＣＬＲ１をＯＲ演算し、ＦＦ回路Ｚ２０に出力する。ＦＦ回路Ｚ２０は、システムＢの動作クロックが入力され、このクロックに同期してＡＮＤ回路Ｚ１９から出力される信号をフラグ信号ＦＬＧ２として出力する。
【００３１】
ＯＲ回路Ｚ１は、ＦＦ回路Ｚ４から出力されるセットレジスタ信号ＳＥＴＲＥＧとＦＦ回路Ｚ２０から出力されるフラグ信号ＦＬＧ２のＯＲ演算をし、フラグ信号ＦＬＧ１を出力する。
【００３２】
フラグセット回路１１のＯＲ回路Ｚ２に、‘１’のフラグセット信号ＳＥＴ１が入力されると、ＡＮＤ回路Ｚ３から‘１’の信号が出力され（フラグ信号ＦＬＧ２は‘０’でＡＮＤ回路Ｚ６からは‘０’の信号が出力されている）、ＦＦ回路Ｚ４から‘１’のセットレジスタ信号ＳＥＴＲＥＧが出力される。これによって、ＡＮＤ回路Ｚ５は、‘１’のフラグセット信号ＳＥＴ３を出力する（フラグクリアセット信号ＳＥＴ２は‘０’より、ＦＦ回路Ｚ９から‘１’が出力）。また、ＯＲ回路Ｚ１は、‘１’のセットレジスタ信号ＳＥＴＲＥＧより‘１’のフラグ信号ＦＬＧ１を出力し、システムＡは、フラグ信号ＦＬＧ１を検出することにより、システムＢに実行要求していることを認識することができる。
【００３３】
‘１’のフラグセット信号ＳＥＴ３は、ＦＦ回路Ｚ１１，Ｚ１２に入力され、さらに、ＡＮＤ回路Ｚ１３、ＯＲ回路Ｚ１４を介してＡＮＤ回路Ｚ１９に入力される。システムＢから出力されるクリア信号ＣＬＲ１は‘０’であるので、ＡＮＤ回路Ｚ１９は‘１’の信号を出力し、ＦＦ回路Ｚ２０は、‘１’のフラグ信号ＦＬＧ２を出力する。これによって、システムＢは、実行要求があることを検出し処理を実行する。なお、ＦＦ回路Ｚ２０から出力されるフラグ信号ＦＬＧ２は、ＡＮＤ回路Ｚ１８によって帰還されるため、ＡＮＤ回路Ｚ１９に‘０’のクリア信号ＣＬＲ２が入力されるか、または‘０’のフラグクリアセット信号ＳＥＴ２が入力されるまで（ＡＮＤ回路Ｚ１７から‘１’が出力されるまで）、‘１’が保持して出力される。
【００３４】
‘１’のフラグ信号ＦＬＧ２は、ＡＮＤ回路Ｚ６に入力される。よって、ＡＮＤ回路Ｚ３は、‘０’の信号を出力し、ＦＦ回路Ｚ４からは‘０’のセットレジスタ信号ＳＥＴＲＥＧ、ＡＮＤ回路Ｚ５からは‘０’のフラグセット信号ＳＥＴ３が出力される。なお、‘１’のフラグ信号ＦＬＧ２は、ＯＲ回路Ｚ１にも入力されるので、セットレジスタ信号ＳＥＴＲＥＧが‘０’になっても‘１’のフラグ信号ＦＬＧが出力され、システムＡは、フラグ信号ＦＬＧ１を検出することにより、システムＢに実行要求していることを認識することができる。また、フラグセット信号ＳＥＴ３が‘０’になっても、上記で説明したように‘１’のフラグ信号ＦＬＧ２が保持して出力される。
【００３５】
システムＢから‘１’のクリア信号ＣＬＲ１が出力されると、ＡＮＤ回路Ｚ１９から‘０’の信号が出力され、‘０’のフラグ信号ＦＬＧ２がＦＦ回路Ｚ２０から出力される。ＯＲ回路Ｚ１は、‘０’のフラグ信号ＦＬＧ２によって‘０’のフラグ信号ＦＬＧ１を出力する。よって、システムＡは、システムＢの処理が終了したことを認識することができる。
【００３６】
フラグクリア回路１２のＯＲ回路Ｚ７に、‘１’のフラグクリアセット信号ＳＥＴ２が入力されると、ＡＮＤ回路Ｚ８から‘１’の信号が出力され（クリア信号ＣＬＲ２は‘０’でＡＮＤ回路Ｚ１０からは‘０’の信号が出力される）、ＦＦ回路Ｚ９から‘１’のクリア信号ＣＬＲ２が出力される。
【００３７】
‘１’のクリア信号ＣＬＲ２は、ＦＦ回路Ｚ１５，Ｚ１６に入力され、ＡＮＤ回路Ｚ１７に入力される。ＡＮＤ回路Ｚ１７は‘１’の信号を出力し、ＡＮＤ回路Ｚ１８は、フラグ信号ＦＬＧ２が‘０’であるので‘０’の信号を出力する。ＯＲ回路Ｚ１４は、‘０’の信号をＡＮＤ回路Ｚ１９に出力し（フラグセット信号ＳＥＴ３は‘０’より、ＡＮＤ回路Ｚ１３からは‘０’が出力される）、ＡＮＤ回路Ｚ１９は‘０’の信号をＦＦ回路Ｚ２０に出力する。ＦＦ回路Ｚ２０は‘０’のフラグ信号ＦＬＧ２を出力する。これによって、システムＢは、実行要求が解除されたことを認識することができる。なお、‘０’のフラグ信号ＦＬＧ２は、ＡＮＤ回路Ｚ１０に入力され、ＡＮＤ回路Ｚ１０はクリア信号ＣＬＲ２が‘１’より、‘１’の信号をＡＮＤ回路Ｚ８に出力する。ＡＮＤ回路Ｚ８は‘０’の信号をＦＦ回路Ｚ９に出力し、ＦＦ回路Ｚ９は、‘０’のクリア信号ＣＬＲ２を出力する。また、‘０’のフラグ信号ＦＬＧ２は、ＡＮＤ回路Ｚ１８を介して帰還されるため、ＦＦ回路Ｚ２０は、‘０’のフラグ信号ＦＬＧ２を保持して出力する。
【００３８】
システムＢの処理速度に対し、フラグセット回路１１，フラグクリア回路１２に同時に‘１’のフラグセット信号ＳＥＴ１、フラグクリアセット信号ＳＥＴ２が入力された場合、ＦＦ回路Ｚ９から‘１’のクリア信号ＣＬＲ２が出力される。‘１’のクリア信号ＣＬＲ２は調停信号ＡＢＴとしてＡＮＤ回路Ｚ５に入力され、ＡＮＤ回路Ｚ５は、‘０’のフラグセット信号ＳＥＴ３を出力する。従って、ＦＦ回路Ｚ２０からは‘０’のフラグ信号ＦＬＧ２が出力される。フラグクリア回路１２は、上記で説明したように‘０’のフラグ信号ＦＬＧ２によって、‘０’のクリア信号ＣＬＲ２を出力する。これによって、ＡＮＤ回路Ｚ５からは、‘１’のフラグセット信号ＳＥＴ３が出力される。そして、ＦＦ回路Ｚ２０からは、‘１’のフラグ信号ＦＬＧ２が出力される。すなわち、‘１’のフラグセット信号ＳＥＴ１、フラグクリアセット信号ＳＥＴ２が同時に入力された場合、フラグセット回路Ｚ１１からの‘１’のフラグセット信号ＳＥＴ３が優先して出力され、システムＢへの実行要求が保障されるようになっている。
【００３９】
以下、図１の回路図の動作について説明する。システムＡは、システムＢに所定の処理を実行させる必要が生じた場合、フラグ回路１に‘１’のフラグセット信号ＳＥＴ１を出力する。フラグ回路１のフラグセット回路１１は、‘１’のフラグセット信号ＳＥＴ１を受けて‘１’のセットレジスタ信号ＳＥＴＲＥＧをＯＲ回路Ｚ１に、‘１’のフラグセット信号ＳＥＴ３をフラグ保持回路１３に出力する。ＯＲ回路Ｚ１は、‘１’のセットレジスタ信号ＳＥＴＲＥＧによって、‘１’のフラグ信号ＦＬＧ１をシステムＡに出力する。これにより、システムＡは、フラグ信号ＦＬＧ１によって、システムＢが、処理速度が遅いために処理を開始していなくても、実行要求がされていることを認識することができる。
【００４０】
フラグ保持回路１３は、‘１’のフラグセット信号ＳＥＴ３を受けて、‘１’のフラグ信号ＦＬＧ２を保持して出力する。これによって、システムＢは、システムＡの動作に同期することなく、自己のタイミングで‘１’のフラグ信号ＦＬＧ２を検出することにより、実行要求をされたことを認識することができる。なお、フラグセット回路１１は、フラグ保持回路１３から‘１’のフラグ信号ＦＬＧ２が出力されることによって、‘０’のセットレジスタ信号ＳＥＴＲＥＧを出力する。この場合であってもＯＲ回路Ｚ１は、‘１’のフラグ信号ＦＬＧ２が入力されることにより‘１’のフラグ信号ＦＬＧ１を出力し、システムＡは、システムＢが実行要求をされていることを認識することができる。
【００４１】
システムＢは、所定の処理を終了すると、‘１’のクリア信号ＣＬＲ１を出力する。フラグ保持回路１３は、‘１’のクリア信号ＣＬＲ１を受けて、保持して出力していた‘１’のフラグ信号ＦＬＧ２を‘０’にする。ＯＲ回路Ｚ１は、‘０’のフラグ信号ＦＬＧ２を受けて、‘０’のフラグ信号ＦＬＧ１をシステムＡに出力する。なお、フラグセット回路１１からは、‘０’のセットレジスタ信号ＳＥＴＲＥＧが出力されている。これによって、システムＡは、‘０’のフラグ信号ＦＬＧ１を検出することによって、システムＢが処理を終了したことを認識することができる。
【００４２】
システムＡは、システムＢから所定時間が経過しても処理が終了したことの返信がない場合、または実行要求を解除したい場合、‘１’のフラグクリアセット信号ＳＥＴ２をフラグ回路１に出力する。フラグ回路１のフラグクリア回路１２は、‘１’のフラグクリアセット信号ＳＥＴ２を受けて、‘１’のクリア信号ＣＬＲ２をフラグ保持回路１３に出力する。フラグ保持回路１３は、‘１’のクリア信号ＣＬＲ２を受けて、保持して出力していた‘１’のフラグ信号ＦＬＧ２を‘０’にする。ＯＲ回路Ｚ１は、‘０’のフラグ信号ＦＬＧ２によって、‘０’のフラグ信号ＦＬＧ１をシステムＡに出力する。なお、フラグセット回路１１は、フラグ保持回路１３から‘１’のフラグ信号ＦＬＧ２が出力されていたときに、‘０’のセットレジスタ信号ＳＥＴＲＥＧをＯＲ回路Ｚ１に出力している。このようにして、システムＢの実行要求は解除される。
【００４３】
システムＢの動作クロックからみて、システムＡから同時に‘１’のフラグセット信号ＳＥＴ１とフラグクリアセット信号ＳＥＴ２が出力された場合、フラグクリア回路１２から出力される調停信号ＡＢＴによって、フラグセット回路１１から‘１’のフラグセット信号ＳＥＴ３が優先して出力される。すなわち、システムＢへの実行要求が実行要求の解除より優先される。
【００４４】
次に、フローチャートを用いてシステムＡ，Ｂの処理手順について説明する。まずシステムＡの処理手順について説明する。図４は、システムの処理手順例を示したフローチャートである。システムＡは、以下のステップに従って処理を実行する。
【００４５】
［ステップＳ１］システムＡは、所定の処理を実行する。
［ステップＳ２］システムＡは、システムＢに所定の処理を実行させる必要が生じると、フラグ回路１に‘１’のフラグセット信号ＳＥＴ１を出力する。なお、フラグ回路１のフラグセット回路１１は、‘１’のフラグセット信号ＳＥＴ１を受けて‘１’のフラグセット信号ＳＥＴ３をＯＲ回路Ｚ１、フラグ保持回路１３に出力する。ＯＲ回路Ｚ１は、‘１’のフラグセット信号ＳＥＴ３を受けて‘１’のフラグ信号ＦＬＧ１をシステムＡに出力する。フラグ保持回路１３は、‘１’のフラグセット信号ＳＥＴ３を受けて‘１’のフラグ信号ＦＬＧ２をシステムＢに保持して出力する。
【００４６】
［ステップＳ３］システムＡは、フラグ回路１から出力されるフラグ信号ＦＬＧ１が‘１’であるか‘０’であるかを判定する。フラグ信号ＦＬＧ１が‘１’であれば判定を繰り返し、フラグ信号ＦＬＧが‘０’であればステップＳ４へ進む。また、フラグ信号ＦＬＧ１が所定時間経過しても‘１’である場合は、ステップＳ５へ進む（タイムアウト）。
【００４７】
［ステップＳ４］システムＡは、所定の処理を実行し、処理を終了する。
［ステップＳ５］システムＡは、‘１’のフラグクリアセット信号ＳＥＴ２をフラグ回路１に出力する。なお、フラグ回路１のフラグクリア回路１２は、‘１’のフラグクリアセット信号ＳＥＴ２を受けて‘１’のクリア信号ＣＬＲ２をフラグ保持回路１３に出力する。フラグ保持回路１３は、‘０’のフラグ信号ＦＬＧ２をシステムＢに出力する。よって、システムＢへの実行要求は解除され、ＯＲ回路Ｚ１からは‘０’のフラグ信号ＦＬＧ１が出力され、システムＡは、所定の処理を実行することができる。
【００４８】
［ステップＳ６］システムＡは、例えば、タイムアウト処理を実行し、処理を終了する。
次にシステムＢの処理手順について説明する。図５は、他方のシステムの処理手順例を示したフローチャートである。システムＢは、以下のステップに従って処理を実行する。
【００４９】
［ステップＳ１１］システムＢは、フラグ回路１から出力されるフラグ信号ＦＬＧ２が‘１’であるか‘０’であるかを判定する。フラグ信号ＦＬＧ２が‘０’であれば判定を繰り返し、フラグ信号ＦＬＧ２が‘１’であればステップＳ１２へ進む。なお、‘１’のフラグ信号ＦＬＧ２は、図３に示すシステムＡのステップＳ２の処理によって生じる。
【００５０】
［ステップＳ１２］システムＢは、所定の処理Ａ，Ｂ，Ｃ，…を実行する。
［ステップＳ１３］システムＢは、フラグ回路１に‘１’のクリア信号ＣＬＲ１を出力し、処理を終了する。なお、フラグ回路１は、‘１’のクリア信号ＣＬＲ１を受けて、‘０’のフラグ信号ＦＬＧ１，ＦＬＧ２を出力する。システムＡは、‘０’のフラグ信号ＦＬＧ１によって、図４に示すステップＳ４の処理を実行する。
【００５１】
このようにフラグ回路１は、システムＡから‘１’のフラグセット信号ＳＥＴ１が入力されると、‘１’のフラグ信号ＦＬＧ１をシステムＡに出力する。よってシステムＡは、フラグ信号ＦＬＧ１により、システムＢに実行要求していることを認識することが可能となり、システムＢの動作状況の検出が不要で、システムＢの処理速度が遅い場合でも、システムＢが確実に処理を開始し終了してから、処理を再開することが可能となる。
【００５２】
また、ハンドシェイクを必要としないのでスループットが向上し、消費電力の削減が可能となる。
また、システムＡは、フラグ信号ＦＬＧ１を検出することにより、システムＢが処理を開始したことを検出する必要がなくなり、直ちにポーリング処理（図４のステップＳ３）に遷移することができる。
【００５３】
また、図１で示したフラグ回路１では、フラグクリアセット信号ＳＥＴ２は、フラグセット信号ＳＥＴ１のようにフラグ信号ＦＬＧ１によってフラグクリア回路１２にセットされたことの確認がとれず、フラグ保持回路１３に出力されたことの保障がされていない。そのため、フラグクリアセット信号ＳＥＴ２がフラグ保持回路１３に出力されたことを示す処理は、ファームウェアで保障する必要があるが、システムＡからフラグセット信号ＳＥＴ１を出力し、システムＢの処理を解除する処理は例外処理で頻度はわずかであるので、トータルでのＣＰＵ２ａ，２ｂの負荷は軽減できる。
【００５４】
さらに、フラグ回路１は、システムＡ，Ｂとのそれぞれのインターフェースにおいて、それぞれのシステムに同期して動作するので、システムＡ，Ｂで同一のバスプロトコルである必要がない。また、フラグ回路１から出力されるフラグ信号ＦＬＧ２をシステムＢ（ＣＰＵ２ｂ）への割り込み信号として使用することも可能である。
【００５５】
なお、システムＡ，Ｂは別々の半導体で構成してもよい。この場合、フラグ回路１は、システムＡ，Ｂのどちらか一方に搭載すればよく、また、システムＡ，Ｂとは別の半導体で構成してもよい。
【００５６】
次に第２の実施の形態について説明する。図６は第２の実施の形態に係るデータ処理装置の回路構成図である。図６のデータ処理装置では、図２のデータ処理装置に対し、システムＡ，Ｂが互いに共有する共有メモリ２２を有し、システムＢがＤＭＡＣ（Direct Memory Access Controller）２１を有しているところが異なる。図６において、図２と同じものには同じ符号を付しその説明は省略する。
【００５７】
ＤＭＡＣ２１は、フラグ回路１と接続されている。また、バス５ｂを介してＣＰＵ２ｂ、メモリ３ｂ、周辺ハードウェア４ｂと接続されている。共有メモリ２２は、バス５ａを介してＣＰＵ２ａ、メモリ３ａ、周辺ハードウェア４ａと接続されている。また、バス５ｂを介してＣＰＵ２ｂ、メモリ３ｂ、周辺ハードウェア４ｂと接続されている。
【００５８】
システムＡは、システムＢが処理に必要なデータを共有メモリ２２に記憶する。そして、‘１’のフラグセット信号ＳＥＴ１をフラグ回路１に出力し、ＤＭＡＣ２１に実行要求をする。
【００５９】
フラグ回路１のフラグ信号ＦＬＧ２は、ＤＭＡＣ２１のリクエスト信号として使用されている。ＤＭＡＣ２１は、予め共有メモリ２２とメモリ３ｂ間のデータ転送が設定されており、フラグ回路１からの‘１’のフラグ信号ＦＬＧ２によってデータ転送を開始する。ＤＭＡＣ２１は、例えば、割り込み信号によってＣＰＵ２ｂにデータ転送が終了したことを通知し、ＣＰＵ２ｂは、データがシステムＡからメモリ３ｂに転送されたことを認識する。また、ＤＭＡＣ２１は、‘１’のクリア信号ＣＬＲ１をフラグ回路１に出力する。フラグ回路１は、‘１’のクリア信号ＣＬＲ１により、‘０’のフラグ信号ＦＬＧ１をシステムＡに出力する。よって、システムＡは、システムＢが処理を終了したことを認識することができる。
【００６０】
これによって、例えば、コーデックなどのデータ処理の際のデータ転送にＣＰＵ２ａ，２ｂは支配されないのでＣＰＵ２ａ，２ｂを高速化する必要がなく、消費電力を抑制することが可能となる。
【００６１】
次に第３の実施の形態について説明する。図７は第３の実施の形態に係るデータ処理装置の回路構成図である。図７のデータ処理装置では、システムＢからもシステムＡに実行要求することが可能となっている。図７において、図２と同じものには同じ符号を付しその説明は省略する。
【００６２】
図に示すように、データ処理装置は、フラグ回路３１を有している。フラグ回路３１は、図１で示したフラグ回路１と同じ構成を有している。フラグ回路３１は、システムＡに実行要求することを示すフラグセット信号ＳＥＴ４がシステムＢから入力される。フラグ回路３１は、システムＢからフラグセット信号ＳＥＴ４が入力されると、実行要求することを示すフラグ信号ＦＬＧ４をシステムＡに出力する。また、フラグ回路３１は、実行要求をすることを示すフラグセット信号ＳＥＴ４がセットされたこと、または実行要求を示すフラグ信号ＦＬＧ４をシステムＡに出力していることを示すフラグ信号ＦＬＧ３をシステムＢに出力する。
【００６３】
フラグ回路３１は、システムＡから所定の処理が終了したことを示すクリア信号ＣＬＲ３が入力される。フラグ回路３１は、クリア信号ＣＬＲ３が入力されると、システムＡが所定の処理を終了したことを示すフラグ信号ＦＬＧ３をシステムＢに出力する。また、フラグ回路３１は、システムＢから、実行要求を解除するためのフラグクリアセット信号ＳＥＴ５が入力される。フラグ回路３１は、フラグクリアセット信号ＳＥＴ５が入力されると、実効要求を解除することを示すフラグ信号ＦＬＧ４をシステムＡに出力する。また、フラグ回路３１は、実効要求を解除したことを示すフラグ信号ＦＬＧ３をシステムＢに出力する。
【００６４】
このように、システムＡからシステムＢに実行要求をするためのフラグ回路１と、システムＢからシステムＡに実行要求をするためのフラグ回路３１とを具備することによって、両方のシステムから実行要求をすることが可能となる。
【図面の簡単な説明】
【００６５】
【図１】図２のフラグ回路の詳細な回路図である。
【図２】第１の実施の形態に係るデータ処理装置の回路構成図である。
【図３】図１のフラグ回路の詳細な回路図である。
【図４】システムの処理手順例を示したフローチャートである。
【図５】他方のシステムの処理手順例を示したフローチャートである。
【図６】第２の実施の形態に係るデータ処理装置の回路構成図である。
【図７】第３の実施の形態に係るデータ処理装置の回路構成図である。
【符号の説明】
【００６６】
１，３１……フラグ回路、２ａ，２ｂ……ＣＰＵ、３ａ，３ｂ……メモリ、４ａ，４ｂ……周辺ハードウェア、５ａ，５ｂ……バス、Ａ，Ｂ……システム、１１……フラグセット回路、１２……フラグクリア回路、１３……フラグ保持回路、Ｚ１……ＯＲ回路、２１……ＤＭＡＣ、２２……共有メモリ。
【図１】
2005070923.tif 000003
【図２】
2005070923.tif 000004
【図３】
2005070923.tif 000005
【図４】
2005070923.tif 000006
【図５】
2005070923.tif 000007
【図６】
2005070923.tif 000008
【図７】
2005070923.tif 000009