JP2009521036A - プログラム可能な優先値を用いた割込み制御器 - Google Patents

プログラム可能な優先値を用いた割込み制御器 Download PDF

Info

Publication number
JP2009521036A
JP2009521036A JP2008546562A JP2008546562A JP2009521036A JP 2009521036 A JP2009521036 A JP 2009521036A JP 2008546562 A JP2008546562 A JP 2008546562A JP 2008546562 A JP2008546562 A JP 2008546562A JP 2009521036 A JP2009521036 A JP 2009521036A
Authority
JP
Japan
Prior art keywords
priority
priority value
value
mapping
manager
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.)
Granted
Application number
JP2008546562A
Other languages
English (en)
Other versions
JP5328366B2 (ja
Inventor
ダニエル・カーショー
リチャード・ロイ・グリセンスウェイト
スチュアート・デイヴィッド・ビルス
デイヴィッド・ヘナー・マンセル
Original Assignee
アーム・リミテッド
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 アーム・リミテッド filed Critical アーム・リミテッド
Publication of JP2009521036A publication Critical patent/JP2009521036A/ja
Application granted granted Critical
Publication of JP5328366B2 publication Critical patent/JP5328366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)

Abstract

割込み制御器(2)には、受信された割込み信号I−I間の優先順位を決定するために用いられる優先値P0−P9を記憶する優先レジスタ(6)が設けられる。優先値アクセス回路(10)は、アクセスを行うよう努める優先値マネージャ(16、18)に依存して記憶される優先値に複数のマッピングを提供する。この方法で、保証オペレーティング・システムのような第1優先値マネージャ(18)には、最も高い優先値への排他的アクセスが与えられ得、非保証オペレーティング・システムのような第2優先値マネージャ(16)には、一層低い優先順位のものである記憶された、かつ非保証オペレーティング・システムによって書込まれるか読取られる、優先値の範囲へのアクセスが与えられる。

Description

