JP2004199698A - 複数の割込発生源から生じる割込要求の優先順位決定用割込制御装置ならびに割込制御方法 - Google Patents

複数の割込発生源から生じる割込要求の優先順位決定用割込制御装置ならびに割込制御方法 Download PDF

Info

Publication number
JP2004199698A
JP2004199698A JP2003421131A JP2003421131A JP2004199698A JP 2004199698 A JP2004199698 A JP 2004199698A JP 2003421131 A JP2003421131 A JP 2003421131A JP 2003421131 A JP2003421131 A JP 2003421131A JP 2004199698 A JP2004199698 A JP 2004199698A
Authority
JP
Japan
Prior art keywords
interrupt
priority
interrupt request
daisy
chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
JP2003421131A
Other languages
English (en)
Inventor
Man Cheung Joseph Yiu
チェウン ジョセフ イウ マン
James Robert Hodgson
ロバート ホッグソン ジェイムズ
David Francis Mchale
フランシス マクヘイル デイヴィッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2004199698A publication Critical patent/JP2004199698A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

【課題】デイジー・チェーン接続された複数のベクトル割込制御装置(VIC)の、上流側VICで生成されたより高い優先順位を持つ割込要求の処理が、下流側VICのより低い優先順位の割込要求で阻止されることを解決する、複数の割込発生源で生成された割込要求の優先順位付けを行うための、割込制御装置ならびに割込制御方法を提供する。
【解決手段】第1の複数の割込発生源で生成された割込要求を受け取るように動作可能な割込発生源インタフェースと、第2の複数の割込発生源で生成された、デイジー・チェーン接続された別のVICから出力されたデイジー・チェーン割込要求を受け取るように動作可能なデイジー・チェーン・インタフェースを含むVICを用意し、VICに直接接続された割込発生源からの割込要求の優先順位と、デイジー・チェーン接続された割込発生源からの割込要求の優先順位とを比較して、より高い優先順位を有する割込要求を下流側VICに伝搬させる。
【選択図】図7

Description

