(57)【要約】【課題】簡素な構成で、複数のコントローラ間で割込処理を効率良く行うことができるデータ処理装置を提供する。【解決手段】タイマ割込機能を有するＣＰＵ２０２のタイマレジスタに対応する領域をＰＣＩメモリ５００内に設け、ＭＦＰコントローラ１００からＰＣＩメモリ５００に設けられた当該領域にアクセスすることにより、カウントの開始を書き込めるようにする。【選択図】図１
2008077389.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵを含む第１のコントローラと、
カウントの開始を書き込む開始書込レジスタ、および当該開始書込レジスタへの書き込みに基づき、所定クロック数のカウントによりタイマ割込を発生するタイマコントロールを含むＣＰＵを含む第２のコントローラと、
前記第１のコントローラに割り当てられた第１の割当領域および前記第２のコントローラに割り当てられた第２の割当領域を含むとともに、前記第２の割当領域中に前記開始書込レジスタに対応する開始書込領域を含み、前記第１のコントローラおよび前記第２のコントローラからアクセス可能な共有メモリと、
を含み、
前記第１のコントローラは、前記第２の割当領域中の前記開始書込領域のアドレスを記憶するマッピング情報記憶部と、前記第２のコントローラへの割込指示があると、前記マッピング情報記憶部を参照して、前記第２の割当領域の前記開始書込領域に前記カウントの開始を書き込む第１の共有メモリコントローラと、を含み、
前記第２のコントローラは、前記第２の割当領域中の前記開始書込領域のアドレスを記憶するマッピング情報記憶部と、前記開始書込領域への書き込みを前記開始書込レジスタに反映させる第２の共有メモリコントローラと、を含むデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記第１のコントローラおよび前記第２のコントローラはＰＣＩバスを介して接続され、前記共有メモリはＰＣＩメモリであって、前記第１の共有メモリコントローラおよび前記第２の共有メモリコントローラはＰＣＩコントローラであるデータ処理装置。
【請求項３】
請求項１または２に記載のデータ処理装置において、
前記タイマコントロールは、１クロックのカウントによりタイマ割込を発生するデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関する。
【背景技術】
【０００２】
従来、ホストコントローラと複数のデバイスコントローラ間を接続する代表的なバスとして、ＰＣＩ（Peripheral Components Interconnect）バスがある。従来のＰＣＩバスは、ホストコントローラに対して専用線を用いて割り込みの通知が可能である。従来、ＰＣＩバスは、パーソナルコンピュータにおいて、Ｉ／Ｏデバイスを接続するために作成されたものであるため、割込信号は、各デバイスからホストコントローラ方向への割込信号にのみ対応していた。
【０００３】
ＰＣＩバスを組み込みシステムに採用する場合、ホストコントローラから各デバイスへの割り込み、さらに各デバイス間での相互割り込み信号が必要となってくる。このような組み込みシステムとして、たとえば、特許文献１に記載されたものがある。同文献に記載されたシステムは、ＰＣＩバス経由で、割込メッセージを書き込むメモリ回路およびこのメモリ回路への書き込みの完了を検知して割込要求信号をＣＰＵ（Central Processing Unit）に対して発生する割込要求発生回路を有するＭＣＣ（Multi-processor Communication Controller）を設け、ＣＰＵに対して割り込みを通知する。
【特許文献１】特開平１−１３３１６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、このような割り込みを発生させるためには、ＣＰＵに対して、割込線と割込コントローラを追加する必要があり、装置構成が複雑になるという問題があった。
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、簡素な構成で、複数のコントローラ間で割込処理を効率良く行うことができるデータ処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明によれば、
ＣＰＵを含む第１のコントローラと、
カウントの開始を書き込む開始書込レジスタ、および当該開始書込レジスタへの書き込みに基づき、所定クロック数のカウントによりタイマ割込を発生するタイマコントロールを含むＣＰＵを含む第２のコントローラと、
前記第１のコントローラに割り当てられた第１の割当領域および前記第２のコントローラに割り当てられた第２の割当領域を含むとともに、前記第２の割当領域中に前記開始書込レジスタに対応する開始書込領域を含み、前記第１のコントローラおよび前記第２のコントローラからアクセス可能な共有メモリと、
を含み、
前記第１のコントローラは、前記第２の割当領域中の前記開始書込領域のアドレスを記憶するマッピング情報記憶部と、前記第２のコントローラへの割込指示があると、前記マッピング情報記憶部を参照して、前記第２の割当領域の前記開始書込領域に前記カウントの開始を書き込む第１の共有メモリコントローラと、を含み、
前記第２のコントローラは、前記第２の割当領域中の前記開始書込領域のアドレスを記憶するマッピング情報記憶部と、前記開始書込領域への書き込みを前記開始書込レジスタに反映させる第２の共有メモリコントローラと、を含むデータ処理装置が提供される。
【０００７】
このようにすれば、ＣＰＵがもともと有するタイマ割込機能を用いて他のコントローラからの割込を行うため、簡素な構成で、複数のコントローラ間で割込処理を効率良く行うことができる。
【０００８】
前記第１のコントローラおよび前記第２のコントローラはＰＣＩバスを介して接続することができる。また、前記共有メモリはＰＣＩメモリとすることができる。さらに、前記第１の共有メモリコントローラおよび前記第２の共有メモリコントローラはＰＣＩコントローラとすることができる。
【０００９】
前記タイマコントロールは、１クロックのカウントによりタイマ割込を発生することができる。これにより、遅延をほとんど生じることなくタイマ割込を発生させることができる。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、簡素な構成で、複数のコントローラ間で割込処理を効率良く行うことができるデータ処理装置が提供される。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１３】
図１は、本発明の実施の形態におけるデータ処理装置の構成を示すブロック図である。本実施の形態において、データ処理装置は、ホストコントローラ（ＭＦＰコントローラ１００）、および複数のデバイスコントローラ、たとえば、ネットワークコントローラ２００、ＵＳＢコントローラ３００、ＣＤＲＷコントローラ４００等を含む複合装置１０である。複合装置１０は、たとえばＭＦＰ（Multi Functional Peripheral）とすることができる。
【００１４】
ＭＦＰコントローラ１００は、複合装置１０の本体装置のコントローラであり、複合装置１０全体を制御する。ＭＦＰコントローラ１００は、ＣＰＵ１０２を含む。ネットワークコントローラ２００は、複合装置１０と、パーソナルコンピュータ等の他の装置との通信インタフェース部として機能する。ネットワークコントローラ２００は、ＣＰＵ２０２を含む。
【００１５】
本実施の形態において、ＭＦＰコントローラ１００、ネットワークコントローラ２００、ＵＳＢコントローラ３００およびＣＤＲＷコントローラ４００は、ＰＣＩバス６００を介して接続される。また、複合装置１０は、ＭＦＰコントローラ１００、ネットワークコントローラ２００、ＵＳＢコントローラ３００およびＣＤＲＷコントローラ４００からアクセス可能な共有メモリであるＰＣＩメモリ５００を含む。これらのコントローラは、ＰＣＩバス６００を介してＰＣＩメモリ５００にアクセス可能である。ＰＣＩメモリ５００には、後述するように、各コントローラに割り当てられた領域が設けられる。図示していないが、複合装置１０は、さらにコピーコントローラやプリンタコントローラ等を含むことができる。
【００１６】
図２は、ＭＦＰコントローラ１００およびネットワークコントローラ２００の構成を詳細に示すブロック図である。
ＭＦＰコントローラ１００は、ＣＰＵ１０２、割込指示部１０４、ＰＣＩコントローラ１０６、およびマッピング情報記憶部１０８を含む。ネットワークコントローラ２００は、ＣＰＵ２０２、割込指示部２０４、ＰＣＩコントローラ２０６、およびマッピング情報記憶部２０８を含む。
【００１７】
ＣＰＵ１０２は、ＭＦＰコントローラ１００の各要素とともにＭＦＰコントローラ１００全体を制御する。ＣＰＵ２０２は、ネットワークコントローラ２００の各要素とともにネットワークコントローラ２００全体を制御する。
【００１８】
図３は、ＣＰＵ２０２の構成を詳細に示すブロック図である。
ＣＰＵ２０２は、開始書込レジスタ２１０、クロック数設定レジスタ２１２、およびタイマコントロール２１４を含む。タイマコントロール２１４は、所定クロック数のカウントによりタイマ割込を発生する。クロック数設定レジスタ２１２には、タイマコントロール２１４がカウントするクロック数が設定される。開始書込レジスタ２１０には、カウントの開始を書き込む。タイマコントロール２１４は、開始書込レジスタ２１０にカウントの開始が書き込まれると、クロック数設定レジスタ２１２に設定されたクロック数のカウントを開始する。図示していないが、本実施の形態において、ＭＦＰコントローラ１００のＣＰＵ１０２も、ＣＰＵ２０２と同じ構成を有する。
【００１９】
図４は、ＰＣＩメモリ５００の内部構成を示す図である。
ＰＣＩメモリ５００は、ＭＦＰコントローラ１００に割り当てられたＭＦＰコントローラ領域５０２（第１の割当領域）、ネットワークコントローラ２００に割り当てられたネットワークコントローラ領域５０４（第２の割当領域）、ＵＳＢコントローラ３００に割り当てられたＵＳＢコントローラ領域５０６等を含む。図示していないが、ＰＣＩメモリ５００には、複合装置１０の各デバイスコントローラにそれぞれ割り当てられた領域が設けられる。
【００２０】
ネットワークコントローラ領域５０４には、ＣＰＵ２０２の開始書込レジスタ２１０に対応するタイマレジスタ領域５１２（開始書込領域）が設けられる。同様に、ＭＦＰコントローラ領域５０２には、ＣＰＵ１０２の開始書込レジスタに対応するタイマレジスタ領域５１０が設けられる。
【００２１】
図２に戻り、マッピング情報記憶部１０８は、ＰＣＩメモリ５００に割り当てられた各領域のアドレスを記憶する。マッピング情報記憶部１０８は、少なくともネットワークコントローラ領域５０４中のタイマレジスタ領域５１２のアドレスを記憶する。ＰＣＩコントローラ１０６は、ＭＦＰコントローラ１００と他のコントローラとのＰＣＩバス６００を介したデータの授受を制御する。割込指示部１０４は、他のコントローラに割込を行う指示をＰＣＩコントローラ１０６に対して行う。ＰＣＩコントローラ１０６は、割込指示部１０４からの指示を受けて、マッピング情報記憶部１０８を参照して割込対象のコントローラのタイマレジスタ領域のアドレスを取得し、ＰＣＩメモリ５００の対応する領域に所定クロックのカウントの開始を書き込む。
【００２２】
また、ＰＣＩコントローラ１０６は、ＰＣＩメモリ５００のＭＦＰコントローラ領域５０２にデータが書き込まれると、マッピング情報記憶部１０８を参照して、書き込まれた内容をＭＦＰコントローラ１００の対応する要素に反映させる。
【００２３】
同様に、マッピング情報記憶部２０８は、ＰＣＩメモリ５００に割り当てられた各領域のアドレスを記憶する。本実施の形態において、マッピング情報記憶部２０８は、少なくともＭＦＰコントローラ領域５０２中のタイマレジスタ領域５１０のアドレスを記憶する。ＰＣＩコントローラ２０６は、ネットワークコントローラ２００と他のコントローラとのＰＣＩバス６００を介したデータの授受を制御する。割込指示部２０４は、他のコントローラに割込を行う指示をＰＣＩコントローラ２０６に対して行う。ＰＣＩコントローラ２０６は、割込指示部２０４からの指示を受けて、マッピング情報記憶部２０８を参照して割込対象のコントローラのタイマレジスタ領域に所定クロックのカウントの開始を書き込む。
【００２４】
また、ＰＣＩコントローラ２０６は、ＰＣＩメモリ５００のネットワークコントローラ領域５０４にデータが書き込まれると、マッピング情報記憶部２０８を参照して、書き込まれた内容をネットワークコントローラ２００の対応する要素に反映させる。たとえば、ＰＣＩメモリ５００のネットワークコントローラ領域５０４のタイマレジスタ領域５１２に所定クロックのカウントの開始が書き込まれると、ＰＣＩコントローラ２０６は、ＣＰＵ２０２の開始書込レジスタ２１０に所定クロックのカウントの開始を反映させる。これにより、タイマコントロール２１４がクロック数設定レジスタ２１２に設定されたクロック数のカウントを開始し、所定クロック数がカウントされると割込が発生する。
【００２５】
本実施の形態において、たとえばＭＦＰコントローラ１００からネットワークコントローラ２００に割込を発生させるために、ネットワークコントローラ２００のＣＰＵ２０２が有するタイマ割込機能を利用する。ここで、タイマコントロール２１４に、１クロックのカウントでタイマ割込を発生させるように設定しておく。すなわち、本実施の形態において、クロック数設定レジスタ２１２には、１クロックを設定する。また、上述したように、ＣＰＵ２０２の開始書込レジスタ２１０を、ＭＦＰコントローラ１００が書き込み可能に設定しておく。具体的には、ＰＣＩメモリ５００の開始書込レジスタ２１０に対応するタイマレジスタ領域５１２にタイマカウントの書込開始が書き込まれると、開始書込レジスタ２１０に反映されるようにしておく。ＭＦＰコントローラ１００からネットワークコントローラ２００に割込を発生させる際、ＭＦＰコントローラ１００は自装置内で必要な処理を行った後、ＰＣＩメモリ５００のタイマレジスタ領域５１２に開始を書き込む。これにより、ＣＰＵ２０２において、書き込みから１クロックでタイマ割込が発生する。このような構成とすることにより、割込線と割込コントローラを実装する必要なく、外部割り込みを行うことができる。
【００２６】
次に、以上のように構成された複合装置１０の動作について、図５を参照して以下に説明する。以下では、ＭＦＰコントローラ１００からネットワークコントローラ２００に割込を行う場合を例として説明する。
【００２７】
まず、ネットワークコントローラ２００の開始書込レジスタ２１０（タイマレジスタ）を、ＭＦＰコントローラ１００等の外部デバイスから書き込めるようにしておく（ステップＳ１００）。具体的には、ＰＣＩメモリ５００のネットワークコントローラ領域５０４に、開始書込レジスタ２１０に対応するタイマレジスタ領域５１２を設ける。また、ＭＦＰコントローラ１００およびネットワークコントローラ２００にそれぞれマッピング情報記憶部１０８およびマッピング情報記憶部２０８を持たせる。
【００２８】
さらに、ＣＰＵ２０２のクロック数設定レジスタ２１２のクロック数を１クロックに設定しておく（Ｓ１０２）。以上により、設定処理が終了する。
【００２９】
このような状態で、ＰＣＩコントローラ２０６がタイマレジスタ領域５１２への書き込みを検出すると、ＰＣＩコントローラ２０６は、ＣＰＵ２０２の開始書込レジスタ２１０にこの書き込みを反映させる。これにより、タイマコントロール２１４は、タイマレジスタに書き込みがあったと判断し（Ｓ１０４）、クロック数設定レジスタ２１２に設定されたクロック数のカウントを開始する。次いで、１クロックがカウントされ（Ｓ１０６）、ＣＰＵ２０２にタイマ割込が発生する（Ｓ１０８）。その後、割り込み処理が行われる（Ｓ１１０）。
【００３０】
なお、図１〜図４において、本発明の本質に関わらない部分の構成については省略してある。また、複合装置１０の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
【００３１】
以上、図面を参照して本発明の実施の形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００３２】
以上の実施の形態では、ＭＦＰコントローラ１００からネットワークコントローラ２００に割込を行う場合を例として説明したが、ネットワークコントローラ２００からＭＦＰコントローラ１００に割込を行う場合も同様とすることができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施の形態における複合装置の構成を示すブロック図である。
【図２】図１のＭＦＰコントローラおよびネットワークコントローラの構成を詳細に示すブロック図である。
【図３】図２のＣＰＵの構成を示すブロック図である。
【図４】図２のＰＣＩメモリの構成を示す図である。
【図５】本発明の実施の形態の複合装置の処理手順を示すフローチャートである。
【符号の説明】
【００３４】
１０ 複合装置
１００ ＭＦＰコントローラ
１０４ 割込指示部
１０６ ＰＣＩコントローラ
１０８ マッピング情報記憶部
２００ ネットワークコントローラ
２０４ 割込指示部
２０６ ＰＣＩコントローラ
２０８ マッピング情報記憶部
２１０ 開始書込レジスタ
２１２ クロック数設定レジスタ
２１４ タイマコントロール
３００ ＵＳＢコントローラ
４００ ＣＤＲＷコントローラ
５００ ＰＣＩメモリ
５０２ ＭＦＰコントローラ領域
５０４ ネットワークコントローラ領域
５０６ ＵＳＢコントローラ領域
５１０ タイマレジスタ領域
５１２ タイマレジスタ領域
６００ バス
【図１】
2008077389.tif 000003
【図２】
2008077389.tif 000004
【図３】
2008077389.tif 000005
【図４】
2008077389.tif 000006
【図５】
2008077389.tif 000007