(57)【要約】【課題】Ｉ／Ｏ装置で発生した割り込み発生要因をプロセッサに効率よく通知する。【解決手段】Ｉ／Ｏ装置それぞれからの割り込み出力信号６２９，６３９は、割り込みコントローラ６５０に入力される。割り込みコントローラ６５０は、Ｉ／Ｏ装置それぞれからの割り込み出力信号６２９，６３９の発生に応じて、プロセッサ６１０に対して割り込み出力信号６５９を発生する。Ｉ／Ｏ装置それぞれからのステータス出力信号６２８，６３８は、Ｉ／ＯステータスＤＭＡコントローラ６９０に入力される。Ｉ／ＯステータスＤＭＡコントローラ６９０は、ステータス出力信号６２８，６３８をそれぞれ監視し、その更新が行われる度に、当該更新されたステータス出力信号の内容を示すステータス更新情報をＤＭＡ転送によってメモリ６４１上の所定の記憶領域に順次転送する。【選択図】    図１
2004355543.tif 000002
【特許請求の範囲】
【請求項１】
プログラムおよびデータが格納されるメモリと、
前記メモリに格納されたプログラムを実行するプロセッサと、
Ｉ／Ｏ装置からの割り込み出力の発生に応じて、前記プロセッサに割り込み信号を発生する割り込み制御手段と、
割り込み発生要因を示す前記Ｉ／Ｏ装置のステータス信号を監視し、前記ステータス信号の更新に応じて、当該更新されたステータス信号の内容を示すステータス更新情報をＤＭＡ転送によって前記メモリに転送するステータス更新情報転送手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記ステータス更新情報転送手段は、
前記ステータス更新情報を前記メモリ上の所定の記憶領域に書き込むためのメモリアドレスを発生する手段を含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記割り込み制御手段は、
前記Ｉ／Ｏ装置からの割り込み出力の発生に応じて、前記Ｉ／Ｏ装置から割り込み出力が発生したことを示す割り込みパケットを前記情報処理装置のバス上に出力する第１の割り込みコントローラと、
前記第１の割り込みコントローラから前記バスを介して転送される前記割り込みパケットに応じて、前記プロセッサに割り込み信号を発生する第２の割り込みコントローラとを含むことを特徴とする請求項１記載の情報処理装置。
【請求項４】
プログラムおよびデータが格納されるメモリと、
前記メモリに格納されたプログラムを実行するプロセッサと、
複数のＩ／Ｏ装置それぞれからの割り込み出力の発生に応じて、割り込み出力を発生したＩ／Ｏ装置を示す割り込みパケットをバス上に出力する第１の割り込みコントローラと、
前記第１の割り込みコントローラから前記バスを介して転送される前記割り込みパケットを受信及び蓄積すると共に、前記割り込みパケットの受信に応じて前記プロセッサに割り込み信号を発生する第２の割り込みコントローラと、
割り込み発生要因を示す前記複数のＩ／Ｏ装置それぞれのステータス信号を監視し、前記割り込み出力を発生したＩ／Ｏ装置のステータス信号の更新に応じて、当該更新されたステータス信号の内容を示すステータス更新情報を、前記割り込み出力を発生したＩ／Ｏ装置に対応する前記メモリ上の記憶領域にＤＭＡ転送によって転送するステータス更新情報転送手段とを具備することを特徴とする情報処理装置。
【請求項５】
Ｉ／Ｏ装置で発生した割り込み発生要因をプロセッサに通知する割り込み通知方法であって、
Ｉ／Ｏ装置からの割り込み出力の発生に応じて、前記プロセッサに割り込み信号を発生するステップと、
割り込み発生要因を示す前記Ｉ／Ｏ装置のステータス信号が更新される度に当該更新されたステータス信号の内容を示すステータス更新情報をＤＭＡ転送によって前記メモリに転送することにより、前記Ｉ／Ｏ装置の割り込み発生要因を前記プロセッサに通知するステップとを具備することを特徴とする割り込み通知方法。
【請求項６】
複数のＩ／Ｏ装置それぞれで発生した割り込み発生要因をプロセッサに通知する割り込み通知方法であって、
前記複数のＩ／Ｏ装置それぞれからの割り込み出力の発生を検出する第１の割り込みコントローから第２の割り込みコントローラに、前記割り込み出力を発生したＩ／Ｏ装置を示す割り込みパケットをバスを介して転送するステップと、
前記第１の割り込みコントローラから前記第２の割り込みコントローラに転送される前記割り込みパケットを前記第２の割り込みコントローラ内に蓄積すると共に、前記プロセッサに割り込み信号を発生するステップと、
前記割り込み出力を発生したＩ／Ｏ装置のステータス信号が更新される度に当該更新されたステータス信号の内容を示すステータス更新情報を前記割り込み出力を発生したＩ／Ｏ装置に対応する前記メモリ上の記憶領域にＤＭＡ転送によって転送することにより、前記各Ｉ／Ｏ装置毎に当該Ｉ／Ｏの割り込み発生要因を前記プロセッサに通知するステップとを具備することを特徴とする割り込み通知方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は割り込み機能を有する情報処理装置および同装置で用いられる割り込み通知方法に関する。
【０００２】
【従来の技術】
一般に、パーソナルコンピュータのような情報処理装置においては、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）装置におけるイベントの発生をプロセッサに通知するために、割り込みが用いられている。
【０００３】
このような割り込み機能を有するシステムにおいては、Ｉ／Ｏ装置からの割り込み出力の発生は割り込みコントローラによって検出され、その割り込みコントローラによってプロセッサに割り込み信号が発生される。割り込み信号を受けたプロセッサは割り込み処理を開始する。割り込み処理では、まず、割り込み出力を発生したＩ／Ｏ装置が判別され、その後、そのＩ／Ｏ装置で発生した割り込み発生要因それぞれに対応する処理が逐次実行される。
【０００４】
また、Ｉ／Ｏ装置からの割り込み出力の発生を示す情報を割り込みパケットとしてバスを介して伝送するシステムも知られている（例えば、特許文献１参照）。この特許文献１のシステムにおいては、割り込み要求および割り込みリセットそれぞれに対応する割り込みパケット・プロトコルが定義されている。
【０００５】
【特許文献１】
特開平７−１０５０３１号公報
【０００６】
【発明が解決しようとする課題】
ところで、割り込み処理の中で、Ｉ／Ｏ装置で発生した割り込み発生要因それぞれに対応する処理を逐次実行するためには、ある割り込み発生要因に対応する処理が完了する度にＩ／Ｏ装置のステータスレジスタをリードして、新たな割り込み発生要因が発生しているかどうかを判別することが必要となる。
【０００７】
通常、Ｉ／Ｏ装置は低速のＩ／Ｏバスに接続されているので、Ｉ／Ｏ装置のステータスレジスタを参照するためのリードサイクルの実行には多くの時間を要することとなる。
【０００８】
特に、リード動作中にプロセッサが停止して他の処理ができないシステムでは、Ｉ／Ｏ装置のステータスレジスタをリードする動作によるレイテンシの増大により、プロセッサの動作効率を悪化させ、システム全体の性能を悪化させるという問題が発生する。
【０００９】
本発明はこのような事情を考慮してなされたものであり、Ｉ／Ｏ装置で発生した割り込み発生要因をプロセッサに効率よく通知することが可能な情報処理装置および割り込み通知方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上述の課題を解決するため、本発明の情報処理装置は、プログラムおよびデータが格納されるメモリと、前記メモリに格納されたプログラムを実行するプロセッサと、Ｉ／Ｏ装置からの割り込み出力の発生に応じて、前記プロセッサに割り込み信号を発生する割り込み制御手段と、割り込み発生要因を示す前記Ｉ／Ｏ装置のステータス信号を監視し、前記ステータス信号の更新に応じて、当該更新されたステータス信号の内容を示すステータス更新情報をＤＭＡ転送によって前記メモリに転送するステータス更新情報転送手段とを具備することを特徴とする。
【００１１】
この情報処理装置においては、割り込み発生要因を示すＩ／Ｏ装置のステータス信号の監視がステータス更新情報転送手段によって行われており、Ｉ／Ｏ装置からの割り込み出力の発生に応じて割り込み制御手段からプロセッサに割り込み信号が発生されるだけでなく、ステータス信号の更新に応じて、その更新されたステータス信号の内容を示すステータス更新情報がＤＭＡ転送によってステータス更新情報転送手段からメモリに自動的に転送される。したがって、Ｉ／Ｏ装置のステータスレジスタを参照することなく、Ｉ／Ｏ装置で発生した割り込み発生要因をプロセッサに通知することができるので、プロセッサは、メモリを参照するだけで、Ｉ／Ｏ装置で発生した割り込み発生要因それぞれに対応する処理を逐次実行することが可能となる。
【００１２】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図１には、本発明の一実施形態に係る情報処理装置のシステム構成が示されている。この情報処理装置は例えばパーソナルコンピュータのようなコンピュータであり、図示のように、プロセッサ６１０、Ｉ／Ｏ装置６２０，６３０、メモリコントローラ６４０、メモリ６４１、Ｉ／Ｏコントローラ６４２、割り込みコントローラ６５０、およびＩ／ＯステータスＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ６９０を備えている。
【００１３】
プロセッサ６１０は本コンピュータの動作を制御するＣＰＵであり、メモリ６４１に格納された各種プログラムを実行する。プロセッサ６１０はプロセッサバスから構成される超高速バス６４６を介してメモリコントローラ６４０に接続されている。メモリコントローラ６４０はメモリ６４１に対するアクセス制御を実行するデバイスである。またこのメモリコントローラ６４０は、超高速バス６４６と高速バス６４７との間を双方向で接続するバスブリッジとしても機能する。メモリ６４１は本コンピュータの主記憶であり、プロセッサ６１０によって実行される各種プログラムおよびデータを格納する。
【００１４】
Ｉ／Ｏコントローラ６４２はＩ／Ｏバス６４８上の各種デバイスを制御するデバイスであり、高速バス６４７とそれよりも低速のＩ／Ｏバス６４８との間を双方向で接続するバスブリッジとしても機能する。Ｉ／Ｏバス６４８上には、図示のように、Ｉ／Ｏ装置（Ａ）６２０、Ｉ／Ｏ装置（Ｂ）６３０、割り込みコントローラ６５０、およびＩ／ＯステータスＤＭＡコントローラ６９０が接続されている。
【００１５】
Ｉ／Ｏ装置（Ａ）６２０，Ｉ／Ｏ装置（Ｂ）６３０それぞれからの割り込み出力信号６２９，６３９は、割り込みコントローラ６５０に入力される。割り込みコントローラ６５０は、Ｉ／Ｏ装置（Ａ）６２０，Ｉ／Ｏ装置（Ｂ）６３０それぞれからの割り込み出力信号６２９，６３９の発生に応じて、プロセッサ６１０に対して割り込み出力信号６５９を発生する。すなわち、Ｉ／Ｏ装置（Ａ）６２０，Ｉ／Ｏ装置（Ｂ）６３０それぞれの割り込み出力信号６２９，６３９のアサートは、割り込みコントローラ６５０により検出され、そしてプロセッサ６１０への割り込み出力信号６５９により通知される。
【００１６】
Ｉ／Ｏ装置（Ａ）６２０，Ｉ／Ｏ装置（Ｂ）６３０それぞれからのステータス出力信号６２８，６３８は、Ｉ／ＯステータスＤＭＡコントローラ６９０に入力される。これらステータス出力信号６２８，６３８は、Ｉ／Ｏ装置（Ａ）６２０，Ｉ／Ｏ装置（Ｂ）６３０それぞれの割り込み発生要因を示すステータス信号である。Ｉ／ＯステータスＤＭＡコントローラ６９０は、ステータス出力信号６２８，６３８をそれぞれ監視し、各ステータス出力信号６２８，６３８毎に、その更新が行われる度に、当該更新されたステータス出力信号の内容を示すステータス更新情報をＤＭＡ転送によってメモリ６４１上の所定の記憶領域に順次転送する。メモリ６４１上には、ステータス更新情報を蓄積するための２つの記憶領域が予め割り当てられている。一方の記憶領域はＩ／Ｏ装置（Ａ）６２０に関するステータス更新情報の蓄積に利用され、他方の記憶領域はＩ／Ｏ装置（Ｂ）６３０に関するステータス更新情報の蓄積に利用される。
【００１７】
次に、図２および図３を参照して、Ｉ／Ｏ装置（Ａ）６２０，Ｉ／Ｏ装置（Ｂ）６３０それぞれの構成を説明する。
【００１８】
図２に示されているように、Ｉ／Ｏ装置（Ａ）６２０は、例えば３ビットの内部ステータスをステータスレジスタ４２２で保持し、いずれかのステータスビットがセットされると、割り込み信号出力制御部４２３によって割り込み出力信号６２９をアサートする。各ステータスビットはＩ／Ｏ装置（Ａ）６２０内で発生した割り込み発生要因の種類に対応している。また、Ｉ／Ｏ装置（Ａ）６２０は、その内部ステータスをステータス出力信号６２８として、Ｉ／ＯステータスＤＭＡコントローラ６９０に出力する。割り込み出力信号６２９およびステータス出力信号６２８の出力は、Ｉ／Ｏ装置（Ａ）６２０内に設けられたコントロールレジスタ４２１によって各ステータスビット毎に許可／禁止される。
【００１９】
ステータスレジスタ４２２にセットされたステータスビットは、そのステータスビットに対応する割り込み処理が完了した時点でプロセッサ６１０によってリセットされる。
【００２０】
Ｉ／Ｏ装置（Ｂ）６３０もＩ／Ｏ装置（Ａ）６２０と同じ構成である。すなわち、図３に示されているように、Ｉ／Ｏ装置（Ｂ）６３０も、例えば３ビットの内部ステータスをステータスレジスタ４３２で保持し、いずれかのステータスビットがセットされると、割り込み信号出力制御部４３３によって割り込み出力信号６３９をアサートする。また、Ｉ／Ｏ装置（Ｂ）６３０は、その内部ステータスをステータス出力信号６３８として、Ｉ／ＯステータスＤＭＡコントローラ６９０に出力する。割り込み出力信号６３９およびステータス出力信号６３８の出力は、Ｉ／Ｏ装置（Ｂ）６３０内に設けられたコントロールレジスタ４３１によって各ステータスビット毎に許可／禁止される。
【００２１】
次に、図４を参照して、Ｉ／ＯステータスＤＭＡコントローラ６９０の構成および動作について説明する。
【００２２】
Ｉ／ＯステータスＤＭＡコントローラ６９０は、Ｉ／Ｏ装置（Ａ）６２０，Ｉ／Ｏ装置（Ｂ）６３０それぞれに対応するステータス更新検出部７９２，８９２を備えている。ステータス更新検出部７９２は、Ｉ／Ｏ装置（Ａ）６２０からのステータス出力信号６２８を監視してその更新を検出し、またステータス更新検出部８９２は、Ｉ／Ｏ装置（Ｂ）６３０からのステータス出力信号６３８を監視してその更新を検出する。ステータス更新検出部７９２，８９２それぞれからのステータス更新検出の通知はアービタ処理部７９３によって調停される。即ち、ステータス更新検出部７９２，８９２の各々は、対応するＩ／Ｏ装置からのステータス出力信号６２８，６３８の更新を検出すると、ステータス更新検出信号７９２ａをアービタ処理部７９３に通知することにより、更新されたステータス信号の内容を示すステータス更新情報の出力許可をアービタ処理部７９３に要求する。
【００２３】
今、アービタ処理部７９３によってステータス更新検出部７９２に対してステータス更新情報の出力が許可されたとする。この場合、ステータス更新ＤＭＡ出力通知信号７９２ｂがアービタ処理部７９３からステータス更新検出部７９２に供給される。ステータス更新検出部７９２は、それに対応するアドレス生成部（ＡＤＤＲ）７９６を用いてＤＭＡアドレス７９６ａを生成してそれをアドレス出力制御部７９４ａに出力すると共に、その時点におけるステータス信号の最新の更新内容を示すステータス更新情報を更新ステータス７９２ｄとしてデータ出力制御部７９４ｂに出力する。これにより、更新ステータスを含むデータは、アドレス出力制御部７９４ａおよびデータ出力制御部７９４ｂの制御の下、アドレス生成部７９６によって生成されたＤＭＡアドレス７９６ａで指定されるメモリ６４１上の記憶領域にＤＭＡ転送される。
【００２４】
アドレス生成部（ＡＤＤＲ）７９６によって生成されるＤＭＡアドレスの初期値は、Ｉ／Ｏ装置（Ａ）６２０のステータス更新情報を蓄積するためにメモリ６４１上に予め割り当てられた更新ステータス記憶領域の先頭位置を示すメモリアドレス、例えば０ｘ１０００であり、ステータス更新検出部７９２からの更新ステータスの出力の度に自動的にカウントアップされる。ここで“０ｘ”は、１６進表示であること示している。ＤＭＡアドレスの初期値は、例えば、コントロールレジスタ７９１を介してアドレス生成部（ＡＤＤＲ）７９６に設定することができる。
【００２５】
アービタ処理部７９３によってステータス更新検出部８９２に対してステータス更新情報の出力が許可された場合にも同様の動作が実行され、アドレス生成部（ＡＤＤＲ）８９６によって生成されたＤＭＡアドレスがアドレス出力制御部７９４ａに出力されると共に、その時点におけるステータス信号の最新の更新内容を示すステータス更新情報が更新ステータスとしてステータス更新検出部８９２からデータ出力制御部７９４ｂに出力される。アドレス生成部（ＡＤＤＲ）８９６によって生成されるＤＭＡアドレスの初期値は、Ｉ／Ｏ装置（Ｂ）６３０のステータス更新情報を蓄積するためにメモリ６４１上に予め割り当てられた更新ステータス記憶領域の先頭位置を示すメモリアドレス、例えば０ｘ２０００であり、ステータス更新検出部８９２からの更新ステータスの出力の度に自動的にカウントアップされる。
【００２６】
次に、図５のタイミングチャートを参照して、本実施形態における割り込み通知処理の動作を具体的に説明する。
【００２７】
Ｉ／ＯステータスＤＭＡコントローラ６９０は、Ｉ／Ｏ装置（Ａ）６２０からのステータス出力信号６２８によってＩ／Ｏ装置（Ａ）６２０のステータス更新（“０００”−＞”００１”）、すなわち割り込み出力信号６２９のアサート、を検出すると、“００１”を更新ステータスとして含み、且つＤＭＡ転送によるデータの識別子として最上位ビットをセットした１バイトの更新ステータスデータを、予め設定されているＤＭＡアドレス“０ｘ１０００”にＤＭＡ転送する（ａ）。更新ステータスは、更新前ステータスと更新後ステータスとの差分であり、セットされたステータスビットを示す。メモリアドレス０ｘ１０００で指定されるメモリ６４１上の記憶位置には、図６に示すように、“０ｂ１００００＿００１”が格納される。ここで“０ｂ”は２進信号を示している。ＤＭＡ転送先のメモリ６４１上のバイトデータは、あらかじめ０ｂ００００００００で初期化しておき、ＤＭＡ転送によって最上位ビットがセットされたデータと区別できるようにしておく。
【００２８】
Ｉ／ＯステータスＤＭＡコントローラ６９０は、Ｉ／Ｏ装置（Ａ）６２０からのステータス出力信号６２８によってＩ／Ｏ装置（Ａ）６２０のステータス更新（“００１”−＞“０１１”）、すなわち第２ステータスビットがセットされたことを検出すると、ＤＭＡアドレス０ｘ１００１に更新ステータス（“０１０”）を含む更新ステータスデータをＤＭＡ転送する（ｂ）。これにより、メモリアドレス０ｘ１００１で指定されるメモリ６４１上の記憶位置には、図６に示すように、“０ｂ１００００＿０１０”が格納される。
【００２９】
Ｉ／ＯステータスＤＭＡコントローラ６９０は、Ｉ／Ｏ装置（Ｂ）６３０からのステータス出力信号６３８によってＩ／Ｏ装置（Ｂ）６３０のステータス更新（“０００”−＞“００１”）、すなわち割り込み出力信号６３９のアサートを検出し、Ｉ／Ｏ装置（Ａ）６２０に対する場合と同様にして、ＤＭＡアドレス０ｘ２０００へＤＭＡ転送を行う時点での更新ステータス（“１０１”）を含む更新ステータスデータをＤＭＡ転送する（ｃ）。これにより、メモリアドレス０ｘ２０００で指定されるメモリ６４１上の記憶位置には、図６に示すように、“０ｂ１００００＿１０１”が格納される。
【００３０】
Ｉ／ＯステータスＤＭＡコントローラ６９０は、Ｉ／Ｏ装置（Ｂ）６３０からのステータス出力信号６３８によってＩ／Ｏ装置（Ｂ）６３０のステータス更新（“１０１”−＞“１１１”）、すなわち第２ステータスビットがセットされたことを検出すると、ＤＭＡアドレス０ｘ２００１へ更新ステータス（“０１０”）を含む更新ステータスデータをＤＭＡ転送する（ｄ）。これにより、メモリアドレス０ｘ２００１で指定されるメモリ６４１上の記憶位置には、図６に示すように、“０ｂ１００００＿０１０”が格納される。
【００３１】
Ｉ／ＯステータスＤＭＡコントローラ６９０は、Ｉ／Ｏ装置（Ａ）６２０からのステータス出力信号６２８によってＩ／Ｏ装置（Ａ）６２０のステータス更新（“０１０”−＞“１００”）、すなわち第１ステータスビットがセットされたことを検出すると、ＤＭＡアドレス０ｘ１００２へ更新ステータス（“１００”）を含む更新ステータスデータをＤＭＡ転送する（ｅ）。これにより、メモリアドレス０ｘ１００２で指定されるメモリ６４１上の記憶位置には、図６に示すように、“０ｂ１００００＿１００”が格納される。
【００３２】
Ｉ／ＯステータスＤＭＡコントローラ６９０は、Ｉ／Ｏ装置（Ａ）６２０からのステータス出力信号６２８によってＩ／Ｏ装置（Ａ）６２０のステータス更新（“１００”−＞“０００”）、つまり全てのステータスビットのクリアを検出すると、Ｉ／Ｏ装置（Ａ）６２０で発生した割り込み発生要因それぞれに対応する処理が全て完了したことをプロセッサ６１０に通知するために、ＤＭＡアドレス０ｘ１００３へ更新ステータス（“０００”）を含む更新ステータスデータをＤＭＡ転送する（ｆ）。これにより、メモリアドレス０ｘ１００３で指定されるメモリ６４１上の記憶位置には、図６に示すように、“０ｂ１００００＿０００”が格納される。
【００３３】
Ｉ／ＯステータスＤＭＡコントローラ６９０は、Ｉ／Ｏ装置（Ｂ）６３０からのステータス出力信号６３８によってＩ／Ｏ装置（Ｂ）６３０のステータス更新（“０１０”−＞“０１１”）、つまり第３ステータスビットがセットされたことを検出すると、ＤＭＡアドレス０ｘ２００２へ更新ステータス（“００１”）を含む更新ステータスデータをＤＭＡ転送する（ｇ）。これにより、メモリアドレス０ｘ２００２で指定されるメモリ６４１上の記憶位置には、図６に示すように、“０ｂ１００００＿００１”が格納される。
【００３４】
Ｉ／ＯステータスＤＭＡコントローラ６９０は、Ｉ／Ｏ装置（Ｂ）６３０からのステータス出力信号６３８によってＩ／Ｏ装置（Ｂ）６３０のステータス更新（“００１”−＞“０００”）、つまり全てのステータスビットのクリアを検出すると、Ｉ／Ｏ装置（Ｂ）６３０で発生した割り込み発生要因それぞれに対応する処理が全て完了したことをプロセッサ６１０に通知するために、ＤＭＡアドレス０ｘ２００３へ更新ステータス（“０００”）を含む更新ステータスデータをＤＭＡ転送する（ｈ）。これにより、メモリアドレス０ｘ２００３で指定されるメモリ６４１上の記憶位置には、図６に示すように、“０ｂ１００００＿０００”が格納される。
【００３５】
次に、プロセッサ６１０によって実行される割り込み処理の動作例を説明する。
【００３６】
（０）  プロセッサ６１０は割り込みコントローラ６５０からの割り込み出力信号６５９のアサートを検出すると、割り込み処理ソフトウェアを呼び出す。
【００３７】
（１）  割り込み処理ソフトウェアは、割り込みコントローラ６５０のステータスレジスタを参照して割り込み出力信号をアサートしているＩ／Ｏ装置を判別し、そのＩ／Ｏ装置に対応するＩ／Ｏ装置処理ソフトウェアを呼び出す。
【００３８】
（２）  Ｉ／Ｏ装置処理ソフトウェアは、それに対応するＩ／Ｏ装置用に割り当てられたメモリ６４１上の記憶領域から更新ステータスデータをリードする。そして、新たにセットされた更新ステータスに対応する処理を実行し、その処理が完了するたびに該当するＩ／Ｏ装置内のステータスレジスタのステータスビットをリセットする。
【００３９】
（３）  Ｉ／Ｏ装置処理ソフトウェアは、更新ステータスデータによって全てのステータスのクリアが確認されると、処理を終了する。
【００４０】
（４）  もし割り込みコントローラ６５０からの割り込み出力信号６５９がアサートされ続けていれば、割り込み処理ソフトウェアは割り込みコントローラ６５０のステータスレジスタを参照して、割り込み出力信号をアサートしている他のＩ／Ｏ装置を判別し、そのＩ／Ｏ装置に対応するＩ／Ｏ装置処理ソフトウェアを呼び出す。
【００４１】
（５）  Ｉ／Ｏ装置処理ソフトウェアは、それに対応するＩ／Ｏ装置用に割り当てられたメモリ６４１上の記憶領域から更新ステータスデータをリードする。そして、新たにセットされた更新ステータスに対応する処理を実行し、その処理が完了するたびに該当するＩ／Ｏ装置内のステータスレジスタのステータスビットをリセットする。
【００４２】
（６）  Ｉ／Ｏ装置処理ソフトウェアは、更新ステータスデータによって全てのステータスのクリアが確認されると、処理を終了する。
【００４３】
以上のように、本実施形態によれば、Ｉ／ＯステータスＤＭＡコントローラ６９０によって更新ステータスデータを自動的にメモリ６４１にＤＭＡ転送することにより、プロセッサ６１０はＩ／Ｏ装置のステータスレジスタを参照することなく、割り込み発生要因を調べることが出来る。よって、プロセッサ６１０は、メモリ６４１を参照するだけで、Ｉ／Ｏ装置で発生した割り込み発生要因それぞれに対応する処理を逐次実行することが可能となる。
【００４４】
次に、図７乃至図１１を参照して、本発明の第２実施形態を説明する。
図７には、第２実施形態に係るコンピュータのシステム構成が示されている。この第２実施形態においては、第１実施形態で説明した割り込みコントローラが割り込み出力コントローラ１７０と割り込み入力コントローラ１６０とに分割されており、各Ｉ／Ｏ装置からの割り込み出力の発生は割り込みパケットによって割り込み出力コントローラ１７０から割り込み入力コントローラ１６０に転送される。以下、このコンピュータの構成を具体的に説明する。
【００４５】
すなわち、図７に示されているように、このコンピュータは、プロセッサ１１０、Ｉ／Ｏ装置（Ａ）１２０、Ｉ／Ｏ装置（Ｂ）１３０、メモリコントローラ１４０、メモリ１４１、Ｉ／Ｏコントローラ１４２、割り込み入力コントローラ１６０、割り込み出力コントローラ１７０、およびＩ／ＯステータスＤＭＡコントローラ１８０を備えている。
【００４６】
プロセッサ１１０は本コンピュータの動作を制御するＣＰＵであり、メモリ１４１に格納された各種プログラムを実行する。プロセッサ１４１はプロセッサバスから構成される超高速バス１４６を介してメモリコントローラ１４０に接続されている。メモリコントローラ１４０はメモリ１４１に対するアクセス制御および割り込み入力コントローラ１６０への割り込みパケット転送を実行するデバイスである。このメモリコントローラ１４０は、超高速バス１４６と高速バス１４７との間を双方向で接続するバスブリッジとして機能する。メモリ１４１は本コンピュータの主記憶であり、プロセッサ１１０によって実行される各種プログラムおよびデータを格納する。
【００４７】
Ｉ／Ｏコントローラ１４２はＩ／Ｏバス１４８上の各種デバイスを制御するデバイスであり、高速バス１４７とそれよりも低速のＩ／Ｏバス１４８との間を双方向で接続するバスブリッジとしても機能する。Ｉ／Ｏバス１４８上には、図示のように、Ｉ／Ｏ装置（Ａ）１２０、Ｉ／Ｏ装置（Ｂ）１３０、割り込み出力コントローラ１７０、およびＩ／ＯステータスＤＭＡコントローラ１８０が接続されている。
【００４８】
Ｉ／Ｏ装置（Ａ）１２０，Ｉ／Ｏ装置（Ｂ）１３０それぞれからの割り込み出力信号１２９，１３９は、割り込み出力コントローラ１７０に入力される。またＩ／Ｏ装置（Ａ）１２０，Ｉ／Ｏ装置（Ｂ）１３０それぞれからのステータス出力信号１２８，１３８は、割り込み出力コントローラ１７０およびＩ／ＯステータスＤＭＡコントローラ１８０の双方に入力される。これらステータス出力信号６２８，６３８は、Ｉ／Ｏ装置（Ａ）１２０，Ｉ／Ｏ装置（Ｂ）１３０それぞれの割り込み発生要因を示すステータス信号である。
【００４９】
Ｉ／Ｏ装置（Ａ）１２０，Ｉ／Ｏ装置（Ｂ）１３０からの割り込み出力信号１２９，１３９それぞれのアサートは、割り込み出力コントローラ１７０により検出され、Ｉ／Ｏ装置からの割り込み信号出力の検出に関する情報は割り込みパケットとしてＩ／Ｏバス１４８に出力され、Ｉ／Ｏコントローラ１４２、高速バス１４７、メモリコントローラ１４０を経由して割り込み入力コントローラ１６０に転送される。
【００５０】
割り込み入力コントローラ１６０は、割り込みパケットを受信すると、その受信した割り込みパケットをプロセッサ１１０からアクセス可能なように蓄積するとともに、割り込みパケットを入力したことを割り込み出力信号１６９によりプロセッサ１１０に通知する。またＩ／Ｏ装置（Ａ）１２０，Ｉ／Ｏ装置（Ｂ）１３０からの割り込み出力信号１２９，１３９がアサートされている間、Ｉ／ＯステータスＤＭＡコントローラ１８０は、割り込み出力を発生したＩ／Ｏ装置毎に、そのステータス信号１２８，１３８を監視し、ステータス出力信号の更新が行われる度に、当該更新されたステータス出力信号の内容を示すステータス更新情報をＤＭＡ転送によってメモリ１４１上の所定の記憶領域に順次転送する。メモリ１４１上には、ステータス更新情報を蓄積するための２つの記憶領域が予め割り当てられている。一方の記憶領域はＩ／Ｏ装置（Ａ）１２０に関するステータス更新情報の蓄積に利用され、他方の記憶領域はＩ／Ｏ装置（Ｂ）１３０に関するステータス更新情報の蓄積に利用される。また、割り込み出力コントローラ１７０およびＩ／ＯステータスＤＭＡコントローラ１８０は、通知信号１９５によって互いの状態を相手に通知することができる。
【００５１】
Ｉ／Ｏ装置（Ａ）１２０，Ｉ／Ｏ装置（Ｂ）１３０の構成は、図２、図３で説明したＩ／Ｏ装置（Ａ）６２０，Ｉ／Ｏ装置（Ｂ）６３０それぞれと同一である。
【００５２】
次に、図８を参照して、割り込み出力コントローラ１７０、Ｉ／ＯステータスＤＭＡコントローラ１８０、および割り込み入力コントローラ１６０それぞれの構成と、それらの動作について説明する。
【００５３】
割り込み出力コントローラ１７０は、Ｉ／Ｏ装置（Ａ）１２０，Ｉ／Ｏ装置（Ｂ）１３０それぞれに対応する割り込み出力検出部４７２，５７２を備えている。割り込み出力検出部４７２はＩ／Ｏ装置（Ａ）１２０からの割り込み出力信号１２９のアサートを検出し、また割り込み出力検出部５７２はＩ／Ｏ装置（Ｂ）１３０からの割り込み出力信号１３９のアサートを検出する。割り込み出力検出部４７２，５７２の各々は、対応するＩ／Ｏ装置からの割り込み出力信号１２９，１３９のアサートを検出すると、割り込み出力検出信号４７２ａをアービタ処理部４７３に通知して、割り込みパケットの出力をアービタ処理部４７３に要求する。アービタ処理部４７３は、割り込み出力検出部４７２，５７２それぞれからの要求を一つずつ割り込みパケット出力制御部４７４に通知して、割り込み信号出力をアサートしたＩ／Ｏ装置に関する割り込みパケットを、割り込みパケット出力制御部４７４にＩ／Ｏバス１４８上に出力させる。割り込みパケットには、割り込み出力信号のアサートを検出した割り込み出力検出部４７２または５７２に対応するＩ／Ｏ装置を示すＩ／Ｏ識別子と、当該Ｉ／Ｏ装置からのステータス出力信号の内容が含まれる。
【００５４】
割り込みパケット出力制御部４７４からあるＩ／Ｏ装置に関する割り込みパケットを出力すると、アービタ処理部４７３は、当該Ｉ／Ｏ装置に対応する割り込み出力検出部４７２または５７２に対して割り込みパケット出力通知信号４７２ｂを出力して割り込みパケットを出力したことを通知すると共に、Ｉ／ＯステータスＤＭＡコントローラ１８０内に設けられた当該Ｉ／Ｏ装置に対応するステータス更新検出部４８２または５８２に割り込みパケット出力通知信号４７５を出力して割り込みパケットを出力したことを通知する。
【００５５】
割り込み入力コントローラ１６０は、割り込み出力コントローラ１７０から送られてきた割り込みパケットを入力し、それを割り込みパケット検出蓄積部４６２に蓄積するとともに、プロセッサ１１０への割り込み出力信号１６９をアサートして、割り込みパケットを入力したこと、つまりＩ／Ｏ装置（Ａ）１２０またはＩ／Ｏ装置（Ｂ）１３０から割り込み出力信号が発生されたことをプロセッサ１１０に通知する。割り込みパケット検出蓄積部４６２には複数の割り込みパケットを蓄積することができる。また、割り込みパケット検出蓄積部４６２は、プロセッサ１１０からアクセスできるように構成されている。割り込み出力信号１６９の発生は、コントロールレジスタ４６１によって許可／禁止することができる。
【００５６】
Ｉ／ＯステータスＤＭＡコントローラ１８０には、Ｉ／Ｏ装置（Ａ）１２０，Ｉ／Ｏ装置（Ｂ）１３０それぞれに対応するステータス更新検出部４８２，５８２が設けられている。これらステータス更新検出部４８２，５８２は、割り込み出力コントローラ１７０より割り込みパケット出力通知信号４７５による通知を受けると、対応するＩ／Ｏ装置（Ａ）１２０，Ｉ／Ｏ装置（Ｂ）１３０からのステータス出力信号１２８，１３８の監視、つまりステータス出力信号１２８，１３８の更新検出を開始する。ステータス更新検出部４８２，５８２それぞれからのステータス更新検出の通知はアービタ処理部４８３によって調停される。即ち、ステータス更新検出部４８２，５８２の各々は、対応するＩ／Ｏ装置からのステータス出力信号１２８，１３８の更新を検出すると、ステータス更新検出信号４８２ａをアービタ処理部４８３に通知することにより、更新されたステータス信号の内容を示すステータス更新情報の出力許可をアービタ処理部４８３に要求する。
【００５７】
今、アービタ処理部４８３によってステータス更新検出部４８２に対してステータス更新情報の出力が許可されたとする。この場合、ステータス更新ＤＭＡ出力通知信号４８２ｂがアービタ処理部４８３からステータス更新検出部４８２に供給される。ステータス更新検出部４８２は、それに対応するアドレス生成部（ＡＤＤＲ）４８６を用いてＤＭＡアドレス４８６ａを生成してそれをアドレス出力制御部４８４ａに出力すると共に、その時点におけるステータス信号の最新の更新内容を示すステータス更新情報を更新ステータス４８２ｄとしてデータ出力制御部４８４ｂに出力する。これにより、更新ステータスを含むデータは、アドレス出力制御部４８４ａおよびデータ出力制御部４８４ｂの制御の下、アドレス生成部４８６によって生成されたＤＭＡアドレス４８６ａで指定されるメモリ１４１上の記憶領域にＤＭＡ転送される。
【００５８】
アドレス生成部（ＡＤＤＲ）４８６によって生成されるＤＭＡアドレスの初期値は、Ｉ／Ｏ装置（Ａ）１２０のステータス更新情報を蓄積するためにメモリ１４１上に予め割り当てられた更新ステータス記憶領域の先頭位置を示すメモリアドレス、例えば０ｘ１０００であり、ステータス更新検出部４８２からの更新ステータスの出力の度に自動的にカウントアップされる。ＤＭＡアドレスの初期値は、例えば、コントロールレジスタ４８１を介してアドレス生成部（ＡＤＤＲ）４８６に設定することができる。
【００５９】
また、ステータス更新検出部４８２は、Ｉ／Ｏ装置（Ａ）１２０からのステータス出力信号１２８によって全てのステータスビットがクリアされたことを検出した場合には、そのことを示す更新ステータスを含むデータをメモリ１４１上にＤＭＡ転送するとともに、全てのステータスビットがクリアされたことをステータスクリアＤＭＡ出力信号４８５によって割り込み出力コントローラ１７０の割り込み出力検出部４７２に通知する。
【００６０】
アービタ処理部４８３によってステータス更新検出部５８２に対してステータス更新情報の出力が許可された場合にも同様の動作が実行され、アドレス生成部（ＡＤＤＲ）５８６によって生成されたＤＭＡアドレスがアドレス出力制御部４８４ａに出力されると共に、その時点におけるステータス信号の最新の更新内容を示すステータス更新情報が更新ステータスとしてステータス更新検出部５８２からデータ出力制御部４８４ｂに出力される。アドレス生成部（ＡＤＤＲ）５８６によって生成されるＤＭＡアドレスの初期値は、Ｉ／Ｏ装置（Ｂ）１３０のステータス更新情報を蓄積するためにメモリ１４１上に予め割り当てられた更新ステータス記憶領域の先頭位置を示すメモリアドレス、例えば０ｘ２０００であり、ステータス更新検出部５８２からの更新ステータスの出力の度に自動的にカウントアップされる。
【００６１】
また、ステータス更新検出部５８２は、Ｉ／Ｏ装置（Ｂ）１３０からのステータス出力信号１３８によって全てのステータスビットがクリアされたことを検出した場合には、そのことを示す更新ステータスを含むデータをメモリ１４１上にＤＭＡ転送するとともに、全てのステータスビットがクリアされたことをステータスクリアＤＭＡ出力信号によって割り込み出力コントローラ１７０の割り込み出力検出部５７２に通知する。
【００６２】
次に、図９のタイミングチャートを参照して、本第２実施形態における割り込み通知処理の動作を具体的に説明する。
【００６３】
割り込み出力コントローラ１７０は、Ｉ／Ｏ装置（Ａ）１２０に対応する割り込み出力検出部４７２により、Ｉ／Ｏ装置（Ａ）１２０からの割り込み出力信号１２９のアサートを検出すると、Ｉ／ＯステータスＤＭＡコントローラ１８０に設けられたＩ／Ｏ装置（Ａ）１２０に対応するステータス更新検出部４８２からのステータスクリアＤＭＡ出力通知信号がアサートされていることを条件に、Ｉ／Ｏ装置（Ａ）１２０からのステータス出力信号の情報（“００１”）とＩ／Ｏ装置（Ａ）１２０の識別子とを含む割り込みパケットを割り込み入力コントローラ１６０へ出力する（ａ）。これにより、割り込み入力コントローラ１６０の割り込みパケット検出蓄積部４６２には、図１０に示すように、Ｉ／Ｏ装置（Ａ）１２０からの割り込み出力に関する割り込みパケットの情報が格納される。
【００６４】
割り込み出力コントローラ１７０は、Ｉ／Ｏ装置（Ａ）１２０に対応する割り込みパケット出力通知信号４７５をアサートする。これにより、Ｉ／ＯステータスＤＭＡコントローラ１８０は、割り込み出力信号を発生したＩ／Ｏ装置（Ａ）１２０に対応するステータス更新の検出を開始するとともに、ステータスクリアＤＭＡ出力通知信号４８５をデアサートする。
【００６５】
Ｉ／ＯステータスＤＭＡコントローラ１８０は、Ｉ／Ｏ装置（Ａ）１２０からのステータス出力信号１２８によってＩ／Ｏ装置（Ａ）１２０のステータス更新（“００１”−＞“０１１”）、すなわち第２ステータスビットがセットされたことを検出すると、“０１０”を更新ステータスとして含み、且つＤＭＡ転送によるデータの識別子として最上位ビットをセットした１バイトの更新ステータスデータを、予め設定されているＤＭＡアドレス“０ｘ１０００”にＤＭＡ転送する（ｂ）。更新ステータスは、更新前ステータスと更新後ステータスとの差分であり、セットされたステータスビットを示す。メモリアドレス０ｘ１０００で指定されるメモリ１４１上の記憶位置には、図１１に示すように、“０ｂ１００００＿０１０”が格納される。ＤＭＡ転送先のメモリ１４１上のバイトデータは、あらかじめ０ｂ００００００００で初期化しておき、ＤＭＡ転送によって最上位ビットがセットされたデータと区別できるようにしておく。
【００６６】
割り込み出力コントローラ１７０は、Ｉ／Ｏ装置（Ｂ）１３０に対応する割り込み出力検出部５７２により、Ｉ／Ｏ装置（Ｂ）１３０からの割り込み出力信号１３９のアサートを検出すると、Ｉ／ＯステータスＤＭＡコントローラ１８０に設けられたＩ／Ｏ装置（Ｂ）１３０に対応するステータス更新検出部５８２からのステータスクリアＤＭＡ出力通知信号がアサートされていることを条件に、Ｉ／Ｏ装置（Ｂ）１３０からのステータス出力信号の情報（“１０１”）とＩ／Ｏ装置（Ｂ）１３０の識別子とを含む割り込みパケットを割り込み入力コントローラ１６０へ出力する（ｃ）。これにより、割り込み入力コントローラ１６０の割り込みパケット検出蓄積部４６２には、図１０に示すように、Ｉ／Ｏ装置（Ｂ）１３０からの割り込み出力に関する割り込みパケットの情報が格納される。
【００６７】
割り込み出力コントローラ１７０は、Ｉ／Ｏ装置（Ｂ）１３０に対応する割り込みパケット出力通知信号をアサートする。これにより、Ｉ／ＯステータスＤＭＡコントローラ１８０は、割り込み出力信号を発生したＩ／Ｏ装置（Ｂ）１３０に対応するステータス更新の検出を開始するとともに、Ｉ／Ｏ装置（Ｂ）１３０に対応する割り込み出力検出部５７２へのステータスクリアＤＭＡ出力通知信号をデアサートする。
【００６８】
Ｉ／ＯステータスＤＭＡコントローラ１８０は、Ｉ／Ｏ装置（Ｂ）１３０からのステータス出力信号１３８によってＩ／Ｏ装置（Ｂ）１３０のステータス更新（“１０１”−＞“１１１”）、つまり第２ステータスビットがセットされたことを検出すると、Ｉ／Ｏ装置（Ａ）１２０に対応する場合と同様にして、ＤＭＡアドレス０ｘ２０００へ更新ステータス（“０１０”）を転送する（ｄ）。これにより、メモリアドレス０ｘ２０００で指定されるメモリ１４１上の記憶位置には、図１１に示すように、“０ｂ１００００＿０１０”が格納される。
【００６９】
Ｉ／ＯステータスＤＭＡコントローラ１８０は、Ｉ／Ｏ装置（Ａ）１２０からのステータス出力信号１２８によってＩ／Ｏ装置（Ａ）１２０のステータス更新（“０１０”−＞“１００”）、つまり第１ステータスビットがセットされたことを検出すると、ＤＭＡアドレス０ｘ１００１へ更新ステータス（“１００”）を転送する（ｅ）。これにより、メモリアドレス０ｘ１００１で指定されるメモリ１４１上の記憶位置には、図１１に示すように、“０ｂ１００００＿１００”が格納される。
【００７０】
Ｉ／ＯステータスＤＭＡコントローラ１８０は、Ｉ／Ｏ装置（Ａ）１２０からのステータス出力信号１２８によってＩ／Ｏ装置（Ａ）１２０のステータスクリア（“１００”−＞“０００”）を検出すると、ＤＭＡアドレス０ｘ１００２へ更新ステータス（“０００”）を転送する（ｆ）。これにより、メモリアドレス０ｘ１００２で指定されるメモリ１４１上の記憶位置には、図１１に示すように、“０ｂ１００００＿０００”が格納される。そして、Ｉ／ＯステータスＤＭＡコントローラ１８０は、Ｉ／Ｏ装置（Ａ）１２０に対応するステータスクリアＤＭＡ出力信号をアサートし、割り込み出力コントローラ１７０は対応する割り込みパケット出力通知信号をデアサートする。
【００７１】
Ｉ／ＯステータスＤＭＡコントローラ１８０は、Ｉ／Ｏ装置（Ｂ）１３０からのステータス出力信号１３８によってＩ／Ｏ装置（Ｂ）１３０のステータス更新（“０１０”−＞“０１１”）、つまり第３ステータスビットがセットされたことを検出すると、ＤＭＡアドレス０ｘ２００１へ更新ステータス（“００１”）を転送する（ｇ）。これにより、メモリアドレス０ｘ２００１で指定されるメモリ１４１上の記憶位置には、図１１に示すように、“０ｂ１００００＿００１”が格納される。
【００７２】
Ｉ／ＯステータスＤＭＡコントローラ１８０は、Ｉ／Ｏ装置（Ｂ）１３０からのステータス出力信号１３８によってＩ／Ｏ装置（Ｂ）１３０のステータスクリア（“００１”−＞“０００”）を検出すると、ＤＭＡアドレス０ｘ２００２へ更新ステータス（“０００”）を転送する（ｈ）。これにより、メモリアドレス０ｘ２００２で指定されるメモリ１４１上の記憶位置には、図１１に示すように、“０ｂ１００００＿０００”が格納される。そして、Ｉ／ＯステータスＤＭＡコントローラ１８０は、Ｉ／Ｏ装置（Ｂ）１３０に対応するステータスクリアＤＭＡ出力信号をアサートし、割り込み出力コントローラ１７０は対応する割り込みパケット出力通知信号をデアサートする。
【００７３】
次に、プロセッサ１１０によって実行される割り込み処理の動作例を説明する。
（０）  プロセッサ１１０は割り込み入力コントローラ１６０からの割り込み出力信号１６９のアサートを検出すると、割り込み処理ソフトウェアを呼び出す。
【００７４】
（１）  割り込み処理ソフトウェアは、割り込み入力コントローラ１６０のコントロールレジスタ４６１により割り込み出力信号１６９の発生を禁止する。
（２）  割り込み処理ソフトウェアは、割り込み入力コントローラ１６０の割り込みパケット検出蓄積部４６２の割り込みパケットデータをリードして、割り込み出力を発生したＩ／Ｏ装置を判別し、対応するＩ／Ｏ装置処理ソフトウェアを呼び出す。
【００７５】
（３．１）  Ｉ／Ｏ装置処理ソフトウェアは、対応するＩ／Ｏ装置のコントロールレジスタにより割り込み出力信号を禁止する。
（３．２）  Ｉ／Ｏ装置処理ソフトウェアは、割り込み処理ソフトウェアから割り込みパケットデータ中のステータスを受け取り、セットされている各ステータスに対応する処理を行う。そして、各ステータスに対応する処理が完了する度に、該当するＩ／Ｏ装置内の対応するステータスレジスタのステータスビットをリセットする。
【００７６】
（３．３）  Ｉ／Ｏ装置処理ソフトウェアは、それに対応するＩ／Ｏ装置用に割り当てられたメモリ６４１上の記憶領域から更新ステータスデータをリードする。そして、新たにセットされた更新ステータスに対応する処理を実行し、その処理が完了するたびに該当するＩ／Ｏ装置内のステータスレジスタのステータスビットをリセットする。
【００７７】
（３．４）  Ｉ／Ｏ装置処理ソフトウェアは、更新ステータスデータによって全てのステータスのクリアが確認されると、対応するＩ／Ｏ装置のコントロールレジスタにより割り込み出力信号を許可する。そしてＩ／Ｏ装置処理ソフトウェアは、その処理を終了する。
【００７８】
（４）  割り込み処理ソフトウェアは、割り込み入力コントローラ１６０のコントロールレジスタにより割り込み出力信号１６９の発生を許可すると同時に処理を終了する。
【００７９】
以上のように、本第２実施形態によれば、Ｉ／ＯステータスＤＭＡコントローラ１８０によって更新ステータスデータを自動的にメモリ１４１にＤＭＡ転送するだけでなく、割り込み出力信号を発生したＩ／Ｏ装置を示す情報を割り込みパケットとして割り込み出力コントローラ１７０から割り込み入力コントローラ１６０に転送することにより、割り込み出力信号を発生したＩ／Ｏ装置の判別についても効率よく実行することが可能となる。
【００８０】
なお、本第２実施形態においては、更新ステータスを割り込みパケットに付加して割り込み入力コントローラ１６０に転送したが、全ての更新ステータスをＩ／ＯステータスＤＭＡコントローラ１８０によるＤＭＡ転送によってメモリ１４１に転送するようにしてもよい。
【００８１】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００８２】
【発明の効果】
以上説明したように、本発明によれば、Ｉ／Ｏ装置で発生した割り込み発生要因をプロセッサに効率よく通知することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る情報処理装置の構成を示すブロック図。
【図２】同実施形態の情報処理装置で使用されるＩ／Ｏ装置（Ａ）の構成例を示す図。
【図３】同実施形態の情報処理装置で使用されるＩ／Ｏ装置（Ｂ）の構成例を示す図。
【図４】同実施形態の情報処理装置で使用されるＩ／ＯステータスＤＭＡコントローラの構成例を示すブロック図。
【図５】同実施形態の情報処理装置における割り込み通知処理の動作を示すタイミングチャート。
【図６】同実施形態の情報処理装置のメモリに格納された更新ステータスデータの例を示す図。
【図７】本発明の第２実施形態に係る情報処理装置の構成を示すブロック図。
【図８】同第２実施形態に係る情報処理装置で使用される割り込み出力コントローラ、Ｉ／ＯステータスＤＭＡコントローラ、および割り込み入力コントローラそれぞれの構成を示すブロック図。
【図９】同第２実施形態の情報処理装置における割り込み通知処理の動作を示すタイミングチャート。
【図１０】同第２実施形態の情報処理装置の割り込み入力コントローラに蓄積される割り込みパケットの例を示す図。
【図１１】同第２実施形態の情報処理装置のメモリに格納された更新ステータスデータの例を示す図。
【符号の説明】
１１０，６１０…プロセッサ、１２０，１３０，６２０，６３０…Ｉ／Ｏ装置、１４１，６４１…メモリ、１６０…割り込み入力コントローラ、１７０…割り込み出力コントローラ、１８０，６９０…Ｉ／ＯステータスＤＭＡコントローラ、６５０…割り込みコントローラ。
【図１】
2004355543.tif 000003
【図２】
2004355543.tif 000004
【図３】
2004355543.tif 000005
【図４】
2004355543.tif 000006
【図５】
2004355543.tif 000007
【図６】
2004355543.tif 000008
【図７】
2004355543.tif 000009
【図８】
2004355543.tif 000010
【図９】
2004355543.tif 000011
【図１０】
2004355543.tif 000012
【図１１】
2004355543.tif 000013