本発明は、データ処理システムの分野に関し、特に、データ処理システム内で用いるためのプログラム可能な割込み制御器に関する。
周辺装置からの割込み信号を受信して、割込み信号のいずれが関連の割込み駆動処理をトリガするために用いられるべきかを決定するためにこれらの信号間でアービトレートするよう働く割込み制御器を提供することが知られている。アービトレーションは、同時刻に発生する割込み間で必要とされ得るか、及び/または、1つの割込みが、先の割込みに応答してすでに行われている処理に取って代わる(pre−empt)のを許容するために用いられる。プログラミングされ得る優先値は、生じている割込み信号間の優先付けを管理するために、異なった割込みと関連される。
割込み制御器内で異なった割込みと関連した優先値をプログラムするためにオペレーティング・システムを用いることが知られている。このことは、異なった割込みと関連した優先付けにおいて柔軟性を提供する。高い優先順位のイベントに関連した割込み信号が高い優先値を与えられるであろうように、オペレーティング・システムが優先値を制御することが普通であろう。従って、それは、一層低い優先順位の同時割込みに渡って好ましいであろうし、もしくは、一層低い優先順位の割込みと関連した現在ある処理に取って代わる(pre−empt)ことができるであろう。
全体としてのシステムに、そして特に割込みハンドラに、追加の能力が追加されるときに問題が生じる。システムは機能性及び複雑さにおいて発展するので、割込み制御器に追加の機能性を提供することが望ましい。しかしながら、さらに支援することができることが望ましいレガシ・コード・ベース(a legacy code base)がある。早期の割込み制御器と共に発展したソフトウェア及びシステムは、一層進歩しかつ一層能力のある割込み制御器を用いることがさらにできるべきであり、すなわち、上位互換(backwards compatibility)が猛烈に望ましい。
一態様から鑑みて、本発明は、割込み制御器であって、
複数の割込み信号のうちの1つ以上の割込み信号と関連した優先値を記憶するよう各々が動作可能な複数の優先レジスタと、
前記複数の優先レジスタ内に記憶された優先値にアクセスを提供するよう動作可能な優先レジスタ・アクセス回路と、
前記複数の優先レジスタに記憶されたそれぞれの優先値に依存して複数の割込み信号間で優先付けするよう複数の割込み信号がアサートされるときに動作可能な優先回路と、
を備え、前記優先レジスタ・アクセス回路は、第1優先値マネージャから受信されたアクセス・リクエストに応答して、前記第1優先値マネージャによってアクセスされた優先値と、前記複数の優先レジスタに記憶された優先値との間で第1マッピングを適用し、
前記優先レジスタ・アクセス回路は、第2優先値マネージャから受信されたアクセス・リクエストに応答して、前記第2優先値マネージャによってアクセスされた優先値と、前記複数の優先レジスタに記憶された優先値との間で第2マッピングを適用し、前記第2マッピングは、前記第1マッピングとは異なっている割込み制御器を提供する。
本技術は、割込み制御器に、1つ以上の割込み信号と関連した優先値を記憶する優先レジスタの一体化された組が提供され得るということを認識する。これらの優先値は、規則正しくかつ予測可能な割込み動作を提供するために優先回路を用いて割込み信号間でアービトレートするよう用いられ得る。優先レジスタ・アクセス回路は、そこに記憶された優先値を管理するための責任を有するシステムから優先レジスタに対して読取り及び書込みの双方のためのアクセスを許容するよう設けられる。本技術は、優先レジスタ・アクセス回路が、優先レジスタ内に記憶された優先値と、これら優先値にアクセスしようと努める優先値マネージャとの間で少なくとも2つのマッピングを提供するということを提供する。従って、例えば、レガシ(legacy)・オペレーティング・システムには、レガシ構成に従ったその優先値へのマッピングが提供され得る。新しいオペレーティング・システムには、次に、同じ優先値に対する、もしくは異なった組の優先値に対する異なったマッピングが提供され得、その方法で、割込み制御器が、一体化された方法におけるいずれかの優先値マネージャによって設定された優先値に基づいて生じた割込みを優先付けするのを可能とし、かつ、それぞれのマネージャからのそれらの優先値に渡って別の制御を許容するのを可能とする。
優先値マネージャは、種々の形態を取ることができ、例えば、優先レジスタをセット・アップするために用いられる特定目的のハードウェアで履行され得るということが理解されるであろう。しかしながら、本技術は、第1優先値マネージャが第1オペレーティング・システムの部分であり、第2優先値マネージャが第2オペレーティング・システムの部分であるという実施形態に特に良く適している。
この文脈においては、本技術は、第1優先値マネージャが、保証データへのアクセスを有する保証ドメイン内で動作し、第2優先値マネージャが、保証データへのアクセスを有さない非保証ドメイン内で動作するとき、特に有用である。優先値アクセス回路によって提供される異なったマッピングは、保証オペレーティング・システムが、該保証オペレーティング・システムによってのみ制御されるレベルに保証感知割込みと関連したその優先値を設定するのを可能とし、それにより、システムの保証は、第2非保証オペレーティング・システムを用いて為されている不適切な優先値設定によって傷つけられることができない。
異なった優先値マネージャの能力の分割は、種々の異なった方法で配列されることができる。第1優先値マネージャ及び第2優先値マネージャは、個々にまたは双方とも、それらが設定し得る優先値の範囲内で排他的な値を有し得る。例として、保証オペレーティング・システムは、最も高い優先レベルの優先値を設定することができるための排他的能力を有し得る。この方法で、保証周辺機器を管理する保証オペレーティング・システムは、非保証周辺機器を管理する非保証オペレーティング・システムが、該非保証周辺機器と関連した優先値を、それが先取りする(pre-empts)もしくはそうでなければ保証周辺機器の動作を妨げる値に設定することができないであろうということを確実にすることができる。
幾つかの状況においては、第1及び第2優先値マネージャによって設定され得る優先値範囲が少なくともある程度で重複するということも望ましいかもしれない。例として、保証オペレーティング・システムは、特に保証感知でない周辺機器と関連した優先値を管理しているかもしれず、そして、非保証オペレーティング・システムが保証オペレーティング・システムによって管理されている非保証感知周辺機器よりも高いようにその周辺機器の1つと関連した優先値を設定することができる場合には、システムの能力の全体的な使用を一層良くするであろう。提供され得る優先値の重複範囲は、非保証オペレーティング・システムが、その非保証感知機器に対して保証オペレーティング・システムによって設定され得る優先値よりも高いであろう、それに利用可能な最も高い優先値の1つを使用するのを可能とする。
1つの極端において、第1優先値マネージャは、優先値を、それがそう望むならば、第2の優先値マネージャによって設定され得るそれらの内のいずれかに設定することができるかもしれない。
上述のことは、第1及び第2優先値マネージャについて説明してきた。本技術は、単に2つの優先値マネージャを設けることに制限されるものではなく、複数の優先値マネージャを包含するよう拡張され得、その内の少なくとも幾つかは、それらが優先値レジスタに記憶された優先値にアクセスするよう優先値アクセス回路によって提供される異なったマッピングを有する。
用いられるマッピングは、広範な種々の異なった形態を取ることができる。特に好適な例として、マッピングの一方は直接的(ダイレクト)で有り得、他のマッピングは、書込むときに一方のセンス(方向)において1つ以上のビット位置によるシフトを適用し、読取るときに、反対のセンス(方向)においてシフトを適用する。このことは、優先値の範囲を、マネージャの1つだけによってアクセス可能にする効率的かつ効果的な方法である。
簡単かつ好適な例は、非保証環境から優先値を書込む際に右シフトし、かつ、最も低い優先値が最も高い優先レベルに対応する状況において“1”の値をその最上位ビット位置にシフト・インすることである。この方法で書込む際に最上位ビット位置に“1”をシフト・インすることは、非保証システムが、保証システムに保存される優先値範囲の下半分にアクセスすることができないということを確実にする。このような優先レジスタから読取る際に、非保証オペレーティング・システムは、1ビット位置だけ左シフトされるそのアクセスを有し、それにより、それは、最下位ビット位置に書込まれているゼロに従属するそれが書込んだ値を読取る。
幾つかの他の状況においては望ましいかもしれない代替的な実施形態として、マッピングは、第1優先値マネージャによってアクセスされた優先値に対して数値的オフセットを提供し得、該オフセットは、書込み時に加算されるかまたは減算されるかのいずれかが行われ、相補的な動作が読取り時に行われる。
第1優先値マネージャは、さらに、第2優先値マネージャのために優先値を管理することができ得る。第1優先値マネージャは、レガシ・オペレーティング・システムのためにまたは全体として非保証ドメインのために優先値管理を効果的に引き継ぐことができる一層進歩したオペレーティング・システムであって良い。
前述したように、優先値は、生じている割込みが先に生じた割込みに応答して行われている処理を先取り(プリエンプト)するか否かを制御するために用いられ得る。優先値のビットの部分集合(サブセット)だけが、先取り(プリエンプション)が許容されるか否かに関するこのような決定を行う際に用いられるのが望ましい。先取り(プリエンプション)を決定するビット及び先取り(プリエンプション)を決定しないビットに優先値をこのように分割することは、優先値内の小数点位置に、先取り(プリエンプション)に影響を与えない小数点以下のビットを提供するものとして類推によって想到され得る。このような技術が用いられるとき、先取り(プリエンプション)に影響を与えるビットの選択を制御するプログラム可能な値は、望ましくは、また、支援するレガシ・システムに適切な見解の一貫性(the consistency of view)を提供するためにそれがアクセスを受ける場所に依存して第1及び第2マッピングに従属すべきである。
もう1つの態様から鑑みて、本発明は、割込み制御器であって、
複数の割込み信号のうちの1つ以上の割込み信号と関連した優先値を各々が記憶するための複数の優先レジスタ手段と、
前記複数の優先レジスタ内に記憶された優先値にアクセスを提供するための優先レジスタ・アクセス手段と、
複数の割込み信号がアサートされるとき前記複数の優先レジスタ手段に記憶されたそれぞれの優先値に依存して前記複数の割込み信号間で優先付けするための優先手段と、
を備え、前記優先レジスタ・アクセス手段は、第1優先値マネージャ手段から受信されたアクセス・リクエストに応答して、前記第1優先値マネージャ手段によってアクセスされた優先値と、前記複数の優先レジスタ手段に記憶された優先値との間で第1マッピングを適用し、
前記優先レジスタ・アクセス手段は、第2優先値マネージャ手段から受信されたアクセス・リクエストに応答して、前記第2優先値マネージャ手段によってアクセスされた優先値と、前記複数の優先レジスタ手段に記憶された優先値との間で第2マッピングを適用し、前記第2マッピングは、前記第1マッピングとは異なっている割込み制御器を提供する。
更にもう1つの態様から鑑みて、本発明は、割込みを制御する方法であって、
複数の優先レジスタのそれぞれの1つ内に複数の割込み信号の1つ以上の割込み信号と関連した優先値を記憶することと、
複数の割込み信号がアサートされたとき、前記複数の優先レジスタに記憶されたそれぞれの優先値に依存して前記複数の割込み信号間で優先付けすることと、
を備え、第1優先値マネージャから受信されたアクセス・リクエストに応答して、前記第1優先値マネージャによってアクセスされた優先値と、前記複数の優先レジスタに記憶された優先値との間で第1マッピングを適用し、
第2優先値マネージャから受信されたアクセス・リクエストに応答して、前記第2優先値マネージャによってアクセスされた優先値と、前記複数の優先レジスタに記憶された優先値との間で第2マッピングを適用し、前記第2マッピングは、前記第1マッピングとは異なっている、割込みを制御する方法を提供する。
更なる態様から鑑みて、本発明は、複数の割込み信号のうちの1つ以上の割込み信号と関連した優先値を記憶するよう各々が動作可能な複数の優先レジスタを有する割込み制御器を含むデータ処理装置を制御するための1つ以上のコンピュータ・プログラムを記憶するコンピュータ・プログラム・プロダクトであって、
前記1つ以上のコンピュータ・プログラムは、
第1優先値マネージャによってアクセスされる優先値と、前記複数の優先レジスタ内に記憶された優先値との間で第1マッピングを用いる前記複数の優先レジスタに記憶された前記優先値をアクセスするよう動作可能な第1優先値マネージャと、
第2優先値マネージャによってアクセスされる優先値と、前記複数の優先レジスタ内に記憶された優先値との間で第2マッピングを用いる前記複数の優先レジスタに記憶された前記優先値をアクセスするよう動作可能な第2優先値マネージャと、
を含み、前記第2マッピングは、前記第1マッピングとは異なっているコンピュータ・プログラム・プロダクトを提供する。
コンピュータ・プログラム・プロダクトは、複数の優先値マネージャを組み込むシステムの全プログラミングに関して考慮され得、複数の優先値マネージャの各々は、それら自身によってアクセスされかつ優先レジスタに記憶される優先値間のそれらのそれぞれのマッピングを用いる。
さて、添付図面を参照して例示的な目的だけのために本発明の実施形態を説明する。
図1は、優先回路(prioritising circuit)4に10個の割込み信号I−Iを受信し、それに応答してプロセッサ・コアに通される低速割込み信号irq及び高速割込み信号fiqを生成する割込み制御器2を示す。対応の優先レジスタ6内に記憶される優先値は、優先回路4に供給され、それが、受信される異なった割込みI−I間でアービトレート(arbitrate)するのを許容する。この例においては、専用の優先レジスタ値を有する専用の優先レジスタは、各々別々の割込みと関連する。しかしながら、単一の優先値が複数の割込み信号に、または提供される幾つかの他のマッピングにマッピングされ得ることが可能である。小数点位置レジスタ8(実際はバイナリ点)はプログラミング可能であり、割込み間の先取り(pre-emption)を制御するために用いられる優先値内で部分集合のビットを選択するよう働く。優先値アクセス回路10は、優先レジスタ6及び小数点位置レジスタ8に読取りアクセス及び書込みアクセスを与えるために提供される。この優先値アクセス回路10は、保証オペレーティング・システム18及び非保証オペレーティング・システム16によってそれぞれ用いるための保証マッピング・ハードウェア12及び非保証マッピング・ハードウェア14を含む。これらのオペレーティング・システム16、18は、これらのオペレーティング・システム16、18を用いて実行するそれぞれのアプリケーション・プログラム20、22を有する。保証オペレーティング・システム18は、非保証オペレーティング・システム16及び非保証アプリケーション20にアクセス可能でない保証メモリ24へのアクセスを有する。保証ドメイン信号26は、優先値アクセス回路10に入力され、システムが全体として動作している現在保証ドメインを示し、従って、優先値アクセス回路10を通して向けられるアクセスのために用いられるよう、保証マッピング回路12または非保証マッピング回路14のいずれかを選択する。保証ドメイン信号は、また、アドレス信号ラインまたはアドレス解読領域によって置き換えられ得る(またはそれらから発生され得る)。
図2は、優先値アクセス回路10の第1の例を図式的に示す。この例においては、第1マッピングはダイレクト(直接的)であり、第2マッピングは、書込み時に右シフトを適用して、書込まれた優先値において最上位ビットが1にセットされ、読取り時に左シフトを適用して、読取られた優先値において最下位ビットが0にセットされる。一層詳細には、マルチプレクサ28、38が、第1マッピングまたは第2マッピングのいずれかを選択するために、保証ドメイン信号26によって制御される。第2マッピングは、シフタ回路32を通して生じる。優先値アクセス回路10の外側からマルチプレクサ28への入力は、非保証オペレーティング・システム16及び/または保証オペレーティング・システム18によって形成された優先値マネージャからのものである。優先レジスタ6は、第2マルチプレクサ30に結合される。
小数点位置レジスタ8は、領域0−7におけるバイナリ点位置を特定する3ビット値を保持し、ここに、バイナリ点は、8ビットの優先値内にある。優先値それら自体と比較される異なったマッピングが必要とされる。ハードウェア増分器が、非保証ソフトウェアでレジスタ8からの値を読取るときにバイナリ点を左に移動させるために用いられ得る。この方法で、保証ソフトウェアは、実際のバイナリ点レジスタ値を見、そして非保証ソフトウェアは、1だけ増分されたバイナリ点値を見る(ここに、バイナリ点値を減少することは右にシフトする)。変更されたバイナリ点値は、0及び7において飽和する。
図3は、複数の値のアクセス回路10の第2の例を示す。この場合には、マルチプレクサ34、36は、保証ドメイン信号26によって選択的に切換わり、ダイレクトである第1マッピングを適用するか、または優先レジスタ6に書込む際に優先値にオフセットを加算しかつ優先値レジスタ6から読取る際に優先値からオフセットを減算する第2マッピングを適用するかする。読取り/書込み信号によって切換えられるマルチプレクサ38、40は、優先値が通過する際に選択的にオフセット値を加算するかまたはオフセット値を減算するかのいずれかを行うために優先値経路に加算器回路42または減算回路44を置く。
図4は、優先レジスタ6に記憶された優先値の3つの例A、B及びCを図式的に示す。これらの例においては、優先値は、8ビット値であり、最も低い優先値は、最も高い優先レベルに対応する。例Aにおいては、すべての優先値は、保証オペレーティング・システム18によってアクセス可能でありかつ設定可能である。逆に、128から255まで延びる優先値だけが、非保証オペレーティング・システム16によってアクセス可能でありかつ設定可能である。この例は、おおざっぱに、図2に関連して説明した右/左シフトに対応する。
例Bは、優先値0から127が保証オペレーティング・システム18を介して排他的にアクセス可能であり、一方、優先値128から255が非保証オペレーティング・システム16によって設定可能である状況を示している。この例は、図3の数値オフセットを適用することによって、または他の方法で達成され得る。
例Cは、保証オペレーティング・システム18及び非保証オペレーティング・システム16の双方によって設定可能である優先値の重複(オーバーラップ)があるものである。双方のオペレーティング・システム18、16は、また、示された優先値のそれら自体の領域に排他的なアクセスをも有する。図3のオフセット・マッピングは、この結果を提供するために用いられ得る。
第1優先値マネージャ及び第2優先値マネージャによってアクセスされる優先値を記憶する割込み制御器を図式的に示す図である。 優先値アクセス回路の第1の例を図式的に示す図である。 優先値アクセス回路の第2の例を図式的に示す図である。 それぞれの優先値マネージャによって設定され得る優先値間の種々の可能な関係を図式的に示す図である。
符号の説明
2 割込み制御器
4 優先回路
6 優先レジスタ
8 小数点位置レジスタ
10 優先値アクセス回路
12 保証マッピング・ハードウェア
14 非保証マッピング・ハードウェア
16 非保証オペレーティング・システム
18 保証オペレーティング・システム
20 非保証アプリケーション
22 保証アプリケーション
24 保証メモリ
28、30 マルチプレクサ
32 シフタ
34、36 マルチプレクサ
38、40 マルチプレクサ
42 加算器回路
44 減算回路