本発明は複数の割込発生源で発生される割込要求の優先順位を決定するための技術に関する。
データ処理システム内の装置が、データ処理システム内のプロセッサ、典型的にはCPU、に対してサービス・ルーチンを実行するように要求する場合、それらの装置は典型的に割込要求をそのプロセッサに対して発行する。割込要求が、主プロセスを実行中のプロセッサで受け取られると、このプロセッサは典型的に実行中の主プロセスを一時的に中断し、その代わりにこの割込要求で指定された割込サービス・ルーチン(ISR: Interrupt Service Routine)を実行する。この装置はプロセッサと同一チップ上に有っても良いし、また外部にあっても良い。典型的なデータ処理システムの中には、しばしばその様な割込要求を発することの可能な複数の装置が存在し、そのプロセッサは複数の割込要求で定義された複数のISRを同時に実行することは出来ないので、割込制御装置を用意し種々の割込要求を受け取ってそれらの優先順位付けを行わせることが知られている。従って、或る装置(例えばネットワーク・インタフェース)からの割込要求には、その他の装置(例えばキーボード)からの割込要求よりもより高い優先順位が与えられることが可能である。
ベクトル割込制御装置(VIC: vectored interrupt controller)内で、制御装置は各々の割込発生源、すなわち割込要求を発することの可能な各々の装置、に関連するISRのベクトル・アドレスのリストを格納する。従って1つの割込要求が受け取られると、VICは関連するISR符号の正確な場所をプロセッサに送り、プロセッサがそのISRの実行を開始できるようにする。
データ処理システムが更に複雑になるに従い、典型的に割込発生源の数も増加する。この割込発生源の増加に対処するには、種々の割込発生源からの割込要求を受け取るための更に多くの入力を有する様により大きなVICを設計することが可能であるが、これは結果としてVICが更に多くの論理ゲートを組み込むことになり、従ってより多くの電力を消費する。更に、VICはダイ内部に更に広い領域を占めることになり、製造コストが増加することになる。従って、電力消費と製造コストを許容範囲に保つために、VICは典型的に、全ての実行を行うには不十分であるが、多くの通常の実行を行うのに十分な数の入力を有するように設計されており、従って例えば8,16または32個の割込発生源入力を有するVICが知られている。
しかしながら、割込発生源の数が単一VICで処理可能な個数を超えるようなシステムの数が増えてきており、例えば1個のオンチップ・システム(SoC: System on Chip)内で利用可能な割込発生源の個数は、単一VICで処理可能な数を超えるまで増加する傾向にある。その様なシステム内で利用可能な割込発生源の増加に対処するために、複数の割込制御装置を含むデイジー・チェーンを開発する事が知られており、これは図1に図式的に示すようなものである。図1に図示する例において、7個のVIC100,110,120,130,140,150および160は互いに連鎖されていて、VIC100が最終的に割込要求をCPUに出力する。CPUに対して発せられる各割込要求170は、対応するベクトル・アドレス180を伴っており、これはCPUによってその割込要求が処理されるべきISRの場所を指定している。
通常そのようなデイジー・チェーン技術では、そのデイジー・チェーン内でより下流側のVIC(すなわちCPUにより近い)が、そのチェーン内でより上流側の(すなわちCPUからより離れている)VICでより高いレベルの割込要求が発生されている状態で、現在処理されようとしている割込要求より高いレベルの(すなわち、より高い優先順位の)割込要求を阻止してしまう。1つの標準的な対応方法が図2Aに図示されており、此処ではチェーン内でより上流側のVICから受け取られた割込要求に対して固定優先順位が設定されている(その様な割込要求は、此処ではデイジー・チェーン割込要求と呼ばれている)。図2Aの例において、CPU200はVIC210から割込要求を受け取るように構成されている。このVIC210はある割込発生源からの割込要求、例えば割込発生源0から経路212経由で受け取られる割込要求IRQ0、を受け取るように構成されており、また更にデイジー・チェーン割込要求222を対応するデイジー・チェーン・ベクトル・アドレス224と共に、VIC220から受け取るように構成されている。
図2Aに図示されている例において、VIC220からの全てのデイジー・チェーン割込要求222には固定優先順位レベル、この例ではレベル16進数F(これは典型的に最低優先順位レベルのはずである)が割り当てられている。これはVIC210内の優先順位符号化ロジックが、同時に受け取った複数の割込要求の間で裁定出来る優先順位符号化ロジックを可能とするように、各入力割込発生源に対してその関連する優先順位レベルを持つように要求するために必要である。
その結果、IRQ0割込要求が経路212を経由して別の割込が処理されていない時に受け取られた場合、その割込要求はVIC210からCPU200に対して経路202を介して、VIC210で決定され経路204を介してCPU200に対して出力される対応するベクトル・アドレスと共に出力される。その割込要求がCPU200で処理されている間に、割込要求IRQ9が経路214を経由してVIC220で受け取られると、対応するデイジー・チェーン割込要求として経路222上に、経路224上の対応するベクトル・アドレスと共に出力される。図2Aに図示されている例において、小さな数値を有する優先順位レベルはより高い優先順位を示すので、IRQ9割込要求は最も高い優先順位レベル、すなわちレベル0を有する。しかしながらVIC210は対応するデイジー・チェーン割込要求を優先順位レベル16進数Fを有するものとして取り扱い、従ってIRQ0割込要求が処理される間、対応する割込要求を経路202上に生成することを抑制する。
図2Bは従来技術の別な方法を図示しており、此処ではVIC210の中にハード的に符号化されている固定優先順位レベルの代わりに、割込制御装置240が、VIC220から経路222を経由して受け取られる、全てのデイジー・チェーン割込要求を識別する個別の優先順位レジスタ242を有する。この優先順位レジスタ242内の値はプログラム可能であるが、此処でも典型的に比較的低い優先順位レベルに設定されている。図2Bに図示されているデイジー・チェーン接続されたVICシステムが図2Aに示されているシステムと類似の方法で動作することは理解されよう、唯一の違いは優先順位レジスタ242内に設定される優先順位レベルが、図2Aシステムの固定優先順位レベルの代わりに使用される点である。従って、何時でも優先順位レジスタ242内に格納されている優先順位値はレベル5よりも低い優先順位なので、此処でもIRQ0割込要求がCPU200で処理されている間、VIC220で受け取られた割込要求は、例えそれらがレベル5よりも高い優先順位を持っていたとしても処理されることは無いであろう。
別の例として、割込要求IRQ7が他の割込が要求されていない時に経路216を経由してVIC220で受け取られた場合、経路222を経由して、経路224上のその対応するベクトル・アドレスと共に受信された対応するデイジー・チェーン割込要求は、VIC240により経路202,204を経由してCPU200に回送されるはずである。しかしながら、これを行うに際してIRQ7に対する優先順位レベルはVIC240内で優先順位レジスタ242内に格納されているレベルにリセットされるはずであり、これは図示されているところによればレベル5である。IRQ7がCPUで処理されている間に、レベル0の優先順位(すなわち最高位の優先順位)を有するIRQ9が行使されると、VIC220はIRQ9要求をVIC240に、対応するデイジー・チェーン割込要求として通過させる。しかしながら、優先順位レジスタ242内の値が変更されないと仮定すると、VIC240はこのデイジー・チェーン割込要求を優先順位レベル5を有するものとして取り扱い、CPU200がIRQ7割込要求の処理を完了するまでCPU200に達するのを阻止するはずである。
従って、レジスタ242はデイジー・チェーンの上流側のVIC、この例ではVIC220で生成される割込要求の優先順位を、レジスタ内でプログラムされた値に事実上リセットしている。使用者は低いレベルの割込中にレジスタ242内の値を変更して、より高いレベルの割込サービスを可能とすることが出来るが、これは割込サービス処理ルーチンに余分な機能を追加することは理解されよう。従って、これら2つの従来技術より、デイジー・チェーン下流のVICが現在サービス中のものよりも高いレベルの割込を、それらより高位レベルの割込がデイジー・チェーンの上流側VICで発生されたものである場合に、阻止してしまうことが分かる。
本発明の1つの目的はその様な阻止問題を解決する技術を提供することである。
第1の特徴に鑑み、本発明は複数の割込発生源で生成された割込要求の優先順位付けを行う割込制御装置を提供し、これは:第1の複数の割込発生源で生成された割込要求を受け取るように動作可能な割込発生源インタフェースと;第2の複数の割込発生源で生成された第2の複数の割込要求に基づき、更に別の割込制御装置から出力されたデイジー・チェーン割込要求を受け取るように動作可能で、デイジー・チェーン割込要求に関連する優先順位を示すデイジー・チェーン優先順位信号を受け取るように動作可能な優先順位入力を含む、デイジー・チェーン・インタフェースと;デイジー・チェーン優先順位信号を受け取り、予め定められた優先順位付け基準を適用し、デイジー・チェーン割込要求および第1の複数の割込発生源で生成された複数の割込要求の中から選ばれた最高位優先順位の割込要求を決定するように動作可能な優先順位付けロジックと;最高位優先順位割込要求を出力するように動作可能で、最高位優先順位割込要求に関連する優先順位を示す出力優先順位信号を与えるように動作可能な優先順位出力を含む、出力インタフェースとを含む。
本発明によれば、デイジー・チェーン・インタフェースは優先順位入力を含み、これはデイジー・チェーン割込要求に関連する優先順位を示すデイジー・チェーン優先順位信号を受け取るためのものである。更に、優先順位付けロジックは、デイジー・チェーン割込要求および割込発生源インタフェース経由で直接受け取られた全ての割込要求の両方から受け取られた、最高位優先順位割込要求を決定するための予め定められた優先順位付け基準を適用する際に、デイジー・チェーン優先順位信号を考慮して動作することが可能である。更に、出力インタフェースは優先順位出力を含み、これは最高位優先順位割込要求に関連する優先順位を示す出力優先順位信号を提供するように動作可能であり、これによりこの優先順位情報がそのデイジー・チェーン内でより下流側に有る他の割込制御装置へ伝搬することを可能とする。
従って、デイジー・チェーン・インタフェースでデイジー・チェーン割込要求として受け取られた動作中割込の優先順位は、割込制御装置内の優先順位付けロジックが、異なった優先順位付けをそのデイジー・チェーン割込要求に対して行うことを防止し、従って従来技術に関して先に述べた阻止問題を解決する。
本発明によれば、通常の割込要求信号を割込制御装置から、デイジー・チェーン内の全ての後続の割込制御装置に通過させるのと同様に、出力割込要求の優先順位レベルもまた出力され、これによりデイジー・チェーン内の任意のVICからの最高位優先順位を備えた割込要求が、阻止される事無くプロセッサへ出力されてサービスを受けることが可能となる(この割込要求が現在プロセッサでサービスされている全ての割込要求よりも高い優先順位を持つものと仮定した場合)。
本発明の解決手段は非常に拡張性が有るが、それは典型的にこの割込制御装置と更に別の割込制御装置とが同一構造を有し、処理されるべき割込要求の個数に応じて、同一構造の多数の割込制御装置を必要なだけ互いにデイジー・チェーン結合することが可能だからである。
予め定められた優先順位付け基準を適用する際に、デイジー・チェーン優先順位信号を考慮するように構成された優先順位付けロジックとして多数の方法が存在することが理解されよう。しかしながら好適な実施例では優先順位付けロジックは:第1の複数の割込発生源で生成された複数の割込要求から選択された初期最高位優先順位割込要求を決定するように動作可能な優先順位符号器と;初期最高位優先順位割込要求とデイジー・チェーン割込要求とから選ばれた最高位優先順位割込要求を決定するように動作可能な決定ロジックとを含む。従って、優先順位符号器は割込発生源から割込制御装置で直接受け取られた割込要求のみに基づく標準優先順位符号化機能を実行して初期最高位優先順位割込要求を決定し、一方決定ロジックは次に初期最高位優先順位割込要求とデイジー・チェーン割込要求とを比較して、実際の最高位優先順位割込要求を決定するために使用される。
好適な実施例において、優先順位符号器は初期最高位優先順位割込要求に関連する優先順位を示す初期優先順位信号を生成するように動作可能であり、決定ロジックは初期優先順位信号をデイジー・チェーン優先順位信号と比較して最高位優先順位割込要求を決定するように動作可能である。
この様な好適な実施例において、決定ロジックは出力インタフェース経由で出力される出力優先順位信号を生成するように好適に動作可能である。従って、その様な実施例では最高位優先順位割込要求が決定されると、出力優先順位信号が直接生成される。
好適な実施例において、割込制御装置はベクトル割込制御装置(VIC)であり、更に第1の複数の割込発生源で生成された各々の割込要求並びに、その割込要求を処理するためにプロセッサで実行される割込処理ルーチンを識別する関連のベクトル・アドレスとを格納するための記憶装置と、デイジー・チェーン割込要求に関連するデイジー・チェーン・ベクトル・アドレスを示すデイジー・チェーン・ベクトル・アドレス信号を受け取るように動作可能なベクトル・アドレス入力を含むデイジー・チェーン・インタフェースと、最高位優先順位割込要求に関連する出力ベクトル・アドレスを示す出力ベクトル・アドレス信号を提供するように動作可能なベクトル・アドレス出力を含む出力インタフェースとで構成されている。
記憶装置は第1の複数の割込発生源で生成された各々の割込要求に対して個別のベクトル・アドレス・エントリーを有していても構わないし、またはこれに代わっていくつかの割込要求で一つの割込サービス処理ルーチンを共有し、従って記憶装置内で一つのベクトル・アドレス・エントリーを共有しても構わない。割込サービス処理ルーチンは従って、全ての個々の割込要求に対してどの処理を実行するかを決定する責任がある。この後者の手法は回路サイズを小さくすることが重要な設計をする際にしばしば用いられる。
出力ベクトル・アドレスは多数の方法で選択できることは理解されよう。しかしながら、好適な実施例では割込制御装置は更に:記憶装置から優先順位符号器で決定された初期最高位優先順位割込要求に関連する初期ベクトル・アドレスを選ぶように動作可能な初期ベクトル・アドレス選択器と;初期ベクトル・アドレスとデイジー・チェーン・ベクトル・アドレスとを受け取り、決定ロジックで決定された最高位優先順位割込要求に関連するベクトル・アドレスを出力ベクトル・アドレスとして選択するように動作可能な出力ベクトル・アドレス選択器とで構成されている。従って、初期ベクトル・アドレス選択器は、優先順位符号器からの出力に基づいて1つのベクトル・アドレスを記憶装置から標準的な方法で選択するが、好適な実施例ではこの選択されたベクトル・アドレスは初期ベクトル・アドレスと見なされる。出力ベクトル・アドレス選択器が次に、初期ベクトル・アドレスまたはデイジー・チェーン・ベクトル・アドレスのいずれかを、決定ロジックで決定された最高位優先順位割込要求に基づいて実際の出力ベクトル・アドレスとして選択するように使用される。好適な実施例では初期ベクトル・アドレス選択器と出力ベクトル・アドレス選択器はマルチプレクサで形成されている。
好適な実施例では、決定ロジックは出力ベクトル・アドレス選択器を制御する駆動信号を生成するように動作可能である。
1つの好適な実施例において、先に説明した割込制御装置は出力インタフェースを経由して最高位優先順位割込要求を処理するために使用されるプロセッサに接続されている、すなわちこの割込制御装置はデイジー・チェーン内で最高位割込制御装置である。この様な実施例では、この割込制御装置は好適に更に:出力インタフェースで出力された現在の最高位優先順位割込要求に関連する優先順位を格納する現在優先順位ロジックであって、現在の最高位優先順位割込要求がプロセッサにより割込要求として受け付けられたことを示す、プロセッサからの肯定確認信号に応答して現在優先順位ロジック内に格納されている優先順位を識別するマスク信号を生成する、現在優先順位ロジックと;プロセッサで受け付けられた割込要求を処理する間に、受け付けられた割込要求より低いかまたは同等の優先順位を有する全ての割込要求の出力インタフェースでの発生を抑制するように動作可能なマスク・ロジックとを含む。
好適な実施例において、他の全ての割込制御装置に対して先に述べた様に構成されているデイジー・チェーンを引き下げ、現在優先順位ロジックおよびマスク・ロジックが不能化または不使用とされて、デイジー・チェーン内で最下流の割込制御装置内の現在優先順位ロジックおよびマスク・ロジックのみが全ての阻止機能を実行するために使用されるようにしている。プロセッサからの肯定確認信号はデイジー・チェーン内で最下流にあるこの割込制御装置のみに通され、このデイジー・チェーン内で上流にある他の全ての割込制御装置に逆方向に伝搬することは無く、それはこのデイジー・チェーン内で最高位割込制御装置内の現在優先順位ロジックに格納されている優先順位が、全デイジー・チェーンに対して最高位レベルを備えた割込要求の優先順位となるからである。
好適な実施例において、マスク・ロジックは:割込発生源インタフェースに関連付けられ、優先順位付けロジックで処理された受付済み割込要求より低いかまたは同等の優先順位を備えた全ての割込要求を防止するように動作可能な第1マスク・ロジックと;デイジー・チェーン・インタフェースに関連付けられ、優先順位付けロジックで処理された受付済み割込要求より低いかまたは同等の優先順位を備えた全てのデイジー・チェーン割込要求を防止するように動作可能な第2マスク・ロジックとを含む。
上記の方法はデイジー・チェーン割込制御装置からの割込要求のマスク処理を取り扱う1つの方法であるが、その他の方法も使用可能である。例えば、1つの実施例において、現在優先順位ロジックで生成されたマスク信号が更に別の割込制御装置に対して、更に別の割込制御装置が第2の複数の割込要求の1つが受付済み割込要求よりも高い優先順位を持つ場合にのみデイジー・チェーン割込要求を生成するように、伝搬される。この実施例において、マスク・ロジックは割込発生源インタフェースに関連付けてられていて、優先順位付けロジックで処理された受付済み割込要求より低いかまたは同等の優先順位を有する、第1の複数の割込発生源で生成された全ての割込要求を防止するように動作可能である。
先に図1を参照して説明した様な典型的デイジー・チェーン手法では、デイジー・チェーンを通して割込要求信号を伝搬させるために必要なクロック周期の数は、典型的にデイジー・チェーンの各々の追加レベルに対して1クロック周期づつ増加する。信号の伝搬遅延が従来型ベクトル型割込システムでは許容範囲であったが、最近のマイクロプロセッサの割込処理は以前に比較してかなり早くなっており、ベクトル・アドレスを割込発生後数周期内で処理することが可能である。従来型デイジー・チェーン結合技術が使用されると、CPUはベクトル・アドレスがデイジー・チェーンの各構成要素を伝搬する間、待機せざるを得なくなる。更に、デイジー・チェーンが長くなるに従って、各割込制御装置の論理ゲート/トランジスタ回路内での遅延時間も長くなり、設計上高速クロック周波数システムでの動作が出来なくなる結果を招く。
本発明の1つの実施例では、この影響は割込制御装置が更に前記デイジー・チェーン・インタフェースを含み、前記複数の更に別の割込制御装置が当該割込制御装置に接続可能とするように構成することで解決されており、各々の更に別の割込制御装置はデイジー・チェーン割込要求と関連するデイジー・チェーン優先順位信号を、更に別の割込制御装置で受け取られた対応する複数の割込要求に基づいて生成するように動作可能であり、優先順位付けロジックは各々のデイジー・チェーン優先順位信号を受け取り、予め定められた優先順位付け基準を適用して、デイジー・チェーン割込要求と第1の複数の割込発生源で生成された複数の割込要求とから選択された最高位優先順位割込要求を決定するように動作可能である。
複数のデイジー・チェーン・インタフェースを割込制御装置内に具備することにより、デイジー・チェーンの長さを極めて短くすることが可能であり、従って上記の遅延を短くすることが出来る。この様な手法は、デイジー・チェーン構造内の割込制御装置が本発明の好適な実施例の優先順位信号伝搬技術を採用しているか否かに関わりなく、デイジー・チェーン構造での遅れ時間を短縮するために使用できることは理解されよう。
複数のデイジー・チェーン・インタフェースを具備するその様な実施例では、好適に決定ロジックは初期優先順位信号を各デイジー・チェーン・インタフェースで受け取られたデイジー・チェーン優先順位信号と比較し、最高位優先順位割込要求を決定するように動作可能である。
更に、出力ベクトル・アドレス選択器は好適に、初期ベクトル・アドレスと各デイジー・チェーン・インタフェースで受け取られたベクトル・アドレスとを受け取り、決定ロジックで決定された最高位優先順位割込要求に関連するベクトル・アドレスを出力ベクトル・アドレスとして選択するように動作可能である。
更に、この様な実施例では、第2マスク・ロジックは好適に各デイジー・チェーン・インタフェースと関連付けられていて、優先順位付けロジックで処理され関連するデイジー・チェーン・インタフェースで受け取られた、受付済み割込要求よりも低いかまたは同等の優先順位を備えた全てのデイジー・チェーン割込要求を防止するように動作可能である。
デイジー・チェーン・インタフェースの優先順位入力は種々の方法で実現できることは理解されよう。例えば、デイジー・チェーン優先順位信号をデイジー・チェーン・ベクトル・アドレスから直接導出することも可能であり、その様な実施例では優先順位入力はデイジー・チェーン・インタフェースのベクトル・アドレス入力の一部を構成するであろう。しかしながら、好適な実施例ではデイジー・チェーン・インタフェースの優先順位入力は、デイジー・チェーン優先順位信号を受け取るように動作可能な、個別の組の入力ピンを含んでいる。更に、好適な実施例では出力インタフェースの優先順位出力は、出力優先順位信号を提供するように動作可能な個別の組の出力ピンを含む。入力ピンの組は1本または複数本のピンであって構わず、出力ピンも同様である。
第2の特徴に鑑みると、本発明はデータ処理装置を提供し、これは:割込を処理するためのプロセッサと;複数の割込発生源で生成された割込要求の優先順位付けを行い、その内の少なくとも1つは本発明の第1の特徴に基づく割込制御装置である、一連のデイジー・チェーン割込制御装置とを含む。
第3の特徴に鑑みると、本発明は複数の割込発生源で生成された割込要求の優先順位付けの方法を提供しており、これは以下のステップを含む:(a)割込発生源インタフェースにおいて、第1の複数の割込発生源で生成された複数の割込要求を受け取り;(b)デイジー・チェーン・インタフェースで、第2の複数の割込発生源で生成された第2の複数の割込要求に基づくデイジー・チェーン割込要求と、デイジー・チェーン割込要求に関連する優先順位を示すデイジー・チェーン優先順位信号とを受け取り;(c)デイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第1の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用し;(d)出力インタフェースから、最高位優先順位割込要求と、この最高位優先順位割込要求に関連する優先順位を示す優先順位信号とを出力する。
本発明を更に、例示のみを目的とした好適な実施例を図示する添付図を参照して説明する。
本発明の実施例を詳細に説明する前に、既知のVICの基本動作を図3を参照して説明する。
VIC300に直接接続されている割込発生源からの全ての割込要求は、経路302を経由して可能化/マスク処理ブロック305で受け取られる。加えて、デイジー・チェーン構成の中で、VIC300が接続されているVIC(例えば先に図1を参照して説明したような)から受け取られた全てのデイジー・チェーン割込要求もまた、可能化/マスク処理ロジック305で受け取られる。可能化/マスク処理ロジック305は或る特定の割込発生源が可能化されているかまたは不能化されているかを示すようにプログラム可能であり、不能化されている割込発生源から受け取られた全ての割込要求はロジック305で無視され、従ってVIC300内の残りの構成要素には伝搬しない。ロジック305で実施されるマスク処理動作については後ほど更に詳細に説明する。
1つの割込要求が1つの可能化割込発生源から来て、マスク処理機能でマスク処理されないと仮定すると、その割込要求はORゲート320と優先順位符号器325とに出力される。従って、何らかの割込要求が可能化/マスク処理ロジック305で出力されると、ORゲート320は割込要求を経路360上に出力するはずである。
優先順位符号器は予め定められた優先順位基準を採用して、可能化/マスク処理ロジック305から出力される複数の要求の内のどれがより高い優先順位を持つかを決定する。典型的に、優先順位符号器への各可能入力に対して、優先順位符号器はそれらに関連付けられた関連する優先順位レベルを有し、これはプログラム可能または事前設定可能である。典型的に可能優先順位レベルには範囲が存在し、1つの例ではその範囲は16進数の0から16進数のFまで広がっていて、各々の割込発生源は優先順位符号器325内部でその範囲内の1つの優先順位レベルと関連付けられているはずである。図2Bを参照して先に説明したように、経路310経由で受け取られたデイジー・チェーン割込要求に関連付けられている優先順位レベルは事前設定されているか、または優先順位符号器325からアクセス可能な優先順位レジスタの中で指定される。
優先順位符号器325が最高位優先順位要求を可能化/マスク処理ロジック305の出力の中から決定すると、それは制御信号をマルチプレクサ335に出力して、それに対応するベクトル・アドレスを経路365上に出力させる。ベクトル・アドレス記憶装置330は、割込要求を直接VIC300に対して経路302経由で発行する各割込発生源に対応するベクトル・アドレスを格納するために具備されている。各々の割込発生源は個別に指定されたベクトル・アドレスを持っていても良いし、またはいくつかの割込発生源でベクトル・アドレスを共有していても良い(この場合、同一の割込サービス処理ルーチンがそれらの割込発生源で共有される)。図3に図示された例において、此処では4つの割込発生源が直接VIC300に接続されており、対応する4つのベクトル・アドレスがベクトル・アドレス記憶装置330の中に格納されている(すなわち、各々の割込発生源はそれらに関連付けられたそれ自身の割込サービス処理ルーチンを有する)。
更に、このマルチプレクサは経路332を経由して、VIC300がそこから割込要求を受け取るように構成されているデイジー・チェーン内のVICから出力されたデイジー・チェーン・ベクトル・アドレスを受け取る。
従って、図3から分かるように、可能化されマスク処理ていない割込要求がVIC300で受け取られると仮定すると、これは結果として1つの割込要求を経路360上に出力し、また対応するベクトル・アドレスを経路365上に出力し、これらの信号はそのVICがそのデイジー・チェーンの中で最下流VICの場合はCPUに通されるか、それ以外はデイジー・チェーン内の次のVICへ通される。
VIC300の中には、CPUと通信するためのハンドシェーク・ユニット340も具備されており、これは特に出力割込要求がCPUで受け付けられた時に経路370経由でCPUからACK信号を受け取るためのものである。ハンドシェーク・ユニット340はまた経路327を経由して優先順位符号器325から経路360上に出力される要求の優先順位値を示す信号を受け取るようにも構成されており、この優先順位値は現在優先順位レジスタ350の中に格納されている。
次にハンドシェーク・ユニット340が、その後ACKをCPUから経路370を介して受け取ると、これはマスク処理信号を経路345を経由して可能化/マスク処理ロジック305に発し、これは現在優先順位レジスタ350内に格納されている優先順位を特定する。次に可能化/マスク処理ロジック305はこのマスク処理信号に応答して、現在優先順位レジスタ350内に格納されている優先順位値より低いかまたは同じ優先順位を有する、受信した全ての割込要求を抑制する。この目的は、特定の割込要求がCPUで処理されている間、VIC300が現在処理されている割込要求より低いかまたは同等の優先順位を有する他の割込要求を伝搬させないように保証することである。しかしながら以下の説明から明らかなように、これはVIC300がデイジー・チェーン構成の中で使用されている際に問題となる。
図4Aおよび図4BはVIC300の動作で、これが単独でCPU400と通信するように使用されている場合を図示する。この例ではデイジー・チェーンVICは存在せず、従って経路310、320経由では信号が受領されず、代わりに全ての割込要求が経路302を経由して受け取られる。
図4Bは割込のシーケンス例を図示し、此処では1つの割込要求が、遷移405で示されるように装置0からVIC300で受け取られる。これは対応する遷移410を経路360上に生じ、これによって割込要求をCPU400に発する。肯定確認415が経路370上で受け取られると、これは遷移420で示されるようにその割込要求を解除する。更に、現在優先順位値はこの時点で0xF、すなわち装置0の優先順位レベルに設定される。
次に装置1が、遷移422で示されるように割込要求を発すると、これは対応する割込要求を経路360上に、遷移425で示されるように発生させる。CPU400から戻されたACK430が受け取られると、これは遷移435で示されるように、割込要求を解除し、この時点でCPUは装置0用の割込処理ルーチンの処理を中断し、代わりに装置1に対する割込処理ルーチンの実行を開始する。この時、現在優先順位値は0x5、すなわち装置1の優先順位レベルに更新される。
従って、後続の割込要求はそれらの優先順位レベルが0x5を超えない限り、可能化/マスク処理ロジック305によって抑制される。装置1に対する割込サービス中、典型的に割込サービス処理ルーチンの終了近くで、CPU400は1つの信号を装置1に送り、これは遷移440で示されるように割込要求を解除させ、割込サービス処理ルーチンの終了時点でCPUはVICに、例えばメモり・インタフェースを用いてアクセスし、現在優先順位レジスタ350内の前回優先順位状態を復元し、その後CPUは装置0用の割込処理ルーチンの実行を継続する。この時点で、可能化/マスク処理ロジック305は後続の割込要求の内、装置0の優先順位レベル、この例では0xFより低いかまたは同じ優先順位レベルのもののみを抑制する。装置0に対する割込サービス中に、CPUは信号を装置0に送り、遷移450で示すようにその割込要求をクリアさせ、その割込サービス処理ルーチン終了時点で、CPUは現在優先順位レジスタ350内の前回優先順位状態を復元し、この例ではこれにより優先順位状態は「無し」に更新される。
この手法はVIC300が単独で使用される場合には良好に動作するが、この処理はVIC300がデイジー・チェーン構成の中で使用される際には理想的では無く、これは図5Aおよび図5Bを参照して更に詳細に図示される。図5Aから分かるように、VIC300はこのデイジー・チェーンの中で最下流のVICであり、これは番号1のVIC500からの出力信号を受け取るように構成されていて、このVICは番号2のVIC510からの出力信号を受け取ることが出来る。
CPUで現在処理中の割込が無く、次に装置番号2が割込要求を経路515を経由してVIC515に発すると仮定すると、これはデイジー・チェーン割込要求が経路520を経由してVIC500へ、またそこから経路310を経由してVIC300へ、対応するベクトル・アドレス出力をそれぞれ経路525,332を経由で、共に伝搬させる。これは結果として割込要求を経路360経由でCPUへ、また対応するベクトル・アドレスを経路365経由でCPUへ出力させる。従って、図5Bから分かるように、装置2が遷移540で示されるように割込を発生させると、これは遷移545で示されるように対応する割込をVIC300からCPUに対して発生させる。実際は、装置2での割込の発生からその割込のCPUへの出力との間に、デイジー・チェーン構造による若干の遅れが存在する。
CPUが肯定確認550をVIC300へ返信すると、これは遷移555で示されるように経路360上の割込要求を解除させる。更に、現在優先順位レジスタ350内の値は0xFに設定されるが、それはこの例でVIC300が経路310を経由して受け取られた全てのデイジー・チェーン割込要求を優先順位値0xFを有するものとして取り扱うからである。
装置1が続いて、図5Bの遷移560で示されるように、経路505上に割込要求をVIC500へ発すると、これはデイジー・チェーン割込要求を経路310経由でVIC300へ、経路332上の対応するベクトル・アドレスと共に発行させる。しかしながら、VIC300内の可能化/マスク処理ロジック305は0xF以下の優先順位値を有する全ての割込要求をマスク処理するように構成されており、経路310を経由して受け取られた全てのデイジー・チェーン割込要求は優先順位値0xFを有するものと見なされているので、これは装置1からの割込要求を、この例では装置1からの割込要求が実際には装置2の優先順位(0x5)よりも高いにもかかわらず、抑制する結果となる。
装置2に対する割込サービス中に、CPUは1つの信号を装置2へ送ってこの割込を、遷移562に示すように解除させる。更に、割込サービス処理ルーチン終了時点で、CPUは現在優先順位レジスタ350内の前回優先順位状態、この例では前回優先順位状態は「無し」である、を復元する。従って、可能化/マスク処理ロジック305はもはやデイジー・チェーン割込要求にマスク処理をする事はなく、また従ってVIC300は、遷移565に示されるように、装置1で発せられた割込要求に対応してCPUに対して新たな割込要求を出力する。肯定確認570がCPUから返信されて受け取られると、経路360上の割込要求は、遷移575で示されるように解除され、再びレジスタ350内の現在優先順位値が0xF、すなわち全てのデイジー・チェーン割込要求に関連する値に設定される。装置1に対する割込サービス中に、CPUは1つの信号を装置1へ送り、遷移580で示されるようにこの割込要求を解除させ、また割込サービス処理ルーチンの終了時点で、CPUは現在優先順位レジスタ350内の前回優先順位状態を復元する。
従って、図5Aおよび図5Bから分かるように、装置1からのより高位の優先順位割込要求は装置2からの割込要求がCPUで処理されている間阻止され、従って装置1からの高い優先順位割込要求処理に非常な遅延を生じる結果となる。
この問題は本発明の好適な実施例ではデイジー・チェーンを通した優先順位情報を伝搬し、デイジー・チェーン内の各VIC内部でその優先順位情報を適切に処理することにより解消されている。本発明の1つの実施例の基本構成が図式的に図6に図示されている。
図6から分かるように、第1VIC610はCPU600に結合されており、これは割込要求を経路625を経由してCPU600へ、経路630上の関連するベクトル・アドレスと共に出力するように構成されている。割込要求が受け付けられると、肯定確認を経路640を経由してハンドシェーク・ユニット645へ生成する。続いて、VIC610は「アドレス有効」信号660を発して、CPUにベクトル経路630上の値が現在安定しており受付可能であることを通知する。このハンドシェイク操作はCPUが、ベクトル・アドレスが変化中に、例えばより高位の優先順位の割込要求が丁度到達した時、ベクトル・アドレスを経路630から読み取ることを防止する。ハンドシェーク操作が実行されるのと同時に、その割込要求に関連する優先順位が経路635を経由して現在優先順位ロジック650(好適な実施例の中ではハンドシェーク・ユニット645の一部と考えられている)に送り、CPUから肯定確認を受け取ると、現在優先順位ロジック650から割込処理ロジック620に対して、マスク処理出力を生成させる。
割込処理ロジック620の詳細を後ほど図7を参照して説明する。これは割込要求を経路615を経由して、VIC610に直接接続されている割込発生源から受け取るように構成され、またデイジー・チェーン割込要求を経路725を経由して、経路730上の関連するベクトル・アドレスと共に受け取るように構成されている。しかしながら、先に説明した既知のVICと対照的に、割込処理ロジック620はまた経路735を経由して、経路725経由で受け取られたデイジー・チェーン割込要求に関連する優先順位値をも受け取り、この優先順位値はVIC610が結合されているVIC710内部の割込処理ロジック720で生成される。従って、本発明の好適な実施例に基づけば、割込要求および対応するベクトル・アドレスをデイジー・チェーン内の次のVICに通過させるのと同様に、その割込要求の優先順位レベルもまた通される、これによりデイジー・チェーン内の全てのVICからの最高位優先順位を備えた割込要求が阻止されずにサービスさることが保証される(その割込要求がCPUで現在サービスされている全ての割込要求よりも高い優先順位を持っているものと仮定している)。
本発明の好適な実施例によれば、CPUからの肯定確認信号はデイジー・チェーン接続された全てのVICへではなくVIC610のみへ返信伝搬されるが、それは現在優先順位ロジック650内に格納されている現在優先順位が全デイジー・チェーンの中で最高位レベルを具備した割込要求のものだからである。従って、VIC710内の現在優先順位ロジック750、また実際にデイジー・チェーン内のその他のより上流側VIC内のものも活動しておらず、加えてハンドシェーク・ロジック745への肯定確認入力も活動していない、好適な実施例ではその入力端子を論理低状態に接続している。肯定確認は伝搬されるべきものではないので、合成中のタイミングの問題は回避される。
図6内のVIC610,710を実現するために使用される、本発明の実施例のVICの更に詳細は、図7を参照して説明する。
VIC800は、割込発生源インタフェース802に結合された可能化/マスク処理ロジック805を有し、このインタフェースはそのVICに直接接続された割込発生源から経路870を経由して全ての割込要求を受け取るためのものである。図3の可能化/マスク処理ロジック305とは対照的に、可能化/マスク処理ロジック805はデイジー・チェーン割込要求は受け取らず、その様なデイジー・チェーン割込要求は経路872を経由してデイジー・チェーン・インタフェース845で、対応するデイジー・チェーン・ベクトル・アドレス876およびそのデイジー・チェーン割込要求の優先順位を指定するデイジー・チェーン優先順位レベル874と共に受け取る。
可能化/マスク処理ロジック805で受け取られた全ての割込が可能化されていてマスク処理されていないと仮定すると、それらはORゲート810に出力され、これにより1つの割込要求がORゲート810から出力インタフェース890に出力されて経路880上に伝搬される。加えて、可能化/マスク処理ロジックからの出力は優先順位符号器820へ、先に図3を参照して説明したように通され、この符号器は複数の割込要求のどれが最高位優先順位を持つか決定するための予め定められた優先順位基準を適用するように構成されている。此処でも注意しなればならないことは、図3とは対照的に優先順位符号器は受け取られたデイジー・チェーン割込要求のいずれに対応する如何なる信号も受け取らないことである。
次に1つの制御信号が符号器820からマルチプレクサ830の出力を制御するために出力され、このマルチプレクサ830がベクトル・アドレス記憶装置825から、符号器820によって最高位優先順位を持つと見なされた割込要求に関連するベクトル・アドレスを選択するようにさせる。選択された割込要求の優先順位レベルはまた、優先順位符号器820から比較ロジック840へも出力され、この比較ロジック840もまた全てのデイジー・チェーン割込要求を経路872を経由して、また経路874を経由して受け取られた優先順位レベルを受け取るように構成されている。比較ロジック840は優先順位符号器820から出力された優先順位レベル出力と、経路874上で受け取られた優先順位レベルとを比較し、経路842上に最高位優先順位レベルを出力する。これはまた制御信号をマルチプレクサ850に対して生成し、このマルチプレクサはその入力にマルチプレクサ830から出力されたベクトル・アドレスと経路876上で受け取られたデイジー・チェーン・ベクトル・アドレスを受け取る。従って、デイジー・チェーン割込要求がより高い優先順位レベルを持つと見なされると、比較ロジック840は制御信号をマルチプレクサ850に対して生成し、そのデイジー・チェーン・ベクトル・アドレスを出力インタフェース890に出力させて、経路884上に伝搬させる。それ以外の場合は、比較ロジック840はマルチプレクサ850に対してマルチプレクサ830からの出力をベクトル・アドレスとして選択させる。
経路842上に比較ロジック840から出力された優先順位レベルは、出力インタフェース890に通されて経路882上に伝搬され、これはまたハンドシェーク・ユニット855に回送されて現在優先順位ロジック860の中に格納される。肯定確認が経路892上でCPUから受け取られると、これはマスク処理信号を経路865上で可能化/マスク処理ロジック805とマスク処理ロジック815とに出力させる。マスク処理ロジック815はデイジー・チェーン割込要求のORゲート810への回送を制御するために具備されており、マスク処理が存在しない場合には、経路872上のデイジー・チェーン割込要求がORゲート810に回送されて、対応する割込要求が経路880上に発せられるようにする。マスク処理が適用される場合は、マスク処理ロジック815はデイジー・チェーン割込要求の優先順位レベルと、マスク信号の中に符号化されている優先順位レベルとを比較し、デイジー・チェーン割込要求がマスク信号内に符号化されているものよりも高い優先順位を持つ場合にのみ、その割込要求をORゲート810へ転送する。ロジック805の中で実行されるマスク処理機能も同様に、経路870上で受け取られた割込要求を、それらの優先順位レベルがマスク信号865内に符号化されている優先順位レベルよりも高い場合にのみ、ORゲート810および優先順位符号器820へ出力可能としている。
次にデイジー・チェーン構造の中で使用される場合の、図7に図示されたVICの動作を図8Aおよび8Bを参照して説明する。図8Aから分かるように、VIC800はデイジー・チェーン内で最下流のVICであり、更に別のVIC900,910がデイジー・チェーン方式で結合されている。好適な実施例において、各々のVIC800,900および910は図7に示すように構築されている。
図8Bの遷移930で示されるように、装置2が割込要求を経路915上でVIC910に対して発すると、これはVIC910からデイジー・チェーン割込要求を経路925上に、経路927上の対応するベクトル・アドレスおよび経路929上の優先順位値と共に出力させる結果となる。この例では、装置番号2は優先順位レベル0x5を有し、従って経路929上の優先順位出力は0x5である。他に受け取られた割込要求が無い場合は、VIC900はこのデイジー・チェーン割込要求をそれぞれ経路872,876,874上に伝搬する。経路870上で受け取られる他の割込要求が存在しない場合、VIC800は次に割込要求を経路880上でCPUに、対応するベクトル・アドレス884と共に発行する。VIC800は優先順位出力ピンをその出力インタフェース890の一部として含んではいるが、CPUは典型的にこのピンには接続されておらず、従ってその優先順位値はCPUへは出力されず、この情報はCPUの関心事項とはならない。割込要求の経路880上での発行は、図8B内の遷移935で示されている。
肯定確認937が経路892上で受け取られると、これは図8Bの遷移940で示されるように、経路880上の割込要求を消去する。加えて、マスク信号内部に符号化されている現在優先順位値が、発行された割込要求に関連する優先順位レベルを反映するように、値0x5に更新される。
装置1が続いて割込要求を経路920上でVIC900に対して発すると、これは対応するデイジー・チェーン割込要求を経路872上に、経路876上の関連するベクトル・アドレス、および経路874上の優先順位レベルと共に出力せしめる。経路874上の優先順位レベルは値0x1を有し、これは装置1に関連する優先順位レベルである。経路874上で受け取られた優先順位レベルは0x1であるから、マスク処理ロジック815はデイジー・チェーン割込要求がORゲート810へ通過するのを許し、これによって割込要求が経路880上でCPUに対して発せられる。加えて、比較ロジック840は優先順位レベル0x1を出力し、これは現在優先順位ロジック860の中に格納され、また比較ロジックは1つの制御信号を生成してマルチプレクサ850に経路884上でデイジー・チェーン・ベクトル・アドレスを出力させる。
従って、図8Bの遷移945で示されるように、装置1から割込要求が発せられると、結果として図8Bの遷移947で示されるように、経路880上で割込要求が発せられることになる。続いて肯定確認950が経路892を経由してCPUから受け取られると、これは遷移955で示されるように、経路880上の割込要求を解除する。この時点で、CPUは装置2に対する割込処理の実行を中断し、代わりに装置1に対する割込処理の実行を始める。またこの時点で、マスク信号865内部に符号化されている現在優先順位は0x1に設定されているはずなので、優先順位レベルが0x1またはそれ未満を有して伝搬されてくる全ての後続の割込要求は阻止される。
装置1に対する割込サービス中に、CPUは遷移957で示すように装置1に信号を送り、その割込要求を消去させ、また割込サービス処理ルーチンの終了時点で、CPUは現在優先順位ロジック860内の前回優先順位状態を復元、すなわち値0x5を復元する。この時点で、CPUは装置2に対する割込処理の実行を継続し、その装置2に対する割込サービス中に、このCPUは遷移960で示されるように1つの信号を装置2に送り、その割込要求を消去させる。更に、割込サービス処理ルーチンの終了時点で、CPUは現在優先順位ロジック860内部の前回優先順位状態を復元する。
従って図8Bを図5Bと比較することにより、デイジー・チェーンが図7に図示する本発明の実施例に基づくVICを含む場合、装置1からのより高いレベルの割込が、装置2からのより低いレベルの割込が処理されている間に阻止されることは無く、従って図5Bで図示されている従来技術の問題が解決されている。
更に、先に説明した従来技術で生じたような、優先順位レベルがデイジー・チェーンの中で修正変更されることを防止することによって、ソフトウェア・アプリケーション、またはオペレーティング・システムでの割込優先順位管理がより容易になる。
図11および12は図6および7のVICに代わる実施例を図示する。図11を図7と比較することより明らかなように、図11のVIC1200の構造は実質的に図7のVIC800と同じであるが、デイジー・チェーン接続されたVICからの割込要求のマスク処理を行うために具備されている機能が異なる。図11において、マスク生成ロジック1220がVIC800のマスク処理ロジック815の代わりに具備されており、これはマスク信号865を現在優先順位ロジック860から、またインタフェース1210部分でVIC1200により受け取られたシステム優先順位レベルも受け取る。このVICのハンドシェーク・ユニットもまた、現在優先順位ロジック860に対して、システム・レベル優先順位信号を経路1230を経由して出力インタフェースに出力させることが可能であり、この出力インタフェースから経路1240を経由してデイジー・チェーン内の他のVICへ伝搬することが可能である。次に、この機能がデイジー・チェーン接続されているVICからの割込要求のマスク処理管理に使用される方法が、図12に図示されている。
図12は先に説明した図6に類似しているが、デイジー・チェーン内に第3番目のVIC1310が追加して示されている。更にVIC610,710および1310は各々、マスク生成ロジック1370,1380,1360をそれぞれ含むように示されている。CPU600に接続されているVIC610はその現在優先順位状態(すなわち、現在優先順位ロジック650の現在優先順位レジスタ内に格納されている値)を、システム優先順位レベル信号として経路1240上を、デイジー・チェーン内の他の全てのVICに対して出力させるように動作することが可能であり、そのシステム優先順位レベルは他のVIC1310,710それぞれの、マスク生成ロジック1360,1380へ入力される。
各VIC内のマスク生成ロジックは、マスク信号をVICの現在優先順位レジスタの出力、または受け取られたシステム優先順位レベル信号のいずれかから生成するように構成されている。VIC610では、現在優先順位ロジック650が稼働中であるので、マスク生成ロジックは内部的に生成されたマスク信号を、VICの可能化/マスク処理ロジックへ送るマスク信号として使用する(すなわち図11を参照すると、マスク生成ロジック1220は経路865上で受けたマスク信号を可能化/マスク処理ロジック805へ出力する)。
各VIC710,1310に対して、現在優先順位ロジック750、1350はそれぞれ、不活性でありマスク生成ロジックは代わりに経路1240を経由して受け取ったシステム優先順位レベルをマスク信号として使用し、そのVICの可能化/マスク処理ロジックへ送る(すなわち、図11を参照すると、マスク生成ロジック1220はインタフェース1210で受け取ったシステム優先順位レベルを可能化/マスク処理ロジック805にマスク信号として出力する)。
この結果、デイジー・チェーン内の各VIC内の可能化/マスク処理ロジック805は、割込要求を発生させる割込発生源が現在CPU600で処理されている割込要求よりも高い優先順位を持つ場合にのみ、そのVICから割込要求を出力することが可能となる。
従って、デイジー・チェーン・インタフェース845で受け取られたデイジー・チェーン優先順位レベル情報はマスク処理ロジックへ送られる必要はなく、デイジー・チェーン割込要求を直接ORゲート810へ回送することが可能であるが、それはデイジー・チェーン割込要求はその優先順位が現在CPUで処理されている割込要求よりも高い場合にのみ、デイジー・チェーンの上流側にVICにより伝搬する事が許されているからである。しかしながら、デイジー・チェーン優先順位レベル情報はデイジー・チェーン・インタフェースで受け取られる必要は有り、それは比較ロジック840がデイジー・チェーン割込要求を、割込発生源インタフェース802で受け取られたローカルに生成された割込要求の代わりに出力すべきか否かの決定を行うために必要だからである。
各VICの入力が互いに他のVICに結合されており、その出力がチェーン内の別の下流側VICまたはCPUに結合されている様な、典型的なデイジー・チェーン構造において、割込要求信号をデイジー・チェーンを通して伝搬するのに必要なクロック周期の数は典型的に、デイジー・チェーンのレベルが追加される毎に1クロック周期づつ増加する。従来型ベクトル式割込システムでは信号の伝搬遅延は許容可能であったが、最近のマイクロプロセッサの割込処理は以前よりもかなり速くなっており、割込が発生してから数周期の間にベクトル・アドレスを取り扱うことが可能である。従って、ベクトル・アドレスがデイジー・チェーン内の各構成要素を伝搬する際にCPUを待たさなければならない必要が有ると、結果として好ましくない待ち時間問題を生じることになる。
この問題は本発明の1つの実施例では、各VICに複数のデイジー・チェーン・インタフェース、1つの実施例では2つのデイジー・チェーン・インタフェース、を具備することで解決されており、これによって図9に図示されているような新奇なデイジー・チェーン構造の構築が可能となる。図9の例において、VIC1000はCPUに結合されており、2つのデイジー・チェーン割込要求を、1つはVIC1010から、もう1つをVIC1025から受け取ることが出来る。VIC1010は続いてデイジー・チェーン割込要求をVIC1015またはVIC1020から受け取ることが可能であり、一方VIC1025はデイジー・チェーン割込要求をVIC1030またはVIC1035から受け取ることが可能である。図9に図示された実施例において、番号6のVIC1035で生成された割込要求のCPUへの伝搬遅延は3クロック周期であることが分かる。対照的に、図1では番号6のVIC160の対応する伝搬遅延は7クロック周期であることが分かる。従って、この様な手法はシステムの伝搬遅延をかなり削減することが可能である。これを3段のデイジー・チェーンまたは必要で有ればそれ以上に拡張出来ることは明らかである。
図10はVIC1000の構造の1つの実施例を図示する。好適な実施例において、他の各々のVIC1010から1035も同様の構造を有する。図10の構造は図7のVIC構造を修正変更したものに基づいている。VIC1000はまた、図11のVIC構造に類似の修正変更を加えて生成できることも理解されよう。
図10内の構成要素で、図7のVIC800内に図示されている構成要素と同じものは、同一参照番号で参照されており、此処では更なる説明を行わない。見て分かるように、主な違いはデイジー・チェーン・インタフェース1090が2つの部分から構成されることであって、ひとつは第1デイジー・チェーン割込要求1072を、それに対応する優先順位レベル1074およびベクトル・アドレス1076と共に受け取るためのものであり、第2部分は第2デイジー・チェーン割込要求1082を、それに対応する優先順位レベル1084およびベクトル・アドレス1086と共に受け取るためのものである。
各々のデイジー・チェーン割込要求およびそれに関連する優先順位レベルはマスク処理ロジック1050および比較ロジック1060へ回送される。マスク処理ロジック1050は1つの信号をORゲート810に出力して、その入力デイジー・チェーン割込要求のいずれかが、経路865上の現在マスク値出力を超える優先順位レベルを有する場合に割込要求を生成させる。比較ロジック1060は優先順位符号器820から出力された優先順位レベルを優先順位レベル1074および1084の両方と比較し、経路842上に最高位優先順位レベルを出力する。加えて、比較ロジック1060は制御信号を、検出された最高位優先順位に応じてマルチプレクサ1070に生成し、マルチプレクサ1070が対応するベクトル・アドレスを2つのデイジー・チェーン・ベクトル・アドレス1076および1086並びにマルチプレクサ830の出力から確実に選択するようにしている。これらの変更以外、VIC1000は先に図7のVIC800に関して説明したのと同じように動作する。
以上の説明から、本発明の実施例に基づくVIC構造を使用するとき、効果的な優先順位情報の処理がデイジー・チェーン構造の中で実行され、これによりソフトウェアおよび簡単なSoC設計の中でより簡単な割込優先順位管理を可能とする、割込優先順位接続方法が提供できることは明らかであろう。特に、より高位の優先順位割込がデイジー・チェーンの中で、典型的な従来技術によるデイジー・チェーン構成の中で生じたように阻止されることは無いように保証されているので、これは種々の割込発生源がデイジー・チェーンの中でVICに接続されるやり方に対して更に多くの柔軟性を与える。
更に、本発明の1つの実施例において、割込処理の遅れ時間は、各VICに対して複数のデイジー・チェーン入力ポートを具備することで極めて削減される。これは多数のデイジー・チェーン接続されたVICを備えたシステム内で、かなりの性能改善を行うことを可能とする。
本発明の特定の実施例を此処に説明してきたが、本発明はそれに限定されるものではなく、多くの修正変更および追加を本発明の範囲内で行えることは明らかであろう。例えば、以下の従属する特許請求の範囲の特徴の種々の組み合わせを、本発明の範囲から逸脱することなく独立した特許請求項の特徴から作り出すことが可能である。
図1はVICのデイジー・チェーン構成を図示するブロック図である。 図2Aは第1の従来技術に基づくデイジー・チェーン構成を図示するブロック図である。 図2Bは第2の従来技術に基づくデイジー・チェーン構成を図示するブロック図である。 図3はデイジー・チェーン接続構造で使用される従来型VICの構成要素を更に詳細に図示するブロック図である。 図3に示すVICの動作を図示する。 図3に示すVICの動作を図示する。 デイジー・チェーン構成の中で使用された場合の図3に示すVICの動作を図示する。 デイジー・チェーン構成の中で使用された場合の図3に示すVICの動作を図示する。 図6は本発明の1つの実施例に基づくVICの動作を図示するブロック図である。 図7は本発明の1つの実施例に基づくVIC内に具備された構成要素を図示するブロック図である。 デイジー・チェーン構成の中で使用された場合の図7に示すVICの動作を図示する。 デイジー・チェーン構成の中で使用された場合の図7に示すVICの動作を図示する。 図9は本発明の1つの実施例に基づく新たなデイジー・チェーン構成を図示する。 図10は、図9のデイジー・チェーン構成の中で採用可能な、本発明の1つの実施例に基づくVICを図示するブロック図である。 図11は本発明の別の実施例に基づくVIC内に具備された構成要素を図示するブロック図である。 図12は図11の実施例に基づくVICの動作を図示するブロック図である。
符号の説明
100,110,120,130,140,150,160 ベクトル割込制御装置(VIC)
200 CPU
210,220,240 ベクトル割込制御装置(VIC)
300 ベクトル割込制御装置(VIC)
305 可能化/マスク処理
320 ORゲート
325 優先順位符号器
330 ベクトル・アドレス記憶装置
335 マルチプレクサ
340 ハンドシェーク・ユニット
350 現在優先順位レジスタ
400 CPU
500,510 ベクトル割込制御装置(VIC)
600 CPU
610,710 ベクトル割込制御装置(VIC)
620,720 割込処理ロジック
645,745 ハンドシェーク・ロジック
650,750 現在優先順位ロジック
800 ベクトル割込制御装置(VIC)
802 割込発生源インタフェース
805 可能化/マスク処理
810 ORゲート
815 マスク処理ロジック
820 優先順位符号器
825 ベクトル・アドレス記憶装置
830,850 マルチプレクサ
840 比較ロジック
845 デイジー・チェーン・インタフェース
855 ハンドシェーク・ユニット
860 現在優先順位ロジック
900,910 ベクトル割込制御装置(VIC)
1050 マスク処理ロジック
1070 マルチプレクサ
1090 デイジー・チェーン・インタフェース
1310 ベクトル割込制御装置(VIC)
1320 割込処理ロジック
1345 ハンドシェーク・ユニット
1350 現在優先順位ロジック
1360,1370,1380 マスク処理ユニット

