JP4456404B2 - データ処理装置および割込処理方法 - Google Patents

データ処理装置および割込処理方法 Download PDF

Info

Publication number
JP4456404B2
JP4456404B2 JP2004117450A JP2004117450A JP4456404B2 JP 4456404 B2 JP4456404 B2 JP 4456404B2 JP 2004117450 A JP2004117450 A JP 2004117450A JP 2004117450 A JP2004117450 A JP 2004117450A JP 4456404 B2 JP4456404 B2 JP 4456404B2
Authority
JP
Japan
Prior art keywords
interrupt
timer
logic
response
data processing
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.)
Expired - Lifetime
Application number
JP2004117450A
Other languages
English (en)
Other versions
JP2005032223A (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 JP2005032223A publication Critical patent/JP2005032223A/ja
Application granted granted Critical
Publication of JP4456404B2 publication Critical patent/JP4456404B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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)

Description

本発明はデータ処理装置および割込処理方法に関する。
データ処理システム内のデバイスがデータ処理システム内に、典型的にはCPU、内にサービスルーチンを実行する処理ユニットを必要とする場合、通常、それらは処理ユニットへ割込みを発生する。主プロセスを実行中に処理ユニットにより割込みが受信されると、通常、処理ユニットは実行中の主プロセスに一時的に割り込み、割込みを処理するために代わりに適切な割込みサービスルーチン(ISR)を実行する。デバイスは処理ユニットと同じチップ上としたり、オフチップとしたりすることができる。典型的なデータ処理システムには、しばしばこのような割込みを発生することができる多数のデバイスがあり、プロセッサは複数の割込みにより規定されるISRを同時に実行することができないため、さまざまな割込みを受信してその間に優先順位を付ける割込みコントローラを設けることが知られている。したがって、あるデバイス(たとえば、ハードディスクドライブ)からの割込みには他のデバイス(たとえば、キーボード)からの割込みよりも高い優先度を与えることができる。
データ処理システム内で処理される割込みの速度に影響を及ぼす可能性のある、多数の遅延源がある。第1に、前記したように、割込コントローラは多数の割込み間の調停をすることが必要となり、したがって、ある割込みの処理は遅延し、他のものより優先度の高い割込みが、最初に処理されることがある。さらに、処理ユニットにより一度受信する割込みを処理ユニットが受け入れ可能で、かつ、適切なISRの実行を開始できる速度は、処理ユニットに割込みが断行される時に処理ユニットにより何の命令が実行中かによって決まる。典型的には、プロセッサはそのプロセスに一時的に割り込む前に現在実行しているいかなる命令の実行も完了して、代わりにISRを実行しなければならない。命令の実行を完了させるのに必要なサイクル数は変動し、大きくなることがある。たとえば、命令がメモリアクセス命令である場合には、(a)非常に低速のメモリにアクセスし、(b)新しいページウォーク等を必要とする仮想メモリシステム内にページフォールトを生じるため、命令がメモリアクセス命令の場合、最悪のシナリオでは命令の実行を完了させるのに数百サイクルを要することがある。ある状況では、ISRを実行する前に一群の相互関連命令の実行を完了させることが必要となり得る。たとえば、一群の命令がグループの始めに割込みを手動で停止し、終りにそれらを再可動する場合に、ARMプロセッサ上でこれが生じ得る。これは、たとえば、割込コントローラ自体の構成を更新する時に生じ得る。
ある実行例では、割込みを発生することができるあるデバイスは割込みを処理した結果、処理ユニットから発生した割込み応答のタイミングに関して信頼できる挙動を有することが重要である。例として、ハードディスクドライブのメーカは、アクセス時間を改善しかつ格納できる情報の密度を改善するために、絶え間なくディスクの回転速度を高めトラック間の距離を短縮しようと努めている。このようなディスクドライブは、たとえば、リードおよびライトヘッドの位置決めを制御するのに使用するある制御信号を与えるために処理ユニットにISRを実行させる割込みを発生する。ディスクの回転速度が増しトラック間距離が減少するにつれ、割込応答タイミングはより慎重に管理することが一層重要となってきている。
もう一つの例は自動車エンジン制御の分野であり、そこではある臨界制御情報を提供するために処理ユニットにISRを実行させるためにエンジン管理システムが周期的に割込みを発生することがある。ここでも、割込応答タイミングが重要となり得る。
割込コントローラが低優先度割込みに優先して高優先度割込みを処理ユニットに指示できるように、割込み要求の優先順位を付ける能力は、高優先度割込みを可能な最も早い時間に処理ユニットへ指示することを保証し、かつ、割込みを受信する時間にいかなる命令が実行されているかに応じて割込みの処理を実際に開始するのに処理ユニットが要する時間の変動を保証するように補助し、ここではジッタとも呼ばれる、相当な量の変動を割込応答のタイミング内に発生させる。このジッタは割込応答に頼るデバイスのリアルタイム制御計算時にエラーを生じ、制御をより不正確にする。ハードディスクドライブの上記した例を考えると、このジッタによりトラック幅を低減できる度合いが終局的に抑制され得る。
これまでのところ、この問題を緩和する唯一の方法は、割込応答に関して予期することができる最大待ち時間(latencies)を低減する機構を提供してジッタを抑制しようと努めることである。しかしながら、これは容易なことではなく、完了するのに予め定められたクロックサイクル数よりも多くを要する処理ユニットにより実行する必要のある命令がないことを保証するように努める処理ユニットによる命令の実行方法が著しく抑制される傾向があり、選択されるこの予め定められた数は割込応答に関して許される最大待ち時間を考慮している。
したがって、データ処理装置内の割込みを処理する時に割込応答内のジッタを抑制するための改善された技術を提供することが望ましい。
第1の側面から見て、本発明はデータ処理装置を提供し、このデータ処理装置は、多数の割込源により発生した割込みを受信し、かつ予め定められた規準に基づいて割込要求信号を出力するかどうかを決定するように操作できる割込コントローラと、割込要求信号を受信しているときに対応する割込源に対する割込応答を発生するために受信した割込みの選択された一つに対する割込サービスルーチンを実行するように操作できる処理ユニットと、関連付けられた割込源により発生した割込みを受信しているときにタイミング指示を作り出すように操作できるタイマ論理と、を含み、処理ユニットは、関連付けられた割込源により発生した割込みに対する割込サービスルーチンを実行する時に、タイミング指示を得るためにタイマ論理を参照し、かつタイミング指示に応じて割込応答の予め定められた特徴を制御するように操作可能である。
本発明に従って、タイマ論理が提供され、このタイマ論理は関連付けられた割込源により発生した割込みを受信しているときにタイミング指示を作り出すように操作できる。したがって、実例としてまた前の例を考慮して、ハードディスクドライブから割込みが受信される時にタイマ論理がタイミング指示を作り出すように、タイマ論理をハードディスクドライブに関連付けることができる。すると、処理ユニットはその関連付けられた割込源により発生した割込みに対する割込サービスルーチンを実行する時に、タイミング指示を得るためにタイマ論理を参照し、タイミング指示に応じて割込応答の予め定められた特徴を制御するように操作できる。
従来技術は、処理ユニットが割込みの処理を開始する前に要する最大時間を実際上低減するよう努めることにより、処理ユニットが割込応答を発するのに要する最大時間を低減することに集中しているが、本発明の発明者は割込みが受信される時に実行処理中のいかなる命令をも処理ユニットが完了させるのに要する時間の固有の変動により、割込応答時間には常に幾分変動する傾向があることを理解した。したがって、その特有の特徴に集中するのではなく、本発明はタイミング指示が作り出されていつ割込みが受信されるかの指示を与え、割込応答の予め定められた特徴を制御するために処理ユニットが割込サービスルーチンを実行する時にこのタイミング指示が参照される方法を提供する。したがって、処理ユニットが割込サービスルーチンの実行を開始できる時間はまだ幾分変動するが、タイミング指示を使用してこれらの変動を補償し、所定デバイスにより所望される決定的挙動を提供することができる。
割込コントローラが割込みを受信する割込源の数は一つ以上の割込源でありうることが理解される。
本発明の一実施例では、タイミング指示に応じて制御される割込応答の予め定められた特徴は、処理ユニットにより割込応答が出力される時間であり、割込応答はタイマ論理により割込みを受信してから予め定められた期間が経過している時に一度出力される。
したがって、この実施例によれば、割込応答はタイマ論理により割込みを受信した後のある決定的時間、したがって、割込源により割込みが発生した後のある決定的時間に出力されることを保証できる。例として、割込み発生間の最大許容待ち時間を仮定しかつ処理ユニットはその割込みの処理を開始しているものとして、予め定められた時間は割込応答を受け入れ可能になるのに要する最長予期時間として選択することができる。これはある割込応答が処理ユニットにより発生するとすぐに受け入れ可能とはできないことを意味するが、割込みの発生後ある予め定められた時間に割込応答を受け入れ可能ということを理解した上で割込源を設計できることが保証される。割込応答のタイミングにおけるこの決定的挙動によりデバイスの動作精度が著しく改善され割込応答タイミングにおけるジッタを見込む公差をデバイス内に設計する必要性が低減される。
本発明の別の実施例では、割込サービスルーチンは割込応答を形成する出力を計算するのに使用するアルゴリズムを含み、このアルゴリズムはタイミング指示に応じて制御される割込応答の予め定められた特徴が割込応答を形成する出力であるようにタイミング指示に応答するようにされている。出力はさまざまな形式をとることができる。たとえば、出力は一つ以上の値、たとえば、ディスクドライブ装置に対する制御値等を含むことができ、あるいは一つ以上のアクション、たとえば、特定のサブルーチンの呼出し、等を含むことができる。
本発明のこの実施例では、割込応答として作り出される実際の出力はタイミング指示に依存し、したがって、割込みの発生と処理ユニットによるその割込みの処理間のタイミングに変動を生じるジッタを考慮する。このジッタは割込応答を作り出す時に考慮されるため、このようなジッタを考慮する公差を含むことなくデバイスを設計することができる。
タイマ論理はデータ処理装置内の適切な位置に設けることができる。したがって、一実施例では、タイマ論理は割込コントローラ内に設けられる。典型的に、割込みは割込源から発生されるとすぐに、またはそのすぐ後で(たとえば、非同期割込信号が最初に割込コントローラクロックと同期化される場合等)割込コントローラにより受信されるものと考えることができ、したがって、この実施例におけるタイミング指示は割込源による割込みの発生時間の有効な指示を与える。
タイマ論理を特定の割込源に関連付けることができるいくつかの方法がある。一実施例では、この関連は装置内にハードワイヤされ、タイマ論理はそれを介してその割込源から割込コントローラに割込みが発生する接続部に接続される。しかしながら、別の実施例では、タイマ論理に関連付けられた割込源はプログラマブルであることがあり、タイマ論理に関連付けられる割込源の選択が許される。
一実施例では、多数の割込源がタイマ論理に関連付けられ、タイマ論理はその関連付けられた割込源により発生した割込みを受信すると、関連付けられた各割込源に対して別々のタイミング指示を作り出すように操作できる。したがって、割込応答の決定的挙動に関する本発明の利点をデータ処理システム内の多数の割込源に関連付けて実現することができる。前述した実施例と同様に、どの割込源がタイマ論理に関連付けられるかに関する指示はハードワイヤとすることができる、あるいはプログラマブルとすることができる。
タイマ論理およびタイミング指示はさまざまな形をとることができる。一実施例では、タイマ論理はそれにより割込みが受信される時に始動するタイマを含み、タイミング指示は割込サービスルーチンの実施中に処理ユニットがタイマ論理を参照する時のタイマの値である。このような実施例では、多数の割込源がタイマ論理と関連付けられる場合、タイマ論理はこのような関連付けられた各割込源に対して別々のタイマを有することが考えられる。タイマ論理がこのようなタイマを提供する実施例では、処理ユニットはタイマ論理を参照する時にそれにより割込みが受信されてから経過した時間の指示を受信することが判る。
別の実施例では、タイマ論理はグローバルタイマへのアクセスを有し、タイマ論理により作り出されるタイミング指示はタイマ論理により割込みが受信される時にグローバルタイマから得られるタイムスタンプ値である。この実施例では、使用されるタイマは一つしかなく、処理ユニットはタイマ論理を参照する時にそれにより割込みが受信されたグローバル時間を示すタイムスタンプ値を受信する。次に、処理ユニットは現在のグローバルタイマ値をタイミング指示により与えられるタイムスタンプ値と比較することにより経過時間を引き出すことができる。多数のタイマを設ける必要がないため、この方法は多数の割込源がタイマ論理に関連付けられる時に特に有利であり、したがって、このようなシナリオにおけるタイマ論理のよりコスト効果的な(たとえば、価格、性能および消費電力またはそのいずれかに関して)実行例を提供する。
割込コントローラはさまざまな形をとることができる。しかしながら、一実施例では、割込コントローラは選択された割込源からの割込みが処理ユニットの制御下でマスクされるのを許すように操作できるマスキング論理を含み、割込要求信号を出力するかどうかを決定するのに割込コントローラにより利用される予め定められた規準は受信した割込みのいずれかがマスクされていないかどうかに関する決定を含んでいる。したがって、受信された割込みの少なくとも一つがマスキング論理によりマスクされていない場合だけ、割込コントローラは処理ユニットへの割込要求信号の発行を考慮する。一実施例では、割込コントローラは受信した割込みの少なくとも一つがマスクされていない場合に割込要求信号を自動的に発するように構成することができ、他の実施例では、割込要求信号を発するかどうかを決定する前に割込コントローラ内でさらに処理機能を実行することができる。
たとえば、一実施例では、各入力は関連付けられた優先度を有し、割込コントローラは未サービス割込みの関連付けられた優先レベルに基づいて最高優先度未サービス割込みを決定するように操作できる優先度符号化論理を含み、未サービス割込みは割込コントローラにより受信された割込みから決定され、割込要求信号を出力するかどうかを決定するために割込コントローラにより利用される予め定められた規準は、その最高優先度未サービス割込みの優先レベルが処理ユニットが現在割込サービスルーチンを実行している任意の割込みの優先レベルを超えるかどうかに関する決定を含んでいる。このような優先レベル評価は、ある実施例では、処理ユニットに割込要求信号を発するかどうかを決定するために前述したマスキング評価に加えて使用することができる。
一実施例では、タイマ論理は予め定められた規準を検出したら優先度符号化論理に信号を出力して関連付けられた割込源により発生した割込みの優先レベルを変えてその割込みの優先度を高めるように操作できる。この実施例では、タイマ論理は割込応答の予め定められた特徴を制御するのに使用するタイミング指示を提供するのに使用されるだけでなく、予め定められた規準を検出したら関連付けられた割込源により発生される割込みの優先レベルを高めるのにも選択的に使用される。それはいくつかの方法により、たとえば、その割込みの優先レベルを高める、あるいは他の割込みの優先レベルを低くすることにより達成することができる。
予め定められた規準はさまざまな形式をとることができる。しかしながら、一つの単純な予め定められた検出規準はタイマ論理が割込みを受信してから経過した時間がいつ予め定められた値を超えているかということである。したがって、このような方法により、その時間の経過後その割込みに対する割込サービスルーチンの実行を処理ユニットがまだ開始していなければ、タイマ論理は符号化論理に信号を出力して割込みの優先度を高めさせ、その割込みが処理ユニットにより受け入れられて処理される次の割込みとなる可能性を高めるように構成することができる。
タイマ論理内での予め定められた規準の検出はさまざまな方法で実行することができる。たとえば、一実施例では、タイマ論理内の一片の制御論理が予め定められた規準が始まっているかどうかを検出し、次に、タイマ論理から優先度符号化論理への必要な出力信号をトリガする責任がある。
典型的に、割込みが処理されたら、その関連付けられた優先レベルをタイマ論理からの信号に基づいて高められる前のレベルに戻すのが適切である。これを達成できるさまざまな方法がある。たとえば、一実施例では、関連する割込サービスルーチンは優先度エンコーダにタイマ論理からの信号に基づいて変えられる前のレベルに優先レベルをリセットさせるあるコードをルーチンの終わりに向かって含むことができる。
処理ユニットが割込要求信号を受信する時は、その割込要求を処理するために実行する適切な割込サービスルーチンに関してある決定を行う必要があり、適切な割込サービスルーチンは割込要求に責任のある割込源によって決まる。一実施例では、割込要求信号を受信すると処理ユニットが割込サービスルーチンを実行する受信した割込みの選択された一つが割込コントローラにより決定され、割込コントローラはさらに割込要求信号により処理ユニットに出力される割込サービスルーチンに対するアドレスを発生するように操作できるアドレス発生器を含んでいる。割込コントローラが割込サービスルーチンを決定し、その割込サービスルーチンに対するアドレスを処理ユニットに発行するような実施例はここではハードウェア割込処理実施例と呼ぶ。
別の実施例では、割込要求信号を受信すると処理ユニットが割込サービスルーチンを実行する受信した割込みの選択された一つは割込コントローラにより維持される状態レジスタを参照して処理ユニットにより決定され、状態レジスタはそこから割込みが受信されている割込源を識別する。どの割込サービスルーチンを実行するかに関する判断が処理ユニットによってなされるこのような実施例はここではソフトウェア割込処理実施例と呼ぶ。
第2の特徴から見て、本発明はデータ処理装置内の割込処理方法を提供し、(a)いくつかの割込源により発生した割込みを受信し、予め定められた規準に基づいて割込要求信号を出力するかどうかを決定するステップと、(b)関連付けられた割込源により発生した割込みをタイマ論理が受信したら、タイミング指示を作り出すステップと、(c)ステップ(a)において発生された割込要求信号を受信すると、対応する割込源に対する割込応答を発生するために受信した割込みの選択された一つに対する割込サービスルーチンを実行するステップと、(d)ステップ(c)においてタイマ論理に関連付けられた割込源により発生された割込みに対して割込サービスルーチンが実行されている場合には、タイミング指示を得るためにタイマ論理を参照し、タイミング指示に応じて割込応答の予め定められた特徴を制御するステップと、を含んでいる。
単なる例として添付図に例示された好ましい実施例について本発明をさらに説明する。
図1は本発明の一実施例に従ったデータ処理システムを示すブロック図であり、ディスクドライブ装置20およびさまざまな他の割込源30がディスクドライブ装置20または他の割込源30により発生する割込みを処理するのに使用されるデータ処理装置10に接続されている。
図1の例のデータ処理装置10はチップの形をとり、その上にパス25を介してディスクドライブ装置20により発生する、あるいは多数の割込パス32,34を介して他の割込源30により発生するさまざまな割込みを受信する割込コントローラ40が設けられる。チップ10上には、パス45を介して割込コントローラ40により発する割込要求信号の受信に応答して、対応する割込源に対する割込応答を発生するために割込コントローラ40により受信した割込みの一つに対して割込サービスルーチン(ISR)を実施するプロセッサコア50も設けられている。
コアにより発生された割込応答は、次に、関連する割込源20,30がその割込応答に応答して必要なアクションをとれるようにするためにその割込源に返送される。割込応答がディスクドライブ装置20に対するものであれば、その割込応答はパス55を介してコア50からディスクドライブ制御周辺装置60に出力され、それは次に割込応答をパス65を介してディスクドライブ装置20に出力する。図1において、ディスクドライブ制御周辺装置60はチップ10上に設けられるように示されている。しかしながら、当業者ならばディスクドライブ制御周辺装置60をオンチップで提供すべき要求条件はなく、別の実施例では、ディスクドライブ制御周辺装置60はオフチップで提供できることを理解できる。
当業者ならば割込コントローラ40はさまざまな形をとりうることを理解できる。一実施例では、割込コントローラ40はプロセッサコア50に割込要求信号を発すべきかどうかを決定するだけでなく、コアにより実行すべき割込サービスルーチンも決定するのに必要な論理を含み、割込コントローラ自体内のハードウェアが実行すべきISRを決定するため、このような割込処理方法はここではハードウェア割込処理技術とも呼ばれる。このような割込コントローラの特定の例が図2Aに示されており、それはベクトル割込コントローラ(VIC)100を示している。このようなVICにおいて、コントローラは各割込源に関連付けられるISRに対するベクトルアドレスのリストを格納する。したがって、割込みが受信されると、VICは関連付けられたISRコードの正確な場所をプロセッサコア50を通してプロセッサコアがそのISRの実行を開始できるようにすることができる。
特に、図2Aに示すように、ディスクドライブ装置20または他の割込源30から受信した割込みはパス102,104,106を介してVIC100内に設けられたイネーブル/マスキング論理110に通される。イネーブル/マスキング論理110はある割込源がイネーブルされるかディセーブルされるか、ディセーブルされた割込源から受信した任意の割込みがイネーブル/マスキング論理110により無視される、したがって、VIC100内の残りの要素に伝播されないかどうかを示すようにプログラムすることができる。
また、VIC100は典型的に現在コアにより処理されている割込みの優先レベルのレコードを維持し、この情報はイネーブル/マスキング論理110に通されて現在処理されている割込みの優先度よりも低いまたは同じ優先度を有する割込源から受信される任意の割込みを有効にマスクする。この目的は、プロセッサコアにより特定の割込みが処理されている間に、VIC100は現在処理されているものよりも低いまたは同じ優先度を有する他の割込みをプロセッサコアに伝播しないことを保証することである。
受信した割込みがイネーブルされた割込源からのものでありマスキング機能によりマスクされないものと仮定すると、その割込みは関連するパス112,114,116を介して割込処理部論理120に出力される。イネーブル/マスキング論理110により出力された任意の割込みが存在する中で、割込処理部120は次にパス134を介してプロセッサコアに割込要求信号(ここではIRQ信号とも呼ばれる)を出力する。
さらに、割込処理部120内の優先度符号化論理130はイネーブル/マスキング論理110により出力された潜在的に多数の割込みのいずれがより高い優先度を有するかを決定するために予め定められた優先順位付け規準を利用する。典型的に、優先度エンコーダへの可能な各入力に対して、優先度エンコーダはそれに関連付けられた優先レベルを有し、それはプログラマブルであるかもしくはプリセットすることができる。典型的に、ある範囲の可能な優先レベルがあり、各割込源には優先度エンコーダ130内でその範囲内の優先レベルが関連付けられている。
優先度エンコーダ130がイネーブル/マスキング論理110により出力されたものの中から最高優先度要求を決定しておれば、それはパス132を介してベクトルアドレス発生器140に制御信号を出力し、ベクトルアドレス発生器140にパス145を介して対応するベクトルアドレスを出力させる。ベクトルアドレス記憶装置が典型的にベクトルアドレス発生器140内に設けられ、VIC100に割込みを発生することができる各割込源に対応するベクトルアドレスを格納する。各割込源には別々のベクトルアドレスを指定することができ、あるいはある割込源がベクトルアドレスを共有することができる(その場合、同じ割込サービスルーチンがこれらの割込源により共有される)。
本発明の実施例に従って、VIC100にはそれに関連付けられた一つ以上の割込源を有することができるタイマ論理150も設けられ、関連付けられた割込源により発生した割込みを受信するとタイミング指示を作り出すように操作できる。図2Aに示す例では、タイマ論理は各割込源20,30から信号を受信するように示されており、タイマ論理はどの割込源がそれに関連付けられるか、したがって、どの割込源に対してタイマ論理がタイミング指示を発生するかを示すようにパス152を介して構成できるようにする。図1に示す本発明の実施例では、タイマ論理はディスクドライブ装置20だけに関連付けられるものと仮定され、したがって、例としてディスクドライブ装置20により発生した任意の割込みがパス106を介して受信され、タイマ論理152はパス106を介して受信した割込みにしか応答しないように構成する。
タイマ論理150により発生されるタイミング指示はさまざまな形をとることができる。一実施例では、タイマ論理150は関連付けられた各割込源に対して別々のタイマが内蔵され、関連付けられた割込源から割込みが受信される時に対応するタイマが開始するように構成される。別の実施例では、タイマ論理150は任意の関連付けられた割込源から割込みを受信したらその割込源に対するタイムスタンプ値を与えるように構成することができ、タイムスタンプ値はタイマ論理150がアクセスを有する、あるグローバルタイマを参照して発生する。このグローバルタイマは、たとえば、CPUコア50のクロックによりクロックしてハイレベルの精度を提供することができる、すなわちデータ処理装置内に設けられた他の形のグローバルタイマとすることができる。
ディスクドライブ装置20により発生された割込みを処理する時に発生する割込応答に影響を及ぼすために本発明の一実施例に従ってタイマ論理150が使用される方法を、次に、図3を参照してさらに検討する。ステップ200において、パス25,106を介してディスクドライブ装置20から割込みが表明され、その結果ステップ205においてタイマ論理150は関連付けられたタイマを開始させる。別の実施例においてタイマ論理がタイムスタンプ値を発生するように構成されておれば、ステップ205においてタイマ論理150はタイマを開始させずにグローバルタイマを参照し後でコア50が参照するためのタイムスタンプ値を作り出して記録する。
ステップ210において、次に、ディスクドライブから受信した割込みが現在コア50によりサービスされている割込みよりも高い優先度であるか確認する。前記したように、この機能はVIC100により維持されイネーブル/マスキング論理110により実行されるマスキングを制御するのに使用される優先レベル情報に基づいてイネーブル/マスキング論理110により実現する。割込みが現在サービスされている割込みよりも高い優先度でなければ、割込みが現在サービスされている割込みよりも高い優先度になるまでプロセスはステップ210で止まる。特に、コア50がその現在サービスされている割込みに対するISRの実行を完了しておれば、イネーブル/マスキング論理110は典型的にマスキングビットのいくつかをクリアするようにされ、その点においてディスクドライブ20からの割込みはコア50により処理される予定の次の割込みよりも高い優先度となることができる。
ステップ210において割込みがコアにより現在サービスされている割込みよりも高い優先度であると判断されると、プロセスはステップ215に進み、そこで割込みは最高優先度未サービス割込みであるかどうか確認する。未サービス割込みはイネーブル/マスキング論理110によりパス112,114,116を介して割込ハンドラ120に伝播される割込みと考えられる。ディスクドライブからの割込みが最高優先度未サービス割込みであればプロセスはステップ220に進み、さもなくばプロセスはステップ210に戻る。
ステップ220において、割込処理部120はパス134を介してコア50に割込要求信号を表明し、同時にパス145を介して適切なISRに対するベクトルアドレスをコアに発する。
他の割込源30に関してディスクドライブ装置20を適切に優先順位付けすることにより、ステップ210または215においてディスクドライブ20からの割込みが重要な遅延を経験する機会を低減できることが理解される。たとえば、ディスクドライブ装置20により発生した割込みがシステム内の最高優先度サービス割込みであると判断する場合、現在のより優先度の低い割込みに対してコアにより既に実行されているISRへのより優先度の高い割込みをシステムが許すものと仮定すると、一般的にいずれかのステップ210または215においてその割込みにより経験される重要な遅延はないことが理解される。
しかしながら、前述したように、一度ステップ220おいてコアに割込要求が表明されていると、コア50はその時間に実行中のいかなる命令も完了させる必要があり、異なる命令は異なる数のクロックサイクルを完了させる必要があるため、それにより割込処理プロセスのタイミングにあるジッタが導入される。特に、ISRを実際に実行するのに要した時間は非常に予測可能であるが、割込みを表明しているデバイスと割込み処理準備完了のコア間で要する時間は変動することがある。このジッタは潜在的に大きくなることがある。たとえば、その時間に実行されている命令がメモリアクセス命令であれば、非常に低速のメモリへのアクセスを必要とすることがあるため、最悪のシナリオでは命令の実行を完了させるのに数百サイクルを必要とすることがある。さらに、仮想メモリシステムにおいて必要なマッピングがテーブルルックアサイドバッファ(Table Lookaside Buffer:TLB)内で見つからなければページテーブルウォーク(Page table walk)を実行しなければならず、それはいくつかの追加負荷動作を含むことがある。したがって、ステップ225において、プロセスはコアが割込要求の受信準備を完了するまで待機し、その後コアはステップ230においてISRに分岐する。
次に、本発明の実施例に従って、コアはタイマ論理により格納されたタイミング指示を読み出すためにISRの処理中にパス152を介してタイマ論理150を参照する。図3に示す例では、コアはそれがタイマ論理150にアクセスする時間に存在するタイマの値を読み出す。それによりコアにはディスクドライブ20により割込みが表明されてから経過した時間の表示が与えられ、この情報は割込源による割込応答の発生に影響を及ぼすのに使用することができる。図4Bおよび4Cに関して後述するように、この“影響”を達成することができるいくつかの方法がある。
コアは割込サービスルーチンを処理すると、ステップ240においてディスクドライブ制御周辺装置60に割込応答を出力し、その後典型的にはクリア信号をディスクドライブ装置20に返送して割込の表明を停止するよう告げることにより、割込みがクリアされる。さらに、割込コントローラ100は典型的にISRが完了していることを示す信号も受信し、さらに、タイマ論理150内のタイマをリセットさせる信号を送られることができる。
割込応答に影響を及ぼすために前述したようにタイマ論理150を使用する他に、タイマ論理150はさらに図2Aに関してこれからを検討する目的に利用することができる。前述したように、各割込源には優先レベルが関連付けられており、この情報は優先度エンコーダ130により維持され、多数の割込みが存在する時に処理ユニットが次にどの割込みを処理すべきかを決定するのに使用される。図2AのVIC100のオプションとなる実行例では、タイマ論理150には予め定められた規準の発生を検出し、このような予め定められた規準が検出されたら、パス154を介して優先度エンコーダ130に信号を送って関連付けられた割込源により発生した割込みの優先度を修正する(典型的には高める)ように操作できる一片の制御論理を提供することができる。好ましくは、タイマ論理により維持される各タイミング指示に対して別々のこのような制御論理がある。
一実施例では、検出される予め定められた規準は割込みがタイマ論理により受信されてから経過した時間が、その割込みが処理ユニットに受け入れられることなく、予め定められたある閾値を超えた点である。VIC100は現在どの割込みが処理ユニットにより処理されているかを知っており、したがって、その情報をタイマ論理150内の制御論理に提供することができる。その閾値時間を超えると、制御論理はパス154を介して優先度エンコーダ130に予め定められた信号を発することができ、それは優先度エンコーダ130をトリガして関連付けられた割込みの優先レベルをある予め定められた量、たとえば、予め設定された数の優先レベルだけ高める。それによりその割込みが処理ユニットにより受け入れられる次の割込みとなる可能性が高くなる。
さらに向上させるために、制御論理を使用していくつかの閾値をモニタし、各後続閾値が経過するともう一つの制御信号を優先度エンコーダに発して、割込みの優先レベルを段階的に高めるようにできることが理解される。
処理ユニットにより割込みが処理されている時は、一般的にそれは優先度エンコーダ130内のその前のレベルに戻されるその割込みに関連付けられた優先レベルに対して適切である。これはさまざまな方法で行えることが理解される。たとえば、一実施例では、タイマ論理内の関連するタイミング指示がリセットされると、それによりタイマ論理150内の制御論理はパス154を介して優先度エンコーダ130にもう一つの信号を出力して優先レベルをリセットさせる。別の実施例では、ISRは優先度エンコーダ130に命令して優先レベルをその前のレベルにリセットさせるのに使用されるあるコードをISRの終りに向かって含むように構成することができる。
したがって、VIC100のこのオプションとなる実行例では、タイマ論理150は発生された割込応答に関するある決定的挙動を保証するだけでなくある状況、特に、より優先度の高い割込みにより割込処理が抑制される場合に割込みの処理速度を潜在的に高めるのにも使用される。
図1の割込コントローラ40は図2Aに示すVIC100の形をとる必要はなく、いくつかの異なる方法で構成できることが理解される。図2Bは割込コントローラの代りの構成を示し、ここでは割込コントローラはコアへの割込要求を表明するだけであり、どのISRを実行するかはコア自体が決定し、割込コントローラ自体はまだハードウェアで実行されるがどのISRを実行するかの判断はコア上で実行するソフトウェアによりなされるため、このような割込処理技術はここではソフトウェア割込処理技術と呼ぶ。
図2Bに示すように、パス162,164,166を介して割込コントローラ160により受信される任意の割込みがイネーブル/マスキング論理165に入力され、このイネーブル/マスキング論理165は図2Aに記述したイネーブル/マスキング論理110と同様に動作する。図2Aの例と同様に、さまざまな割込みがやはりタイマ論理180に送られ、それは図2Aのタイマ論理150について前述したのと同様に動作する。次に、イネーブルされた割込源からのマスキング機能によりマスクされない任意の割込みがイネーブル/マスキング論理165からパス172,174,176を介して状態レジスタ170上に送られ、状態レジスタはイネーブル/マスキング論理165により伝播された受信割込みを追跡し続けるようにされている。状態レジスタにより受信された割込みはORゲート175上にも伝播され、イネーブル/マスキング論理165により出力された任意の割込みの存在下で、ORゲート175はパス188を介してプロセッサコアに割込みを出力するようにされる。プロセッサコアが割込要求を受信する準備を完了しておれば、次に、それはどのISRを実行するかを決定するために状態レジスタ170の内容にアクセスする。たとえば、2つ以上の割込源から割込みが受信されていることを状態レジスタ170が示す場合、コア上で実行しているソフトウェアはこれらの割込源のいずれが最高優先度を有するを決定するか、したがって、どのISRを実行するかを決定することができる。
このような割込コントローラのある実施例では、もう一つの状態レジスタを割込コントローラの入力に設けて、イネーブル/マスキング論理165に通される前に割込みを受信することができる。この状態レジスタはさまざまな目的、たとえば、たとえその割込みがイネーブル/マスキング論理165によりディセーブルされていてコア50により処理されることがなくても、いつ割込みが発せられているかに関する情報を周期的に得るのに使用することができる。
図4Aは本発明の実施例のタイマ論理を利用しない標準技術に従ってディスクドライブ装置20に対する割込応答が発生される時に生じることがある問題を示す図である。図4Aに示すように、ディスク400はそのトラック上に記録されたデータをリード/ライトヘッド415でアクセスしながら、405方向に高速で回転することができる。周期的に、たとえば、ディスク400の各回転毎に割込み410をトリガすることができ、この例ではこの割込みは時間tで生じたものと考えられる。
コアが必要なISRの実行を開始する前に生じることがある図3について前述したさまざまな遅延、特に、図3のステップ225において生じることがある遅延により、ISR処理アルゴリズムは時間tと時間t間の任意の時間に開始されることがあり、この期間420は割込応答タイミングにあるジッタを導入することがある。ISRが実行するのにNクロックサイクルを要する場合には、ディスクドライブ装置20は時間tと時間t間の期間425において割込応答を入手できることが判る。割込応答をディスクドライブ20により予期できる時間のこの未知の変動によりリアルタイム制御計算にエラーを生じ、リード/ライトヘッド415の制御はより不正確となって、たとえば、所望するよりも大きなトラック幅が必要となることがある。
しかしながら、本発明の実施例では、ISRはタイマ論理150により維持されるタイミング指示へのアクセスを有し、それはさまざまな方法で使用することができる。たとえば、図4Bの第1の実施例では、時間がシステムに対して指定された最大待ち時間に達していることが確認されるまで、コアはISRの実行中にタイマ論理により維持されるタイマを単にポーリングするようにされている。この時間までに、ISRが時間t,時間t,またはその間の任意の時間に開始されたかどうかにかかわらず、割込応答を入手することができ、したがって、いつISR処理アルゴリズムが開始されたかにかかわらず、時間t430において割込応答を受け入れ可能となる。それにより割込み410がトリガされてから割込応答がディスクドライブ装置20に戻されるまで固定長の時間があることが保証され、ISR処理アルゴリズムはこの固定遅延に対して調整される。これはディスクドライブ20が本来よりも後で割込応答を受け入れ可能とされることを意味するものではあるが、割込応答のタイミングに関して決定的挙動を保証し、それによりディスクドライブ装置は図4Aについて前述した割込応答タイミングの変動をカバーする公差を組み込むことなく設計することができる。
ISR処理アルゴリズムがより柔軟になるように修正される場合には、この修正されたISRアルゴリズムはISR遂行中の予め定められた点において一度タイマ値を読み取り、割込応答を決定する時に読取値を考慮するようにすることができる。この実施例は図4Cに関して例示される。図4Aと図4Cを比べれば判るように、割込応答のタイミングは基本的に図4Aの従来技術におけるものと同じであるが、割込応答はそれがディスクドライブに発せられる時間にかかわらず同じではなく、実際の割込応答値はそれが発せられる時間に応じて変動し、たとえば、割込応答はそれが時間tにおいてディスクドライブ20に戻される場合と時間tにおいてディスクドライブ20に戻される場合とでは異なる値を有する。これはより正確な割込応答値がディスクドライブに供給されることを保証し、やはりディスクドライブは図4Aを示す従来技術の方法で生じる割込応答の不正確さに対処するための公差を組み込むことなく設計することができる。
図3の検討において、一度プロセッサコア50によりISRが完了するとタイミング指示がリセットされることが示された。しかしながら、本発明の実施例の範囲を逸脱することなくタイミング指示をリセットできるいくつかの他の方法があることが理解される。たとえば、タイミング指示がISRの遂行中一度しか参照されない図4Cについて前述した方法を利用する時は、タイミング指示はプロセッサコアが準備完了した時間にリセットすることができる。このような方法は図4Bの実施例をタイマ論理がタイマではなくタイムスタンプ値を与えるようにされている状況で利用する場合にも使用することができ、それはその状況ではやはりタイミング指示を一度しか読み取る必要がなく、タイマ論理を周期的にポーリングする代りに、プロセッサコアは経過時間がシステムに対して指定された最大待ち時間に達していることが確認されるまでグローバルタイマを周期的にポーリングするだけでよいためである。しかしながら、タイマ論理自体がタイマを維持しその結果図4Bの方法を利用する時にタイマを周期的にポーリングする必要があれば、プロセッサコア50によりアクセスされる時にタイマをリセットするのに明らかに適切ではない。
もう一つの代替策として、タイマ論理はその同じ関連付けられた割込源から次の割込みが受信される時にタイミング指示がリセットされるように構成することができる。しかしながら、それはその源からの現在の割込みに対する割込サービスが実行されるまで同じ源からのもう一つの割込みは生じないことが保証できる場合、あるいは少なくとも割込サービスルーチンがもはやタイミング指示を参照する必要がなくなる時間までしか適切ではない。前述した例はタイミング指示をリセットすることができるいくつかの可能な方法を単に例示しているにすぎない。しかしながら、これらの例は網羅的リストを表すものではなく、たとえば、タイマがその制御レジスタへの書込みを介して明確にリセットされる技術を利用することにより、適切であればタイミング指示をリセットする他の方法をとることもできる。
本発明の実施例の説明から、このような実施例は割込応答に関してハイレベルの決定的挙動を要望する割込源から発生された割込みを処理するための著しく改善された技術を提供することが理解される。特に、それは割込応答に関して示されるジッタの問題を緩和することができ、したがって、その割込源の設計に課される設計上の制約を幾分緩和することができる。さらに、本技術はコア50の設計上の制約を幾分緩和し、特に、実行する命令が要するクロックサイクル数を減少しよう、すなわち命令が割込不能な時間長を短縮しよう、とし続ける必要性を緩和する。
特定の実施例について記述してきたが、本発明はそれらに限定されるものではなく発明の範囲内で多くの修正および追加を行えることが理解される。たとえば、本発明の範囲を逸脱することなく従属項の特徴を独立項の特徴とさまざまに組み合わせることができる。
本発明の実施例を利用することができるデータ処理システムのブロック図である。 Aは、図1の割込コントローラとして使用することができるベクトル化割込コントローラ内に設けられた要素をより詳細に示すブロック図である。 Bは、図1のデータ処理システム内で使用することができる割込コントローラの別の構成を示すブロック図である。 本発明の一実施例に従ってディスクドライブにより表明される割込みを処理するために図1のデータ処理システムにより実施されるステップを示すフロー図である。 従来技術に従ったディスクドライブへの割込応答のタイミングを示す図である。 本発明の異なる実施例に従ったディスクドライブへの割込応答のタイミングを示す図である。 本発明の異なる実施例に従ったディスクドライブへの割込応答のタイミングを示す図である。
符号の説明
10 データ処理装置
20 ディスクドライブ装置
25,32,34,45,55,65,102,104,106,112,114,116,132,134,145,152,154,162,164,166,172,174,176,188 パス
30 割込源
40,160 割込コントローラ
50 プロセッサコア
60 周辺装置
100 ベクトル化割込コントローラ
110,165 イネーブル/マスキング論理
120 割込処理部論理
130 優先度エンコーダ
140 ベクトルアドレス発生器
150 タイマ論理
170 状態レジスタ
175 ORゲート
400 ディスク
410 割込み
415 リード/ライトヘッド