Claims (29)

  1. 割込み制御器であって、
    複数の割込み信号のうちの1つ以上の割込み信号と関連した優先値を記憶するよう各々が動作可能な複数の優先レジスタと、
    前記複数の優先レジスタ内に記憶された優先値にアクセスを提供するよう動作可能な優先レジスタ・アクセス回路と、
    前記複数の優先レジスタに記憶されたそれぞれの優先値に依存して複数の割込み信号間で優先付けするよう複数の割込み信号がアサートされるときに動作可能な優先回路と、
    を備え、前記優先レジスタ・アクセス回路は、第1優先値マネージャから受信されたアクセス・リクエストに応答して、前記第1優先値マネージャによってアクセスされた優先値と、前記複数の優先レジスタに記憶された優先値との間で第1マッピングを適用し、
    前記優先レジスタ・アクセス回路は、第2優先値マネージャから受信されたアクセス・リクエストに応答して、前記第2優先値マネージャによってアクセスされた優先値と、前記複数の優先レジスタに記憶された優先値との間で第2マッピングを適用し、前記第2マッピングは、前記第1マッピングとは異なっている割込み制御器。
  2. 前記第1優先値マネージャは、第1オペレーティング・システムの部分である請求項1に記載の割込み制御器。
  3. 前記第2優先値マネージャは、第2オペレーティング・システムの部分である請求項1及び2のいずれか1項に記載の割込み制御器。
  4. 前記第1優先値マネージャは、保証データへのアクセスを有する保証ドメイン内で動作し、前記第2優先値マネージャは、前記保証データへのアクセスを有さない非保証ドメイン内で動作する請求項1、2及び3のいずれか1項に記載の割込み制御器。
  5. 前記第1マッピングは、前記第1優先値マネージャが、前記優先レジスタによって記憶された前記優先値を、前記第2マッピングを用いた前記第2優先値マネージャによって設定されることができない1つ以上の第1マッピング排他値に設定することができるようなものである請求項1乃至4のいずれか1項に記載の割込み制御器。
  6. 前記第2マッピングは、前記第2優先値マネージャが、前記優先レジスタによって記憶された前記優先値を、前記第1マッピングを用いた前記第1優先値マネージャによって設定されることができない1つ以上の第2マッピング排他値に設定することができるようなものである請求項1乃至5のいずれか1項に記載の割込み制御器。
  7. 前記第2マッピングは、前記第2優先値マネージャが、前記優先レジスタによって記憶された前記優先値を、前記第1マッピングを用いた前記第1優先値マネージャによっても設定されることができる1つ以上の第2マッピング非排他値に設定することができるようなものである請求項6に記載の割込み制御器。
  8. 前記第2マッピングは、前記第2優先値マネージャが、前記優先レジスタによって記憶された前記優先値を、前記第1マッピングを用いた前記第1優先値マネージャによってもすべて設定されることができる値に設定することができるようなものである請求項1乃至5のいずれか1項に記載の割込み制御器。
  9. 前記第1マッピング排他値は、前記第2優先値マネージャによって設定され得る任意の優先値よりも高い優先順位を有する請求項5に記載の割込み制御器。
  10. 前記第1マッピングは、前記優先レジスタによって記憶されたビット値を、前記第1優先値マネージャによってアクセスされたビット値に直接マッピングする請求項1乃至9のいずれか1項に記載の割込み制御器。
  11. 前記第2マッピングは、前記優先レジスタによって記憶されたビット値を、前記第1優先値マネージャによってアクセスされたビット値内のシフトされたビット位置にマッピングする請求項1乃至10のいずれか1項に記載の割込み制御器。
  12. 前記第2優先値マネージャが優先レジスタに書込んでいるときに、前記優先レジスタ・アクセス回路は、前記優先値が優先レジスタに記憶される前に前記優先値を右シフトするよう前記第2マッピングを適用する請求項11に記載の割込み制御器。
  13. 前記右シフトは、1ビット位置だけである請求項12に記載の割込み制御器。
  14. 前記優先レジスタに記憶された前記優先値の最上位ビットは1に設定される請求項13に記載の割込み制御器。
  15. 前記第2優先値マネージャが優先レジスタから読取っているとき、前記優先レジスタ・アクセス回路は、前記優先値が優先レジスタに記憶される前に前記優先値を左シフトするよう前記第2マッピングを適用する請求項11に記載の割込み制御器。
  16. 前記左シフトは、1ビット位置だけである請求項15に記載の割込み制御器。
  17. 前記優先レジスタに記憶された前記優先値の最下位ビットは0に設定される請求項16に記載の割込み制御器。
  18. 前記第2マッピングは、前記第1優先値マネージャによってアクセスされた優先値をオフセットするよう前記優先レジスタによって記憶された優先値をマッピングする請求項1乃至10のいずれか1項に記載の割込み制御器。
  19. 前記第2優先値マネージャが優先レジスタに書込んでいるときに、前記優先レジスタ・アクセス回路は、前記優先値が優先レジスタに記憶される前に前記優先値にオフセット値を加えるよう前記第2マッピングを適用する請求項18に記載の割込み制御器。
  20. 前記第2優先値マネージャが優先レジスタから読取っているとき、前記優先レジスタ・アクセス回路は、前記優先値が優先レジスタに記憶される前に前記優先値からオフセット値を減算するよう前記第2マッピングを適用する請求項18に記載の割込み制御器。
  21. 前記第1優先値マネージャは、前記第2優先値マネージャのために優先値を管理する請求項1乃至20のいずれか1項に記載の割込み制御器。
  22. 第1優先値と関連した第1割込み信号と関連した処理が行われており、かつ第2優先値と関連した第2割込み信号がアサートされているとき、前記第2優先値が前記第1優先値よりも高い優先順位に対応するならば、次に、前記優先回路は、前記第1割込み信号と関連した前記処理の割込み及び前記第2割込み信号と関連した処理の開始をトリガするよう動作可能である請求項1乃至21のいずれか1項に記載の割込み制御器。
  23. プログラム可能な値は、前記第1優先値及び前記第2優先値のビットの組を制御して選択して、前記第2優先値が一層高い優先順位に対応するか否かを決定するために比較し、前記プログラム可能な値、前記ビットの組も前記第1マッピング及び前記第2マッピングに従属する請求項22に記載の割込み制御器。
  24. 割込み制御器であって、
    複数の割込み信号のうちの1つ以上の割込み信号と関連した優先値を各々が記憶するための複数の優先レジスタ手段と、
    前記複数の優先レジスタ内に記憶された優先値にアクセスを提供するための優先レジスタ・アクセス手段と、
    複数の割込み信号がアサートされるとき前記複数の優先レジスタ手段に記憶されたそれぞれの優先値に依存して前記複数の割込み信号間で優先付けするための優先手段と、
    を備え、前記優先レジスタ・アクセス手段は、第1優先値マネージャ手段から受信されたアクセス・リクエストに応答して、前記第1優先値マネージャ手段によってアクセスされた優先値と、前記複数の優先レジスタ手段に記憶された優先値との間で第1マッピングを適用し、
    前記優先レジスタ・アクセス手段は、第2優先値マネージャ手段から受信されたアクセス・リクエストに応答して、前記第2優先値マネージャ手段によってアクセスされた優先値と、前記複数の優先レジスタ手段に記憶された優先値との間で第2マッピングを適用し、前記第2マッピングは、前記第1マッピングとは異なっている割込み制御器。
  25. 割込みを制御する方法であって、
    複数の優先レジスタのそれぞれの1つ内に複数の割込み信号の1つ以上の割込み信号と関連した優先値を記憶することと、
    複数の割込み信号がアサートされたとき、前記複数の優先レジスタに記憶されたそれぞれの優先値に依存して前記複数の割込み信号間で優先付けすることと、
    を備え、第1優先値マネージャから受信されたアクセス・リクエストに応答して、前記第1優先値マネージャによってアクセスされた優先値と、前記複数の優先レジスタに記憶された優先値との間で第1マッピングを適用し、
    第2優先値マネージャから受信されたアクセス・リクエストに応答して、前記第2優先値マネージャによってアクセスされた優先値と、前記複数の優先レジスタに記憶された優先値との間で第2マッピングを適用し、前記第2マッピングは、前記第1マッピングとは異なっている、割込みを制御する方法。
  26. 複数の割込み信号のうちの1つ以上の割込み信号と関連した優先値を記憶するよう各々が動作可能な複数の優先レジスタを有する割込み制御器を含むデータ処理装置を制御するための1つ以上のコンピュータ・プログラムを記憶するコンピュータ・プログラム・プロダクトであって、
    前記1つ以上のコンピュータ・プログラムは、
    第1優先値マネージャによってアクセスされる優先値と、前記複数の優先レジスタ内に記憶された優先値との間で第1マッピングを用いる前記複数の優先レジスタに記憶された前記優先値をアクセスするよう動作可能な第1優先値マネージャと、
    第2優先値マネージャによってアクセスされる優先値と、前記複数の優先レジスタ内に記憶された優先値との間で第2マッピングを用いる前記複数の優先レジスタに記憶された前記優先値をアクセスするよう動作可能な第2優先値マネージャと、
    を含み、前記第2マッピングは、前記第1マッピングとは異なっているコンピュータ・プログラム・プロダクト。
  27. 前記第1優先値マネージャは、第1オペレーティング・システムの部分である請求項26に記載のコンピュータ・プログラム・プロダクト。
  28. 前記第2優先値マネージャは、第2オペレーティング・システムの部分である請求項26及び27のいずれか1項に記載のコンピュータ・プログラム・プロダクト。
  29. 前記第1優先値マネージャは、保証データへのアクセスを有する保証ドメイン内で動作し、前記第2優先値マネージャは、前記保証データへのアクセスを有さない非保証ドメイン内で動作する請求項26、27及び28のいずれか1項に記載のコンピュータ・プログラム・プロダクト。