Claims (33)

  1. 複数の割込発生源で生成された割込要求の優先順位付けを行う割込制御装置であって:
    第1の複数の割込発生源で生成された割込要求を受け取るように動作可能な割込発生源インタフェースと;
    第2の複数の割込発生源で生成された第2の複数の割込要求に基づき、更に別の割込制御装置から出力されたデイジー・チェーン割込要求を受け取るように動作可能で、デイジー・チェーン割込要求に関連する優先順位を示すデイジー・チェーン優先順位信号を受け取るように動作可能な優先順位入力を含む、デイジー・チェーン・インタフェースと;
    デイジー・チェーン優先順位信号を受け取り、予め定められた優先順位付け基準を適用し、デイジー・チェーン割込要求および第1の複数の割込発生源で生成された複数の割込要求の中から選ばれた最高位優先順位の割込要求を決定するように動作可能な優先順位付けロジックと;
    最高位優先順位割込要求を出力するように動作可能で、最高位優先順位割込要求に関連する優先順位を示す出力優先順位信号を与えるように動作可能な優先順位出力を含む、出力インタフェースとを含む、前記割込制御装置。
  2. 請求項1記載の割込制御装置において、優先順位付けロジックが:
    第1の複数の割込発生源で生成された複数の割込要求から選択された、初期最高位優先順位割込要求を決定するように動作可能な優先順位符号器と;
    初期最高位優先順位割込要求とデイジー・チェーン割込要求から選択された、最高位優先順位割込要求を決定するように動作可能な決定ロジックとを含む、前記割込制御装置。
  3. 請求項2記載の割込制御装置において、優先順位符号器が初期最高位優先順位割込要求に関連する優先順位を示す初期優先順位信号を生成するように動作可能で、決定ロジックが初期優先順位信号をデイジー・チェーン優先順位信号と比較し、最高位優先順位割込要求を決定するように動作可能である、前記割込制御装置。
  4. 請求項3記載の割込制御装置において、決定ロジックが出力インタフェース経由で出力される、出力優先順位信号を生成するように動作可能である、前記割込制御装置。
  5. 請求項1記載の割込制御装置が更に、第1の複数の割込発生源で生成された各々の割込要求と、その割込要求を処理するようにプロセッサで実行されるべき割込処理ルーチンを識別する関連のベクトル・アドレスとを格納するための記憶装置を含み、デイジー・チェーン・インタフェースがデイジー・チェーン割込要求に関連するデイジー・チェーン・ベクトル・アドレスを示すデイジー・チェーン・ベクトル・アドレスを受け取るように動作可能なベクトル・アドレス入力を含み、出力インタフェースが最高位優先順位割込要求に関連する出力ベクトル・アドレスを示す、出力ベクトル・アドレス信号を提供するように動作可能なベクトル・アドレス出力を含む、前記割込制御装置。
  6. 請求項5記載の割込制御装置において、優先順位付けロジックが:
    第1の複数の割込発生源で生成された割込要求から選択された、初期最高位優先順位割込要求を決定するように動作可能な優先順位符号器と;
    初期最高位優先順位割込要求とデイジー・チェーン割込要求とから選択された、最高位優先順位割込要求を決定するように動作可能な決定ロジックとを含み;
    割込制御装置が更に;
    優先順位符号器で決定された初期最高位割込要求に関連した初期ベクトル・アドレスを、記憶装置から選択するように動作可能な初期ベクトル・アドレス選択器と;
    初期ベクトル・アドレスおよびデイジー・チェーンベクトル・アドレスを受け取り、決定ロジックで決定された最高位優先順位割込要求に関連するベクトル・アドレスを出力ベクトル・アドレスとして選択するように動作可能な、出力ベクトル・アドレス選択器とを含む、前記割込制御装置。
  7. 請求項6記載の割込制御装置において、決定ロジックが出力ベクトル・アドレス選択器を制御する駆動信号を生成するように動作可能な、前記割込制御装置。
  8. 請求項1記載の割込制御装置において、出力インタフェースが割込制御装置と最高位優先順位割込要求を処理するために使用されるプロセッサと接続するように動作可能で、割込制御装置が更に:
    出力インタフェースから出力された現在の最高位優先順位割込要求に関連する優先順位を格納し、現在最高位優先順位割込要求がプロセッサで受付済み割込要求として受け付けられたことを示すプロセッサからの肯定確認信号に応答して、現在優先順位ロジック内に格納されている優先順位を示すマスク信号を生成する、現在優先順位ロジックと;
    受付済み割込要求をプロセッサで処理する間、受付済み割込要求よりも低いかまたは同じ優先順位を有する全ての割込要求の出力インタフェース部での生成を抑制するように動作可能なマスク処理ロジックとを含む、前記割込制御装置。
  9. 請求項8記載の割込制御装置において、マスク処理ロジックが:
    割込発生源に関連し、受付済み割込要求よりも低いかまたは同等の優先順位を備えた全ての割込要求が、優先順位付けロジックで処理されることを防止するように動作可能である、第1マスク処理ロジックと;
    デイジー・チェーン・インタフェースに関連し、受付済み割込要求よりも低いかまたは同等の優先順位を備えた全てのデイジー・チェーン割込要求が、優先順位付けロジックで処理されることを防止するように動作可能である、第2マスク処理ロジックとを含む、前記割込制御装置。
  10. 請求項8記載の割込制御装置において:
    現在優先順位ロジックで生成されたマスク信号が、更に別の割込制御装置に、更に別の割込制御装置が、第2の複数の割込要求の1つが受付済み割込要求よりも高い優先順位を持つ場合にのみ、デイジー・チェーン割込要求を生成するように伝搬され;
    マスク処理ロジックが割込発生源インタフェースに関連付けられ、受付済み割込要求よりも低いかまたは同等の優先順位を有する、第1の複数の割込発生源で生成された全ての割込要求が優先順位付けロジックで処理されることを防止するように動作可能である、前記割込制御装置。
  11. 請求項1記載の割り込み制御装置が更に、前記更に別の割り込み制御装置がこの割り込み制御装置に接続可能となるように、複数の前記デイジー・チェーン・インタフェースを含み、各々の更に別の割り込み制御装置がデイジー・チェーン割込要求と関連するデイジー・チェーン優先順位信号とを、その更に別の割込制御装置で受け取られた対応する複数の割込要求に基づいて精製するように動作可能であり、優先順位付けロジックが各々のデイジー・チェーン優先順位信号を受け取り、またデイジー・チェーン割込要求と第1の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用するように動作可能である、前記割り込み制御装置。
  12. 請求項3記載の割り込み制御装置が更に、前記更に別の割り込み制御装置がこの割り込み制御装置に接続可能となるように、複数の前記デイジー・チェーン・インタフェースを含み、各々の更に別の割り込み制御装置がデイジー・チェーン割込要求と関連するデイジー・チェーン優先順位信号とを、その更に別の割込制御装置で受け取られた対応する複数の割込要求に基づいて精製するように動作可能であり、優先順位付けロジックが各々のデイジー・チェーン優先順位信号を受け取り、またデイジー・チェーン割込要求と第1の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用するように動作可能であり、此処で決定ロジックが初期優先順位信号と各デイジー・チェーン・インタフェースで受け取られたデイジー・チェーン優先順位信号とを、最高位優先順位割込要求を決定するために比較するように動作可能である、前記割り込み制御装置
  13. 請求項6記載の割り込み制御装置が更に、前記更に別の割り込み制御装置がこの割り込み制御装置に接続可能となるように、複数の前記デイジー・チェーン・インタフェースを含み、各々の更に別の割り込み制御装置がデイジー・チェーン割込要求と関連するデイジー・チェーン優先順位信号とを、その更に別の割込制御装置で受け取られた対応する複数の割込要求に基づいて精製するように動作可能であり、優先順位付けロジックが各々のデイジー・チェーン優先順位信号を受け取り、またデイジー・チェーン割込要求と第1の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用するように動作可能であり、此処で出力ベクトル・アドレス選択器が、初期ベクトル・アドレスと各々のデイジー・チェーン・インタフェース部で受け取られたデイジー・チェーン・ベクトル・アドレスとを受け取り、出力ベクトル・アドレスとして、決定ロジックで決定された最高位優先順位割込要求に関連するベクトル・アドレスを選択するように動作可能な、前記割り込み制御装置。
  14. 請求項9記載の割り込み制御装置が更に、前記更に別の割り込み制御装置がこの割り込み制御装置に接続可能となるように、複数の前記デイジー・チェーン・インタフェースを含み、各々の更に別の割り込み制御装置がデイジー・チェーン割込要求と関連するデイジー・チェーン優先順位信号とを、その更に別の割込制御装置で受け取られた対応する複数の割込要求に基づいて精製するように動作可能であり、優先順位付けロジックが各々のデイジー・チェーン優先順位信号を受け取り、またデイジー・チェーン割込要求と第1の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用するように動作可能であり、此処で第2マスク処理ロジックが、各々のデイジー・チェーン・インタフェースに関連づけられており、関連するデイジー・チェーン・インタフェースで受け取られた受付済み割込要求よりも低いかまたは同等の優先順位を備えた全てのデイジー・チェーン割込要求が、優先順位付けロジックで処理されることを防止するように動作可能な、前記割り込み制御装置。
  15. 請求項1記載の割り込み制御装置において、デイジー・チェーン・インタフェースの優先順位入力が、そのデイジー・チェーン優先順位信号を受け取るように動作可能な、個別の入力ピンの組を含む、前記割り込み制御装置。
  16. 請求項1記載の割り込み制御装置において、出力インタフェースの優先順位出力が、出力優先順位信号を提供するように動作可能な、個別の出力ピンの組を含む、前記割り込み制御装置。
  17. データ処理装置であって:
    割り込みを処理するためのプロセッサと;
    少なくとも1つの割り込み制御装置が請求項1記載の割り込み制御装置であり、複数の割込発生源で生成された割り込み要求の優先順位付けを行うための、一連のデイジー・チェーン割り込み制御装置とを含む、前記データ処理装置。
  18. 複数の割込発生源で生成された割込要求の優先順位付けを行うための方法であって:
    (a)第1の複数の割込発生源で生成された割込要求を、割込発生源インタフェースで受け取り;
    (b)デイジー・チェーン・インタフェースで、第2の複数の割込発生源で生成された第2の複数の割込要求に基づいたデイジー・チェーン割込要求と、そのデイジー・チェーン割込要求に関連する優先順位を示すデイジー・チェーン優先順位信号とを受け取り;
    (c)デイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第1の複数の割込発生源で生成された割込要求とから選択された最高位優先順位割込要求を決定するために、予め定められた優先順位付け基準を適用し;
    (d)出力インタフェースから最高位優先順位割込要求と、最高位優先順位割込要求に関連する優先順位を祖雌、出力優先順位信号とを出力する、以上のステップを含む、前記方法。
  19. 請求項18記載の方法において、ステップ(c)が:
    (c)(1)第1の複数の割込発生源で生成された割込要求から選択された、初期最高位優先順位割込要求を決定し;
    (c)(2)初期最高位優先順位割込要求とデイジー・チェーン割込要求とから選択された最高位優先順位割込要求を決定する、以上のステップを含む前記方法。
  20. 請求項19記載の方法において、ステップ(c)(1)が、初期最高位優先順位割込要求に関連した優先順位を示す、初期優先順位信号を生成するステップを含み、ステップ(c)(2)が最高位優先順位割込要求を決定するために、初期優先順位信号とデイジー・チェーン優先順位信号とを比較するステップを含む、前記方法。
  21. 請求項20記載の方法において、ステップ(c)(2)が更に、出力インタフェースから出力されるべき出力優先順位信号を生成するステップを含む、前記方法。
  22. 請求項18記載の方法が更に:
    第1の複数の割込発生源で生成された各々の割込要求に対して、その割込要求を処理するためにプロセッサで実行されるべき、割り込み処理ルーチンを示す関連するベクトル・アドレスを格納し;
    デイジー・チェーン・インタフェース部で、デイジー・チェーン割込要求に関連するデイジー・チェーンベクトル・アドレスを示す、デイジー・チェーン・ベクトル・アドレスを受け取り;
    出力インタフェースから最高位優先順位割込要求に関連する出力ベクトル・アドレスを示す出力ベクトル・アドレスを提供する、以上のステップを含む、前記方法。
  23. 請求項22記載の方法において、ステップ(c)が:
    (c)(1)第1の複数の割込発生源で生成された割込要求から選択された初期最高位優先順位割込要求を決定し;
    (c)(2)初期最高位優先順位割込要求とデイジー・チェーン割込要求とから選択された、最高位優先順位割込要求を決定するステップを含み;
    この方法が更に:
    格納されているベクトル・アドレスから、ステップ(c)(1)で決定された初期最高位優先順位割込要求に関連した、初期ベクトル・アドレスを選択し;
    初期ベクトル・アドレスとデイジー・チェーン・ベクトル・アドレスを参照して、ステップ(c)(2)で決定された最高位優先順位割込要求に関連するベクトル・アドレスを、出力ベクトル・アドレスとして選択する、ステップを含む、前記方法。
  24. 請求項23記載の方法において、ステップ(c)(2)が更に、出力ベクトル・アドレスの選択を制御する駆動信号を生成するステップを含む、前記方法。
  25. 請求項18記載の方法において、出力インタフェースが最高位優先順位割込要求を処理するために使用されるプロセッサに接続されており、該方法が更に:
    出力インタフェースから出力された現在最高位優先順位割込要求に関連する、現在優先順位を格納し;
    プロセッサからの、現在最高位優先順位割込要求がプロセッサにより受け付け済み割込要求として受け付けられたことを示す肯定確認信号に応答して、格納された現在優先順位を識別するマスク処理信号を生成し;
    受け説け済み割込要求をプロセッサで処理する間、受付済み割込要求よりも低いかまたは同じ優先順位を有する全ての割込要求の、出力インタフェースでの生成を抑制する、以上のステップを含む、前記方法。
  26. 請求項25記載の方法において、抑制ステップが:
    受付済み割込要求よりも低いかまたは同じ優先順位を備えた全ての割込要求が、ステップ(c)で処理されることを防止し;
    受付済み割込要求よりも低いかまたは同じ優先順位を備えた全てのデイジー・チェーン割込要求が、ステップ(c)で処理されることを防止する、以上のステップを含む、前記方法。
  27. 請求項25記載の方法が更に:
    生成されたマスク処理信号を更に別の割り込み制御装置に対して、更に別の割り込み制御装置が第2の複数の割込要求の1つが、受付済み割込要求よりも高い優先順位を持つ場合にのみ、デイジー・チェーン割込要求を生成するように伝搬させ;
    此処で、抑制ステップが受け付け済み割込要求よりも低いかまたは同じ優先順位を有する第1の複数の割込発生源で生成された全ての割込要求が、ステップ(c)で処理されることを防止するステップを含む、前記方法。
  28. 請求項18記載の方法において、前記複数のデイジー・チェーン・インタフェースが、前記ステップ(b)で前記複数のデイジー・チェーン割込要求と対応する複数の割込要求に基づく関連するデイジー・チェーン優先順位信号を受け取ることが可能なように具備されており、前記とか(c)が:
    各々のデイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第1の複数の割込発生源で生成された割込要求とから選択された、最高位優先順位割込要求を決定するように、予め定められた優先順位付け基準を適用するステップを含む、前記方法。
  29. 請求項20記載の方法において、複数の前記デイジー・チェーン・インタフェースが、前記ステップ(b)で複数の前記デイジー・チェーン割込要求と、対応する複数の割込要求に基づく関連するデイジー・チェーン信号とを受け付けることを可能とするように具備されており、前記ステップ(c)が:
    各々のデイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第1の複数の割込発生源で生成された割込要求とから選択された、最高位優先順位割込要求を決定するように、予め定められた優先順位付け基準を適用し;
    此処で、ステップ(c)(2)が最高位優先順位割込要求を決定するために、初期優先順位信号と各々のデイジー・チェーン・インタフェースで受け取られたデイジー・チェーン優先順位信号とを比較するステップを含む、前記方法。
  30. 請求項23記載の方法において、複数の前記デイジー・チェーン・インタフェースが、前記ステップ(b)で複数の前記デイジー・チェーン割込要求と、対応する複数の割込要求に基づく関連するデイジー・チェーン信号とを受け付けることを可能とするように具備されており、前記ステップ(c)が:
    各々のデイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第1の複数の割込発生源で生成された割込要求とから選択された、最高位優先順位割込要求を決定するように、予め定められた優先順位付け基準を適用し;
    此処で、出力ベクトル・アドレスを選択するステップが:
    初期ベクトル・アドレスと各々のデイジー・チェーン・インタフェースで受け取られたデイジー・チェーン・ベクトル・アドレスとを参照して、ステップ(c)(2)で決定された最高位優先順位割込要求に関連するベクトル・アドレスを、出力ベクトル・アドレスとして選択するステップを含む、前記方法。
  31. 請求項26記載の方法において、複数の前記デイジー・チェーン・インタフェースが、前記ステップ(b)で複数の前記デイジー・チェーン割込要求と、対応する複数の割込要求に基づく関連するデイジー・チェーン信号とを受け付けることを可能とするように具備されており、前記ステップ(c)が:
    各々のデイジー・チェーン優先順位信号を参照して、デイジー・チェーン割込要求と第1の複数の割込発生源で生成された割込要求とから選択された、最高位優先順位割込要求を決定するように、予め定められた優先順位付け基準を適用し;
    また、此処で受付済み割込要求よりも低いかまたは同じ優先順位を備えた全てのデイジー・チェーン割込要求が、ステップ(c)で処理されることを防止するステップが、各デイジー・チェーン・インタフェースで受け取られたデイジー・チェーン割込要求に関して実行される、前記方法。
  32. 請求項18記載の方法において、デイジー・チェーン・インタフェースがデイジー・チェーン優先順位信号を受け取るように動作可能な、個別の組の入力ピンを含む、前記方法。
  33. 請求項18記載の方法において、出力インタフェースが出力優先順位信号を提供るように動作可能な、個別の組の出力ピンを含む、前記方法。
