(57)【要約】【課題】  簡素な構成で、複数のコントローラ間で双方向の割込処理を効率良く行うことができるデータ処理装置を提供する。【解決手段】  複合装置１０において、コントローラ１００は、割込要求先毎に割当てられた複数の割込要求領域を含むレジスタ１１０と、信号線１５６ａ〜１５６ｄを介して各割込要求先と接続される出力端子１２２ａ〜１２２ｄと、割込要求領域への割込信号発生要求のバス１５０を介した書き込みに伴って、対応する割込要求先に出力端子を介して割込信号を出力する割込信号出力部１２０と、を有し、各コントローラ３００〜５００は、割込情報を記憶するメモリ３１０〜５１０と、割込処理を行う場合、割込要求先のメモリ３１０〜５１０に割込情報を、およびレジスタ１１０における割込要求先に対応する割込要求領域に割込信号発生要求を、バス１５０を介して書き込むＰＣＩＣ３０６〜５０６と、を備える。【選択図】      図１
2007018252.tif 000002
【特許請求の範囲】
【請求項１】
ホストコントローラおよび前記ホストコントローラにバスを介して接続されるデバイスコントローラを備えたデータ処理装置において、
前記ホストコントローラは、
割込要求先毎にそれぞれ割り当てられ、前記バスを介して各コントローラから割込信号発生要求を書込可能な複数の割込要求領域を含む割込コントロールレジスタと、
割込要求先毎にそれぞれ割り当てられ、信号線を介して各割込要求先と個別に接続される複数の出力端子と、
前記割込要求領域への割込信号発生要求の書き込みに伴って、対応する割込要求先に前記出力端子を介して割込信号を出力する割込信号出力部と、を有し、
前記デバイスコントローラは、
割込情報を記憶する割込情報記憶部と、
割込要求先となるコントローラに対して割込処理を行う場合、割込要求先の前記割込情報記憶部に前記バスを介して割込情報を書き込むとともに、前記割込コントロールレジスタにおける割込要求先に対応する割込要求領域に前記バスを介して割込信号発生要求を書き込む制御部と、
を備えたことを特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記デバイスコントローラは、
前記信号線を介して割込信号を受信する割込信号受信部と、
前記割込信号受信部により割込信号を受信したとき、前記割込情報記憶部の前記割込情報を読み出し、前記割込情報に基づいて、所定の処理を実行する処理部と、
を備えたことを特徴とするデータ処理装置。
【請求項３】
請求項２に記載のデータ処理装置において、
前記割込信号出力部は、割込信号としてワンショット信号を出力し、
前記割込信号受信部は、エッジトリガ方式により割込信号の受信有無を検出することを特徴とするデータ処理装置。
【請求項４】
請求項１乃至３いずれかに記載のデータ処理装置において、
前記ホストコントローラは、
割込要求先となるコントローラに対して割込処理を行う場合、割込要求先の前記割込情報記憶部に前記バスを介して割込情報を書き込むとともに、前記割込コントロールレジスタにおける割込要求先に対応する割込要求領域に割込信号発生要求を書き込む制御部を備えたことを特徴とするデータ処理装置。
【請求項５】
請求項１乃至４いずれかに記載のデータ処理装置において、
前記ホストコントローラは、
割込情報を記憶する割込情報記憶部と、
前記信号線を介して割込信号を受信する割込信号受信部と、
前記割込信号受信部により割込信号を受信したとき、前記割込情報記憶部の前記割込情報を読み出し、前記割込情報に基づいて、所定の処理を実行する処理部と、
を備えたことを特徴とするデータ処理装置。
【請求項６】
請求項１乃至５のいずれかに記載のデータ処理装置において、
前記割込要求領域は、割込要求元および割込要求先毎にそれぞれ割り当てられていることを特徴とするデータ処理装置。
【請求項７】
請求項６に記載のデータ処理装置において、
前記割込信号出力部は、各割込要求領域において、割込要求先毎に異なるビット位置に割り当てられた機能ビットと前記出力端子とを接続するものであることを特徴とするデータ処理装置。
【請求項８】
請求項１乃至７のいずれかに記載のデータ処理装置において、
前記バスはＰＣＩバスであることを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関し、特に、ホストコントローラおよびバスを介して接続される複数のデバイスコントローラを備えたデータ処理装置に関する。
【背景技術】
【０００２】
従来、ホストコントローラと複数のデバイスコントローラ間を接続する代表的なバスとして、ＰＣＩ（Peripheral Components Interconnect）バスがある。従来のＰＣＩバスは、ホストコントローラに対して専用線を用いて割り込みの通知が可能である。従来、ＰＣＩバスは、パーソナルコンピュータにおいて、Ｉ／Ｏデバイスを接続するために作成されたものであるため、割込信号は、各デバイスからホストコントローラ方向への割込信号にのみ対応していた。
【０００３】
ＰＣＩバスを組み込みシステムに採用する場合、ホストコントローラから各デバイスへの割り込み、さらに各デバイス間での相互割り込み信号が必要となってくる。このような組み込みシステムとして、たとえば、特許文献１に記載されたものがある。同文献に記載されたシステムは、ＰＣＩバス経由で、割込メッセージを書き込むメモリ回路およびこのメモリ回路への書き込みの完了を検知して割込要求信号をＣＰＵ（Central Processing Unit）に対して発生する割込要求発生回路を有するＭＣＣ（Multi-processor Communication Controller）を設け、ＣＰＵに対して割り込みを通知する。
【特許文献１】特開平１−１３３１６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記文献記載の従来技術は、各デバイスのローカルＣＰＵバスおよびＰＣＩバスに負荷がかかり易いという点で改善の余地を有していた。また、各デバイス間に、各２本（双方向）の割込信号を設け、ピアツーピアで接続することも考えられるが、多数の信号線を設ける必要があり、装置の構成が複雑になってしまう。
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、簡素な構成で、複数のコントローラ間で双方向の割込処理を効率良く行うことができるデータ処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明によれば、ホストコントローラおよび前記ホストコントローラにバスを介して接続されるデバイスコントローラを備えたデータ処理装置において、
前記ホストコントローラは、
割込要求先毎にそれぞれ割り当てられ、前記バスを介して各コントローラから割込信号発生要求を書込可能な複数の割込要求領域を含む割込コントロールレジスタと、
割込要求先毎にそれぞれ割り当てられ、信号線を介して各割込要求先と個別に接続される複数の出力端子と、
前記割込要求領域への割込信号発生要求の書き込みに伴って、対応する割込要求先に前記出力端子を介して割込信号を出力する割込信号出力部と、を有し、
前記デバイスコントローラは、
割込情報を記憶する割込情報記憶部と、
割込要求先となるコントローラに対して割込処理を行う場合、割込要求先の前記割込情報記憶部に前記バスを介して割込情報を書き込むとともに、前記割込コントロールレジスタにおける割込要求先に対応する割込要求領域に前記バスを介して割込信号発生要求を書き込む制御部と、
を備えたことを特徴とするデータ処理装置が提供される。
【０００７】
ここで、割込コントロールレジスタから出力される割込信号は、信号線を介してピアツーピアで電気的に接続される各コントローラに入力される。
【０００８】
この発明によれば、各デバイスコントローラへの割込が発生したときに、ホストコントローラのＣＰＵを介さずに、割込コントロールレジスタの該当領域に割込信号発生要求を書き込むことで、該当するコントローラに割込信号を出力することができるので、ホストコントローラのＣＰＵの負荷を軽減できる。また、バス上には一つの割込コントロールレジスタを設ければよく、デバイス毎に、割込コントロールレジスタを設ける必要がなく、各デバイス間の信号線も最小限に抑えることができるので、構成を簡素化できる。
【０００９】
上記データ処理装置において、前記デバイスコントローラは、前記信号線を介して割込信号を受信する割込信号受信部と、前記割込信号受信部により割込信号を受信したとき、前記割込情報記憶部の前記割込情報を読み出し、前記割込情報に基づいて、所定の処理を実行する処理部と、を備えることができる。
【００１０】
ここで、割込情報とは、たとえば、割込要因、コマンド、データを含む。この構成によれば、デバイスコントローラからターゲットのデバイスに対して割込要求を行い、割込情報を伝達し、所定の処理を行わせることができる。
【００１１】
上記データ処理装置において、前記割込信号出力部は、割込信号としてワンショット信号を出力し、前記割込信号受信部は、エッジトリガ方式により割込信号の受信有無を検出することができる。
【００１２】
上記データ処理装置において、前記ホストコントローラは、割込要求先となるコントローラに対して割込処理を行う場合、割込要求先の前記割込情報記憶部に前記バスを介して割込情報を書き込むとともに、前記割込コントロールレジスタにおける割込要求先に対応する割込要求領域に割込信号発生要求を書き込む制御部を備えることができる。
【００１３】
上記データ処理装置において、前記ホストコントローラは、割込情報を記憶する割込情報記憶部と、前記信号線を介して割込信号を受信する割込信号受信部と、前記割込信号受信部により割込信号を受信したとき、前記割込情報記憶部の前記割込情報を読み出し、前記割込情報に基づいて、所定の処理を実行する処理部と、を備えることができる。
【００１４】
上記データ処理装置において、前記割込要求領域は、割込要求元および割込要求先毎にそれぞれ割り当てられていてもよい。この構成によれば、割込要求元および割込要求先の各組み合わせに対して個別に割込要求領域が割り当てられ、一つの組み合わせに対して、一つの割込要求領域が割り当てられているので、複数の割込要求元からの割込信号発生要求の書き込みが競合した場合でも、他の割込要求元によって上書きされてしまうことを防止できる。
【００１５】
上記データ処理装置において、前記割込信号出力部は、各割込要求領域において、割込要求先毎に異なるビット位置に割り当てられた機能ビットと前記出力端子とを接続するものとすることができる。
【００１６】
この構成によれば、一つの割込要求領域において、割込信号発生要求が書き込まれた場合に論理が変化、たとえば、正論理から負論理に変化する機能ビットの位置を、割込要求元毎にずらすことで、他のコントローラによって機能ビットが上書きされることを防止できる。すなわち、他のコントローラがアドレスを間違って割込信号発生要求を書き込んだとしても、コントローラ毎に機能ビットの位置を異ならせているため、他のコントローラによって機能ビットの論理が変えられてしまうのを防止できる。
上記データ処理装置において、前記バスはＰＣＩバスとすることができる。
【００１７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１８】
本発明によれば、簡素な構成で、複数のコントローラ間で双方向の割込処理を効率良く行うことができるデータ処理装置が提供される。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００２０】
（第一の実施の形態）
図１は、本発明の実施の形態に係るデータ処理装置のブロック図である。本実施形態において、データ処理装置は、ホストコントローラ（ＭＦＰコントローラ１００）、および複数のデバイスコントローラ、たとえば、通信コントローラ３００、コピーコントローラ４００、プリンタコントローラ５００などを含む複合装置１０、たとえば、ＭＦＰ（Multi Functional Peripheral）である。
【００２１】
本実施形態において、ホストコントローラ（ＭＦＰコントローラ１００）およびホストコントローラにバス（ＰＣＩバス１５０ａ、１５０ｂ）を介して接続されるデバイスコントローラ（通信コントローラ３００、コピーコントローラ４００、プリンタコントローラ５００）を備えたデータ処理装置（複合装置１０）において、ホストコントローラ（ＭＦＰコントローラ１００）は、割込要求先毎にそれぞれ割り当てられ、バスを介して各コントローラから割込信号発生要求を書込可能な複数の割込要求領域を含む割込コントロールレジスタ（割込コントロールレジスタ１１０）と、割込要求先毎にそれぞれ割り当てられ、信号線（信号線１５６ａ、１５６ｂ、１５６ｃ、１５６ｄ）を介して各割込要求先と個別に接続される複数の出力端子（出力端子１２２ａ、１２２ｂ、１２２ｃ、１２２ｄ、１２２ｅ）と、割込要求領域への割込信号発生要求の書き込みに伴って、対応する割込要求先に出力端子を介して割込信号を出力する割込信号出力部（割込信号出力部１２０）と、を有し、デバイスコントローラ（通信コントローラ３００、コピーコントローラ４００、プリンタコントローラ５００）は、割込情報を記憶する割込情報記憶部（メモリ３１０、４１０、５１０）と、割込要求先となるコントローラに対して割込処理を行う場合、割込要求先の割込情報記憶部にバスを介して割込情報を書き込むとともに、割込コントロールレジスタにおける割込要求先に対応する割込要求領域にバスを介して割込信号発生要求を書き込む制御部（ＰＣＩＣ３０６、４０６、５０６）と、を備える。
【００２２】
なお、図１において、本発明の本質に関わらない部分の構成については省略してある。また、複合装置１０の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
【００２３】
詳細には、複合装置１０は、ＭＦＰコントローラ１００と、通信コントローラ３００と、コピーコントローラ４００と、プリンタコントローラ５００と、を備える。ＭＦＰコントローラ１００は、複合装置１０の本体装置のコントローラであり、複合装置１０全体を制御する。通信コントローラ３００は、複合装置１０と、パーソナルコンピュータなどの他の装置との通信インタフェース部として機能する。コピーコントローラ４００は、複合装置１０の画像処理を行うコントローラであり、スキャナなどが読み取った画像データや通信コントローラ３００が受信したファクシミリ原稿の画像データの処理を行う。プリンタコントローラ５００は、複合装置１０の印刷出力処理を行うコントローラであり、たとえば、コピーコントローラ４００で処理された画像データを印刷出力処理する。
【００２４】
ＭＦＰコントローラ１００および通信コントローラ３００は、プライマリＰＣＩバス１５０ａを介して接続され、コピーコントローラ４００およびプリンタコントローラ５００は、セカンダリＰＣＩバス１５０ｂを介してＰＣＩＣブリッジ１５４を経由してプライマリＰＣＩバス１５０ａに接続され、ＭＦＰコントローラ１００および通信コントローラ３００と接続される。本実施形態において、プライマリＰＣＩバス１５０ａおよびセカンダリＰＣＩバス１５０ｂは、３２ビット、６６ＭＨｚのバスである。なお、本実施形態において、ＰＣＩＣブリッジ１５４を用いて２つのプライマリＰＣＩバス１５０ａおよびセカンダリＰＣＩバス１５０ｂを接続した構成としたが、バス構成は一例であり、１つのＰＣＩバスのみで構成することもできる。なお、以下、プライマリＰＣＩバス１５０ａおよびセカンダリＰＣＩバス１５０ｂは、ＰＣＩバス１５０と呼ぶ。
【００２５】
ＭＦＰコントローラ１００は、ＣＰＵ１０２と、割込コントローラ（ＩＮＴＣ）１０４と、ＰＣＩコントローラ（ＰＣＩＣ）１０６と、割込コントロールレジスタ１１０と、メモリ１３０と、を備え、ＣＰＵ１０２、ＰＣＩコントローラ１０６、割込コントロールレジスタ１１０、およびメモリ１３０は、ホストシステムバス１４０を介して接続される。
【００２６】
ＣＰＵ１０２は、ＭＦＰコントローラ１００の各要素とともにＭＦＰコントローラ１００全体を制御する。ＰＣＩコントローラ１０６は、ＰＣＩバス１５０に接続され、ＰＣＩバス１５０を介して他のコントローラとの通信を制御する。
【００２７】
割込コントローラ１０４は、ＭＦＰコントローラ１００の割込コントロールレジスタ１１０の対応する割込信号出力端子１２２ａに信号線１５６ａを介して接続される割込信号入力端子（／ＩＮＴｘｘ）を有し、割込信号を受信し、ＣＰＵ１０２に割込要求を通知する。ＣＰＵ１０２は、割込コントローラ１０４から割込要求が通知されたとき、後述するメモリ１３０の割込情報記憶部の割込情報を読み出し、割込情報に基づいて、所定の処理を実行する。
【００２８】
ＰＣＩコントローラ１０６は、割込要求先となるコントローラに対して割込処理を行う場合、割込要求先の割込情報記憶部（後述）にＰＣＩバス１５０を介して割込情報を書き込むとともに、割込コントロールレジスタ１１０における割込要求先に対応する割込要求領域に割込信号発生要求を書き込む。割込要求先に対応する割込要求領域との関係は、後述する割付テーブルに記憶されている。ＰＣＩコントローラ１０６は、割込要求を行う場合、割付テーブルにアクセスし、割込要求先に対応する割込要求領域（アドレス）を取得し、割込コントロールレジスタ１１０の該当する割込要求領域にＰＣＩバス１５０を介して割込信号発生要求を書き込む。
【００２９】
割込処理の例としては、たとえば、通信コントローラ３００に外部から画像データが入力され、その画像データをプリンタにて印字する場合に発生する「通信コントローラ３００からコピーコントローラ４００への割込処理」および「コピーコントローラ４００からプリンタコントローラ５００への割込処理」がある。これらの割込処理が実行されて、ＰＣＩバス１５０を介した画像データの転送が実行される。
【００３０】
詳細には、通信コントローラ３００は、ＬＡＮまたはＰＳＴＮ（公衆電話回線）を介して画像データが入力されると、コピーコントローラ４００に対する割込処理を実行する。この割込処理によって、メモリ４１０を利用して通信コントローラ３００からコピーコントローラ４００への画像データの転送が実行される。コピーコントローラ４００は画像データに対する画像処理を実行する。
【００３１】
その後、コピーコントローラ４００からプリンタコントローラ５００に対する割込処理を実行し、コピーコントローラ４００からプリンタコントローラ５００への画像データの転送が実行される。プリンタコントローラ５００は、コピーコントローラ４００から転送されてきた画像データに基づいてプリンタを制御する。
【００３２】
また、ＣＰＵ１０２が処理を行った後、必要に応じて、割込要求元のコントローラに対して、処理終了を通知する。このときの処理終了通知も、上述したように、ＰＣＩバス１５０を介して割込コントロールレジスタ１１０の該当する割込要求領域に割込信号発生要求を書き込むことにより行うことができる。
【００３３】
割込コントロールレジスタ１１０は、図２に示すように、割込要求先毎にそれぞれ割り当てられた複数の割込要求領域（図中、「／ＨＩＮＴ０」〜「／ＨＩＮＴ４」の出力端子名称で示される。）を含む。この割込要求領域には、ホストシステムバス１４０を介してＭＦＰコントローラ１００から、またはＰＣＩバス１５０を介して通信コントローラ３００、コピーコントローラ４００およびプリンタコントローラ５００から、割込信号発生要求が書込可能である。
【００３４】
図１に戻り、割込信号出力部１２０は、割込要求先毎にそれぞれ割り当てられ、信号線１５６ａ〜１５６ｄを介して各割込要求先と個別に接続される複数の割込信号出力端子１２２ａ〜１２２ｄおよび１２２ｅ（予備端子）を有する。割込信号出力部１２０は、割込コントロールレジスタ１１０の割込要求領域への割込信号発生要求の書き込みに伴って、対応する割込要求先に出力端子１２２ａ〜１２２ｄを介して割込信号を出力する。
【００３５】
詳細には、割込信号出力部１２０には、複数の出力端子１２２ａ〜１２２ｅ、たとえば、ＣＰＵ１０２に信号線１５６ａを介して接続される端子１２２ａ、通信コントローラ３００に信号線１５６ｂを介して接続される端子１２２ｂ、コピーコントローラ４００に信号線１５６ｃを介して接続される端子１２２ｃ、プリンタコントローラ５００に信号線１５６ｄを介して接続される端子１２２ｄおよび予備の端子１２２ｅが設けられている。このように、割込信号出力部１２０から出力される割込信号は、信号線１５６ａ、１５６ｂ、１５６ｃ、１５６ｄを介してピアツーピアで電気的に接続される各コントローラに入力される。
【００３６】
本実施形態において、割込要求領域のサイズは１ワードであり、割込信号発生要求時は、該当する割込要求領域のアドレスを指定し、所定のデータを書き込む構成となっているが、これに限定されない。たとえば、割込要求領域をビット単位で指定する構成とすることもできる。
【００３７】
本実施形態において、割込信号出力部１２０は、割込信号としてワンショット信号を出力し、各コントローラは、エッジトリガ方式により割込信号の受信有無を検出する。
【００３８】
たとえば、割込コントロールレジスタ１１０に割込信号発生要求を２回書き込み（たとえば、０→１→０）、ワンショット信号を生成し、割込信号を出力する。各割込コントローラ１０４、３０４、４０４、５０４が、この割込信号をエッジトリガ方式で検出する。
【００３９】
図３に、割込要求先と割込要求領域のアドレスの割付テーブルの一例を示す。割付テーブル１９０は、割込要求先のコントローラ毎に、ＭＦＰコントローラ１００の割込コントロールレジスタ１１０の割込要求領域のアドレスが対応付けて記憶される。割付テーブル１９０は、後述するメモリ１３０に格納される。なお、電源投入時にＭＦＰコントローラ１００から各コントローラに対して、ＰＣＩバス１５０を介して割付テーブル１９０を通知することができる。
【００４０】
また、本実施形態において、割込コントロールレジスタ１１０は、ＭＦＰコントローラ１００に設けた構成としたが、これに限定されない。ＰＣＩバス１５０上から書き込み可能であればよい。
【００４１】
図１に戻り、メモリ１３０は、割込情報を記憶する割込情報記憶部（不図示）を含み、詳細には、データエリア１３２と、コマンドエリア１３４と、サブコンフィグレーションエリア１３６と、割付テーブル格納エリア１３８と、を含む。ここで、割込情報とは、たとえば、割込要因、コマンド、データを含む。メモリ１３０は、ＰＣＩメモリ空間に割り当てられており、ＰＣＩバス１５０を介して、他のコントローラからデータの書き込みが可能である。割付テーブル格納エリア１３８には、上述の割付テーブル１９０が格納される。ＭＦＰコントローラ１００は、割込要求先のメモリの割込情報記憶部において、割込情報を書き込むべきエリア（アドレス）を記憶する書込領域テーブル（不図示）を含む。ＰＣＩコントローラ１０６は、割込要求先のコントローラのメモリの割込情報記憶部に、割込情報を書き込む場合、この書込領域テーブルに従って、自身用に割り当てられたエリアを取得し、そのエリアに書き込みを行う。たとえば、電源投入時にＭＦＰコントローラ１００から各コントローラに対して、ＰＣＩバス１５０を介して書込領域テーブルを通知することができる。
【００４２】
通信コントローラ３００は、ＣＰＵ３０２と、割込コントローラ（ＩＮＴＣ）３０４と、ＰＣＩコントローラ（ＰＣＩＣ）３０６と、メモリ３１０と、を含む。ＣＰＵ３０２、ＰＣＩコントローラ３０６、およびメモリ３１０は、ローカルバス３２０を介して接続される。
【００４３】
ＣＰＵ３０２は、通信コントローラ３００の各要素とともに、通信コントローラ３００全体を制御する。割込コントローラ３０４は、ＭＦＰコントローラ１００の割込信号出力部１２０の割込信号出力端子１２２ｂに信号線１５６ｂを介して接続される割込信号入力端子（／ＩＮＴｘｘ）を有し、割込信号を受信し、ＣＰＵ３０２に割込要求を通知する。ＣＰＵ３０２は、割込コントローラ３０４から割込要求が通知されたとき、後述するメモリ３１０の割込情報記憶部の割込情報を読み出し、割込情報に基づいて、所定の処理を実行する。
【００４４】
メモリ３１０は、割込情報を記憶する割込情報記憶部（不図示）を含み、詳細には、データエリア３１２と、コマンドエリア３１４と、サブコンフィグレーションエリア３１６と、割付テーブル格納エリア３１８と、を含む。ここで、割込情報とは、たとえば、割込要因、コマンド、データを含む。メモリ３１０は、ＰＣＩメモリ空間に割り当てられており、ＰＣＩバス１５０を介して、他のコントローラからデータの書き込みが可能である。割付テーブル格納エリア３１８には、上述の割付テーブル１９０がＭＦＰコントローラ１００からＰＣＩバス１５０を介して通知され、格納される。通信コントローラ３００は、割込要求先の割込情報記憶部において、割込情報を書き込むべきエリア（アドレス）を記憶する書込領域テーブル（不図示）を含む。ＰＣＩコントローラ３０６は、割込要求先のコントローラのメモリの割込情報記憶部に、割込情報を書き込む場合、この書込領域テーブルに従って、自身用に割り当てられたエリアを取得し、そのエリアに書き込みを行う。
【００４５】
ＰＣＩコントローラ３０６は、ＰＣＩバス１５０に接続され、ＭＦＰコントローラ１００、コピーコントローラ４００、およびプリンタコントローラ５００と通信を制御する。具体的には、ＰＣＩコントローラ３０６は、割込要求先となるコントローラに対して割込処理を行う場合、割込要求先のメモリの割込情報記憶部にＰＣＩバス１５０を介して割込情報を書き込むとともに、割込コントロールレジスタ１１０における割込要求先に対応する割込要求領域にＰＣＩバス１５０を介して割込信号発生要求を書き込む。ＰＣＩコントローラ３０６は、割込情報を書き込む場合、書込領域テーブルに従って、自身用に割り当てられたエリアを取得し、そのエリアに割込情報の書き込みを行う。また、ＰＣＩコントローラ３０６は、割込要求を行う場合、メモリ３１０の割付テーブル格納エリア３１８に記憶されている割付テーブル１９０にアクセスし、割込要求先に対応する割込要求領域（アドレス）を取得し、割込コントロールレジスタ１１０の該当する割込要求領域にＰＣＩバス１５０を介して割込信号発生要求を書き込む。
【００４６】
コピーコントローラ４００は、ＤＳＰ（Digital Signal Processor）４０２と、割込コントローラ（ＩＮＴＣ）４０４と、ＰＣＩコントローラ（ＰＣＩＣ）４０６と、メモリ４１０と、を含む。ＤＳＰ４０２、ＰＣＩコントローラ４０６、およびメモリ４１０は、ローカルバス４２０を介して接続される。
【００４７】
ＤＳＰ４０２は、コピーコントローラ４００の各要素とともに、コピーコントローラ４００全体を制御する。割込コントローラ４０４は、ＭＦＰコントローラ１００の割込信号出力部１２０の割込信号出力端子１２２ｃに信号線１５６ｃを介して接続される割込信号入力端子（／ＩＮＴｘｘ）を有し、割込信号を受信し、ＤＳＰ４０２に割込要求を通知する。ＤＳＰ４０２は、割込コントローラ４０４から割込要求が通知されたとき、メモリ４１０の割込情報記憶部の割込情報を読み出し、割込情報に基づいて、所定の処理を実行する。
【００４８】
ＰＣＩコントローラ４０６は、ＰＣＩバス１５０に接続され、ＭＦＰコントローラ１００、通信コントローラ３００、およびプリンタコントローラ５００との間の通信を、ＰＣＩＣブリッジ１５４およびＰＣＩバス１５０を介して制御する。ＰＣＩコントローラ４０６の機能は、上述のＰＣＩコントローラ３０６と同様である。メモリ４１０もメモリ３１０と同様である。
【００４９】
プリンタコントローラ５００は、ＣＰＵ５０２と、割込コントローラ（ＩＮＴＣ）５０４と、ＰＣＩコントローラ（ＰＣＩＣ）５０６と、メモリ５１０と、を含む。ＣＰＵ５０２、ＰＣＩコントローラ５０６、およびメモリ５１０は、ローカルバス５２０を介して接続される。
【００５０】
ＣＰＵ５０２は、プリンタコントローラ５００の各要素とともに、プリンタコントローラ５００全体を制御する。割込コントローラ５０４は、ＭＦＰコントローラ１００の割込信号出力部１２０の割込信号出力端子１２２ｄに信号線１５６ｄを介して接続される割込信号入力端子（／ＩＮＴｘｘ）を有し、割込信号を受信し、ＣＰＵ５０２に割込要求を通知する。ＣＰＵ５０２は、割込コントローラ５０４から割込要求が通知されたとき、メモリ５１０の割込情報記憶部の割込情報を読み出し、割込情報に基づいて、所定の処理を実行する。
【００５１】
ＰＣＩコントローラ５０６は、ＰＣＩバス１５０に接続され、ＭＦＰコントローラ１００、コピーコントローラ４００、およびプリンタコントローラ５００との間の通信を、ＰＣＩＣブリッジ１５４およびＰＣＩバス１５０を介して制御する。ＰＣＩコントローラ５０６の機能は、上述のＰＣＩコントローラ３０６と同様である。メモリ５１０もメモリ３１０と同様である。
【００５２】
このように構成された複合装置１０の動作について、以下に説明する。図４は、図１の複合装置１０の動作の一例を示すフローチャートである。以下、図１乃至図４を用いて説明する。ここでは、複合装置１０に対して、パーソナルコンピュータ（ＰＣ）からのプリントデータの印刷要求が行われた場合を例に説明する。
【００５３】
まず、図１の通信コントローラ３００に対して、ＰＣからプリントデータの転送開始の割込処理が発生する。ローカルバス３２０を介してＣＰＵ３０２が割込要求を受け付ける（Ｓ１１）。ＣＰＵ１０２は、割込要求先がプリンタコントローラ５００であることを判別し、書込領域テーブルからプリンタコントローラ５００のメモリ５１０の割込情報記憶部の自身用に割り当てられたエリアのアドレスを取得し、ＰＣＩコントローラ３０６およびＰＣＩバス１５０を介して、プリンタコントローラ５００のメモリ５１０の割込情報記憶部にアクセスし、自身用に割り当てられたエリアに割込情報の書き込みを行う（Ｓ１３）。プリンタコントローラ５００において、ＰＣＩバス１５０経由で、ＰＣＩコントローラ５０６を介してメモリ５１０の割込情報記憶部に割込情報が書き込まれる（Ｓ３１）。
【００５４】
一方、通信コントローラ３００において、ＣＰＵ３０２が、割付テーブル１９０にアクセスし、割込要求先のアドレスを取得する（Ｓ１５）。ここでは、プリンタコントローラ５００への割込処理であるので、図３の割付テーブル１９０からプリンタコントローラ５００に対応するアドレス「０ｘ０００００００Ｃ」を取得する。ＰＣＩコントローラ３０６は、ＰＣＩバス１５０を経由して、ＭＦＰコントローラ１００の割込コントロールレジスタ１１０のアドレス、すなわちステップＳ１５で取得したアドレス「０ｘ０００００００Ｃ」にアクセスし、プリンタコントローラ５００への割込信号発生要求を書き込む（Ｓ１７）。ここで、割込信号発生要求は、レベルＬからＨへのワンショット信号としてＰＣＩバス１５０を介して通信コントローラ３００からＭＦＰコントローラ１００の割込コントロールレジスタ１１０に書き込まれる。
【００５５】
ＭＦＰコントローラ１００において、割込コントロールレジスタ１１０のアドレス「０ｘ０００００００Ｃ」の割込要求領域（／ＨＩＮＴ３）に割込信号発生要求が書き込まれると、対応する割込信号出力端子１２２ｄから信号線１５６ｄを介してプリンタコントローラ５００に割込信号が出力される（Ｓ５３）。
【００５６】
そして、プリンタコントローラ５００において、割込コントローラ５０４が割込信号を、信号線１５６ｄを介して受信すると（Ｓ３３のＹＥＳ）、ＣＰＵ５０２がメモリ５１０にアクセスし、割込情報記憶部の割込情報を読み出す（Ｓ３５）。
【００５７】
つづいて、ＣＰＵ５０２は、読み出された割込情報からコマンドおよびデータを取得する（Ｓ３７）。ステップＳ３７で取得したコマンドおよびデータに従って、ＣＰＵ５０２が割込処理を行う（Ｓ３９）。
【００５８】
以上説明したように、本発明の実施形態のデータ処理装置によれば、各デバイスコントローラへの割込が発生したとき、ＭＦＰコントローラ１００のＣＰＵ１０２を介さずに、割込コントロールレジスタ１１０の該当領域に割込信号発生要求を書き込むことで、該当するコントローラに割込信号を出力することができるので、ホストコントローラのＣＰＵの負荷を軽減できる。また、各デバイスコントローラには、割込コントロールレジスタを設ける必要がなく、各デバイス間の信号線も最小限に抑えることができる。
【００５９】
（第二の実施の形態）
本発明の実施の形態に係る複合装置１０は、上記実施形態とは、割込コントロールレジスタが、割込要求元および割込要求先毎にそれぞれ割り当てられた割込要求領域を有する点で相違している。その他の構成については、図１の複合装置１０と同様である。図５は、本実施形態の複合装置１０の割込コントロールレジスタ２１０の構成の一例を示す図である。
【００６０】
本実施形態のデータ処理装置（複合装置１０）において、ホストコントローラは、割込要求先および割込要求先毎にそれぞれ割り当てられ、バスを介して各コントローラから割込信号発生要求を書込可能な複数の割込要求領域（アドレス２１２）を含む割込コントロールレジスタ（割込コントロールレジスタ２１０）と、割込要求先毎にそれぞれ割り当てられ、信号線（１５６ａ〜１５６ｄ）を介して各割込要求先と個別に接続される複数の出力端子（１２２ａ〜１２２ｅ）と、割込要求領域への割込信号発生要求の書き込みに伴って、対応する割込要求先に出力端子を介して割込信号を出力する割込信号出力部（割込信号出力部１２０）と、を有し、デバイスコントローラは、割込情報を記憶する割込情報記憶部（メモリ３１０、メモリ４１０、メモリ５１０）と、割込要求先となるコントローラに対して割込処理を行う場合、割込要求先の割込情報記憶部にバスを介して割込情報を書き込むとともに、割込コントロールレジスタにおける割込要求先に対応する割込要求領域にバスを介して割込信号発生要求を書き込む制御部（ＣＰＵ３０２、ＤＳＰ４０２、ＣＰＵ５０２）と、を備える。
【００６１】
図５に示すように、割込コントロールレジスタ２１０は、要求元２１６および要求先２１８毎にそれぞれ割り当てられた割込要求領域を備えている。すなわち、割込コントロールレジスタ２１０において、要求元２１６および要求先２１８の組み合わせに対して、それぞれ個別に割込要求領域が割り当てられている。各割込要求領域には、それぞれ個別にアドレス２１２およびレジスタ名称２１４が割り当てられている。すなわち割込コントロールレジスタ２１０において、一つのアドレス２１２に、一つのレジスタ名称２１４および一つの割込要求領域が対応している。本実施形態においては、各割込要求領域は、３２ビットである。割込要求元のコントローラは、割込信号発生要求を行う場合、該当する割込要求領域のアドレス２１２を指定し、割込信号発生要求を書き込み構成となっている。
【００６２】
割込要求元のコントローラから、割込要求先に対応する割込要求領域に割込信号発生要求が書き込まれると、それに伴って、割込要求先のコントローラに割込信号が出力されるようになっている。すなわち、割込要求元のコントローラは、他のコントローラに割込信号発生要求を行う場合には、ＭＦＰコントローラ１００の割込コントロールレジスタ２１０における所定の割込要求領域、自身に割り当てられた割込要求先に対応する領域に、割込信号発生要求を書き込む。この割込信号発生要求の書き込みに伴って、対応する出力端子から割込要求先のコントローラに割込信号が出力される。
【００６３】
なお、本実施形態において、割込コントロールレジスタ２１０は、ＭＦＰコントローラ１００に設けた構成としたが、これに限定されない。ＰＣＩバス１５０上から書き込み可能であればよい。
【００６４】
図６は、割込信号出力部１２０における複数の出力端子１１４と出力先１１６との対応関係を示す図である。また、図７は、割込信号発生回路の回路構成の一例を示す図である。割込信号出力部１２０には、出力端子毎、すなわち割込要求先毎にそれぞれ図７の割込信号発生回路が設けられている（本実施形態では、ｘは０〜４で、５つの割込信号発生回路を有する。）。割込信号発生回路は、２つのＡＮＤ回路１８０およびＡＮＤ回路１８２を備えている。ＡＮＤ回路１８０には、割込要求領域（ＩＮＴＣｘＡ〜ＩＮＴＣｘＥ）の状態が入力される。ＡＮＤ回路１８２には、ＡＮＤ回路１８０の出力と、マスク信号（ＩＮＴＭＳＫ）のＮＯＴ信号とが入力される。ＡＮＤ回路１８２の出力は、出力信号（／ＨＩＮＴｘ）に接続される。このような構成により、５つの割込要求領域（ＩＮＴＣｘＡ〜ＩＮＴＣｘＥ）のうち、いずれかの割込要求領域に割込信号発生要求が書き込まれれば、それに伴って、ＡＮＤ回路１８２の出力、すなわち、出力端子（／ＨＩＮＴｘ）から割込信号が出力されるようになっている。
【００６５】
ここで、ＩＮＴＣｘＡ〜ＩＮＴＣｘＥの論理は、割込信号発生要求がないとき、常時「１」である。マスク信号（ＩＮＴＭＳＫ）は、割込信号の発生を停止する必要がある期間は「１」とする。すなわち、ＡＮＤ回路１８２への入力は、反転するので、「０」となる。また、マスク信号（ＩＮＴＭＳＫ）を「０」とすると、ＡＮＤ回路１８２への入力は「１」となり、／ＨＩＮＴｘの論理は、ＡＮＤ回路１８０の出力論理にのみ支配される状態となる。ＩＮＴＣｘＡ〜ＩＮＴＣｘＥの全てが「１」のときは、ＡＮＤ回路１８０の出力は「１」となり、ＡＮＤ回路１８２の出力も「１」となり、割込信号はオフとなる。ＩＮＴＣｘＡ〜ＩＮＴＣｘＥのいずれか１つ以上が「０」となれば、ＡＮＤ回路１８０およびＡＮＤ回路１８２の出力が「０」となり、割込信号が発生することとなる。
【００６６】
この構成により、一つの割込要求先に対して、割込要求元のいずれかのコントローラから割込信号発生要求の書き込みがあれば、その割込要求先に対応する出力端子から割込信号が出力されることとなる。
【００６７】
また、本実施形態において、割込信号出力部１２０は、各割込要求領域において、割込要求先毎に異なるビット位置に割り当てられた機能ビットと出力端子とを接続することができる。図８は、要求元１８４毎に、割込コントロールレジスタ２１０に書き込まれる割込要求の値１８６の一例を示す図である。本実施形態において、割込コントロールレジスタ２１０の割込要求領域はそれぞれ、割込要求元毎に異なるビット位置に割り当てられた機能ビットおよび、機能ビット以外の書込禁止のビットを有することができる。これらの値１８６は、デバイス毎に記憶されており、割込要求時に、各デバイスがこの値１８６を割込コントロールレジスタ２１０に書き込む。このように、要求元毎に異なるビット位置に機能ビットを割り当て、機能ビット以外を書込禁止とすることにより、他のデバイスによって上書きされることを防止することができる。さらに、要求先毎に、異なる機能ビットを割り当てることもできる。
【００６８】
ここで、各デバイスコントローラ（通信コントローラ３００、コピーコントローラ４００、プリンタコントローラ５００）は、割込コントロールレジスタ２１０における割込要求元および割込要求先と割込要求領域との対応関係を記憶する割付テーブル２９０を含む。図９は、本実施形態の通信コントローラ３００における割付テーブル２９０の一例を示す図である。このように、各デバイスコントローラは、割込コントロールレジスタ２１０において、割込要求元および割込要求先に応じて、割込信号発生要求を書き込むべきアドレスを記憶する。
【００６９】
各デバイスコントローラのＰＣＩコントローラは、割込要求を行う場合、この割付テーブルにアクセスし、自コントローラおよび割込要求先に対応するアドレスを取得し、割込コントロールレジスタ２１０の該当する割込要求領域にＰＣＩバス１５０を介して割込信号発生要求を書き込む。この割付テーブル２９０は、たとえば、ＭＦＰコントローラ１００から各デバイスコントローラに対して、ＰＣＩバス１５０を介して通知することができる。各デバイスコントローラは、メモリ内に割付テーブル２９０を格納することができる。
【００７０】
このように構成された本実施形態の複合装置１０の動作について、以下に説明する。なお、本実施形態の複合装置１０の動作は、上記実施形態の図４に示したフローチャートと同様であるので、同じ図４並びに、図１、図５乃至図９を用いて説明する。ここでも、複合装置１０に対して、パーソナルコンピュータ（ＰＣ）からのプリントデータの印刷要求が行われた場合を例に説明する。
【００７１】
本実施形態の複合装置１０の動作は、上記実施形態の複合装置１０の動作と、ステップＳ１５およびステップＳ１７における割込コントロールレジスタ２１０への割込信号発生要求の書き込み動作が相違する。ステップＳ１５およびステップＳ１７おいて、通信コントローラ３００が図９の割付テーブル２９０を使用して、プリンタコントローラ５００に対応するアドレス「０ｘＢ９００００４０」を取得し（Ｓ１５）、ＰＣＩバス１５０を経由して、図５のＭＦＰコントローラ１００の割込コントロールレジスタ２１０のアドレス２１２、すなわちステップＳ１５で取得したアドレス「０ｘＢ９００００４０」にアクセスし、プリンタコントローラ５００への割込信号発生要求を割込要求領域「ＩＮＴＣ３Ｂ」に書き込む（Ｓ１７）。なお、ここで書き込まれる値は、図８に示すように、通信コントローラ３００の値１８６の「０ｘ０００００００２」である。
【００７２】
また、ＭＦＰコントローラ１００において、図５の割込コントロールレジスタ２１０のアドレス「０ｘＢ９００００４０」のレジスタ「ＩＮＴＣ３Ｂ」に割込要求が書き込まれると（Ｓ５１）、図７のＡＮＤ回路１８０および回路１８２を介して割込信号出力端子（／ＨＩＮＴ３）から割込信号が出力される。この割込信号は、図１の信号線１５６ｄを介してプリンタコントローラ５００に入力される（Ｓ５３）。
【００７３】
以上説明したように、本発明の実施形態のデータ処理装置によれば、複数の割込要求元および複数の割込要求先毎にそれぞれ割り当てられた複数の割込要求領域をそれぞれ一つのアドレスに割り当てた割込コントロールレジスタ２１０を設けたので、各デバイスからの割込要求を、ＭＦＰコントローラ１００のＣＰＵを介さずに、割込コントロールレジスタ２１０の一つのアドレスに対応している該当領域に書き込むことで、該当するコントローラに割込信号を出力することができるので、ホストコントローラ（ＭＦＰコントローラ１００）のＣＰＵの負荷を軽減できる。
【００７４】
割込要求元および割込要求先の各組み合わせに対して個別に割込要求領域が割り当てられ、一つの組み合わせに対して、一つの割込要求領域が割り当てられているので、複数の割込要求元からの割込信号発生要求の書き込みが競合した場合でも、他の割込要求元によって上書きされてしまうことを防止できる。すなわち、コントローラ間の排他制御を、バスのパフォーマンスを落とすことなく実現できる。
【００７５】
また、一つの割込要求領域において、割込信号発生要求が書き込まれた場合に論理が変化、たとえば、正論理から負論理に変化する機能ビットの位置を、割込要求元毎にずらすことで、他のコントローラによって機能ビットが上書きされることを防止できる。図７において、各割込要求領域の機能ビットの論理が、ＡＮＤ回路１８０に入力される。すなわち、機能ビット以外の予約ビット（リードオンリービット）の論理は、ＡＮＤ回路１８０に入力されないこととなる。よって、他のコントローラがアドレスを間違って割込信号発生要求を書き込んだとしても、割込要求元のコントローラ毎に機能ビットの位置を異ならせているため、他のコントローラによって機能ビットの論理が変えられてしまうのを防止できる。
【００７６】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００７７】
たとえば、上記実施形態では、割込信号発生要求は、一度の書き込み（たとえば、０→１）とし、割込信号出力部において、ハード的にワンショットの割込信号を生成する方法もある。この場合、割込信号発生要求を書き込むためのバスの占有が一度で済むという効果がある。なお、エッジトリガ方式では、割込信号受信部は、信号線の論理レベルが変化した瞬間のみ割込信号の発生を認識することになる。
【００７８】
また、上記実施形態では、割込信号の検出をエッジトリガ方式としていたが、この割込信号の検出をレベルトリガ方式とすることもできる。この場合、割込信号受信部は、割込信号がアサート状態である限り、常に割込信号が発生していると認識することになる。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施の形態に係る複合装置の構成を示すブロック図である。
【図２】図１の割込コントロールレジスタの構造の一例を示す図である。
【図３】図１の割付テーブルの構造の一例を示す図である。
【図４】図１の複合装置の動作の一例を示すフローチャートである。
【図５】本実施形態の複合装置の割込コントロールレジスタの構成の一例を示す図である。
【図６】本実施形態の複合装置の割込信号出力部における複数の出力端子と出力先との対応関係を示す図である。
【図７】本実施形態の複合装置の割込信号発生回路の回路構成の一例を示す図である。
【図８】本実施形態の複合装置における割込コントロールレジスタに、要求元毎に書き込まれる割込要求の値の一例を示す図である。
【図９】本実施形態の通信コントローラにおける割付テーブルの一例を示す図である。
【符号の説明】
【００８０】
１０  複合装置
１００  ＭＦＰコントローラ
１０２  ＣＰＵ
１０４  割込コントローラ
１０６  ＰＣＩコントローラ
１１０  割込コントロールレジスタ
１２０  割込信号出力部
１２２ａ〜１２２ｅ  出力端子
１３０  メモリ
１３２  データエリア
１３４  コマンドエリア
１３６  サブコンフィグレーションエリア
１３８  割付テーブル格納エリア
１４０  ホストシステムバス
１５０ａ  プライマリＰＣＩバス
１５０ｂ  セカンダリＰＣＩバス
１５４  ＰＣＩＣブリッジ
１５６ａ〜１５６ｄ  信号線
１９０  割付テーブル
２１０  割込コントロールレジスタ
２９０  割付テーブル
３００  通信コントローラ
３０２  ＣＰＵ
３０４  割込コントローラ
３０６  ＰＣＩコントローラ
３１０  メモリ
３１２  データエリア
３１４  コマンドエリア
３１６  サブコンフィグレーションエリア
３１８  割付テーブル格納エリア
３２０  ローカルバス
４００  コピーコントローラ
４０２  ＤＳＰ
４０４  割込コントローラ
４０６  ＰＣＩコントローラ
４１０  メモリ
４１２  データエリア
４１４  コマンドエリア
４１６  サブコンフィグレーションエリア
４１８  割付テーブル格納エリア
４２０  ローカルバス
５００  プリンタコントローラ
５０２  ＣＰＵ
５０４  割込コントローラ
５０６  ＰＣＩコントローラ
５１０  メモリ
５１２  データエリア
５１４  コマンドエリア
５１６  サブコンフィグレーションエリア
５１８  割付テーブル格納エリア
５２０  ローカルバス
【図１】
2007018252.tif 000003
【図２】
2007018252.tif 000004
【図３】
2007018252.tif 000005
【図４】
2007018252.tif 000006
【図５】
2007018252.tif 000007
【図６】
2007018252.tif 000008
【図７】
2007018252.tif 000009
【図８】
2007018252.tif 000010
【図９】
2007018252.tif 000011