JP2008546562A 2005-12-21 2006-10-24 プログラム可能な優先値を用いた割込み制御器 Active JP5328366B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0526007.0 2005-12-21
GB0526007A GB2433794B (en) 2005-12-21 2005-12-21 Interrupt controller utiilising programmable priority values
PCT/GB2006/003953 WO2007071894A1 (en) 2005-12-21 2006-10-24 Interrupt controller utilising programmable priority values

Publications (2)

Publication Number Publication Date
JP2009521036A true JP2009521036A (ja) 2009-05-28
JP5328366B2 JP5328366B2 (ja) 2013-10-30

Family

ID=35840870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008546562A Active JP5328366B2 (ja) 2005-12-21 2006-10-24 プログラム可能な優先値を用いた割込み制御器

Country Status (11)

Country Link
US (1) US7506091B2 (ja)
EP (1) EP1963979B1 (ja)
JP (1) JP5328366B2 (ja)
KR (1) KR101222595B1 (ja)
CN (1) CN101331468B (ja)
DE (1) DE602006021472D1 (ja)
GB (1) GB2433794B (ja)
IL (1) IL189206A (ja)
MY (1) MY143945A (ja)
TW (1) TWI377475B (ja)
WO (1) WO2007071894A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739438B2 (en) * 2003-02-12 2010-06-15 Hewlett-Packard Development Company, L.P. Method for priority-encoding interrupts and vectoring to interrupt code
US7793025B2 (en) * 2008-03-28 2010-09-07 Freescale Semiconductor, Inc. Hardware managed context sensitive interrupt priority level control
US8473662B2 (en) * 2009-12-18 2013-06-25 Electronics And Telecommunications Research Institute Interrupt-handling-mode determining method of embedded operating system kernel
US8560750B2 (en) * 2011-05-25 2013-10-15 Lsi Corporation Systems and methods for advanced interrupt scheduling and priority processing in a storage system environment
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US9183380B2 (en) 2011-10-11 2015-11-10 Citrix Systems, Inc. Secure execution of enterprise applications on mobile devices
DE202012013193U1 (de) * 2012-06-26 2015-05-06 INTER CONTROL Hermann Köhler Elektrik GmbH & Co KG Vorrichtung für eine sicherheitskritische Anwendung
US9507737B2 (en) * 2012-09-19 2016-11-29 Arm Limited Arbitration circuitry and method
US9774658B2 (en) 2012-10-12 2017-09-26 Citrix Systems, Inc. Orchestration framework for connected devices
US9189645B2 (en) 2012-10-12 2015-11-17 Citrix Systems, Inc. Sharing content across applications and devices having multiple operation modes in an orchestration framework for connected devices
US20140109176A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
WO2014062804A1 (en) 2012-10-16 2014-04-24 Citrix Systems, Inc. Application wrapping for application management framework
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
US9135193B2 (en) * 2013-03-25 2015-09-15 Hewlett-Packard Development Company, L.P. Expander interrupt processing
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9369449B2 (en) 2013-03-29 2016-06-14 Citrix Systems, Inc. Providing an enterprise application store
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US9330035B2 (en) * 2013-05-23 2016-05-03 Arm Limited Method and apparatus for interrupt handling
US9355050B2 (en) * 2013-11-05 2016-05-31 Qualcomm Incorporated Secure, fast and normal virtual interrupt direct assignment in a virtualized interrupt controller in a mobile system-on-chip
GB2550904B (en) * 2016-05-27 2020-07-15 Arm Ip Ltd Methods and Apparatus for Creating Module Instances
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
GB2624384A (en) * 2022-11-15 2024-05-22 Advanced Risc Mach Ltd Exception signalling

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0650493B2 (ja) * 1983-11-03 1994-06-29 モトローラ・インコーポレーテツド データ処理装置
JPH11149382A (ja) * 1997-11-19 1999-06-02 Nec Eng Ltd 情報処理装置及びマイクロプロセッサの割込み制御装置
JP2005056017A (ja) * 2003-08-08 2005-03-03 Hitachi Ltd 情報処理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5918057A (en) * 1997-03-20 1999-06-29 Industrial Technology Research Institute Method and apparatus for dispatching multiple interrupt requests simultaneously
US6219743B1 (en) * 1998-09-30 2001-04-17 International Business Machines Corporation Apparatus for dynamic resource mapping for isolating interrupt sources and method therefor
JP4151198B2 (ja) * 1999-06-23 2008-09-17 株式会社デンソー 割込コントローラ及びマイクロコンピュータ
KR100317237B1 (ko) * 1999-10-01 2001-12-22 윤종용 유사 벡터 방식의 인터럽트 컨트롤러 및 그것의 인터럽트 처리 방법
DE10062995A1 (de) * 2000-12-16 2002-07-11 Micronas Gmbh Unterbrecher-Steuereinrichtung
US20030204655A1 (en) * 2002-04-24 2003-10-30 Schmisseur Mark A. Prioritizing vector generation in interrupt controllers
GB2396712B (en) * 2002-11-18 2005-12-07 Advanced Risc Mach Ltd Handling multiple interrupts in a data processing system utilising multiple operating systems
US7117284B2 (en) * 2002-11-18 2006-10-03 Arm Limited Vectored interrupt control within a system having a secure domain and a non-secure domain
EP1422627B1 (en) * 2002-11-19 2006-04-26 STMicroelectronics S.r.l. Method for generating interrupt commands in a microprocessor system and relative priority interrupt controller
US7584316B2 (en) * 2003-10-14 2009-09-01 Broadcom Corporation Packet manager interrupt mapper

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0650493B2 (ja) * 1983-11-03 1994-06-29 モトローラ・インコーポレーテツド データ処理装置
JPH11149382A (ja) * 1997-11-19 1999-06-02 Nec Eng Ltd 情報処理装置及びマイクロプロセッサの割込み制御装置
JP2005056017A (ja) * 2003-08-08 2005-03-03 Hitachi Ltd 情報処理装置