JP2003421131A 2002-12-19 2003-12-18 複数の割込発生源から生じる割込要求の優先順位決定用割込制御装置ならびに割込制御方法 Abandoned JP2004199698A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0229601A GB2396445B (en) 2002-12-19 2002-12-19 An interrupt controller and interrupt controlling method for prioritizing interrupt requests generated by a plurality of interrupt sources

Publications (1)

Publication Number Publication Date
JP2004199698A true JP2004199698A (ja) 2004-07-15

Family

ID=9949999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003421131A Abandoned JP2004199698A (ja) 2002-12-19 2003-12-18 複数の割込発生源から生じる割込要求の優先順位決定用割込制御装置ならびに割込制御方法

Country Status (3)

Country Link
US (1) US7328295B2 (ja)
JP (1) JP2004199698A (ja)
GB (1) GB2396445B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008532167A (ja) * 2005-02-28 2008-08-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 割込み制御器を有するデータ処理システム及び割込み制御方法
JP2015141717A (ja) * 2014-01-28 2015-08-03 エイアールエム リミテッド 推測的割込みシグナリング

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100528476B1 (ko) * 2003-07-22 2005-11-15 삼성전자주식회사 컴퓨터 시스템의 인터럽트 처리 장치
JP4149404B2 (ja) * 2004-03-26 2008-09-10 沖電気工業株式会社 エバリュエーションチップ
CN1333344C (zh) * 2005-08-18 2007-08-22 上海交通大学 减轻片上系统软件负载的方法
US7415557B2 (en) * 2006-06-06 2008-08-19 Honeywell International Inc. Methods and system for providing low latency and scalable interrupt collection
EP1868109A1 (de) * 2006-06-12 2007-12-19 Siemens Aktiengesellschaft Ereignissignalisierung zwischen Peripheriemodulen und einer Verarbeitungseinheit
WO2008117111A2 (en) * 2006-10-04 2008-10-02 Marvell World Trade Ltd. Flash memory control interface
GB2450516A (en) * 2007-06-27 2008-12-31 Symbian Software Ltd Servicing interrupts in a device having multiple interrupt controllers
US7752353B2 (en) * 2007-10-22 2010-07-06 Sandisk Il Ltd. Signaling an interrupt request through daisy chained devices
US8015337B2 (en) * 2009-03-23 2011-09-06 Arm Limited Power efficient interrupt detection
US8458386B2 (en) * 2010-12-07 2013-06-04 Apple Inc. Atomic interrupt masking in an interrupt controller to prevent delivery of same interrupt vector for consecutive interrupt acknowledgements
US8959270B2 (en) 2010-12-07 2015-02-17 Apple Inc. Interrupt distribution scheme
US8775689B2 (en) 2011-05-02 2014-07-08 Deere & Company Electronic modules with automatic configuration
US9672186B2 (en) * 2014-06-20 2017-06-06 Nxp Usa, Inc. Electronic monitoring device having wake-up for daisy chain
CN108255756B (zh) * 2017-12-12 2020-06-19 深圳比特微电子科技有限公司 一种多芯片串联通信系统
CN111506530A (zh) * 2019-01-30 2020-08-07 智原科技股份有限公司 中断管理系统及其管理方法
CN111752877A (zh) * 2019-03-27 2020-10-09 阿里巴巴集团控股有限公司 一种处理器及其中的中断控制器
FR3109227B1 (fr) * 2020-04-14 2022-05-06 St Microelectronics Alps Sas Contrôleur d’interruption et procédé de gestion d’un tel contrôleur

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE887134A (fr) * 1979-12-14 1981-05-14 Gte Automatic Electric Lab Inc Circuit expanseur d'interruption
CA1218465A (en) * 1984-04-30 1987-02-24 Jerry D. Neal Communications controller board
JPH0792782B2 (ja) * 1985-09-30 1995-10-09 富士通株式会社 処理実行システム
US4918590A (en) * 1987-11-16 1990-04-17 Sanyo Electric Co., Ltd. Hybrid circuit module having bridge circuit and rectifying circuit disposed on a same substrate
JPH0268632A (ja) * 1988-09-05 1990-03-08 Toshiba Corp 割込み制御装置
US5481725A (en) * 1993-08-03 1996-01-02 Intel Corporation Method for providing programmable interrupts for embedded hardware used with programmable interrupt controllers
US5506997A (en) * 1994-01-28 1996-04-09 Compaq Computer Corp. Device for mapping a set of interrupt signals generated on a first type bus to a set of interrupt signals defined by a second type bus and combing the mapped interrupt signals with a set of interrupt signals of the second type bus
DE69531270T2 (de) * 1994-05-31 2004-04-22 Advanced Micro Devices, Inc., Sunnyvale Unterbrechungssteuerungsgeräte in symmetrischen Mehrprozessorsystemen
US5640571A (en) * 1995-03-01 1997-06-17 Intel Corporation Interrupt steering for a computer system
DE69726400T2 (de) * 1996-09-20 2004-08-26 Koninklijke Philips Electronics N.V. Festkörper-datenprozessor mit vielseitiger mehrquellen-unterbrechungsorganisation
US5887175A (en) * 1997-02-14 1999-03-23 Integrated Device Technology, Inc. Apparatus and method for managing interrupt delay on floating point error
US6105140A (en) * 1998-02-10 2000-08-15 Compaq Computer Corporation Secure power supply
JP3556465B2 (ja) * 1998-04-21 2004-08-18 株式会社ルネサステクノロジ 割り込みコントローラ
US6442631B1 (en) * 1999-05-07 2002-08-27 Compaq Information Technologies Group, L.P. Allocating system resources based upon priority
US6466998B1 (en) * 1999-08-25 2002-10-15 Intel Corporation Interrupt routing mechanism for routing interrupts from peripheral bus to interrupt controller
US6842811B2 (en) * 2000-02-24 2005-01-11 Pts Corporation Methods and apparatus for scalable array processor interrupt detection and response
US6813666B2 (en) * 2001-02-12 2004-11-02 Freescale Semiconductor, Inc. Scaleable arbitration and prioritization of multiple interrupts
US7350005B2 (en) * 2003-05-23 2008-03-25 Arm Limited Handling interrupts in a system having multiple data processing units

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008532167A (ja) * 2005-02-28 2008-08-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 割込み制御器を有するデータ処理システム及び割込み制御方法
JP2015141717A (ja) * 2014-01-28 2015-08-03 エイアールエム リミテッド 推測的割込みシグナリング