Claims (26)

  1. データ処理装置において、
    いくつかの割込源により発生される割込みを受信し、予め定められた規準に基づいて割込要求信号を出力するかどうかを決定する割込コントローラと、
    前記割込要求信号を受信したら、対応する割込源に対する割込応答を発生するために受信した割込みの選択された一つに対して割込サービスルーチンを実行する処理ユニットと、
    関連付けられた割込源により発生された割込みを受信したらタイミング指示を作り出すタイマ論理と、
    を含み、
    処理ユニットは、その関連付けられた割込源により発生された割込みに対して割込サービスルーチンを実行する時に、タイミング指示を得るためにタイマ論理を参照し、当該タイミング指示に応じて割込応答の予め定められた特徴を制御する、データ処理装置であって、前記割込応答の予め定められた特徴を制御することは当該割込応答の発生に影響を与えるようにすることである、データ処理装置。
  2. 請求項1に記載のデータ処理装置であって、タイミング指示に応じて制御される割込応答の予め定められた特徴は処理ユニットにより割込応答が出力される時間であり、割込応答はタイマ論理により割込みが受信されてから予め定められた期間が経過している時に一度出力されるデータ処理装置。
  3. 請求項1に記載のデータ処理装置であって、割込サービスルーチンは割込応答を形成する出力を計算するのに使用されるアルゴリズムを含み、このアルゴリズムはタイミング指示に応じて制御される割込応答の予め定められた特徴が割込応答を形成する出力であるようにタイミング指示に応答するようにされているデータ処理装置。
  4. 請求項1に記載のデータ処理装置であって、タイマ論理は割込コントローラ内に設けられるデータ処理装置。
  5. 請求項1に記載のデータ処理装置であって、タイマ論理に関連付けられる割込源はプログラマブルであるデータ処理装置。
  6. 請求項1に記載のデータ処理装置であって、多数の割込源が前記タイマ論理に関連付けられており、前記タイマ論理はその関連付けられた割込源により発生された割込みを受信すると、各関連付けられた割込源に対して別々のタイミング指示を作り出すデータ処理装置。
  7. 請求項1に記載のデータ処理装置であって、タイマ論理はそれにより割込みが受信される時に始動されるタイマを含み、タイミング指示は割込サービスルーチンの遂行中に処理ユニットがタイマ論理を参照する時のタイマの値であるデータ処理装置。
  8. 請求項1に記載のデータ処理装置であって、タイマ論理はグローバルタイマへのアクセスを有し、タイマ論理により作り出されるタイミング指示はタイマ論理により割込みが受信される時間にグローバルタイマから得られるタイムスタンプ値であるデータ処理装置。
  9. 請求項1に記載のデータ処理装置であって、割込コントローラは処理ユニットの制御下でマスクされる選択された割込源からの割込みを許すマスキング論理を含み、割込要求信号を出力するかどうかを決定するために割込コントローラにより利用される予め定められた規準は受信した割込みのいずれかがマスクされていないかどうかの決定を含むデータ処理装置。
  10. 請求項1に記載のデータ処理装置であって、各割込みは関連付けられた優先レベルを有し、割込コントローラは未サービス割込みの関連付けられた優先レベルに基づいて最高優先度未サービス割込みを決定する優先度符号化論理を含み、未サービス割込みは割込コントローラにより受信された割込みから決定され、割込要求信号を出力するかどうかを決定するために割込コントローラにより利用される予め定められた規準は、その最高優先度未サービス割込みの優先レベルが処理ユニットが現在割込サービスルーチンを実行している任意の割込みの優先レベルを超えるかどうかに関する決定を含むデータ処理装置。
  11. 請求項10に記載のデータ処理装置であって、タイマ論理は予め定められた規準を検出すると優先度符号化論理に信号を出力して、関連付けられた割込源により発生された割込みの優先レベルを変えてその割込みの優先度を高めるデータ処理装置。
  12. 請求項1に記載のデータ処理装置であって、割込要求信号を受信したら割込みの選択された一つに対して処理ユニットが割込サービスルーチンを実行することになる当該選択された一つは割込コントローラにより決定され、割込コントローラはさらに割込要求信号により処理ユニットに出力される割込サービスルーチンに対するアドレスを発生するアドレス発生器を含むデータ処理装置。
  13. 請求項1に記載のデータ処理装置であって、割込要求信号を受信したら割込みの選択された一つに対して処理ユニットが割込サービスルーチンを実行することになる当該選択された一つは、割込コントローラにより維持される状態レジスタを参照して処理ユニットにより決定され、状態レジスタはそこから割込みが受信されている割込源を識別するデータ処理装置。
  14. データ処理装置における割込処理方法であって、
    (a)いくつかの割込源により発生される割込みを受信し、予め定められた規準に基づいて割込要求信号を出力するかどうかを決定し、
    (b)関連付けられた割込源により発生された割込みのタイマ論理を受信したらタイミング指示を作り出し、
    (c)ステップ(a)において発生された前記割込要求信号を受信したら、対応する割込源に対する割込応答を発生するために受信した割込みの選択された一つに対して割込サービスルーチンを実行し、
    (d)前記ステップ(c)においてタイマ論理に関連付けられた割込源により発生された割込みに対して割込サービスルーチンが実行されておれば、タイミング指示を得るためにタイマ論理を参照し、タイミング指示に応じて割込応答の予め定められた特徴を制御する、ステップ
    を含み、前記割込応答の予め定められた特徴を制御することは当該割込応答の発生に影響を与えるようにすることである、割込処理方法。
  15. 請求項14に記載の方法であって、タイミング指示に応じて制御される割込応答の予め定められた特徴は割込応答が出力される時間であり、割込応答はタイマ論理により割込みが受信されてから予め定められた期間が経過している時に一度出力される方法。
  16. 請求項14に記載の方法であって、割込サービスルーチンは割込応答を形成する出力を計算するのに使用されるアルゴリズムを含み、前記方法は、さらに、
    タイミング指示に応じて制御される割込応答の予め定められた特徴が割込応答を形成する出力であるように、アルゴリズムがタイミング指示に応答するようにするステップを含む方法。
  17. 請求項14に記載の方法であって、タイマ論理は割込コントローラ内に設けられる方法。
  18. 請求項14に記載の方法であって、さらに、タイマ論理に関連付けられる割込源を識別するようにタイマ論理をプログラミングするステップを含む方法。
  19. 請求項14に記載の方法であって、多数の割込源が前記タイマ論理に関連付けられており、ステップ(b)において前記タイマ論理はその関連付けられた割込源により発生された割込みを受信すると、各関連付けられた割込源に対して別々のタイミング指示を作り出す方法。
  20. 請求項14に記載の方法であって、タイマ論理はそれにより割込みが受信される時に始動されるタイマを含み、タイミング指示は前記ステップ(d)における割込サービスルーチンの遂行中にタイマ論理が参照される時のタイマの値である方法。
  21. 請求項14に記載の方法であって、タイマ論理はグローバルタイマへのアクセスを有し、前記ステップ(b)においてタイマ論理により作り出されるタイミング指示はタイマ論理により割込みが受信される時間にグローバルタイマから得られるタイムスタンプ値である方法。
  22. 請求項14に記載の方法であって、前記ステップ(a)はマスクされる選択された割込源からの割込みを許すマスキング論理を含み、前記ステップ(a)において実行される予め定められた規準に基づく決定は、
    受信した割込みのいずれかがマスクされていないかどうかを決定するステップを含む方法。
  23. 請求項14に記載の方法であって、各割込みは関連付けられた優先レベルを有し、前記ステップ(a)は未サービス割込みの関連付けられた優先レベルに基づいて最高優先度未サービス割込みを決定する優先度符号化論理を含む割込コントローラにより実行され、未サービス割込みは割込コントローラにより受信された割込みから決定され、前記ステップ(a)において実行される予め定められた規準に基づく決定は、
    その最高優先度未サービス割込みの優先レベルがデータ処理装置が現在割込サービスルーチンを実行している任意の割込みの優先レベルを超えるかどうかを決定するステップを含む方法。
  24. 請求項23に記載の方法であって、さらに、
    予め定められた規準を検出すると、タイマ論理に優先度符号化論理への信号を出力させるステップを含み、
    優先度符号化論理はタイマ論理からの信号に応答して関連付けられた割込源により発生された割込みの優先レベルを変えてその割込みの優先度を高める方法。
  25. 請求項14に記載の方法であって、前記ステップ(c)において割込サービスルーチンが実行される受信した割込みの選択された一つは割込コントローラにより決定され、前記方法は、さらに、
    割込コントローラに割込要求信号により出力される割込サービスルーチンに対するアドレスを発生させるステップを含む方法。
  26. 請求項14に記載の方法であって、さらに、
    割込コントローラにより維持される状態レジスタを参照して前記ステップ(c)において割込サービスルーチンが実行される受信した割込みの選択された一つを決定するステップを含み、状態レジスタはそこから割込みが受信されている割込源を識別する方法。