Also Published As

Publication number Publication date
TWI377475B (en) 2012-11-21
EP1963979A1 (en) 2008-09-03
IL189206A0 (en) 2008-06-05
GB0526007D0 (en) 2006-02-01
GB2433794B (en) 2010-08-18
KR101222595B1 (ko) 2013-01-16
US7506091B2 (en) 2009-03-17
JP5328366B2 (ja) 2013-10-30
MY143945A (en) 2011-07-29
GB2433794A (en) 2007-07-04
US20070143515A1 (en) 2007-06-21
KR20080080654A (ko) 2008-09-04
CN101331468B (zh) 2010-10-27
IL189206A (en) 2011-12-29
WO2007071894A1 (en) 2007-06-28
DE602006021472D1 (de) 2011-06-01
EP1963979B1 (en) 2011-04-20
TW200805072A (en) 2008-01-16
CN101331468A (zh) 2008-12-24

Similar Documents

Publication Publication Date Title
JP5328366B2 (ja) プログラム可能な優先値を用いた割込み制御器
US10339087B2 (en) Virtual general purpose input/output for a microcontroller
JP5571201B2 (ja) ハードウェアモードおよびセキュリティフラグに基づく、読み出される命令用のメモリエリアの制限
US8151275B2 (en) Accessing copy information of MMIO register by guest OS in both active and inactive state of a designated logical processor corresponding to the guest OS
JP6753777B2 (ja) 割り込み処理の方法及び装置
JP2006048687A (ja) コンピュータシステム資源アクセス制御
JP6240745B2 (ja) 複数のハイパーバイザを実行するシステムおよび方法
JP2017505492A (ja) 目標メモリ・アドレスに対応するメモリ属性ユニットの領域を特定するための領域特定演算
JP2003006046A (ja) メモリプロテクション方法および回路
JP2005293596A (ja) データ要求のアービトレーション
US8910181B2 (en) Divided central data processing
US20080010426A1 (en) Processor system and processing method for operating system program in processor system
JP2007207074A (ja) オペレーションシステム、スレッド制御機構、及び情報処理装置
JP2010257134A (ja) 半導体データ処理装置及びデータ処理システム
US20130081041A1 (en) Circuit arrangement for execution planning in a data processing system
JP2005078450A (ja) タスク制御方法とタスク切替装置
JP2010122787A (ja) 半導体集積回路及びレジスタアドレス制御装置
US10949256B2 (en) Thread-aware controller
JP2015035155A (ja) 情報処理装置
JP6803957B2 (ja) メモリ制御装置及びメモリ制御方法
JP5245617B2 (ja) レジスタ制御回路およびレジスタ制御方法
JPH11306040A (ja) エミュレータのトレース装置
JPS60134940A (ja) 情報処理装置のレジスタ選択方式
JP5856220B2 (ja) ナビゲーションシステム
JP5823000B2 (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120323

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130723

R150 Certificate of patent or registration of utility model

Ref document number: 5328366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250