Also Published As

Publication number Publication date
GB2396445B (en) 2005-12-21
US7328295B2 (en) 2008-02-05
GB2396445A (en) 2004-06-23
US20040199694A1 (en) 2004-10-07
GB0229601D0 (en) 2003-01-22

Similar Documents

Publication Publication Date Title
JP2004199698A (ja) 複数の割込発生源から生じる割込要求の優先順位決定用割込制御装置ならびに割込制御方法
US5555430A (en) Interrupt control architecture for symmetrical multiprocessing system
JP4006180B2 (ja) マルチスレッド式プロセッサでスレッド切替えイベントを選択するための方法および装置
EP0737923B1 (en) Interrupt system in microprocessor
KR100899951B1 (ko) 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법
US5781187A (en) Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system
US6105051A (en) Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US5564060A (en) Interrupt handling mechanism to prevent spurious interrupts in a symmetrical multiprocessing system
JP5047542B2 (ja) マルチスレッドプロセッサのディスパッチ時にスレッドをブロックする方法、コンピュータプログラム、および装置(精細なマルチスレッドディスパッチロックメカニズム)
US5613126A (en) Timer tick auto-chaining technique within a symmetrical multiprocessing system
JP2001521216A (ja) マルチスレッド式プロセッサ・システムでのスレッド切替え制御
EP0685798B1 (en) Interrupt controllers in symmetrical multiprocessing systems
CN107003962B (zh) 保持计算系统中高速缓存一致性的方法、装置和计算系统
US8086766B2 (en) Support for non-locking parallel reception of packets belonging to a single memory reception FIFO
US9971711B2 (en) Tightly-coupled distributed uncore coherent fabric
KR20020008955A (ko) 버스 시스템 및 그 실행 순서 조정방법
US5974479A (en) System for executing, canceling, or suspending a DMA transfer based upon internal priority comparison between a DMA transfer and an interrupt request
US7028116B2 (en) Enhancement of transaction order queue
JP5058116B2 (ja) ストリーミングidメソッドによるdmac発行メカニズム
WO2007039933A1 (ja) 演算処理装置
JP2006215621A (ja) Dma制御装置
US20020120805A1 (en) Method and apparatus for a dual mode PCI/PCI-X device
EP3238085B1 (en) Virtual legacy wire
KR100451722B1 (ko) 직접 메모리 액세스 제어 장치
JP2004145593A (ja) ダイレクトメモリアクセス装置およびバスアービトレーション制御装置、ならびにそれらの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060301

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20070618