(57)【特許請求の範囲】
【請求項１】
複数のＣＰＵを備え、該複数のＣＰＵのいずれもが実行可能な割込みとしての浮動割込みを保留できる情報処理装置において、浮動割込みの保留の有無を示す信号を常に前記複数のＣＰＵに送る割込み保留信号生成手段と、該各ＣＰＵに備えられ、割込み条件変更命令が発行され、かつ該割込み保留信号生成手段の出力が割込みの保留なしを示している時、該割込み条件変更命令を直ちに自ＣＰＵに実行させる割込み条件変更命令実行制御手段とを備えることを特徴とする浮動割込みを保留できる情報処理装置。
【請求項２】
プロセスの処理に対応するドメインがそれぞれディスパッチされる複数のＣＰＵを備え、該複数のＣＰＵのいずれもが実行可能な割込みとしての浮動割込みを保留できる情報処理装置において、該ドメインのそれぞれに対応して浮動割込みの保留の有無を示す信号を常に前記複数のＣＰＵに送るドメイン毎割込み保留信号生成手段と、該各ＣＰＵに備えられ、該ドメイン毎割込み保留信号生成手段からの信号を用いて、自ＣＰＵがディスパッチされているドメインに対応する浮動割込みの保留の有無を判定する割込み保留判定手段と、前記各ＣＰＵに備えられ、割込み条件変更命令が発行され、かつ前記割込み保留判定手段が自ＣＰＵがディスパッチされているドメインに対する割込みの保留がないと判定した時、該割込み条件変更命令を直ちに自ＣＰＵに実行させる割込み条件変更命令実行制御手段とを備えることを特徴とする浮動割込みを保留できる情報処理装置。
【請求項３】
複数のＣＰＵを備え、該複数のＣＰＵのいずれもが実行可能な割込みとしての浮動割込みを保留できる情報処理装置における割込み条件変更命令実行方法であって、浮動割込みの保留の有無を示し、常に送られて来る信号を受け取り、割込み条件変更命令が発行され、かつ前記信号が割込みの保留なしを示している時、該割込み条件変更命令を直ちに実行することを特徴とする割込み条件変更命令実行方法。
【請求項４】
プロセスの処理に対応するドメインがそれぞれディスパッチされる複数のＣＰＵを備え、該複数のＣＰＵのいずれもが実行可能な割込みとしての浮動割込みを保留できる情報処理装置における割込み条件変更命令実行方法であって、該ドメインのそれぞれに対応して浮動割込みの保留の有無を示し、常に送られて来る信号を受け取り、該受け取った信号を用いて、自ＣＰＵがディスパッチされているドメインに対応する浮動割込みの保留の有無を判定し、割込み条件変更命令が発行され、かつ前記判定の結果自ＣＰＵがディスパッチされているドメインに対する割込みの保留がないと判定された時、該割込み条件変更命令を直ちに実行することを特徴とする割込み条件変更命令実行方法。
【請求項５】
複数のＣＰＵを備え、該複数のＣＰＵのいずれもが実行可能な割込みとしての浮動割込みを保留できる情報処理装置において使用される記憶媒体であって、浮動割込みの保留の有無を示し、常に送られて来る信号を受け取るステップと、割込み条件変更命令が発行され、かつ前記信号が割込みの保留なしを示している時、該割込み条件変更命令を直ちに実行するステップとをコンピュータに実行させるためのプログラムを格納したコンピュータ読取り可能可搬型記憶媒体。
【請求項６】
プロセスの処理に対応するドメインがそれぞれディスパッチされる複数のＣＰＵを備え、該複数のＣＰＵのいずれもが実行可能な割込みとしての浮動割込みを保留できる情報処理装置において使用される記憶媒体であって、該ドメインのそれぞれに対応して浮動割込みの保留の有無を示し、常に送られて来る信号を受け取るステップと、該受け取った信号を用いて、自ＣＰＵがディスパッチされているドメインに対応する浮動割込みの保留の有無を判定するステップと、割込み条件変更命令が発行され、かつ前記判定の結果自ＣＰＵがディスパッチされているドメインに対する割込みの保留がないと判定された時、該割込み条件変更命令を直ちに実行するステップとをコンピュータに実行させるためのプログラムを格納したコンピュータ読取り可能な可搬型記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は複数のＣＰＵを備えた情報処理装置に係り、更に詳しくは、複数のＣＰＵのいずれもが実行可能な割込みとしての浮動割込みの保留がない場合に割込み条件変更命令を直ちに実行する情報処理装置に関する。
【０００２】
【従来の技術】
複数のＣＰＵを備える情報処理装置において、ＣＰＵに割込み処理を実行させる場合に各種の種類がある。例えば特定のＣＰＵを指定して割込み処理を行わせる場合や、全てのＣＰＵに割込み処理を行わせるブロードキャスト割込みの場合や、複数のＣＰＵのうち、どのＣＰＵに割込み処理を行わせてもよい浮動割込み（イベント的に来る割込み）の場合などがある。本発明では、この浮動割込みの保留が行われる情報処理装置を対象とする。
【０００３】
一般に割込みの処理は直ちに実行されるとは限らず、その実行が保留されることがある。複数のＣＰＵのうちで、例えば１つのＣＰＵがプログラム内の割込み条件変更命令を解読し、その命令を実行しようとする場合を考える。この割込み条件変更命令とは、例えば後述する割込み許可マスクを変更するような命令である。
【０００４】
一般にこの割込み条件変更命令を実行する場合には、情報処理装置内に現在の割込み条件で処理すべき割込みが保留されているかいないかを調べ、処理すべき割込みが保留されていればその割込み処理を行ってから、また処理すべき割込みが保留されていなければ直ちにその命令を実行することになる。
【０００５】
このように保留されている浮動割込みの処理について、入出力割込みを浮動割込みの１つの例として、従来の処理方式を説明する。図１３は保留されている入出力割込みの処理を説明するための情報処理装置の基本構成ブロック図である。同図において情報処理装置は入出力プロセッサ（ＩＯＰ）５０、例えば主記憶などの記憶装置を制御するためのメモリコントロールユニット（ＭＣＵ）５１、複数の中央処理装置（ＣＰＵ）５２0 〜５２n から構成されている。各ＣＰＵ５２0 〜５２n の中には、それぞれのＣＰＵにおける命令の制御を行う命令制御部５３0 〜５３n が設けられている。
【０００６】
図１３において入出力割込み、例えば複数の入出力チャネルのそれぞれに対応する割込みは、浮動割込みとしてＩＯＰ５０から、例えばその保留を示す信号と共にＭＣＵ５１に送られる。ＭＣＵ５１の内部では、後述するペンディングラッチの内部に、それぞれチャネルに対応して浮動割込みが保留されているかいないかを示すデータが記憶される。
【０００７】
一方割込み条件を変更する割込み条件変更命令は、複数のＣＰＵ５２0 〜５２n のうち例えば１つのＣＰＵによって解読され、その命令を実行する必要性が生じる。浮動割込みは前述のようにどのＣＰＵが処理を行ってもよいものであり、このためこの時点で各ＣＰＵの内部の命令制御部５３0 〜５３n は、それぞれその内部に記憶されている割込み許可マスク、すなわち各入出力チャネルに対応してそのＣＰＵに対して割込みが許可されているかいないかを示すマスクの値をＭＣＵ５１に送る。
【０００８】
この割込み許可マスクと前述のペンディングラッチには、各チャネルに対応して１対１に対応するデータが格納されているため、ＭＣＵは保留されている浮動割込みに対応する入出力チャネルのマスクの値が例えば１であり、かつ優先順位が一番高いＣＰＵの内部の命令制御部に対して割込み処理要求信号（トリガ信号）を送信し、その命令制御部によって制御されるＣＰＵはこのトリガ信号の受信を契機として割込み処理を開始する。
【０００９】
図１４は従来における割込み条件変更命令処理のフローチャートである。同図において処理が開始されるとまずステップＳ１０で例えばある１つのＣＰＵによって割込み条件変更命令が解読され、その命令の実行の必要性が生じる。するとステップＳ１１で各ＣＰＵの命令制御部から割込み許可マスクがＭＣＵに送信され、ＭＣＵ側ではその割込み条件変更命令の実行の前に、保留されている浮動割込みがあれば、それを処理させるＣＰＵを選択して、そのＣＰＵに対してトリガ信号を送信するための選択処理を開始する。
【００１０】
各ＣＰＵ側の命令制御部においては、割込み許可マスクを送信した時点（Ｓ１１）で、ＭＣＵ側から送られる可能性のあるトリガ信号を待つために、カウンタ、例えば後述するプロセスウエイトカウンタを起動し、ステップＳ１２でそのカウンタがタイムアウトしたか否かを判定し、まだタイムアウトしていない場合にはステップＳ１３でトリガ信号が送信されてきたか否かを判定し、トリガ信号がきていない場合にはステップＳ１２以降の処理を繰り返す。
【００１１】
そしてステップ１２でカウンタがタイムアウトにならない前に、ステップＳ１３でトリガ信号が送信されてきたと判定されると、ステップＳ１４で保留されていた割込みの処理が、トリガ信号を受信した、すなわち選択されたＣＰＵによって実行される。選択されなかったＣＰＵではステップＳ１２でカウンタがタイムアウトになったと判定された時点でステップＳ１５の割込み条件変更命令が実行され、例えば命令制御部内に格納されている割込み許可マスクの書換えが行われる。
【００１２】
図１５は図１３に対応して、特にＭＣＵの構成を詳細に示した情報処理装置の構成ブロック図である。同図において保留されている浮動割込みの処理について説明する。同図においてまず▲１▼でＩＯＰ５０から入出力（ＩＯ）割込みを保留する信号（セットペンディング）と共に、例えば１２８個の入出力チャネルのうちどのチャネルに対応する割込みであるかを示すＩＯラプチャ（ＲＵＰＴ）ＩＤ（７ビット＋パリティ検査ビットＰ）がＭＣＵ５１に送られてくる。これらの値は一旦１０ビットのラッチ７０に格納され、ＩＯラプチャＩＤの値はデコーダ７１によってデコードされ、▲２▼で１２８個のチャネルにそれぞれ対応する３２ビットを持つ４つのペンディングラッチ７２1 〜７２4 のうちで、割込みが保留される入出力チャネルに対応するビットが例えば１とされる。
【００１３】
あるＣＰＵで割込み条件変更命令の解読が行われ、その実行の必要性が生じると各ＣＰＵの内部の命令制御部によって、そのＣＰＵに各入出力チャネルに対応する割込みが許可されているかいないかを示すＩＯラプチャマスク７９0 〜７９15の内容１２８ビットが、▲４▼で例えば３２時分割で４ビットずつシリアルに転送される。このシリアル転送は特に３２時分割に限定されるものではない。
【００１４】
ＭＣＵ５１の内部で前述のように保留さている浮動割込みを処理させるためのＣＰＵを選択するプライオリティ（優先順位）回路７５は、このＣＰＵ側から送られた割込み許可マスクとペンディングラッチの格納内容を比較して、保留されている浮動割込みに対して各ＣＰＵによる割込みが許可されているかいないかを判定する。このため▲３▼で、各ペンディングラッチ７２1 〜７２4 の格納内容が、セレクタ７３1 〜７３4 を介して、マスクセレクトカウンタの選択制御によりプライオリティ回路７５に対してシリアルに転送される。ここでマスクセレクトカウンタは、この時分割転送のためのカウンタであり、必ずしもマスク選択だけを意味するものではない。
【００１５】
プライオリティ回路７５では、ペンディングラッチの格納内容とＣＰＵ側から送られる割込み許可マスクとを比較して、割込みが許可されているＣＰＵのうちで待機状態にあり、しかも同一条件では、例えば物理的に若い機番を持つＣＰＵを、保留されている割込みを処理させるＣＰＵとして選択する。ここで待機状態にあるＣＰＵの情報は、▲５▼でＣＰＵウエイトステートイン信号としてプライオリティ回路７５に与えられる。
【００１６】
プライオリティ回路７５は、選択したＣＰＵに対応するラッチ、すなわちＣＰＵ５２0 〜５２15と１対１に対応するラッチ７６0 〜７６15のうちの１つにトリガ信号（ＩＯラプチャトリガ）と、入出力チャネル番号に対応するＩＯラプチャＩＤ（パリティ検査ビットＰを含む８ビット）を与え、その内容はラッチ７７0 〜７７15のいずれか１つを介して、例えば１６時分割シリアル転送を用いて、マスクセレクトカウンタの選択制御により▲６▼でＣＰＵ側に送られる。送られた信号は、ＣＰＵ側で命令制御部内にあるラッチ７８0 〜７８15のいずれかに格納され、保留されている割込みの処理に用いられる。
【００１７】
ＣＰＵ側での割込み処理が完了すると、解除信号（ＣＰＵ＿ＩＯ＿ＲＵＰＴ＿ＣＮＴＬ＿ＩＮ）として、▲７▼でリセットラプチャペンディングとリセットラプチャトリガ信号が、例えば１６時分割でＭＣＵ５１にシリアル転送され、ペンディングラッチ７２1 〜７２4 内、および各ＣＰＵに対応するラッチ７６0 〜７６15の中の対応するビットがリセットされる。
【００１８】
【発明が解決しようとする課題】
以上述べたように、従来の保留割込みの処理方式では、各ＣＰＵの命令制御部は割込み許可マスクをＭＣＵ側に送信した後で、自ＣＰＵで処理すべき割込みがあるか否かを判断するためには、ＭＣＵ側から送られるトリガ信号を待たなければならない。ＭＣＵ側では保留されている割込みを処理させるべきＣＰＵに対してのみトリガ信号を送信するため、保留されている割込みを処理する必要がないＣＰＵであっても、図１４のステップＳ１２で説明したようにカウンタのタイムアウトまで待たなければならないという問題点があった。
【００１９】
更にそもそもＭＣＵ側で保留されている浮動割込みが全くない場合にも、全てのＣＰＵはタイマのタイムアウトまで待たなければ割込み条件変更命令を実行できないことになり、ＣＰＵ側で例えば割込み許可マスクを書き換える命令が解読されるたびに各ＣＰＵが無駄な待ち時間を持つことになり、このことによって情報処理装置の性能が低下するという問題点があった。
【００２０】
本発明の課題は、上述の問題点に鑑み、浮動割込みの保留が全くない場合、または自ＣＰＵで処理すべき保留割込みがない場合には、無駄な待ち時間を持つ必要をなくすことによって、割込み条件変更命令の処理を高速化することである。
【００２１】
【課題を解決するための手段】
図１は本発明の原理構成ブロック図である。同図(a) は、後述する第１の実施形態に対応する原理構成ブロック図であり、複数のＣＰＵを備え、複数のＣＰＵのいずれもが実行可能な割込みとしての浮動割込みを保留できる情報処理装置１の原理構成を示す。
【００２２】
図１(a) において割込み保留信号生成手段２は、例えばメモリコントロールユニットの内部に設けられ、浮動割込みの保留の有無を示す信号を常に複数のＣＰＵ３0 〜３n に送るものである。
【００２３】
割込み条件変更命令実行制御手段４0 〜４n は、各ＣＰＵ３0 〜３n の内部に設けられ、割込み条件変更命令が発行され、かつ割込み保留信号生成手段２から送られている信号が割込みの保留なしを示している時に、その割込み条件変更命令を直ちに自ＣＰＵに実行させる制御を行うものである。
【００２４】
この第１の実施形態に対応する割込み条件変更命令実行方法としては、浮動割込みの保留の有無を示し、常に送られてくる信号を受け取り、割込み条件変更命令が発行され、かつ前記の信号が割込みの保留なしを示している時、その割込み条件変更命令を直ちに実行する方法を用いることができる。
【００２５】
またこの第１の実施形態に対応して、浮動割込みを保留できる情報処理装置において使用される記憶媒体として、浮動割込みの保留の有無を示し、常に送られてくる信号を受け取るステップと、割込み条件変更命令が発行され、かつ送られてくる信号が割込みの保留なしを示している時、その割込み条件変更命令を直ちに実行するステップとを、コンピュータに実行させるためのプログラムを格納したコンピュータ読取り可能可搬型記憶媒体を用いることができる。
【００２６】
このように本発明の第１の実施形態においては、複数のＣＰＵを備え、浮動割込みを保留できる情報処理装置において、そもそも保留されている浮動割込みがない場合には各ＣＰＵにおいて割込み条件変更命令を直ちに実行することが可能となる。この割込み条件変更命令は、例えば複数の入出力チャネルに対応してその入出力チャネルに対する割込みがそのＣＰＵに許可されているか否かを示す割込み許可マスクを変更する命令であり、保留されている浮動割込みがない場合には、従来のように例えばＭＣＵから送られる割込み処理要求信号としてのトリガ信号を待つことなく、割込み条件変更命令発行の時点で直ちにその命令を実行することが可能となる。
【００２７】
図１(b) は本発明の第２の実施形態に対応する原理構成ブロック図である。同図はプロセスの処理に対応して、ＣＰＵやメモリなどの資源としてのドメインがそれぞれディスパッチされる複数のＣＰＵを備え、その複数のＣＰＵのいずれもが実行可能な割込みとしての浮動割込みを保留できる情報処理装置５の原理構成を示す。
【００２８】
図１(b) において、ドメイン毎割込み保留信号生成手段６は例えばメモリコントロールユニットの内部に設けられ、ドメインのそれぞれに対応して浮動割込みの保留の有無を示す信号を常に複数のＣＰＵ７0 〜７n に送るものである。
【００２９】
割込み保留判定手段８0 〜８n は、複数のＣＰＵ７0 〜７n のそれぞれの内部に設けられ、ドメイン毎割込み保留信号生成手段６からの信号を用いて、自ＣＰＵがディスパッチされているドメインに対する浮動割込み保留の有無を判定するものである。
【００３０】
この第２の実施形態においては、各ＣＰＵが割込み条件変更命令実行制御手段を更に備えることも可能である。この割込み条件変更命令実行制御手段は、割込み条件変更命令が発行され、かつ割込み保留判定手段が自ＣＰＵがディスパッチされているドメインに対する割込み保留がないと判定した時に、その割込み条件変更命令を直ちに自ＣＰＵに実行させる制御を行うものである。
【００３１】
第２の実施形態における割込み条件変更命令実行方法として、ドメインのそれぞれに対応して浮動割込みの保留の有無を示し、常に送られてくる信号を受け取り、その受け取った信号を用いて、自ＣＰＵがディスパッチされているドメインに対応する浮動割込みの保留の有無を判定し、割込み条件変更命令が発行され、かつ前記の判定の結果自ＣＰＵがディスパッチされているドメインに対する割込みの保留がないと判定された時、その割込み条件変更命令を直ちに実行する方法を用いることができる。
【００３２】
またこの第２の実施形態に対応して、浮動割込みを保留できる情報処理装置において使用される記憶媒体として、ドメインのそれぞれに対応して浮動割込みの保留の有無を示し、常に送られてくる信号を受け取るステップと、受け取った信号を用いて、自ＣＰＵがディスパッチされているドメインに対応する浮動割込みの保留の有無を判定するステップと、割込み条件変更命令が発行され、かつ前述の判定の結果自ＣＰＵがディスパッチされているドメインに対する割込みの保留がないと判定された時、その割込み条件変更命令を直ちに実行するステップとを、コンピュータに実行させるためのプログラムを格納したコンピュータ読取り可能可搬型記憶媒体を用いることもできる。
【００３３】
このように本発明の第２の実施形態においては、プロセスの処理に対応してドメインが複数のＣＰＵに対してそれぞれディスパッチするため、自ＣＰＵがディスパッチされているドメイン以外のドメインに対応する浮動割込みが保留されていても、割込み条件変更命令の発行に際して割込み処理要求信号、すなわちトリガ信号が来るのを待つ必要はない。従ってドメイン毎割込み保留信号生成手段６からの信号によって、自ＣＰＵがディスパッチされているドメインに対する浮動割込みの保留がない場合には、割込み条件変更命令が発行された時点でその命令を直ちに実行することが可能となる。
【００３４】
【発明の実施の形態】
図２は本発明の第１の実施形態における情報処理装置の基本構成ブロック図でしる。同図においては図１３のＩＯプロセッサが省略され、また複数のＣＰＵのうち１つだけが示されている。
【００３５】
図２において、メモリコントロールユニット（ＭＣＵ）１１の内部には、図１５で説明したペンディングラッチ１３、プライオリティ（優先順位決定）回路１５に加えて、本発明に固有の割込み保留信号生成回路１４が備えられる。割込み保留信号生成回路１４は、ペンディングラッチ１３に格納され、図１５では１２８個の入出力チャネルに対応して、浮動割込みが保留されているかいないかを示す信号を生成し、その信号をラプチャペンディング信号としてＣＰＵ１２側に出力する。またプライオリティ回路１５からは、前述のように保留されている割込みを処理させるＣＰＵに対してＩＯラプチャトリガ信号と、ＩＯラプチャＩＤ信号とが出力される。
【００３６】
ＣＰＵ１２の内部には、割込み許可マスクが格納されているＩＯラプチャマスクのラッチ１６と、割込み保留情報を用いたプロセスウェイト信号生成回路１７、および割込み処理制御部１８が備えられる。
【００３７】
ある１つのＣＰＵによって割込み条件変更命令が解読され、その実行が必要になると、割込み処理制御部１８は、割込み保留情報を用いたプロセスウェイト信号生成回路１７に対して、スタートプロセスウェイトカウンタ信号を出力する。この信号によって割込み保留情報を用いたプロセスウェイト信号生成回路１７の内部の、後述するプロセスウェイトカウンタが動作を開始する。
【００３８】
一方ＭＣＵ１１側から入力されるラプチャペンディング信号の内容によって、ＭＣＵ１１側で浮動割込みの保留が記憶されていることが示されていれば、割込み保留情報を用いたプロセスウェイト信号生成回路１７は、プロセスウェイトカウンタが動作中であることを示すプロセスウェイトカウンタオン信号を割込み処理制御部１８に対して出力する。
【００３９】
またこの時点で、ＩＯラプチャマスク１６の内容がＣＰＵ＿ＩＯラプチャマスクイン信号としてＭＣＵ１１の内部のプライオリティ回路１５に送られ、プライオリティ回路１５は前述のようにペンディングラッチ１３の格納内容と比較して保留されている浮動割込みを処理させることのできるＣＰＵを判定し、その中で優先順位に従って１つのＣＰＵを選択し、選択したＣＰＵに対してＩＯラプチャトリガ信号と、ＩＯラプチャＩＤ信号とを送り、保留されていた割込みの処理を実行させる。
【００４０】
このようにプロセスウェイトカウンタは割込み条件変更命令が解読されると同時に起動される。そしてこのカウンタは全てのＣＰＵ１２からＭＣＵ１１に対して割込み許可マスクの内容が送られ（ｔ1 ）、ＭＣＵ１１側で処理すべき割込みの保留の有無を確認し（ｔ2 ）、ＭＣＵ１１から選択されたＣＰＵ１２にトリガ信号を送信し（ｔ3 ）、ＣＰＵ１２がトリガ信号を受信する（ｔ4 ）までの時間、すなわちＴ＝ｔ1 ＋ｔ2 ＋ｔ3 ＋ｔ4 の間動作する。
【００４１】
ＣＰＵ１２側では、プロセスウェイトカウンタオン信号が割込み処理制御部１８に入力されている期間、すなわちカウンタがタイムアウトするまでの期間はＭＣＵ１１からのトリガ信号を待ち、トリガ信号が入力されれば保留されている割込み処理を実行することになるが、トリガ信号が来ない状態でプロセスウェイトカウンタがタイムアウトになると、プロセスウェイトカウンタオン信号が入力されなくなり、この時点で割込み条件変更命令を実行することができる。
【００４２】
またＭＣＵ１１側から与えられるラプチャペンディング信号によって、全ての入出力チャネルに対応する浮動割込みが保留されていないと判定されると、割込み保留情報を用いたプロセスウェイト信号生成回路１７からはプロセスウェイトカウンタオン信号が割込み処理制御部１８に対して出力されず、割込み処理制御部１８はスタートプロセスウェイトカウンタ信号を出力した直後から、割込み条件変更命令の実行が可能となる。
【００４３】
なおここでは処理すべき割込みの保留が１つだけの場合について説明したが、保留が２つ以上の場合にも同様の制御が行われる。
図３は本発明の第１の実施形態における割込み条件変更命令の処理フローチャートである。同図を図１４の従来例と比較すると、ステップＳ２で保留されている浮動割込みがあるか否かが、図２で説明したラプチャペンディング信号によって判定され、１つも保留されている割込みがないと判定された時には、ステップＳ７で直ちに割込み条件変更命令が実行される点が基本的に異なっている。
【００４４】
図４は図２の割込み保留信号生成回路１４の構成例を示す。同図においては全てのペンディングラッチ、図１５では１２８個のラッチの内容がオアゲート２１に与えられ、１２８個のラッチのうち１つでも浮動割込みの保留を示す“１”が格納されている場合には、オアゲート２１の出力するラプチャペンディング信号はＨとなる。
【００４５】
図５は図２のＣＰＵ１２の内部に設けられる割込み保留情報を用いたプロセスウェイト信号生成回路１７の構成ブロック図である。同図においてプロセスウェイト信号生成回路１７は、図２のＭＣＵ１１側から送られるラプチャペンディング信号を格納するためのラッチ２３、割込み処理制御部１８から割込み条件変更命令の解読の時点で入力されるスタートプロセスウェイトカウンタ信号が与えられるプロセスウェイトカウンタ２４、およびプロセスウェイト信号、すなわちプロセスウェイトカウンタオン信号を出力するアンドゲート２５から構成されている。
【００４６】
プロセスウェイトカウンタ２４の出力は、プロセスウェイトカウンタが動作している間はＨとなる。ラッチ２３に格納されているラプチャペンディング信号の値がＨ、すなわち１つでも浮動割込みが保留されている場合には、プロセスウェイトカウンタ２４がタイムアウトになるまではアンドゲート２５からプロセスウェイトカウンタオン信号が出力され、この信号がＨの間はＣＰＵによる割込み条件変更命令の処理はロックされる。
【００４７】
図６は第１の実施形態における情報処理装置の詳細構成ブロック図である。図１５の従来例とほぼ類似しており、詳細な説明は省略するが、第１の実施形態に特有な部分として割込み保留信号生成回路２８が追加されている点が基本的に異なっている。この回路は図４で説明したものであり、ペンディングラッチの格納内容としての１２８ビットのうち１ビットでも浮動割込みの保留を示す“１”が格納されていれば、ラプチャペンディング信号としてＨが出力される。このラプチャペンディング信号はＭＣＵ１１の内部で各ＣＰＵに対応するラッチ７６0 〜７６15に格納される。
【００４８】
このため、このラッチのビット数は図１５の９ビットに比較して、ラプチャペンディング信号の値を格納する１ビットが追加され、それぞれ１０ビットとなっている。また保留されている割込みの処理のために、選択されたＣＰＵに送られるＩＯラプチャトリガ信号、ＩＯラプチャＩＤ信号を格納するＣＰＵ側のラッチ７８0 〜７８15も、更にラプチャペンディング信号の値を格納するために、それぞれ１０ビットとなっている。
【００４９】
図７は第２の実施形態における情報処理装置の基本構成ブロック図である。第２の実施形態においては、複数のＣＰＵとメモリの領域がプロセスの処理に対応してドメインとして割り当てられる場合に、保留されている浮動割込みの処理が行われる。保留されている浮動割込みがある１つのドメインに対応するものである場合には、他のドメインがディスパッチされているＣＰＵは、割込み条件変更命令が発行された時には自プロセッサのドメインは保留されている浮動割込みとは無関係であるので、直ちに割込み条件変更命令を実行することが可能である。
【００５０】
図７を図２と比較すると、ＭＣＵ１１の内部の割込み保留信号生成回路に代わってドメイン毎の割込み保留信号生成回路３１が設けられており、またＣＰＵ１２側では割込み保留情報を用いたプロセスウェイト信号生成回路に代わってプロセスウェイトカウンタ３２、ドメイン毎の割込み保留識別回路３３、ドメインイコールｎラッチ３４、およびアンドゲート３５が設けられている点が異なっている。
【００５１】
ＭＣＵ１１側のドメイン毎の割込み保留信号生成回路３１は、例えばドメインがｎ個あるとすると、そのｎ個のドメインにそれぞれ対応して、保留されている浮動割込みがあるかないかを示すラプチャペンディングドメインｎ信号を生成して、ＣＰＵ１２側に出力する。
【００５２】
ＣＰＵ１２側では、この信号はドメイン毎の割込み保留識別回路３３に与えられる。ドメイン毎の割込み保留識別回路３３に対しては、ドメインイコールｎラッチ３４の格納内容も与えられる。このラッチは自ＣＰＵがどのドメインにディスパッチされているかを示すデータを格納しているものである。
【００５３】
ドメイン毎の割込み保留識別回路３３は、これらの信号の入力に対応して、自ＣＰＵがディスパッチされているドメインに対応する割込みの保留があるか否かを識別し、そのような保留がある場合にはラプチャペンディングドメイン信号をアンドゲート３５に出力する。アンドゲート３５は、図５で説明したアンドゲート２５に対応し、ドメイン毎の割込み保留識別回路３３の出力するラプチャペンディングドメイン信号はラッチ２３の出力に相当する。
【００５４】
このため割込み処理制御部１８からスタートプロセスウェイトカウンタ信号が入力された時点から、アンドゲート３５の出力としてのプロセスウェイトカウンタオン信号がＨとなり、割込み処理制御部１８は、ＭＣＵ１１側からトリガ信号が与えられるか、あるいはプロセスウェイトカウンタ３２がタイムアウトとなり、プロセスウェイトカウンタオン信号がＬとなるのを待つことになる。
【００５５】
この第２の実施形態における割込み条件変更命令の処理フローチャートは基本的に図３と同じであるが、ステップＳ２において各ドメインに対応して浮動割込みの保留の有無を示し、ＭＣＵ側から常に送られてくる信号を用いて自ＣＰＵがディスパッチされているドメインに対応して保留されている浮動割込みがあるか否かが判定される。
【００５６】
図８はドメインに対応した、ペンディングラッチの格納内容と、割込み許可マスクとしてのＩＯサブクラスマスクの説明図である。同図(a) はペンディングラッチの格納内容の例であり、図１５で説明したように例えば１２８個の入出力チャネルに対応する論理的な入出力経路としてのサブクラスが１２８本（各ドメインに対して８本）あることを示す。図８(b) は割込み許可マスクとしてのＩＯサブクラスマスクの格納内容の例である。
【００５７】
ＩＯサブクラスマスクは、対応するサブクラスに対して割込みが許可されているか否かを示すもの、あるいはそのドメインの中での割込み要求の優先順位を決めるものである。図８(b) ではドメイン０に対応してサブクラス１に対するビットが“１”となっており、このサブクラスに対して割込みが許可されていること、あるいはこのサブクラスに対して割込みの優先度があるということが示されている。例えば図１５においてＩＯプロセッサは、どのドメインのどのサブクラスに対するＩＯ割込みであるかをＩＯラプチャＩＤ（７ビット）によって示して、ＭＣＵ５１に送ることになる。
【００５８】
図９はドメイン毎の割込み保留情報を用いたＩＯ割込み処理方式の説明図である。同図において、ＭＣＵ１１側でペンディングラッチの格納内容からドメイン毎の割込み保留信号生成回路３１によって生成されたラプチャペンディングドメインｎ信号が、ラッチ３６，３７を介して、例えば１６時分割でＣＰＵ側にシリアル転送される。このシリアル転送については図１５におけると同様である。
【００５９】
ＣＰＵ１２側では、ＭＣＵ１１側から送られたドメイン毎の割込み保留信号、ラプチャペンディングドメインｎ信号が、ラッチ３８を介してラッチ３９に格納される。その格納内容は、図７におけると同様に、ドメインイコールｎラッチ３４の格納内容と共にドメイン毎の割込み保留識別回路３３に与えられ、その出力がＨとなっている間、図７におけると同様に、アンドゲート３５の出力するプロセスウェイトカウンタオン信号がＨとなる。
【００６０】
図１０はドメイン毎の割込み保留信号生成回路の構成例である。同図では、図８で説明したように、１６個のドメインに対応してペンディングラッチのそれぞれ８ビットの内容がオアゲート４１0 〜４１15に与えられ、各ドメイン０〜１５に対応するラプチャペンディングドメイン信号が出力される。
【００６１】
図１１はドメイン毎の割込み保留識別回路の構成例である。同図において識別回路は、図１０のオアゲート４１0 〜４１15がそれぞれ出力するドメイン０〜１５に対応するラプチャペンディングドメイン信号が一方の入力端子に、また他方の入力端子にはドメインイコールｎラッチ３４の出力としての自ＣＰＵがどのドメインに割り当てられているかを示す信号がそれぞれ入力されるアンドゲート４２0 〜４２15、およびこれらのアンドゲートの出力が入力されるオアゲート４３から構成されている。
【００６２】
前述のようにドメインイコールｎラッチ３４は自ＣＰＵがどのドメインにデイパッチされているかを示すデータを保持しているラッチであり、例えば自ＣＰＵがドメイン０にディスパッチされているものとすると、図１１でアンドゲート４２0 に入力されているドメインイコール０信号がＨとなる。この時ドメイン０に対応する浮動割込みが保留されていることを示すラプチャペンディングドメイン０信号がＨであれば、アンドゲート４２0 の出力、およびオアゲート４３の出力はＨとなり、オアゲート４３の出力するラプチャペンディングドメイン信号、すなわち自ＣＰＵが割り当てられているドメインに対応して浮動割込みが保留されていることを示す信号がＨとなる。
【００６３】
最後に、本発明の割込み条件変更処理などのプログラムのコンピュータへのローディングについて、図１２を用いて説明する。図１２において、コンピュータ４５は本体４６とメモリ４７とによって構成されている。本体４６は、以上において説明した複数のＣＰＵ、おびびメモリコントロールユニット（ＭＣＵ）などを備えているものとする。
【００６４】
本発明の特許請求の範囲第６，第７項に記載されているプログラムや、図３に示されているプログラムなどはメモリ４７に格納され、本体４６によってそのプログラムが実行されることによって、例えば割込み条件変更命令の実行が行われる。
【００６５】
メモリ４７としてはランダムアクセスメモリ（ＲＡＭ）、ハードディスク、光ディスク、光磁気ディスクなど、様々な形式のメモリを使用することができる。またこれらのプログラムは可搬型記憶媒体４８に記録され、そのプログラムがコンピュータ４５にロードされることによって、あるいはプログラム提供者側から回線４９を介して送られ、コンピュータ４５にロードされることによって実行されることも可能である。可搬型記憶媒体４８としてはフロッピィディスク、ＣＤ−ＲＯＭ，光ディスク、光磁気ディスクなど、市販されている様々な形式の記憶媒体を使用することが可能である。
【００６６】
【発明の効果】
以上詳細に説明したように、本発明によれば割込み条件変更命令が発行された時点で保留されている浮動割込みが１つもない場合には、この割込み条件変更命令をＣＰＵが直ちに実行することが可能となる。また各ＣＰＵにドメインが割り当てられており、保留されている浮動割込みが自ＣＰＵがディスパッチされているドメインに対応するものでない場合にも、直ちに割込み条件変更命令を実行することができ、情報処理装置の性能向上に寄与するところが大きい。
【図面の簡単な説明】
【図１】本発明の原理構成ブロック図である。
【図２】本発明の第１の実施形態における情報処理装置の基本構成を示すブロック図である。
【図３】第１の実施形態における割込み条件変更命令の処理フローチャートである。
【図４】割込み保留信号生成回路の構成例を示す図である。
【図５】割込み保留情報を用いたプロセスウェイト信号生成回路の構成例を示す図である。
【図６】第１の実施形態における情報処理装置の詳細構成を示すブロック図である。
【図７】本発明の第２の実施形態における情報処理装置の基本構成を示すブロック図である。
【図８】ペンディングラッチとＩＯサブクラスマスクの格納内容の例を示す図である。
【図９】第２の実施形態において保留されている割込みの処理方式を説明する図である。
【図１０】ドメイン毎の割込み保留信号生成回路の構成例を示す図である。
【図１１】ドメイン毎の割込み保留識別回路の構成例を示す図である。
【図１２】本発明を実現するためのプログラムのコンピュータへのローディングを説明する図である。
【図１３】本発明が対象とする情報処理装置の基本構成を示すブロック図である。
【図１４】割込み条件変更命令の処理フローチャートの従来例である。
【図１５】情報処理装置の従来例の詳細構成を示すブロック図である。
【符号の説明】
１，５    情報処理装置
２    割込み保留信号生成手段
３0 〜３n ，７0 〜７n     ＣＰＵ
４0 〜４n     割込み条件変更命令実行制御手段
８0 〜８n     割込み保留判定手段
１１    メモリコントロールユニット（ＭＣＵ）
１２    ＣＰＵ（中央処理装置）
１３    ペンディングラッチ
１４    割込み保留信号生成回路
１５    プライオリティ回路
１７    割込み保留情報を用いたプロセスウェイト信号生成回路
１８    割込み処理制御部
３１    ドメイン毎の割込み保留信号生成回路
３２    プロセスウェイトカウンタ
３３    ドメイン毎の割込み保留識別回路
【図１】
0003769428.tif 000002
【図２】
0003769428.tif 000003
【図３】
0003769428.tif 000004
【図４】
0003769428.tif 000005
【図５】
0003769428.tif 000006
【図６】
0003769428.tif 000007
【図７】
0003769428.tif 000008
【図８】
0003769428.tif 000009
【図９】
0003769428.tif 000010
【図１０】
0003769428.tif 000011
【図１１】
0003769428.tif 000012
【図１２】
0003769428.tif 000013
【図１３】
0003769428.tif 000014
【図１４】
0003769428.tif 000015
【図１５】
0003769428.tif 000016