(57)【要約】【課題】デイジー・チェーン接続された複数のベクトル割込制御装置（ＶＩＣ）の、上流側ＶＩＣで生成されたより高い優先順位を持つ割込要求の処理が、下流側ＶＩＣのより低い優先順位の割込要求で阻止されることを解決する、複数の割込発生源で生成された割込要求の優先順位付けを行うための、割込制御装置ならびに割込制御方法を提供する。【解決手段】第１の複数の割込発生源で生成された割込要求を受け取るように動作可能な割込発生源インタフェースと、第２の複数の割込発生源で生成された、デイジー・チェーン接続された別のＶＩＣから出力されたデイジー・チェーン割込要求を受け取るように動作可能なデイジー・チェーン・インタフェースを含むＶＩＣを用意し、ＶＩＣに直接接続された割込発生源からの割込要求の優先順位と、デイジー・チェーン接続された割込発生源からの割込要求の優先順位とを比較して、より高い優先順位を有する割込要求を下流側ＶＩＣに伝搬させる。【選択図】図７
2004199698.tif 000002
【特許請求の範囲】
【請求項１】
複数の割込発生源で生成された割込要求の優先順位付けを行う割込制御装置であって：
第１の複数の割込発生源で生成された割込要求を受け取るように動作可能な割込発生源インタフェースと；
第２の複数の割込発生源で生成された第２の複数の割込要求に基づき、更に別の割込制御装置から出力されたデイジー・チェーン割込要求を受け取るように動作可能で、デイジー・チェーン割込要求に関連する優先順位を示すデイジー・チェーン優先順位信号を受け取るように動作可能な優先順位入力を含む、デイジー・チェーン・インタフェースと；
デイジー・チェーン優先順位信号を受け取り、予め定められた優先順位付け基準を適用し、デイジー・チェーン割込要求および第１の複数の割込発生源で生成された複数の割込要求の中から選ばれた最高位優先順位の割込要求を決定するように動作可能な優先順位付けロジックと；
最高位優先順位割込要求を出力するように動作可能で、最高位優先順位割込要求に関連する優先順位を示す出力優先順位信号を与えるように動作可能な優先順位出力を含む、出力インタフェースとを含む、前記割込制御装置。
【請求項２】
請求項１記載の割込制御装置において、優先順位付けロジックが：
第１の複数の割込発生源で生成された複数の割込要求から選択された、初期最高位優先順位割込要求を決定するように動作可能な優先順位符号器と；
初期最高位優先順位割込要求とデイジー・チェーン割込要求から選択された、最高位優先順位割込要求を決定するように動作可能な決定ロジックとを含む、前記割込制御装置。
【請求項３】
請求項２記載の割込制御装置において、優先順位符号器が初期最高位優先順位割込要求に関連する優先順位を示す初期優先順位信号を生成するように動作可能で、決定ロジックが初期優先順位信号をデイジー・チェーン優先順位信号と比較し、最高位優先順位割込要求を決定するように動作可能である、前記割込制御装置。
【請求項４】
請求項３記載の割込制御装置において、決定ロジックが出力インタフェース経由で出力される、出力優先順位信号を生成するように動作可能である、前記割込制御装置。
【請求項５】
請求項１記載の割込制御装置が更に、第１の複数の割込発生源で生成された各々の割込要求と、その割込要求を処理するようにプロセッサで実行されるべき割込処理ルーチンを識別する関連のベクトル・アドレスとを格納するための記憶装置を含み、デイジー・チェーン・インタフェースがデイジー・チェーン割込要求に関連するデイジー・チェーン・ベクトル・アドレスを示すデイジー・チェーン・ベクトル・アドレスを受け取るように動作可能なベクトル・アドレス入力を含み、出力インタフェースが最高位優先順位割込要求に関連する出力ベクトル・アドレスを示す、出力ベクトル・アドレス信号を提供するように動作可能なベクトル・アドレス出力を含む、前記割込制御装置。
【請求項６】
請求項５記載の割込制御装置において、優先順位付けロジックが：
第１の複数の割込発生源で生成された割込要求から選択された、初期最高位優先順位割込要求を決定するように動作可能な優先順位符号器と；
初期最高位優先順位割込要求とデイジー・チェーン割込要求とから選択された、最高位優先順位割込要求を決定するように動作可能な決定ロジックとを含み；
割込制御装置が更に；
優先順位符号器で決定された初期最高位割込要求に関連した初期ベクトル・アドレスを、記憶装置から選択するように動作可能な初期ベクトル・アドレス選択器と；
初期ベクトル・アドレスおよびデイジー・チェーンベクトル・アドレスを受け取り、決定ロジックで決定された最高位優先順位割込要求に関連するベクトル・アドレスを出力ベクトル・アドレスとして選択するように動作可能な、出力ベクトル・アドレス選択器とを含む、前記割込制御装置。
【請求項７】
請求項６記載の割込制御装置において、決定ロジックが出力ベクトル・アドレス選択器を制御する駆動信号を生成するように動作可能な、前記割込制御装置。
【請求項８】
請求項１記載の割込制御装置において、出力インタフェースが割込制御装置と最高位優先順位割込要求を処理するために使用されるプロセッサと接続するように動作可能で、割込制御装置が更に：
出力インタフェースから出力された現在の最高位優先順位割込要求に関連する優先順位を格納し、現在最高位優先順位割込要求がプロセッサで受付済み割込要求として受け付けられたことを示すプロセッサからの肯定確認信号に応答して、現在優先順位ロジック内に格納されている優先順位を示すマスク信号を生成する、現在優先順位ロジックと；
受付済み割込要求をプロセッサで処理する間、受付済み割込要求よりも低いかまたは同じ優先順位を有する全ての割込要求の出力インタフェース部での生成を抑制するように動作可能なマスク処理ロジックとを含む、前記割込制御装置。
【請求項９】
請求項８記載の割込制御装置において、マスク処理ロジックが：
割込発生源に関連し、受付済み割込要求よりも低いかまたは同等の優先順位を備えた全ての割込要求が、優先順位付けロジックで処理されることを防止するように動作可能である、第１マスク処理ロジックと；
デイジー・チェーン・インタフェースに関連し、受付済み割込要求よりも低いかまたは同等の優先順位を備えた全てのデイジー・チェーン割込要求が、優先順位付けロジックで処理されることを防止するように動作可能である、第２マスク処理ロジックとを含む、前記割込制御装置。
【請求項１０】
請求項８記載の割込制御装置において：
現在優先順位ロジックで生成されたマスク信号が、更に別の割込制御装置に、更に別の割込制御装置が、第２の複数の割込要求の１つが受付済み割込要求よりも高い優先順位を持つ場合にのみ、デイジー・チェーン割込要求を生成するように伝搬され；
マスク処理ロジックが割込発生源インタフェースに関連付けられ、受付済み割込要求よりも低いかまたは同等の優先順位を有する、第１の複数の割込発生源で生成された全ての割込要求が優先順位付けロジックで処理されることを防止するように動作可能である、前記割込制御装置。
【請求項１１】
請求項１記載の割り込み制御装置が更に、前記更に別の割り込み制御装置がこの割り込み制御装置に接続可能となるように、複数の前記デイジー・チェーン・インタフェースを含み、各々の更に別の割り込み制御装置がデイジー・チェーン割込要求と関連するデイジー・チェーン優先順位信号とを、その更に別の割込制御装置で受け取られた対応する複数の割込要求に基づいて精製するように動作可能であり、優先順位付けロジックが各々のデイジー・チェーン優先順位信号を受け取り、またデイジー・チェーン割込要求と第１の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用するように動作可能である、前記割り込み制御装置。
【請求項１２】
請求項３記載の割り込み制御装置が更に、前記更に別の割り込み制御装置がこの割り込み制御装置に接続可能となるように、複数の前記デイジー・チェーン・インタフェースを含み、各々の更に別の割り込み制御装置がデイジー・チェーン割込要求と関連するデイジー・チェーン優先順位信号とを、その更に別の割込制御装置で受け取られた対応する複数の割込要求に基づいて精製するように動作可能であり、優先順位付けロジックが各々のデイジー・チェーン優先順位信号を受け取り、またデイジー・チェーン割込要求と第１の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用するように動作可能であり、此処で決定ロジックが初期優先順位信号と各デイジー・チェーン・インタフェースで受け取られたデイジー・チェーン優先順位信号とを、最高位優先順位割込要求を決定するために比較するように動作可能である、前記割り込み制御装置
【請求項１３】
請求項６記載の割り込み制御装置が更に、前記更に別の割り込み制御装置がこの割り込み制御装置に接続可能となるように、複数の前記デイジー・チェーン・インタフェースを含み、各々の更に別の割り込み制御装置がデイジー・チェーン割込要求と関連するデイジー・チェーン優先順位信号とを、その更に別の割込制御装置で受け取られた対応する複数の割込要求に基づいて精製するように動作可能であり、優先順位付けロジックが各々のデイジー・チェーン優先順位信号を受け取り、またデイジー・チェーン割込要求と第１の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用するように動作可能であり、此処で出力ベクトル・アドレス選択器が、初期ベクトル・アドレスと各々のデイジー・チェーン・インタフェース部で受け取られたデイジー・チェーン・ベクトル・アドレスとを受け取り、出力ベクトル・アドレスとして、決定ロジックで決定された最高位優先順位割込要求に関連するベクトル・アドレスを選択するように動作可能な、前記割り込み制御装置。
【請求項１４】
請求項９記載の割り込み制御装置が更に、前記更に別の割り込み制御装置がこの割り込み制御装置に接続可能となるように、複数の前記デイジー・チェーン・インタフェースを含み、各々の更に別の割り込み制御装置がデイジー・チェーン割込要求と関連するデイジー・チェーン優先順位信号とを、その更に別の割込制御装置で受け取られた対応する複数の割込要求に基づいて精製するように動作可能であり、優先順位付けロジックが各々のデイジー・チェーン優先順位信号を受け取り、またデイジー・チェーン割込要求と第１の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用するように動作可能であり、此処で第２マスク処理ロジックが、各々のデイジー・チェーン・インタフェースに関連づけられており、関連するデイジー・チェーン・インタフェースで受け取られた受付済み割込要求よりも低いかまたは同等の優先順位を備えた全てのデイジー・チェーン割込要求が、優先順位付けロジックで処理されることを防止するように動作可能な、前記割り込み制御装置。
【請求項１５】
請求項１記載の割り込み制御装置において、デイジー・チェーン・インタフェースの優先順位入力が、そのデイジー・チェーン優先順位信号を受け取るように動作可能な、個別の入力ピンの組を含む、前記割り込み制御装置。
【請求項１６】
請求項１記載の割り込み制御装置において、出力インタフェースの優先順位出力が、出力優先順位信号を提供するように動作可能な、個別の出力ピンの組を含む、前記割り込み制御装置。
【請求項１７】
データ処理装置であって：
割り込みを処理するためのプロセッサと；
少なくとも１つの割り込み制御装置が請求項１記載の割り込み制御装置であり、複数の割込発生源で生成された割り込み要求の優先順位付けを行うための、一連のデイジー・チェーン割り込み制御装置とを含む、前記データ処理装置。
【請求項１８】
複数の割込発生源で生成された割込要求の優先順位付けを行うための方法であって：
（ａ）第１の複数の割込発生源で生成された割込要求を、割込発生源インタフェースで受け取り；
（ｂ）デイジー・チェーン・インタフェースで、第２の複数の割込発生源で生成された第２の複数の割込要求に基づいたデイジー・チェーン割込要求と、そのデイジー・チェーン割込要求に関連する優先順位を示すデイジー・チェーン優先順位信号とを受け取り；
（ｃ）デイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第１の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用し；
（ｄ）出力インタフェースから最高位優先順位割込要求と、最高位優先順位割込要求に関連する優先順位を祖雌、出力優先順位信号とを出力する、以上のステップを含む、前記方法。
【請求項１９】
請求項１８記載の方法において、ステップ（ｃ）が：
（ｃ）（１）第１の複数の割込発生源で生成された割込要求から選択された、初期最高位優先順位割込要求を決定し；
（ｃ）（２）初期最高位優先順位割込要求とデイジー・チェーン割込要求とから選択された最高位優先順位割込要求を決定する、以上のステップを含む前記方法。
【請求項２０】
請求項１９記載の方法において、ステップ（ｃ）（１）が、初期最高位優先順位割込要求に関連した優先順位を示す、初期優先順位信号を生成するステップを含み、ステップ（ｃ）（２）が最高位優先順位割込要求を決定するために、初期優先順位信号とデイジー・チェーン優先順位信号とを比較するステップを含む、前記方法。
【請求項２１】
請求項２０記載の方法において、ステップ（ｃ）（２）が更に、出力インタフェースから出力されるべき出力優先順位信号を生成するステップを含む、前記方法。
【請求項２２】
請求項１８記載の方法が更に：
第１の複数の割込発生源で生成された各々の割込要求に対して、その割込要求を処理するためにプロセッサで実行されるべき、割り込み処理ルーチンを示す関連するベクトル・アドレスを格納し；
デイジー・チェーン・インタフェース部で、デイジー・チェーン割込要求に関連するデイジー・チェーンベクトル・アドレスを示す、デイジー・チェーン・ベクトル・アドレスを受け取り；
出力インタフェースから最高位優先順位割込要求に関連する出力ベクトル・アドレスを示す出力ベクトル・アドレスを提供する、以上のステップを含む、前記方法。
【請求項２３】
請求項２２記載の方法において、ステップ（ｃ）が：
（ｃ）（１）第１の複数の割込発生源で生成された割込要求から選択された初期最高位優先順位割込要求を決定し；
（ｃ）（２）初期最高位優先順位割込要求とデイジー・チェーン割込要求とから選択された、最高位優先順位割込要求を決定するステップを含み；
この方法が更に：
格納されているベクトル・アドレスから、ステップ（ｃ）（１）で決定された初期最高位優先順位割込要求に関連した、初期ベクトル・アドレスを選択し；
初期ベクトル・アドレスとデイジー・チェーン・ベクトル・アドレスを参照して、ステップ（ｃ）（２）で決定された最高位優先順位割込要求に関連するベクトル・アドレスを、出力ベクトル・アドレスとして選択する、ステップを含む、前記方法。
【請求項２４】
請求項２３記載の方法において、ステップ（ｃ）（２）が更に、出力ベクトル・アドレスの選択を制御する駆動信号を生成するステップを含む、前記方法。
【請求項２５】
請求項１８記載の方法において、出力インタフェースが最高位優先順位割込要求を処理するために使用されるプロセッサに接続されており、該方法が更に：
出力インタフェースから出力された現在最高位優先順位割込要求に関連する、現在優先順位を格納し；
プロセッサからの、現在最高位優先順位割込要求がプロセッサにより受け付け済み割込要求として受け付けられたことを示す肯定確認信号に応答して、格納された現在優先順位を識別するマスク処理信号を生成し；
受け説け済み割込要求をプロセッサで処理する間、受付済み割込要求よりも低いかまたは同じ優先順位を有する全ての割込要求の、出力インタフェースでの生成を抑制する、以上のステップを含む、前記方法。
【請求項２６】
請求項２５記載の方法において、抑制ステップが：
受付済み割込要求よりも低いかまたは同じ優先順位を備えた全ての割込要求が、ステップ（ｃ）で処理されることを防止し；
受付済み割込要求よりも低いかまたは同じ優先順位を備えた全てのデイジー・チェーン割込要求が、ステップ（ｃ）で処理されることを防止する、以上のステップを含む、前記方法。
【請求項２７】
請求項２５記載の方法が更に：
生成されたマスク処理信号を更に別の割り込み制御装置に対して、更に別の割り込み制御装置が第２の複数の割込要求の１つが、受付済み割込要求よりも高い優先順位を持つ場合にのみ、デイジー・チェーン割込要求を生成するように伝搬させ；
此処で、抑制ステップが受け付け済み割込要求よりも低いかまたは同じ優先順位を有する第１の複数の割込発生源で生成された全ての割込要求が、ステップ（ｃ）で処理されることを防止するステップを含む、前記方法。
【請求項２８】
請求項１８記載の方法において、前記複数のデイジー・チェーン・インタフェースが、前記ステップ（ｂ）で前記複数のデイジー・チェーン割込要求と対応する複数の割込要求に基づく関連するデイジー・チェーン優先順位信号を受け取ることが可能なように具備されており、前記とか（ｃ）が：
各々のデイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第１の複数の割込発生源で生成された割込要求とから選択された、最高位優先順位割込要求を決定するように、予め定められた優先順位付け基準を適用するステップを含む、前記方法。
【請求項２９】
請求項２０記載の方法において、複数の前記デイジー・チェーン・インタフェースが、前記ステップ（ｂ）で複数の前記デイジー・チェーン割込要求と、対応する複数の割込要求に基づく関連するデイジー・チェーン信号とを受け付けることを可能とするように具備されており、前記ステップ（ｃ）が：
各々のデイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第１の複数の割込発生源で生成された割込要求とから選択された、最高位優先順位割込要求を決定するように、予め定められた優先順位付け基準を適用し；
此処で、ステップ（ｃ）（２）が最高位優先順位割込要求を決定するために、初期優先順位信号と各々のデイジー・チェーン・インタフェースで受け取られたデイジー・チェーン優先順位信号とを比較するステップを含む、前記方法。
【請求項３０】
請求項２３記載の方法において、複数の前記デイジー・チェーン・インタフェースが、前記ステップ（ｂ）で複数の前記デイジー・チェーン割込要求と、対応する複数の割込要求に基づく関連するデイジー・チェーン信号とを受け付けることを可能とするように具備されており、前記ステップ（ｃ）が：
各々のデイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第１の複数の割込発生源で生成された割込要求とから選択された、最高位優先順位割込要求を決定するように、予め定められた優先順位付け基準を適用し；
此処で、出力ベクトル・アドレスを選択するステップが：
初期ベクトル・アドレスと各々のデイジー・チェーン・インタフェースで受け取られたデイジー・チェーン・ベクトル・アドレスとを参照して、ステップ（ｃ）（２）で決定された最高位優先順位割込要求に関連するベクトル・アドレスを、出力ベクトル・アドレスとして選択するステップを含む、前記方法。
【請求項３１】
請求項２６記載の方法において、複数の前記デイジー・チェーン・インタフェースが、前記ステップ（ｂ）で複数の前記デイジー・チェーン割込要求と、対応する複数の割込要求に基づく関連するデイジー・チェーン信号とを受け付けることを可能とするように具備されており、前記ステップ（ｃ）が：
各々のデイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第１の複数の割込発生源で生成された割込要求とから選択された、最高位優先順位割込要求を決定するように、予め定められた優先順位付け基準を適用し；
また、此処で受付済み割込要求よりも低いかまたは同じ優先順位を備えた全てのデイジー・チェーン割込要求が、ステップ（ｃ）で処理されることを防止するステップが、各デイジー・チェーン・インタフェースで受け取られたデイジー・チェーン割込要求に関して実行される、前記方法。
【請求項３２】
請求項１８記載の方法において、デイジー・チェーン・インタフェースがデイジー・チェーン優先順位信号を受け取るように動作可能な、個別の組の入力ピンを含む、前記方法。
【請求項３３】
請求項１８記載の方法において、出力インタフェースが出力優先順位信号を提供るように動作可能な、個別の組の出力ピンを含む、前記方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数の割込発生源で発生される割込要求の優先順位を決定するための技術に関する。
【背景技術】
【０００２】
データ処理システム内の装置が、データ処理システム内のプロセッサ、典型的にはＣＰＵ、に対してサービス・ルーチンを実行するように要求する場合、それらの装置は典型的に割込要求をそのプロセッサに対して発行する。割込要求が、主プロセスを実行中のプロセッサで受け取られると、このプロセッサは典型的に実行中の主プロセスを一時的に中断し、その代わりにこの割込要求で指定された割込サービス・ルーチン（ISR: Interrupt Service Routine）を実行する。この装置はプロセッサと同一チップ上に有っても良いし、また外部にあっても良い。典型的なデータ処理システムの中には、しばしばその様な割込要求を発することの可能な複数の装置が存在し、そのプロセッサは複数の割込要求で定義された複数のＩＳＲを同時に実行することは出来ないので、割込制御装置を用意し種々の割込要求を受け取ってそれらの優先順位付けを行わせることが知られている。従って、或る装置（例えばネットワーク・インタフェース）からの割込要求には、その他の装置（例えばキーボード）からの割込要求よりもより高い優先順位が与えられることが可能である。
【０００３】
ベクトル割込制御装置（VIC: vectored interrupt controller）内で、制御装置は各々の割込発生源、すなわち割込要求を発することの可能な各々の装置、に関連するＩＳＲのベクトル・アドレスのリストを格納する。従って１つの割込要求が受け取られると、ＶＩＣは関連するＩＳＲ符号の正確な場所をプロセッサに送り、プロセッサがそのＩＳＲの実行を開始できるようにする。
【０００４】
データ処理システムが更に複雑になるに従い、典型的に割込発生源の数も増加する。この割込発生源の増加に対処するには、種々の割込発生源からの割込要求を受け取るための更に多くの入力を有する様により大きなＶＩＣを設計することが可能であるが、これは結果としてＶＩＣが更に多くの論理ゲートを組み込むことになり、従ってより多くの電力を消費する。更に、ＶＩＣはダイ内部に更に広い領域を占めることになり、製造コストが増加することになる。従って、電力消費と製造コストを許容範囲に保つために、ＶＩＣは典型的に、全ての実行を行うには不十分であるが、多くの通常の実行を行うのに十分な数の入力を有するように設計されており、従って例えば８，１６または３２個の割込発生源入力を有するＶＩＣが知られている。
【０００５】
しかしながら、割込発生源の数が単一ＶＩＣで処理可能な個数を超えるようなシステムの数が増えてきており、例えば１個のオンチップ・システム（SoC: System on Chip）内で利用可能な割込発生源の個数は、単一ＶＩＣで処理可能な数を超えるまで増加する傾向にある。その様なシステム内で利用可能な割込発生源の増加に対処するために、複数の割込制御装置を含むデイジー・チェーンを開発する事が知られており、これは図１に図式的に示すようなものである。図１に図示する例において、７個のＶＩＣ１００，１１０，１２０，１３０，１４０，１５０および１６０は互いに連鎖されていて、ＶＩＣ１００が最終的に割込要求をＣＰＵに出力する。ＣＰＵに対して発せられる各割込要求１７０は、対応するベクトル・アドレス１８０を伴っており、これはＣＰＵによってその割込要求が処理されるべきＩＳＲの場所を指定している。
【０００６】
通常そのようなデイジー・チェーン技術では、そのデイジー・チェーン内でより下流側のＶＩＣ（すなわちＣＰＵにより近い）が、そのチェーン内でより上流側の（すなわちＣＰＵからより離れている）ＶＩＣでより高いレベルの割込要求が発生されている状態で、現在処理されようとしている割込要求より高いレベルの（すなわち、より高い優先順位の）割込要求を阻止してしまう。１つの標準的な対応方法が図２Ａに図示されており、此処ではチェーン内でより上流側のＶＩＣから受け取られた割込要求に対して固定優先順位が設定されている（その様な割込要求は、此処ではデイジー・チェーン割込要求と呼ばれている）。図２Ａの例において、ＣＰＵ２００はＶＩＣ２１０から割込要求を受け取るように構成されている。このＶＩＣ２１０はある割込発生源からの割込要求、例えば割込発生源０から経路２１２経由で受け取られる割込要求ＩＲＱ０、を受け取るように構成されており、また更にデイジー・チェーン割込要求２２２を対応するデイジー・チェーン・ベクトル・アドレス２２４と共に、ＶＩＣ２２０から受け取るように構成されている。
【０００７】
図２Ａに図示されている例において、ＶＩＣ２２０からの全てのデイジー・チェーン割込要求２２２には固定優先順位レベル、この例ではレベル１６進数Ｆ（これは典型的に最低優先順位レベルのはずである）が割り当てられている。これはＶＩＣ２１０内の優先順位符号化ロジックが、同時に受け取った複数の割込要求の間で裁定出来る優先順位符号化ロジックを可能とするように、各入力割込発生源に対してその関連する優先順位レベルを持つように要求するために必要である。
【０００８】
その結果、ＩＲＱ０割込要求が経路２１２を経由して別の割込が処理されていない時に受け取られた場合、その割込要求はＶＩＣ２１０からＣＰＵ２００に対して経路２０２を介して、ＶＩＣ２１０で決定され経路２０４を介してＣＰＵ２００に対して出力される対応するベクトル・アドレスと共に出力される。その割込要求がＣＰＵ２００で処理されている間に、割込要求ＩＲＱ９が経路２１４を経由してＶＩＣ２２０で受け取られると、対応するデイジー・チェーン割込要求として経路２２２上に、経路２２４上の対応するベクトル・アドレスと共に出力される。図２Ａに図示されている例において、小さな数値を有する優先順位レベルはより高い優先順位を示すので、ＩＲＱ９割込要求は最も高い優先順位レベル、すなわちレベル０を有する。しかしながらＶＩＣ２１０は対応するデイジー・チェーン割込要求を優先順位レベル１６進数Ｆを有するものとして取り扱い、従ってＩＲＱ０割込要求が処理される間、対応する割込要求を経路２０２上に生成することを抑制する。
【０００９】
図２Ｂは従来技術の別な方法を図示しており、此処ではＶＩＣ２１０の中にハード的に符号化されている固定優先順位レベルの代わりに、割込制御装置２４０が、ＶＩＣ２２０から経路２２２を経由して受け取られる、全てのデイジー・チェーン割込要求を識別する個別の優先順位レジスタ２４２を有する。この優先順位レジスタ２４２内の値はプログラム可能であるが、此処でも典型的に比較的低い優先順位レベルに設定されている。図２Ｂに図示されているデイジー・チェーン接続されたＶＩＣシステムが図２Ａに示されているシステムと類似の方法で動作することは理解されよう、唯一の違いは優先順位レジスタ２４２内に設定される優先順位レベルが、図２Ａシステムの固定優先順位レベルの代わりに使用される点である。従って、何時でも優先順位レジスタ２４２内に格納されている優先順位値はレベル５よりも低い優先順位なので、此処でもＩＲＱ０割込要求がＣＰＵ２００で処理されている間、ＶＩＣ２２０で受け取られた割込要求は、例えそれらがレベル５よりも高い優先順位を持っていたとしても処理されることは無いであろう。
【００１０】
別の例として、割込要求ＩＲＱ７が他の割込が要求されていない時に経路２１６を経由してＶＩＣ２２０で受け取られた場合、経路２２２を経由して、経路２２４上のその対応するベクトル・アドレスと共に受信された対応するデイジー・チェーン割込要求は、ＶＩＣ２４０により経路２０２，２０４を経由してＣＰＵ２００に回送されるはずである。しかしながら、これを行うに際してＩＲＱ７に対する優先順位レベルはＶＩＣ２４０内で優先順位レジスタ２４２内に格納されているレベルにリセットされるはずであり、これは図示されているところによればレベル５である。ＩＲＱ７がＣＰＵで処理されている間に、レベル０の優先順位（すなわち最高位の優先順位）を有するＩＲＱ９が行使されると、ＶＩＣ２２０はＩＲＱ９要求をＶＩＣ２４０に、対応するデイジー・チェーン割込要求として通過させる。しかしながら、優先順位レジスタ２４２内の値が変更されないと仮定すると、ＶＩＣ２４０はこのデイジー・チェーン割込要求を優先順位レベル５を有するものとして取り扱い、ＣＰＵ２００がＩＲＱ７割込要求の処理を完了するまでＣＰＵ２００に達するのを阻止するはずである。
【００１１】
従って、レジスタ２４２はデイジー・チェーンの上流側のＶＩＣ、この例ではＶＩＣ２２０で生成される割込要求の優先順位を、レジスタ内でプログラムされた値に事実上リセットしている。使用者は低いレベルの割込中にレジスタ２４２内の値を変更して、より高いレベルの割込サービスを可能とすることが出来るが、これは割込サービス処理ルーチンに余分な機能を追加することは理解されよう。従って、これら２つの従来技術より、デイジー・チェーン下流のＶＩＣが現在サービス中のものよりも高いレベルの割込を、それらより高位レベルの割込がデイジー・チェーンの上流側ＶＩＣで発生されたものである場合に、阻止してしまうことが分かる。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の１つの目的はその様な阻止問題を解決する技術を提供することである。
【課題を解決するための手段】
【００１３】
第１の特徴に鑑み、本発明は複数の割込発生源で生成された割込要求の優先順位付けを行う割込制御装置を提供し、これは：第１の複数の割込発生源で生成された割込要求を受け取るように動作可能な割込発生源インタフェースと；第２の複数の割込発生源で生成された第２の複数の割込要求に基づき、更に別の割込制御装置から出力されたデイジー・チェーン割込要求を受け取るように動作可能で、デイジー・チェーン割込要求に関連する優先順位を示すデイジー・チェーン優先順位信号を受け取るように動作可能な優先順位入力を含む、デイジー・チェーン・インタフェースと；デイジー・チェーン優先順位信号を受け取り、予め定められた優先順位付け基準を適用し、デイジー・チェーン割込要求および第１の複数の割込発生源で生成された複数の割込要求の中から選ばれた最高位優先順位の割込要求を決定するように動作可能な優先順位付けロジックと；最高位優先順位割込要求を出力するように動作可能で、最高位優先順位割込要求に関連する優先順位を示す出力優先順位信号を与えるように動作可能な優先順位出力を含む、出力インタフェースとを含む。
【００１４】
本発明によれば、デイジー・チェーン・インタフェースは優先順位入力を含み、これはデイジー・チェーン割込要求に関連する優先順位を示すデイジー・チェーン優先順位信号を受け取るためのものである。更に、優先順位付けロジックは、デイジー・チェーン割込要求および割込発生源インタフェース経由で直接受け取られた全ての割込要求の両方から受け取られた、最高位優先順位割込要求を決定するための予め定められた優先順位付け基準を適用する際に、デイジー・チェーン優先順位信号を考慮して動作することが可能である。更に、出力インタフェースは優先順位出力を含み、これは最高位優先順位割込要求に関連する優先順位を示す出力優先順位信号を提供するように動作可能であり、これによりこの優先順位情報がそのデイジー・チェーン内でより下流側に有る他の割込制御装置へ伝搬することを可能とする。
【００１５】
従って、デイジー・チェーン・インタフェースでデイジー・チェーン割込要求として受け取られた動作中割込の優先順位は、割込制御装置内の優先順位付けロジックが、異なった優先順位付けをそのデイジー・チェーン割込要求に対して行うことを防止し、従って従来技術に関して先に述べた阻止問題を解決する。
【００１６】
本発明によれば、通常の割込要求信号を割込制御装置から、デイジー・チェーン内の全ての後続の割込制御装置に通過させるのと同様に、出力割込要求の優先順位レベルもまた出力され、これによりデイジー・チェーン内の任意のＶＩＣからの最高位優先順位を備えた割込要求が、阻止される事無くプロセッサへ出力されてサービスを受けることが可能となる（この割込要求が現在プロセッサでサービスされている全ての割込要求よりも高い優先順位を持つものと仮定した場合）。
【００１７】
本発明の解決手段は非常に拡張性が有るが、それは典型的にこの割込制御装置と更に別の割込制御装置とが同一構造を有し、処理されるべき割込要求の個数に応じて、同一構造の多数の割込制御装置を必要なだけ互いにデイジー・チェーン結合することが可能だからである。
【００１８】
予め定められた優先順位付け基準を適用する際に、デイジー・チェーン優先順位信号を考慮するように構成された優先順位付けロジックとして多数の方法が存在することが理解されよう。しかしながら好適な実施例では優先順位付けロジックは：第１の複数の割込発生源で生成された複数の割込要求から選択された初期最高位優先順位割込要求を決定するように動作可能な優先順位符号器と；初期最高位優先順位割込要求とデイジー・チェーン割込要求とから選ばれた最高位優先順位割込要求を決定するように動作可能な決定ロジックとを含む。従って、優先順位符号器は割込発生源から割込制御装置で直接受け取られた割込要求のみに基づく標準優先順位符号化機能を実行して初期最高位優先順位割込要求を決定し、一方決定ロジックは次に初期最高位優先順位割込要求とデイジー・チェーン割込要求とを比較して、実際の最高位優先順位割込要求を決定するために使用される。
【００１９】
好適な実施例において、優先順位符号器は初期最高位優先順位割込要求に関連する優先順位を示す初期優先順位信号を生成するように動作可能であり、決定ロジックは初期優先順位信号をデイジー・チェーン優先順位信号と比較して最高位優先順位割込要求を決定するように動作可能である。
【００２０】
この様な好適な実施例において、決定ロジックは出力インタフェース経由で出力される出力優先順位信号を生成するように好適に動作可能である。従って、その様な実施例では最高位優先順位割込要求が決定されると、出力優先順位信号が直接生成される。
【００２１】
好適な実施例において、割込制御装置はベクトル割込制御装置（ＶＩＣ）であり、更に第１の複数の割込発生源で生成された各々の割込要求並びに、その割込要求を処理するためにプロセッサで実行される割込処理ルーチンを識別する関連のベクトル・アドレスとを格納するための記憶装置と、デイジー・チェーン割込要求に関連するデイジー・チェーン・ベクトル・アドレスを示すデイジー・チェーン・ベクトル・アドレス信号を受け取るように動作可能なベクトル・アドレス入力を含むデイジー・チェーン・インタフェースと、最高位優先順位割込要求に関連する出力ベクトル・アドレスを示す出力ベクトル・アドレス信号を提供するように動作可能なベクトル・アドレス出力を含む出力インタフェースとで構成されている。
【００２２】
記憶装置は第１の複数の割込発生源で生成された各々の割込要求に対して個別のベクトル・アドレス・エントリーを有していても構わないし、またはこれに代わっていくつかの割込要求で一つの割込サービス処理ルーチンを共有し、従って記憶装置内で一つのベクトル・アドレス・エントリーを共有しても構わない。割込サービス処理ルーチンは従って、全ての個々の割込要求に対してどの処理を実行するかを決定する責任がある。この後者の手法は回路サイズを小さくすることが重要な設計をする際にしばしば用いられる。
【００２３】
出力ベクトル・アドレスは多数の方法で選択できることは理解されよう。しかしながら、好適な実施例では割込制御装置は更に：記憶装置から優先順位符号器で決定された初期最高位優先順位割込要求に関連する初期ベクトル・アドレスを選ぶように動作可能な初期ベクトル・アドレス選択器と；初期ベクトル・アドレスとデイジー・チェーン・ベクトル・アドレスとを受け取り、決定ロジックで決定された最高位優先順位割込要求に関連するベクトル・アドレスを出力ベクトル・アドレスとして選択するように動作可能な出力ベクトル・アドレス選択器とで構成されている。従って、初期ベクトル・アドレス選択器は、優先順位符号器からの出力に基づいて１つのベクトル・アドレスを記憶装置から標準的な方法で選択するが、好適な実施例ではこの選択されたベクトル・アドレスは初期ベクトル・アドレスと見なされる。出力ベクトル・アドレス選択器が次に、初期ベクトル・アドレスまたはデイジー・チェーン・ベクトル・アドレスのいずれかを、決定ロジックで決定された最高位優先順位割込要求に基づいて実際の出力ベクトル・アドレスとして選択するように使用される。好適な実施例では初期ベクトル・アドレス選択器と出力ベクトル・アドレス選択器はマルチプレクサで形成されている。
【００２４】
好適な実施例では、決定ロジックは出力ベクトル・アドレス選択器を制御する駆動信号を生成するように動作可能である。
【００２５】
１つの好適な実施例において、先に説明した割込制御装置は出力インタフェースを経由して最高位優先順位割込要求を処理するために使用されるプロセッサに接続されている、すなわちこの割込制御装置はデイジー・チェーン内で最高位割込制御装置である。この様な実施例では、この割込制御装置は好適に更に：出力インタフェースで出力された現在の最高位優先順位割込要求に関連する優先順位を格納する現在優先順位ロジックであって、現在の最高位優先順位割込要求がプロセッサにより割込要求として受け付けられたことを示す、プロセッサからの肯定確認信号に応答して現在優先順位ロジック内に格納されている優先順位を識別するマスク信号を生成する、現在優先順位ロジックと；プロセッサで受け付けられた割込要求を処理する間に、受け付けられた割込要求より低いかまたは同等の優先順位を有する全ての割込要求の出力インタフェースでの発生を抑制するように動作可能なマスク・ロジックとを含む。
【００２６】
好適な実施例において、他の全ての割込制御装置に対して先に述べた様に構成されているデイジー・チェーンを引き下げ、現在優先順位ロジックおよびマスク・ロジックが不能化または不使用とされて、デイジー・チェーン内で最下流の割込制御装置内の現在優先順位ロジックおよびマスク・ロジックのみが全ての阻止機能を実行するために使用されるようにしている。プロセッサからの肯定確認信号はデイジー・チェーン内で最下流にあるこの割込制御装置のみに通され、このデイジー・チェーン内で上流にある他の全ての割込制御装置に逆方向に伝搬することは無く、それはこのデイジー・チェーン内で最高位割込制御装置内の現在優先順位ロジックに格納されている優先順位が、全デイジー・チェーンに対して最高位レベルを備えた割込要求の優先順位となるからである。
【００２７】
好適な実施例において、マスク・ロジックは：割込発生源インタフェースに関連付けられ、優先順位付けロジックで処理された受付済み割込要求より低いかまたは同等の優先順位を備えた全ての割込要求を防止するように動作可能な第１マスク・ロジックと；デイジー・チェーン・インタフェースに関連付けられ、優先順位付けロジックで処理された受付済み割込要求より低いかまたは同等の優先順位を備えた全てのデイジー・チェーン割込要求を防止するように動作可能な第２マスク・ロジックとを含む。
【００２８】
上記の方法はデイジー・チェーン割込制御装置からの割込要求のマスク処理を取り扱う１つの方法であるが、その他の方法も使用可能である。例えば、１つの実施例において、現在優先順位ロジックで生成されたマスク信号が更に別の割込制御装置に対して、更に別の割込制御装置が第２の複数の割込要求の１つが受付済み割込要求よりも高い優先順位を持つ場合にのみデイジー・チェーン割込要求を生成するように、伝搬される。この実施例において、マスク・ロジックは割込発生源インタフェースに関連付けてられていて、優先順位付けロジックで処理された受付済み割込要求より低いかまたは同等の優先順位を有する、第１の複数の割込発生源で生成された全ての割込要求を防止するように動作可能である。
【００２９】
先に図１を参照して説明した様な典型的デイジー・チェーン手法では、デイジー・チェーンを通して割込要求信号を伝搬させるために必要なクロック周期の数は、典型的にデイジー・チェーンの各々の追加レベルに対して１クロック周期づつ増加する。信号の伝搬遅延が従来型ベクトル型割込システムでは許容範囲であったが、最近のマイクロプロセッサの割込処理は以前に比較してかなり早くなっており、ベクトル・アドレスを割込発生後数周期内で処理することが可能である。従来型デイジー・チェーン結合技術が使用されると、ＣＰＵはベクトル・アドレスがデイジー・チェーンの各構成要素を伝搬する間、待機せざるを得なくなる。更に、デイジー・チェーンが長くなるに従って、各割込制御装置の論理ゲート／トランジスタ回路内での遅延時間も長くなり、設計上高速クロック周波数システムでの動作が出来なくなる結果を招く。
【００３０】
本発明の１つの実施例では、この影響は割込制御装置が更に前記デイジー・チェーン・インタフェースを含み、前記複数の更に別の割込制御装置が当該割込制御装置に接続可能とするように構成することで解決されており、各々の更に別の割込制御装置はデイジー・チェーン割込要求と関連するデイジー・チェーン優先順位信号を、更に別の割込制御装置で受け取られた対応する複数の割込要求に基づいて生成するように動作可能であり、優先順位付けロジックは各々のデイジー・チェーン優先順位信号を受け取り、予め定められた優先順位付け基準を適用して、デイジー・チェーン割込要求と第１の複数の割込発生源で生成された複数の割込要求とから選択された最高位優先順位割込要求を決定するように動作可能である。
【００３１】
複数のデイジー・チェーン・インタフェースを割込制御装置内に具備することにより、デイジー・チェーンの長さを極めて短くすることが可能であり、従って上記の遅延を短くすることが出来る。この様な手法は、デイジー・チェーン構造内の割込制御装置が本発明の好適な実施例の優先順位信号伝搬技術を採用しているか否かに関わりなく、デイジー・チェーン構造での遅れ時間を短縮するために使用できることは理解されよう。
【００３２】
複数のデイジー・チェーン・インタフェースを具備するその様な実施例では、好適に決定ロジックは初期優先順位信号を各デイジー・チェーン・インタフェースで受け取られたデイジー・チェーン優先順位信号と比較し、最高位優先順位割込要求を決定するように動作可能である。
【００３３】
更に、出力ベクトル・アドレス選択器は好適に、初期ベクトル・アドレスと各デイジー・チェーン・インタフェースで受け取られたベクトル・アドレスとを受け取り、決定ロジックで決定された最高位優先順位割込要求に関連するベクトル・アドレスを出力ベクトル・アドレスとして選択するように動作可能である。
【００３４】
更に、この様な実施例では、第２マスク・ロジックは好適に各デイジー・チェーン・インタフェースと関連付けられていて、優先順位付けロジックで処理され関連するデイジー・チェーン・インタフェースで受け取られた、受付済み割込要求よりも低いかまたは同等の優先順位を備えた全てのデイジー・チェーン割込要求を防止するように動作可能である。
【００３５】
デイジー・チェーン・インタフェースの優先順位入力は種々の方法で実現できることは理解されよう。例えば、デイジー・チェーン優先順位信号をデイジー・チェーン・ベクトル・アドレスから直接導出することも可能であり、その様な実施例では優先順位入力はデイジー・チェーン・インタフェースのベクトル・アドレス入力の一部を構成するであろう。しかしながら、好適な実施例ではデイジー・チェーン・インタフェースの優先順位入力は、デイジー・チェーン優先順位信号を受け取るように動作可能な、個別の組の入力ピンを含んでいる。更に、好適な実施例では出力インタフェースの優先順位出力は、出力優先順位信号を提供するように動作可能な個別の組の出力ピンを含む。入力ピンの組は１本または複数本のピンであって構わず、出力ピンも同様である。
【００３６】
第２の特徴に鑑みると、本発明はデータ処理装置を提供し、これは：割込を処理するためのプロセッサと；複数の割込発生源で生成された割込要求の優先順位付けを行い、その内の少なくとも１つは本発明の第１の特徴に基づく割込制御装置である、一連のデイジー・チェーン割込制御装置とを含む。
【００３７】
第３の特徴に鑑みると、本発明は複数の割込発生源で生成された割込要求の優先順位付けの方法を提供しており、これは以下のステップを含む：（ａ）割込発生源インタフェースにおいて、第１の複数の割込発生源で生成された複数の割込要求を受け取り；（ｂ）デイジー・チェーン・インタフェースで、第２の複数の割込発生源で生成された第２の複数の割込要求に基づくデイジー・チェーン割込要求と、デイジー・チェーン割込要求に関連する優先順位を示すデイジー・チェーン優先順位信号とを受け取り；（ｃ）デイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第１の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用し；（ｄ）出力インタフェースから、最高位優先順位割込要求と、この最高位優先順位割込要求に関連する優先順位を示す優先順位信号とを出力する。
【発明を実施するための最良の形態】
【００３８】
本発明を更に、例示のみを目的とした好適な実施例を図示する添付図を参照して説明する。
【００３９】
本発明の実施例を詳細に説明する前に、既知のＶＩＣの基本動作を図３を参照して説明する。
【００４０】
ＶＩＣ３００に直接接続されている割込発生源からの全ての割込要求は、経路３０２を経由して可能化／マスク処理ブロック３０５で受け取られる。加えて、デイジー・チェーン構成の中で、ＶＩＣ３００が接続されているＶＩＣ（例えば先に図１を参照して説明したような）から受け取られた全てのデイジー・チェーン割込要求もまた、可能化／マスク処理ロジック３０５で受け取られる。可能化／マスク処理ロジック３０５は或る特定の割込発生源が可能化されているかまたは不能化されているかを示すようにプログラム可能であり、不能化されている割込発生源から受け取られた全ての割込要求はロジック３０５で無視され、従ってＶＩＣ３００内の残りの構成要素には伝搬しない。ロジック３０５で実施されるマスク処理動作については後ほど更に詳細に説明する。
【００４１】
１つの割込要求が１つの可能化割込発生源から来て、マスク処理機能でマスク処理されないと仮定すると、その割込要求はＯＲゲート３２０と優先順位符号器３２５とに出力される。従って、何らかの割込要求が可能化／マスク処理ロジック３０５で出力されると、ＯＲゲート３２０は割込要求を経路３６０上に出力するはずである。
【００４２】
優先順位符号器は予め定められた優先順位基準を採用して、可能化／マスク処理ロジック３０５から出力される複数の要求の内のどれがより高い優先順位を持つかを決定する。典型的に、優先順位符号器への各可能入力に対して、優先順位符号器はそれらに関連付けられた関連する優先順位レベルを有し、これはプログラム可能または事前設定可能である。典型的に可能優先順位レベルには範囲が存在し、１つの例ではその範囲は１６進数の０から１６進数のＦまで広がっていて、各々の割込発生源は優先順位符号器３２５内部でその範囲内の１つの優先順位レベルと関連付けられているはずである。図２Ｂを参照して先に説明したように、経路３１０経由で受け取られたデイジー・チェーン割込要求に関連付けられている優先順位レベルは事前設定されているか、または優先順位符号器３２５からアクセス可能な優先順位レジスタの中で指定される。
【００４３】
優先順位符号器３２５が最高位優先順位要求を可能化／マスク処理ロジック３０５の出力の中から決定すると、それは制御信号をマルチプレクサ３３５に出力して、それに対応するベクトル・アドレスを経路３６５上に出力させる。ベクトル・アドレス記憶装置３３０は、割込要求を直接ＶＩＣ３００に対して経路３０２経由で発行する各割込発生源に対応するベクトル・アドレスを格納するために具備されている。各々の割込発生源は個別に指定されたベクトル・アドレスを持っていても良いし、またはいくつかの割込発生源でベクトル・アドレスを共有していても良い（この場合、同一の割込サービス処理ルーチンがそれらの割込発生源で共有される）。図３に図示された例において、此処では４つの割込発生源が直接ＶＩＣ３００に接続されており、対応する４つのベクトル・アドレスがベクトル・アドレス記憶装置３３０の中に格納されている（すなわち、各々の割込発生源はそれらに関連付けられたそれ自身の割込サービス処理ルーチンを有する）。
【００４４】
更に、このマルチプレクサは経路３３２を経由して、ＶＩＣ３００がそこから割込要求を受け取るように構成されているデイジー・チェーン内のＶＩＣから出力されたデイジー・チェーン・ベクトル・アドレスを受け取る。
【００４５】
従って、図３から分かるように、可能化されマスク処理ていない割込要求がＶＩＣ３００で受け取られると仮定すると、これは結果として１つの割込要求を経路３６０上に出力し、また対応するベクトル・アドレスを経路３６５上に出力し、これらの信号はそのＶＩＣがそのデイジー・チェーンの中で最下流ＶＩＣの場合はＣＰＵに通されるか、それ以外はデイジー・チェーン内の次のＶＩＣへ通される。
【００４６】
ＶＩＣ３００の中には、ＣＰＵと通信するためのハンドシェーク・ユニット３４０も具備されており、これは特に出力割込要求がＣＰＵで受け付けられた時に経路３７０経由でＣＰＵからＡＣＫ信号を受け取るためのものである。ハンドシェーク・ユニット３４０はまた経路３２７を経由して優先順位符号器３２５から経路３６０上に出力される要求の優先順位値を示す信号を受け取るようにも構成されており、この優先順位値は現在優先順位レジスタ３５０の中に格納されている。
【００４７】
次にハンドシェーク・ユニット３４０が、その後ＡＣＫをＣＰＵから経路３７０を介して受け取ると、これはマスク処理信号を経路３４５を経由して可能化／マスク処理ロジック３０５に発し、これは現在優先順位レジスタ３５０内に格納されている優先順位を特定する。次に可能化／マスク処理ロジック３０５はこのマスク処理信号に応答して、現在優先順位レジスタ３５０内に格納されている優先順位値より低いかまたは同じ優先順位を有する、受信した全ての割込要求を抑制する。この目的は、特定の割込要求がＣＰＵで処理されている間、ＶＩＣ３００が現在処理されている割込要求より低いかまたは同等の優先順位を有する他の割込要求を伝搬させないように保証することである。しかしながら以下の説明から明らかなように、これはＶＩＣ３００がデイジー・チェーン構成の中で使用されている際に問題となる。
【００４８】
図４Ａおよび図４ＢはＶＩＣ３００の動作で、これが単独でＣＰＵ４００と通信するように使用されている場合を図示する。この例ではデイジー・チェーンＶＩＣは存在せず、従って経路３１０、３２０経由では信号が受領されず、代わりに全ての割込要求が経路３０２を経由して受け取られる。
【００４９】
図４Ｂは割込のシーケンス例を図示し、此処では１つの割込要求が、遷移４０５で示されるように装置０からＶＩＣ３００で受け取られる。これは対応する遷移４１０を経路３６０上に生じ、これによって割込要求をＣＰＵ４００に発する。肯定確認４１５が経路３７０上で受け取られると、これは遷移４２０で示されるようにその割込要求を解除する。更に、現在優先順位値はこの時点で０ｘＦ、すなわち装置０の優先順位レベルに設定される。
【００５０】
次に装置１が、遷移４２２で示されるように割込要求を発すると、これは対応する割込要求を経路３６０上に、遷移４２５で示されるように発生させる。ＣＰＵ４００から戻されたＡＣＫ４３０が受け取られると、これは遷移４３５で示されるように、割込要求を解除し、この時点でＣＰＵは装置０用の割込処理ルーチンの処理を中断し、代わりに装置１に対する割込処理ルーチンの実行を開始する。この時、現在優先順位値は０ｘ５、すなわち装置１の優先順位レベルに更新される。
【００５１】
従って、後続の割込要求はそれらの優先順位レベルが０ｘ５を超えない限り、可能化／マスク処理ロジック３０５によって抑制される。装置１に対する割込サービス中、典型的に割込サービス処理ルーチンの終了近くで、ＣＰＵ４００は１つの信号を装置１に送り、これは遷移４４０で示されるように割込要求を解除させ、割込サービス処理ルーチンの終了時点でＣＰＵはＶＩＣに、例えばメモり・インタフェースを用いてアクセスし、現在優先順位レジスタ３５０内の前回優先順位状態を復元し、その後ＣＰＵは装置０用の割込処理ルーチンの実行を継続する。この時点で、可能化／マスク処理ロジック３０５は後続の割込要求の内、装置０の優先順位レベル、この例では０ｘＦより低いかまたは同じ優先順位レベルのもののみを抑制する。装置０に対する割込サービス中に、ＣＰＵは信号を装置０に送り、遷移４５０で示すようにその割込要求をクリアさせ、その割込サービス処理ルーチン終了時点で、ＣＰＵは現在優先順位レジスタ３５０内の前回優先順位状態を復元し、この例ではこれにより優先順位状態は「無し」に更新される。
【００５２】
この手法はＶＩＣ３００が単独で使用される場合には良好に動作するが、この処理はＶＩＣ３００がデイジー・チェーン構成の中で使用される際には理想的では無く、これは図５Ａおよび図５Ｂを参照して更に詳細に図示される。図５Ａから分かるように、ＶＩＣ３００はこのデイジー・チェーンの中で最下流のＶＩＣであり、これは番号１のＶＩＣ５００からの出力信号を受け取るように構成されていて、このＶＩＣは番号２のＶＩＣ５１０からの出力信号を受け取ることが出来る。
【００５３】
ＣＰＵで現在処理中の割込が無く、次に装置番号２が割込要求を経路５１５を経由してＶＩＣ５１５に発すると仮定すると、これはデイジー・チェーン割込要求が経路５２０を経由してＶＩＣ５００へ、またそこから経路３１０を経由してＶＩＣ３００へ、対応するベクトル・アドレス出力をそれぞれ経路５２５，３３２を経由で、共に伝搬させる。これは結果として割込要求を経路３６０経由でＣＰＵへ、また対応するベクトル・アドレスを経路３６５経由でＣＰＵへ出力させる。従って、図５Ｂから分かるように、装置２が遷移５４０で示されるように割込を発生させると、これは遷移５４５で示されるように対応する割込をＶＩＣ３００からＣＰＵに対して発生させる。実際は、装置２での割込の発生からその割込のＣＰＵへの出力との間に、デイジー・チェーン構造による若干の遅れが存在する。
【００５４】
ＣＰＵが肯定確認５５０をＶＩＣ３００へ返信すると、これは遷移５５５で示されるように経路３６０上の割込要求を解除させる。更に、現在優先順位レジスタ３５０内の値は０ｘＦに設定されるが、それはこの例でＶＩＣ３００が経路３１０を経由して受け取られた全てのデイジー・チェーン割込要求を優先順位値０ｘＦを有するものとして取り扱うからである。
【００５５】
装置１が続いて、図５Ｂの遷移５６０で示されるように、経路５０５上に割込要求をＶＩＣ５００へ発すると、これはデイジー・チェーン割込要求を経路３１０経由でＶＩＣ３００へ、経路３３２上の対応するベクトル・アドレスと共に発行させる。しかしながら、ＶＩＣ３００内の可能化／マスク処理ロジック３０５は０ｘＦ以下の優先順位値を有する全ての割込要求をマスク処理するように構成されており、経路３１０を経由して受け取られた全てのデイジー・チェーン割込要求は優先順位値０ｘＦを有するものと見なされているので、これは装置１からの割込要求を、この例では装置１からの割込要求が実際には装置２の優先順位（０ｘ５）よりも高いにもかかわらず、抑制する結果となる。
【００５６】
装置２に対する割込サービス中に、ＣＰＵは１つの信号を装置２へ送ってこの割込を、遷移５６２に示すように解除させる。更に、割込サービス処理ルーチン終了時点で、ＣＰＵは現在優先順位レジスタ３５０内の前回優先順位状態、この例では前回優先順位状態は「無し」である、を復元する。従って、可能化／マスク処理ロジック３０５はもはやデイジー・チェーン割込要求にマスク処理をする事はなく、また従ってＶＩＣ３００は、遷移５６５に示されるように、装置１で発せられた割込要求に対応してＣＰＵに対して新たな割込要求を出力する。肯定確認５７０がＣＰＵから返信されて受け取られると、経路３６０上の割込要求は、遷移５７５で示されるように解除され、再びレジスタ３５０内の現在優先順位値が０ｘＦ、すなわち全てのデイジー・チェーン割込要求に関連する値に設定される。装置１に対する割込サービス中に、ＣＰＵは１つの信号を装置１へ送り、遷移５８０で示されるようにこの割込要求を解除させ、また割込サービス処理ルーチンの終了時点で、ＣＰＵは現在優先順位レジスタ３５０内の前回優先順位状態を復元する。
【００５７】
従って、図５Ａおよび図５Ｂから分かるように、装置１からのより高位の優先順位割込要求は装置２からの割込要求がＣＰＵで処理されている間阻止され、従って装置１からの高い優先順位割込要求処理に非常な遅延を生じる結果となる。
【００５８】
この問題は本発明の好適な実施例ではデイジー・チェーンを通した優先順位情報を伝搬し、デイジー・チェーン内の各ＶＩＣ内部でその優先順位情報を適切に処理することにより解消されている。本発明の１つの実施例の基本構成が図式的に図６に図示されている。
【００５９】
図６から分かるように、第１ＶＩＣ６１０はＣＰＵ６００に結合されており、これは割込要求を経路６２５を経由してＣＰＵ６００へ、経路６３０上の関連するベクトル・アドレスと共に出力するように構成されている。割込要求が受け付けられると、肯定確認を経路６４０を経由してハンドシェーク・ユニット６４５へ生成する。続いて、ＶＩＣ６１０は「アドレス有効」信号６６０を発して、ＣＰＵにベクトル経路６３０上の値が現在安定しており受付可能であることを通知する。このハンドシェイク操作はＣＰＵが、ベクトル・アドレスが変化中に、例えばより高位の優先順位の割込要求が丁度到達した時、ベクトル・アドレスを経路６３０から読み取ることを防止する。ハンドシェーク操作が実行されるのと同時に、その割込要求に関連する優先順位が経路６３５を経由して現在優先順位ロジック６５０（好適な実施例の中ではハンドシェーク・ユニット６４５の一部と考えられている）に送り、ＣＰＵから肯定確認を受け取ると、現在優先順位ロジック６５０から割込処理ロジック６２０に対して、マスク処理出力を生成させる。
【００６０】
割込処理ロジック６２０の詳細を後ほど図７を参照して説明する。これは割込要求を経路６１５を経由して、ＶＩＣ６１０に直接接続されている割込発生源から受け取るように構成され、またデイジー・チェーン割込要求を経路７２５を経由して、経路７３０上の関連するベクトル・アドレスと共に受け取るように構成されている。しかしながら、先に説明した既知のＶＩＣと対照的に、割込処理ロジック６２０はまた経路７３５を経由して、経路７２５経由で受け取られたデイジー・チェーン割込要求に関連する優先順位値をも受け取り、この優先順位値はＶＩＣ６１０が結合されているＶＩＣ７１０内部の割込処理ロジック７２０で生成される。従って、本発明の好適な実施例に基づけば、割込要求および対応するベクトル・アドレスをデイジー・チェーン内の次のＶＩＣに通過させるのと同様に、その割込要求の優先順位レベルもまた通される、これによりデイジー・チェーン内の全てのＶＩＣからの最高位優先順位を備えた割込要求が阻止されずにサービスさることが保証される（その割込要求がＣＰＵで現在サービスされている全ての割込要求よりも高い優先順位を持っているものと仮定している）。
【００６１】
本発明の好適な実施例によれば、ＣＰＵからの肯定確認信号はデイジー・チェーン接続された全てのＶＩＣへではなくＶＩＣ６１０のみへ返信伝搬されるが、それは現在優先順位ロジック６５０内に格納されている現在優先順位が全デイジー・チェーンの中で最高位レベルを具備した割込要求のものだからである。従って、ＶＩＣ７１０内の現在優先順位ロジック７５０、また実際にデイジー・チェーン内のその他のより上流側ＶＩＣ内のものも活動しておらず、加えてハンドシェーク・ロジック７４５への肯定確認入力も活動していない、好適な実施例ではその入力端子を論理低状態に接続している。肯定確認は伝搬されるべきものではないので、合成中のタイミングの問題は回避される。
【００６２】
図６内のＶＩＣ６１０，７１０を実現するために使用される、本発明の実施例のＶＩＣの更に詳細は、図７を参照して説明する。
【００６３】
ＶＩＣ８００は、割込発生源インタフェース８０２に結合された可能化／マスク処理ロジック８０５を有し、このインタフェースはそのＶＩＣに直接接続された割込発生源から経路８７０を経由して全ての割込要求を受け取るためのものである。図３の可能化／マスク処理ロジック３０５とは対照的に、可能化／マスク処理ロジック８０５はデイジー・チェーン割込要求は受け取らず、その様なデイジー・チェーン割込要求は経路８７２を経由してデイジー・チェーン・インタフェース８４５で、対応するデイジー・チェーン・ベクトル・アドレス８７６およびそのデイジー・チェーン割込要求の優先順位を指定するデイジー・チェーン優先順位レベル８７４と共に受け取る。
【００６４】
可能化／マスク処理ロジック８０５で受け取られた全ての割込が可能化されていてマスク処理されていないと仮定すると、それらはＯＲゲート８１０に出力され、これにより１つの割込要求がＯＲゲート８１０から出力インタフェース８９０に出力されて経路８８０上に伝搬される。加えて、可能化／マスク処理ロジックからの出力は優先順位符号器８２０へ、先に図３を参照して説明したように通され、この符号器は複数の割込要求のどれが最高位優先順位を持つか決定するための予め定められた優先順位基準を適用するように構成されている。此処でも注意しなればならないことは、図３とは対照的に優先順位符号器は受け取られたデイジー・チェーン割込要求のいずれに対応する如何なる信号も受け取らないことである。
【００６５】
次に１つの制御信号が符号器８２０からマルチプレクサ８３０の出力を制御するために出力され、このマルチプレクサ８３０がベクトル・アドレス記憶装置８２５から、符号器８２０によって最高位優先順位を持つと見なされた割込要求に関連するベクトル・アドレスを選択するようにさせる。選択された割込要求の優先順位レベルはまた、優先順位符号器８２０から比較ロジック８４０へも出力され、この比較ロジック８４０もまた全てのデイジー・チェーン割込要求を経路８７２を経由して、また経路８７４を経由して受け取られた優先順位レベルを受け取るように構成されている。比較ロジック８４０は優先順位符号器８２０から出力された優先順位レベル出力と、経路８７４上で受け取られた優先順位レベルとを比較し、経路８４２上に最高位優先順位レベルを出力する。これはまた制御信号をマルチプレクサ８５０に対して生成し、このマルチプレクサはその入力にマルチプレクサ８３０から出力されたベクトル・アドレスと経路８７６上で受け取られたデイジー・チェーン・ベクトル・アドレスを受け取る。従って、デイジー・チェーン割込要求がより高い優先順位レベルを持つと見なされると、比較ロジック８４０は制御信号をマルチプレクサ８５０に対して生成し、そのデイジー・チェーン・ベクトル・アドレスを出力インタフェース８９０に出力させて、経路８８４上に伝搬させる。それ以外の場合は、比較ロジック８４０はマルチプレクサ８５０に対してマルチプレクサ８３０からの出力をベクトル・アドレスとして選択させる。
【００６６】
経路８４２上に比較ロジック８４０から出力された優先順位レベルは、出力インタフェース８９０に通されて経路８８２上に伝搬され、これはまたハンドシェーク・ユニット８５５に回送されて現在優先順位ロジック８６０の中に格納される。肯定確認が経路８９２上でＣＰＵから受け取られると、これはマスク処理信号を経路８６５上で可能化／マスク処理ロジック８０５とマスク処理ロジック８１５とに出力させる。マスク処理ロジック８１５はデイジー・チェーン割込要求のＯＲゲート８１０への回送を制御するために具備されており、マスク処理が存在しない場合には、経路８７２上のデイジー・チェーン割込要求がＯＲゲート８１０に回送されて、対応する割込要求が経路８８０上に発せられるようにする。マスク処理が適用される場合は、マスク処理ロジック８１５はデイジー・チェーン割込要求の優先順位レベルと、マスク信号の中に符号化されている優先順位レベルとを比較し、デイジー・チェーン割込要求がマスク信号内に符号化されているものよりも高い優先順位を持つ場合にのみ、その割込要求をＯＲゲート８１０へ転送する。ロジック８０５の中で実行されるマスク処理機能も同様に、経路８７０上で受け取られた割込要求を、それらの優先順位レベルがマスク信号８６５内に符号化されている優先順位レベルよりも高い場合にのみ、ＯＲゲート８１０および優先順位符号器８２０へ出力可能としている。
【００６７】
次にデイジー・チェーン構造の中で使用される場合の、図７に図示されたＶＩＣの動作を図８Ａおよび８Ｂを参照して説明する。図８Ａから分かるように、ＶＩＣ８００はデイジー・チェーン内で最下流のＶＩＣであり、更に別のＶＩＣ９００，９１０がデイジー・チェーン方式で結合されている。好適な実施例において、各々のＶＩＣ８００，９００および９１０は図７に示すように構築されている。
【００６８】
図８Ｂの遷移９３０で示されるように、装置２が割込要求を経路９１５上でＶＩＣ９１０に対して発すると、これはＶＩＣ９１０からデイジー・チェーン割込要求を経路９２５上に、経路９２７上の対応するベクトル・アドレスおよび経路９２９上の優先順位値と共に出力させる結果となる。この例では、装置番号２は優先順位レベル０ｘ５を有し、従って経路９２９上の優先順位出力は０ｘ５である。他に受け取られた割込要求が無い場合は、ＶＩＣ９００はこのデイジー・チェーン割込要求をそれぞれ経路８７２，８７６，８７４上に伝搬する。経路８７０上で受け取られる他の割込要求が存在しない場合、ＶＩＣ８００は次に割込要求を経路８８０上でＣＰＵに、対応するベクトル・アドレス８８４と共に発行する。ＶＩＣ８００は優先順位出力ピンをその出力インタフェース８９０の一部として含んではいるが、ＣＰＵは典型的にこのピンには接続されておらず、従ってその優先順位値はＣＰＵへは出力されず、この情報はＣＰＵの関心事項とはならない。割込要求の経路８８０上での発行は、図８Ｂ内の遷移９３５で示されている。
【００６９】
肯定確認９３７が経路８９２上で受け取られると、これは図８Ｂの遷移９４０で示されるように、経路８８０上の割込要求を消去する。加えて、マスク信号内部に符号化されている現在優先順位値が、発行された割込要求に関連する優先順位レベルを反映するように、値０ｘ５に更新される。
【００７０】
装置１が続いて割込要求を経路９２０上でＶＩＣ９００に対して発すると、これは対応するデイジー・チェーン割込要求を経路８７２上に、経路８７６上の関連するベクトル・アドレス、および経路８７４上の優先順位レベルと共に出力せしめる。経路８７４上の優先順位レベルは値０ｘ１を有し、これは装置１に関連する優先順位レベルである。経路８７４上で受け取られた優先順位レベルは０ｘ１であるから、マスク処理ロジック８１５はデイジー・チェーン割込要求がＯＲゲート８１０へ通過するのを許し、これによって割込要求が経路８８０上でＣＰＵに対して発せられる。加えて、比較ロジック８４０は優先順位レベル０ｘ１を出力し、これは現在優先順位ロジック８６０の中に格納され、また比較ロジックは１つの制御信号を生成してマルチプレクサ８５０に経路８８４上でデイジー・チェーン・ベクトル・アドレスを出力させる。
【００７１】
従って、図８Ｂの遷移９４５で示されるように、装置１から割込要求が発せられると、結果として図８Ｂの遷移９４７で示されるように、経路８８０上で割込要求が発せられることになる。続いて肯定確認９５０が経路８９２を経由してＣＰＵから受け取られると、これは遷移９５５で示されるように、経路８８０上の割込要求を解除する。この時点で、ＣＰＵは装置２に対する割込処理の実行を中断し、代わりに装置１に対する割込処理の実行を始める。またこの時点で、マスク信号８６５内部に符号化されている現在優先順位は０ｘ１に設定されているはずなので、優先順位レベルが０ｘ１またはそれ未満を有して伝搬されてくる全ての後続の割込要求は阻止される。
【００７２】
装置１に対する割込サービス中に、ＣＰＵは遷移９５７で示すように装置１に信号を送り、その割込要求を消去させ、また割込サービス処理ルーチンの終了時点で、ＣＰＵは現在優先順位ロジック８６０内の前回優先順位状態を復元、すなわち値０ｘ５を復元する。この時点で、ＣＰＵは装置２に対する割込処理の実行を継続し、その装置２に対する割込サービス中に、このＣＰＵは遷移９６０で示されるように１つの信号を装置２に送り、その割込要求を消去させる。更に、割込サービス処理ルーチンの終了時点で、ＣＰＵは現在優先順位ロジック８６０内部の前回優先順位状態を復元する。
【００７３】
従って図８Ｂを図５Ｂと比較することにより、デイジー・チェーンが図７に図示する本発明の実施例に基づくＶＩＣを含む場合、装置１からのより高いレベルの割込が、装置２からのより低いレベルの割込が処理されている間に阻止されることは無く、従って図５Ｂで図示されている従来技術の問題が解決されている。
【００７４】
更に、先に説明した従来技術で生じたような、優先順位レベルがデイジー・チェーンの中で修正変更されることを防止することによって、ソフトウェア・アプリケーション、またはオペレーティング・システムでの割込優先順位管理がより容易になる。
【００７５】
図１１および１２は図６および７のＶＩＣに代わる実施例を図示する。図１１を図７と比較することより明らかなように、図１１のＶＩＣ１２００の構造は実質的に図７のＶＩＣ８００と同じであるが、デイジー・チェーン接続されたＶＩＣからの割込要求のマスク処理を行うために具備されている機能が異なる。図１１において、マスク生成ロジック１２２０がＶＩＣ８００のマスク処理ロジック８１５の代わりに具備されており、これはマスク信号８６５を現在優先順位ロジック８６０から、またインタフェース１２１０部分でＶＩＣ１２００により受け取られたシステム優先順位レベルも受け取る。このＶＩＣのハンドシェーク・ユニットもまた、現在優先順位ロジック８６０に対して、システム・レベル優先順位信号を経路１２３０を経由して出力インタフェースに出力させることが可能であり、この出力インタフェースから経路１２４０を経由してデイジー・チェーン内の他のＶＩＣへ伝搬することが可能である。次に、この機能がデイジー・チェーン接続されているＶＩＣからの割込要求のマスク処理管理に使用される方法が、図１２に図示されている。
【００７６】
図１２は先に説明した図６に類似しているが、デイジー・チェーン内に第３番目のＶＩＣ１３１０が追加して示されている。更にＶＩＣ６１０，７１０および１３１０は各々、マスク生成ロジック１３７０，１３８０，１３６０をそれぞれ含むように示されている。ＣＰＵ６００に接続されているＶＩＣ６１０はその現在優先順位状態（すなわち、現在優先順位ロジック６５０の現在優先順位レジスタ内に格納されている値）を、システム優先順位レベル信号として経路１２４０上を、デイジー・チェーン内の他の全てのＶＩＣに対して出力させるように動作することが可能であり、そのシステム優先順位レベルは他のＶＩＣ１３１０，７１０それぞれの、マスク生成ロジック１３６０，１３８０へ入力される。
【００７７】
各ＶＩＣ内のマスク生成ロジックは、マスク信号をＶＩＣの現在優先順位レジスタの出力、または受け取られたシステム優先順位レベル信号のいずれかから生成するように構成されている。ＶＩＣ６１０では、現在優先順位ロジック６５０が稼働中であるので、マスク生成ロジックは内部的に生成されたマスク信号を、ＶＩＣの可能化／マスク処理ロジックへ送るマスク信号として使用する（すなわち図１１を参照すると、マスク生成ロジック１２２０は経路８６５上で受けたマスク信号を可能化／マスク処理ロジック８０５へ出力する）。
【００７８】
各ＶＩＣ７１０，１３１０に対して、現在優先順位ロジック７５０、１３５０はそれぞれ、不活性でありマスク生成ロジックは代わりに経路１２４０を経由して受け取ったシステム優先順位レベルをマスク信号として使用し、そのＶＩＣの可能化／マスク処理ロジックへ送る（すなわち、図１１を参照すると、マスク生成ロジック１２２０はインタフェース１２１０で受け取ったシステム優先順位レベルを可能化／マスク処理ロジック８０５にマスク信号として出力する）。
【００７９】
この結果、デイジー・チェーン内の各ＶＩＣ内の可能化／マスク処理ロジック８０５は、割込要求を発生させる割込発生源が現在ＣＰＵ６００で処理されている割込要求よりも高い優先順位を持つ場合にのみ、そのＶＩＣから割込要求を出力することが可能となる。
【００８０】
従って、デイジー・チェーン・インタフェース８４５で受け取られたデイジー・チェーン優先順位レベル情報はマスク処理ロジックへ送られる必要はなく、デイジー・チェーン割込要求を直接ＯＲゲート８１０へ回送することが可能であるが、それはデイジー・チェーン割込要求はその優先順位が現在ＣＰＵで処理されている割込要求よりも高い場合にのみ、デイジー・チェーンの上流側にＶＩＣにより伝搬する事が許されているからである。しかしながら、デイジー・チェーン優先順位レベル情報はデイジー・チェーン・インタフェースで受け取られる必要は有り、それは比較ロジック８４０がデイジー・チェーン割込要求を、割込発生源インタフェース８０２で受け取られたローカルに生成された割込要求の代わりに出力すべきか否かの決定を行うために必要だからである。
【００８１】
各ＶＩＣの入力が互いに他のＶＩＣに結合されており、その出力がチェーン内の別の下流側ＶＩＣまたはＣＰＵに結合されている様な、典型的なデイジー・チェーン構造において、割込要求信号をデイジー・チェーンを通して伝搬するのに必要なクロック周期の数は典型的に、デイジー・チェーンのレベルが追加される毎に１クロック周期づつ増加する。従来型ベクトル式割込システムでは信号の伝搬遅延は許容可能であったが、最近のマイクロプロセッサの割込処理は以前よりもかなり速くなっており、割込が発生してから数周期の間にベクトル・アドレスを取り扱うことが可能である。従って、ベクトル・アドレスがデイジー・チェーン内の各構成要素を伝搬する際にＣＰＵを待たさなければならない必要が有ると、結果として好ましくない待ち時間問題を生じることになる。
【００８２】
この問題は本発明の１つの実施例では、各ＶＩＣに複数のデイジー・チェーン・インタフェース、１つの実施例では２つのデイジー・チェーン・インタフェース、を具備することで解決されており、これによって図９に図示されているような新奇なデイジー・チェーン構造の構築が可能となる。図９の例において、ＶＩＣ１０００はＣＰＵに結合されており、２つのデイジー・チェーン割込要求を、１つはＶＩＣ１０１０から、もう１つをＶＩＣ１０２５から受け取ることが出来る。ＶＩＣ１０１０は続いてデイジー・チェーン割込要求をＶＩＣ１０１５またはＶＩＣ１０２０から受け取ることが可能であり、一方ＶＩＣ１０２５はデイジー・チェーン割込要求をＶＩＣ１０３０またはＶＩＣ１０３５から受け取ることが可能である。図９に図示された実施例において、番号６のＶＩＣ１０３５で生成された割込要求のＣＰＵへの伝搬遅延は３クロック周期であることが分かる。対照的に、図１では番号６のＶＩＣ１６０の対応する伝搬遅延は７クロック周期であることが分かる。従って、この様な手法はシステムの伝搬遅延をかなり削減することが可能である。これを３段のデイジー・チェーンまたは必要で有ればそれ以上に拡張出来ることは明らかである。
【００８３】
図１０はＶＩＣ１０００の構造の１つの実施例を図示する。好適な実施例において、他の各々のＶＩＣ１０１０から１０３５も同様の構造を有する。図１０の構造は図７のＶＩＣ構造を修正変更したものに基づいている。ＶＩＣ１０００はまた、図１１のＶＩＣ構造に類似の修正変更を加えて生成できることも理解されよう。
【００８４】
図１０内の構成要素で、図７のＶＩＣ８００内に図示されている構成要素と同じものは、同一参照番号で参照されており、此処では更なる説明を行わない。見て分かるように、主な違いはデイジー・チェーン・インタフェース１０９０が２つの部分から構成されることであって、ひとつは第１デイジー・チェーン割込要求１０７２を、それに対応する優先順位レベル１０７４およびベクトル・アドレス１０７６と共に受け取るためのものであり、第２部分は第２デイジー・チェーン割込要求１０８２を、それに対応する優先順位レベル１０８４およびベクトル・アドレス１０８６と共に受け取るためのものである。
【００８５】
各々のデイジー・チェーン割込要求およびそれに関連する優先順位レベルはマスク処理ロジック１０５０および比較ロジック１０６０へ回送される。マスク処理ロジック１０５０は１つの信号をＯＲゲート８１０に出力して、その入力デイジー・チェーン割込要求のいずれかが、経路８６５上の現在マスク値出力を超える優先順位レベルを有する場合に割込要求を生成させる。比較ロジック１０６０は優先順位符号器８２０から出力された優先順位レベルを優先順位レベル１０７４および１０８４の両方と比較し、経路８４２上に最高位優先順位レベルを出力する。加えて、比較ロジック１０６０は制御信号を、検出された最高位優先順位に応じてマルチプレクサ１０７０に生成し、マルチプレクサ１０７０が対応するベクトル・アドレスを２つのデイジー・チェーン・ベクトル・アドレス１０７６および１０８６並びにマルチプレクサ８３０の出力から確実に選択するようにしている。これらの変更以外、ＶＩＣ１０００は先に図７のＶＩＣ８００に関して説明したのと同じように動作する。
【００８６】
以上の説明から、本発明の実施例に基づくＶＩＣ構造を使用するとき、効果的な優先順位情報の処理がデイジー・チェーン構造の中で実行され、これによりソフトウェアおよび簡単なＳｏＣ設計の中でより簡単な割込優先順位管理を可能とする、割込優先順位接続方法が提供できることは明らかであろう。特に、より高位の優先順位割込がデイジー・チェーンの中で、典型的な従来技術によるデイジー・チェーン構成の中で生じたように阻止されることは無いように保証されているので、これは種々の割込発生源がデイジー・チェーンの中でＶＩＣに接続されるやり方に対して更に多くの柔軟性を与える。
【００８７】
更に、本発明の１つの実施例において、割込処理の遅れ時間は、各ＶＩＣに対して複数のデイジー・チェーン入力ポートを具備することで極めて削減される。これは多数のデイジー・チェーン接続されたＶＩＣを備えたシステム内で、かなりの性能改善を行うことを可能とする。
【００８８】
本発明の特定の実施例を此処に説明してきたが、本発明はそれに限定されるものではなく、多くの修正変更および追加を本発明の範囲内で行えることは明らかであろう。例えば、以下の従属する特許請求の範囲の特徴の種々の組み合わせを、本発明の範囲から逸脱することなく独立した特許請求項の特徴から作り出すことが可能である。
【図面の簡単な説明】
【００８９】
【図１】図１はＶＩＣのデイジー・チェーン構成を図示するブロック図である。
【図２Ａ】図２Ａは第１の従来技術に基づくデイジー・チェーン構成を図示するブロック図である。
【図２Ｂ】図２Ｂは第２の従来技術に基づくデイジー・チェーン構成を図示するブロック図である。
【図３】図３はデイジー・チェーン接続構造で使用される従来型ＶＩＣの構成要素を更に詳細に図示するブロック図である。
【図４Ａ】図３に示すＶＩＣの動作を図示する。
【図４Ｂ】図３に示すＶＩＣの動作を図示する。
【図５Ａ】デイジー・チェーン構成の中で使用された場合の図３に示すＶＩＣの動作を図示する。
【図５Ｂ】デイジー・チェーン構成の中で使用された場合の図３に示すＶＩＣの動作を図示する。
【図６】図６は本発明の１つの実施例に基づくＶＩＣの動作を図示するブロック図である。
【図７】図７は本発明の１つの実施例に基づくＶＩＣ内に具備された構成要素を図示するブロック図である。
【図８Ａ】デイジー・チェーン構成の中で使用された場合の図７に示すＶＩＣの動作を図示する。
【図８Ｂ】デイジー・チェーン構成の中で使用された場合の図７に示すＶＩＣの動作を図示する。
【図９】図９は本発明の１つの実施例に基づく新たなデイジー・チェーン構成を図示する。
【図１０】図１０は、図９のデイジー・チェーン構成の中で採用可能な、本発明の１つの実施例に基づくＶＩＣを図示するブロック図である。
【図１１】図１１は本発明の別の実施例に基づくＶＩＣ内に具備された構成要素を図示するブロック図である。
【図１２】図１２は図１１の実施例に基づくＶＩＣの動作を図示するブロック図である。
【符号の説明】
【００９０】
１００，１１０，１２０，１３０，１４０，１５０，１６０  ベクトル割込制御装置（ＶＩＣ）
２００  ＣＰＵ
２１０，２２０，２４０  ベクトル割込制御装置（ＶＩＣ）
３００  ベクトル割込制御装置（ＶＩＣ）
３０５  可能化／マスク処理
３２０  ＯＲゲート
３２５  優先順位符号器
３３０  ベクトル・アドレス記憶装置
３３５  マルチプレクサ
３４０  ハンドシェーク・ユニット
３５０  現在優先順位レジスタ
４００  ＣＰＵ
５００，５１０  ベクトル割込制御装置（ＶＩＣ）
６００  ＣＰＵ
６１０，７１０  ベクトル割込制御装置（ＶＩＣ）
６２０，７２０  割込処理ロジック
６４５，７４５  ハンドシェーク・ロジック
６５０，７５０  現在優先順位ロジック
８００  ベクトル割込制御装置（ＶＩＣ）
８０２  割込発生源インタフェース
８０５  可能化／マスク処理
８１０  ＯＲゲート
８１５  マスク処理ロジック
８２０  優先順位符号器
８２５  ベクトル・アドレス記憶装置
８３０，８５０  マルチプレクサ
８４０  比較ロジック
８４５  デイジー・チェーン・インタフェース
８５５  ハンドシェーク・ユニット
８６０  現在優先順位ロジック
９００，９１０  ベクトル割込制御装置（ＶＩＣ）
１０５０  マスク処理ロジック
１０７０  マルチプレクサ
１０９０  デイジー・チェーン・インタフェース
１３１０  ベクトル割込制御装置（ＶＩＣ）
１３２０  割込処理ロジック
１３４５  ハンドシェーク・ユニット
１３５０  現在優先順位ロジック
１３６０，１３７０，１３８０  マスク処理ユニット
【図１】
2004199698.tif 000003
【図２Ａ】
2004199698.tif 000004
【図２Ｂ】
2004199698.tif 000005
【図３】
2004199698.tif 000006
【図４Ａ】
2004199698.tif 000007
【図４Ｂ】
2004199698.tif 000008
【図５Ａ】
2004199698.tif 000009
【図５Ｂ】
2004199698.tif 000010
【図６】
2004199698.tif 000011
【図７】
2004199698.tif 000012
【図８Ａ】
2004199698.tif 000013
【図８Ｂ】
2004199698.tif 000014
【図９】
2004199698.tif 000015
【図１０】
2004199698.tif 000016
【図１１】
2004199698.tif 000017
【図１２】
2004199698.tif 000018