JP2004117450A 2003-07-07 2004-04-13 データ処理装置および割込処理方法 Expired - Lifetime JP4456404B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0315854A GB2403822B (en) 2003-07-07 2003-07-07 Data processing apparatus and method for handling interrupts

Publications (2)

Publication Number Publication Date
JP2005032223A JP2005032223A (ja) 2005-02-03
JP4456404B2 true JP4456404B2 (ja) 2010-04-28

Family

ID=27741704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004117450A Expired - Lifetime JP4456404B2 (ja) 2003-07-07 2004-04-13 データ処理装置および割込処理方法

Country Status (3)

Country Link
US (1) US8010726B2 (ja)
JP (1) JP4456404B2 (ja)
GB (1) GB2403822B (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4149404B2 (ja) * 2004-03-26 2008-09-10 沖電気工業株式会社 エバリュエーションチップ
US20060112208A1 (en) * 2004-11-22 2006-05-25 International Business Machines Corporation Interrupt thresholding for SMT and multi processor systems
US20060174248A1 (en) * 2005-02-03 2006-08-03 Zeidman Robert M Software tool for automatically protecting shared resources within software source code
US20070055804A1 (en) * 2005-09-07 2007-03-08 Ran Hay Method and apparatus for managing multiple components
WO2007147443A1 (en) * 2006-06-23 2007-12-27 Freescale Semiconductor, Inc. Interrupt response control apparatus and method therefor
US9946667B2 (en) * 2008-11-12 2018-04-17 Microchip Technology Incorporated Microcontroller with configurable logic array
US7996595B2 (en) 2009-04-14 2011-08-09 Lstar Technologies Llc Interrupt arbitration for multiprocessors
US8321614B2 (en) * 2009-04-24 2012-11-27 Empire Technology Development Llc Dynamic scheduling interrupt controller for multiprocessors
US8260996B2 (en) * 2009-04-24 2012-09-04 Empire Technology Development Llc Interrupt optimization for multiprocessors
US8688964B2 (en) * 2009-07-20 2014-04-01 Microchip Technology Incorporated Programmable exception processing latency
US8234431B2 (en) * 2009-10-13 2012-07-31 Empire Technology Development Llc Interrupt masking for multi-core processors
TW201128535A (en) * 2010-02-03 2011-08-16 Rdc Semiconductor Co Ltd Interrupt control method and system
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
WO2012081085A1 (ja) * 2010-12-14 2012-06-21 三菱電機株式会社 割込み要因管理装置及び割込み処理システム
US8612660B2 (en) * 2011-03-09 2013-12-17 Wind River Systems, Inc. Interrupt latency measurement
US8972642B2 (en) * 2011-10-04 2015-03-03 Qualcomm Incorporated Low latency two-level interrupt controller interface to multi-threaded processor
US9201821B2 (en) * 2012-09-27 2015-12-01 Apple Inc. Interrupt timestamping
US9740644B2 (en) 2014-09-26 2017-08-22 Intel Corporation Avoiding premature enabling of nonmaskable interrupts when returning from exceptions
MY186256A (en) 2015-12-21 2021-06-30 Intel Corp Emulated msi interrupt handling

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3367291D1 (en) * 1983-03-31 1986-12-04 Ibm Display terminal
JPS6314261A (ja) 1986-07-04 1988-01-21 Nec Corp マイクロプログラム制御装置
JPS63211438A (ja) * 1987-02-27 1988-09-02 Nec Corp 割込み制御回路
JPH0675780A (ja) 1992-04-27 1994-03-18 Nec Corp 割込み制御装置
US5708817A (en) * 1995-05-31 1998-01-13 Apple Computer, Inc. Programmable delay of an interrupt
US5572686A (en) * 1995-06-05 1996-11-05 Apple Computer, Inc. Bus arbitration scheme with priority switching and timer
US5944840A (en) * 1997-09-10 1999-08-31 Bluewater Systems, Inc. Continuous monitor for interrupt latency in real time systems
US6298410B1 (en) * 1997-12-31 2001-10-02 Intel Corporation Apparatus and method for initiating hardware priority management by software controlled register access
JP3097648B2 (ja) * 1998-02-04 2000-10-10 日本電気株式会社 情報処理装置及び情報処理方法
KR100317237B1 (ko) * 1999-10-01 2001-12-22 윤종용 유사 벡터 방식의 인터럽트 컨트롤러 및 그것의 인터럽트 처리 방법
US6631434B1 (en) * 1999-11-15 2003-10-07 Hewlett-Packard Development Company, L.P. Dynamic early indication system for a computer
US6571137B1 (en) * 2000-06-14 2003-05-27 Siemens Aktiengesellschaft System and method for reducing jitter in a signal
DE10039277A1 (de) * 2000-08-11 2002-02-21 Gfs Systemtechnik Gmbh & Co Kg Verfahren für die termingerechte Ausführung einer Zielfunktion
US7107362B2 (en) * 2003-05-19 2006-09-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Integrated circuit with configuration based on parameter measurement

Also Published As

Publication number Publication date
GB2403822B (en) 2006-05-10
GB0315854D0 (en) 2003-08-13
GB2403822A (en) 2005-01-12
US8010726B2 (en) 2011-08-30
JP2005032223A (ja) 2005-02-03
US20050010707A1 (en) 2005-01-13

Similar Documents

Publication Publication Date Title
JP4456404B2 (ja) データ処理装置および割込処理方法
EP2457170B1 (en) Programmable exception processing latency
US5524268A (en) Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases
JP3952992B2 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
US6839654B2 (en) Debug interface for an event timer apparatus
JP5085178B2 (ja) Dmaコントローラおよびdma転送方法
US8892230B2 (en) Multicore system, control method of multicore system, and non-transitory readable medium storing program
JP2011505037A (ja) 読出しデータバッファリングのシステム及び方法
US7328295B2 (en) Interrupt controller and interrupt controlling method for prioritizing interrupt requests generated by a plurality of interrupt sources
JP7160941B2 (ja) アクセラレータ要求を処理する際の中央処理装置の処理品質保証の実施
JP2007280253A (ja) 情報処理装置及び情報処理方法
JP2001209498A (ja) メモリアクセス優先度を動的に制御するシステム及び方法
JP3420091B2 (ja) マイクロプロセッサ
JP4334026B2 (ja) コンピュータシステム、およびその中でシステム管理割込を発生し処理するための方法
JP2004127163A (ja) マルチプロセッサシステム
US20090276553A1 (en) Controller, hard disk drive and control method
JP4549458B2 (ja) Dma転送装置
US20080004825A1 (en) Optimized transmission of signals between a disk drive controller and a motor controller using a serial port
JP2005100017A (ja) プロセッサシミュレータおよび割込遅延カウントプログラム、並びにプロセッサのシミュレート方法
JP2009098972A (ja) 割り込み制御方法、および割り込みシステム
JP2005301739A (ja) メモリコントローラ及び半導体装置
JP2006215621A (ja) Dma制御装置
JP4867897B2 (ja) コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム
JP5331451B2 (ja) マイクロコントローラ
JP2006119982A (ja) コンピュータシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100126

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100205

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4456404

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140212

Year of fee payment: 4

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

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

EXPY Cancellation because of completion of term