(57)【要約】【課題】割込みを処理するデータ処理装置および方法を得る。【解決手段】データ処理装置はいくつかの割込源から発生される割込みを受信し、所定の規準に基づいて割込要求信号を出力するかどうかを決定する割込コントローラを有する。割込要求信号を受信したら対応する割込源に対する割込応答を発生するために選択された一つの受信割込みに対して割込サービスルーチンを実行する処理ユニットと、関連する割込源が発生する割込みを受信したらタイミング指示を作り出すタイマ論理が設けられ、処理ユニットは関連する割込源が発生する割込みに対する割込サービスルーチンを実行する時に、タイミング指示を得てそれに応じて割込応答の所定の側面を制御するためにタイマ論理を参照する。割込応答に関して決定的挙動を要望する割込源からの割込みを処理するための著しく改善された技術が提供される。【選択図】図２
2005032223.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置において、
いくつかの割込源により発生される割込みを受信し、予め定められた規準に基づいて割込要求信号を出力するかどうかを決定するように操作できる割込コントローラと、
前記割込要求信号を受信したら、対応する割込源に対する割込応答を発生するために受信した割込みの選択された一つに対して割込サービスルーチンを実行するように操作できる処理ユニットと、
関連付けられた割込源により発生された割込みを受信したらタイミング指示を作り出すように操作できるタイマ論理と、
を含み、
処理ユニットは、その関連付けられた割込源により発生された割込みに対して割込サービスルーチンを実行する時に、タイミング指示を得てそれに応じて割込応答の予め定められた特徴を制御するためにタイマ論理を参照するように操作できる、データ処理装置。
【請求項２】
請求項１に記載のデータ処理装置であって、タイミング指示に応じて制御される割込応答の予め定められた特徴は処理ユニットにより割込応答が出力される時間であり、割込応答はタイマ論理により割込みが受信されてから予め定められた期間が経過している時に一度出力されるデータ処理装置。
【請求項３】
請求項１に記載のデータ処理装置であって、割込サービスルーチンは割込応答を形成する出力を計算するのに使用されるアルゴリズムを含み、このアルゴリズムはタイミング指示に応じて制御される割込応答の予め定められた特徴が割込応答を形成する出力であるようにタイミング指示に応答するようにされているデータ処理装置。
【請求項４】
請求項１に記載のデータ処理装置であって、タイマ論理は割込コントローラ内に設けられるデータ処理装置。
【請求項５】
請求項１に記載のデータ処理装置であって、タイマ論理に関連付けられる割込源はプログラマブルであるデータ処理装置。
【請求項６】
請求項１に記載のデータ処理装置であって、多数の割込源が前記タイマ論理に関連付けられており、前記タイマ論理はその関連付けられた割込源により発生された割込みを受信すると、各関連付けられた割込源に対して別々のタイミング指示を作り出すように操作できるデータ処理装置。
【請求項７】
請求項１に記載のデータ処理装置であって、タイマ論理はそれにより割込みが受信される時に始動されるタイマを含み、タイミング指示は割込サービスルーチンの遂行中に処理ユニットがタイマ論理を参照する時のタイマの値であるデータ処理装置。
【請求項８】
請求項１に記載のデータ処理装置であって、タイマ論理はグローバルタイマへのアクセスを有し、タイマ論理により作り出されるタイミング指示はタイマ論理により割込みが受信される時間にグローバルタイマから得られるタイムスタンプ値であるデータ処理装置。
【請求項９】
請求項１に記載のデータ処理装置であって、割込コントローラは処理ユニットの制御下でマスクされる選択された割込源からの割込みを許すように操作できるマスキング論理を含み、割込要求信号を出力するかどうかを決定するために割込コントローラにより利用される予め定められた規準は受信した割込みのいずれかがマスクされていないかどうかの決定を含むデータ処理装置。
【請求項１０】
請求項１に記載のデータ処理装置であって、各割込みは関連付けられた優先レベルを有し、割込コントローラは未サービス割込みの関連付けられた優先レベルに基づいて最高優先度未サービス割込みを決定するように操作できる優先度符号化論理を含み、未サービス割込みは割込コントローラにより受信された割込みから決定され、割込要求信号を出力するかどうかを決定するために割込コントローラにより利用される予め定められた規準は、その最高優先度未サービス割込みの優先レベルが処理ユニットが現在割込サービスルーチンを実行している任意の割込みの優先レベルを超えるかどうかに関する決定を含むデータ処理装置。
【請求項１１】
請求項１０に記載のデータ処理装置であって、タイマ論理は予め定められた規準を検出すると優先度符号化論理に信号を出力して、関連付けられた割込源により発生された割込みの優先レベルを変えてその割込みの優先度を高めるように操作できるデータ処理装置。
【請求項１２】
請求項１に記載のデータ処理装置であって、割込要求信号を受信したら処理ユニットが割込サービスルーチンを実行する受信した割込みの選択された一つは割込コントローラにより決定され、割込コントローラはさらに割込要求信号により処理ユニットに出力される割込サービスルーチンに対するアドレスを発生するように操作できるアドレス発生器を含むデータ処理装置。
【請求項１３】
請求項１に記載のデータ処理装置であって、割込要求信号を受信したら処理ユニットが割込サービスルーチンを実行する受信した割込みの選択された一つは、割込コントローラにより維持される状態レジスタを参照して処理ユニットにより決定され、状態レジスタはそこから割込みが受信されている割込源を識別するデータ処理装置。
【請求項１４】
データ処理装置における割込処理方法であって、
（ａ）いくつかの割込源により発生される割込みを受信し、予め定められた規準に基づいて割込要求信号を出力するかどうかを決定し、
（ｂ）関連付けられた割込源により発生された割込みのタイマ論理を受信したらタイミング表示を作り出し、
（ｃ）ステップ（ａ）において発生された前記割込要求信号を受信したら、対応する割込源に対する割込応答を発生するために受信した割込みの選択された一つに対して割込サービスルーチンを実行し、
（ｄ）前記ステップ（ｃ）においてタイマ論理に関連付けられた割込源により発生された割込みに対して割込サービスルーチンが実行されておれば、タイミング指示を得るためにタイマ論理を参照し、タイミング指示に応じて割込応答の予め定められた側面を制御する、ステップ
を含む割込処理方法。
【請求項１５】
請求項１４に記載の方法であって、タイミング指示に応じて制御される割込応答の予め定められた特徴は割込応答が出力される時間であり、割込応答はタイマ論理により割込みが受信されてから予め定められた期間が経過している時に一度出力される方法。
【請求項１６】
請求項１４に記載の方法であって、割込サービスルーチンは割込応答を形成する出力を計算するのに使用されるアルゴリズムを含み、前記方法は、さらに、
タイミング指示に応じて制御される割込応答の予め定められた特徴が割込応答を形成する出力であるように、アルゴリズムがタイミング指示に応答するようにするステップを含む方法。
【請求項１７】
請求項１４に記載の方法であって、タイマ論理は割込コントローラ内に設けられる方法。
【請求項１８】
請求項１４に記載の方法であって、さらに、タイマ論理に関連付けられる割込源を識別するようにタイマ論理をプログラミングするステップを含む方法。
【請求項１９】
請求項１４に記載の方法であって、多数の割込源が前記タイマ論理に関連付けられており、ステップ（ｂ）において前記タイマ論理はその関連付けられた割込源により発生された割込みを受信すると、各関連付けられた割込源に対して別々のタイミング指示を作り出すように操作できる方法。
【請求項２０】
請求項１４に記載の方法であって、タイマ論理はそれにより割込みが受信される時に始動されるタイマを含み、タイミング指示は前記ステップ（ｄ）における割込サービスルーチンの遂行中にタイマ論理が参照される時のタイマの値である方法。
【請求項２１】
請求項１４に記載の方法であって、タイマ論理はグローバルタイマへのアクセスを有し、前記ステップ（ｂ）においてタイマ論理により作り出されるタイミング指示はタイマ論理により割込みが受信される時間にグローバルタイマから得られるタイムスタンプ値である方法。
【請求項２２】
請求項１４に記載の方法であって、前記ステップ（ａ）はマスクされる選択された割込源からの割込みを許すように操作できるマスキング論理を含み、前記ステップ（ａ）において実行される予め定められた規準に基づく決定は、
受信した割込みのいずれかがマスクされていないかどうかを決定するステップを含む方法。
【請求項２３】
請求項１４に記載の方法であって、各割込みは関連付けられた優先レベルを有し、前記ステップ（ａ）は未サービス割込みの関連付けられた優先レベルに基づいて最高優先度未サービス割込みを決定するように操作できる優先度符号化論理を含む割込コントローラにより実行され、未サービス割込みは割込コントローラにより受信された割込みから決定され、前記ステップ（ａ）において実行される予め定められた規準に基づく決定は、
その最高優先度未サービス割込みの優先レベルがデータ処理装置が現在割込サービスルーチンを実行している任意の割込みの優先レベルを超えるかどうかを決定するステップを含む方法。
【請求項２４】
請求項２３に記載の方法であって、さらに、
予め定められた規準を検出すると、タイマ論理に優先度符号化論理への信号を出力させるステップを含み、
優先度符号化論理はタイマ論理からの信号に応答して関連付けられた割込源により発生された割込みの優先レベルを変えてその割込みの優先度を高める方法。
【請求項２５】
請求項１４に記載の方法であって、前記ステップ（ｃ）において割込サービスルーチンが実行される受信した割込みの選択された一つは割込コントローラにより決定され、前記方法は、さらに、
割込コントローラに割込要求信号により出力される割込サービスルーチンに対するアドレスを発生させるステップを含む方法。
【請求項２６】
請求項１４に記載の方法であって、さらに、
割込コントローラにより維持される状態レジスタを参照して前記ステップ（ｃ）において割込サービスルーチンが実行される受信した割込みの選択された一つを決定するステップを含み、状態レジスタはそこから割込みが受信されている割込源を識別する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置および割込処理方法に関する。
【背景技術】
【０００２】
データ処理システム内のデバイスがデータ処理システム内に、典型的にはＣＰＵ、内にサービスルーチンを実行する処理ユニットを必要とする場合、通常、それらは処理ユニットへ割込みを発生する。主プロセスを実行中に処理ユニットにより割込みが受信されると、通常、処理ユニットは実行中の主プロセスに一時的に割り込み、割込みを処理するために代わりに適切な割込みサービスルーチン（ＩＳＲ）を実行する。デバイスは処理ユニットと同じチップ上としたり、オフチップとしたりすることができる。典型的なデータ処理システムには、しばしばこのような割込みを発生することができる多数のデバイスがあり、プロセッサは複数の割込みにより規定されるＩＳＲを同時に実行することができないため、さまざまな割込みを受信してその間に優先順位を付ける割込みコントローラを設けることが知られている。したがって、あるデバイス（たとえば、ハードディスクドライブ）からの割込みには他のデバイス（たとえば、キーボード）からの割込みよりも高い優先度を与えることができる。
【０００３】
データ処理システム内で処理される割込みの速度に影響を及ぼす可能性のある、多数の遅延源がある。第１に、前記したように、割込コントローラは多数の割込み間の調停をすることが必要となり、したがって、ある割込みの処理は遅延し、他のものより優先度の高い割込みが、最初に処理されることがある。さらに、処理ユニットにより一度受信する割込みを処理ユニットが受け入れ可能で、かつ、適切なＩＳＲの実行を開始できる速度は、処理ユニットに割込みが断行される時に処理ユニットにより何の命令が実行中かによって決まる。典型的には、プロセッサはそのプロセスに一時的に割り込む前に現在実行しているいかなる命令の実行も完了して、代わりにＩＳＲを実行しなければならない。命令の実行を完了させるのに必要なサイクル数は変動し、大きくなることがある。たとえば、命令がメモリアクセス命令である場合には、（ａ）非常に低速のメモリにアクセスし、（ｂ）新しいページウォーク等を必要とする仮想メモリシステム内にページフォールトを生じるため、命令がメモリアクセス命令の場合、最悪のシナリオでは命令の実行を完了させるのに数百サイクルを要することがある。ある状況では、ＩＳＲを実行する前に一群の相互関連命令の実行を完了させることが必要となり得る。たとえば、一群の命令がグループの始めに割込みを手動で停止し、終りにそれらを再可動する場合に、ＡＲＭプロセッサ上でこれが生じ得る。これは、たとえば、割込コントローラ自体の構成を更新する時に生じ得る。
【０００４】
ある実行例では、割込みを発生することができるあるデバイスは割込みを処理した結果、処理ユニットから発生した割込み応答のタイミングに関して信頼できる挙動を有することが重要である。例として、ハードディスクドライブのメーカは、アクセス時間を改善しかつ格納できる情報の密度を改善するために、絶え間なくディスクの回転速度を高めトラック間の距離を短縮しようと努めている。このようなディスクドライブは、たとえば、リードおよびライトヘッドの位置決めを制御するのに使用するある制御信号を与えるために処理ユニットにＩＳＲを実行させる割込みを発生する。ディスクの回転速度が増しトラック間距離が減少するにつれ、割込応答タイミングはより慎重に管理することが一層重要となってきている。
【０００５】
もう一つの例は自動車エンジン制御の分野であり、そこではある臨界制御情報を提供するために処理ユニットにＩＳＲを実行させるためにエンジン管理システムが周期的に割込みを発生することがある。ここでも、割込応答タイミングが重要となり得る。
【０００６】
割込コントローラが低優先度割込みに優先して高優先度割込みを処理ユニットに指示できるように、割込み要求の優先順位を付ける能力は、高優先度割込みを可能な最も早い時間に処理ユニットへ指示することを保証し、かつ、割込みを受信する時間にいかなる命令が実行されているかに応じて割込みの処理を実際に開始するのに処理ユニットが要する時間の変動を保証するように補助し、ここではジッタとも呼ばれる、相当な量の変動を割込応答のタイミング内に発生させる。このジッタは割込応答に頼るデバイスのリアルタイム制御計算時にエラーを生じ、制御をより不正確にする。ハードディスクドライブの上記した例を考えると、このジッタによりトラック幅を低減できる度合いが終局的に抑制され得る。
【０００７】
これまでのところ、この問題を緩和する唯一の方法は、割込応答に関して予期することができる最大待ち時間（latencies）を低減する機構を提供してジッタを抑制しようと努めることである。しかしながら、これは容易なことではなく、完了するのに予め定められたクロックサイクル数よりも多くを要する処理ユニットにより実行する必要のある命令がないことを保証するように努める処理ユニットによる命令の実行方法が著しく抑制される傾向があり、選択されるこの予め定められた数は割込応答に関して許される最大待ち時間を考慮している。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、データ処理装置内の割込みを処理する時に割込応答内のジッタを抑制するための改善された技術を提供することが望ましい。
【課題を解決するための手段】
【０００９】
第１の側面から見て、本発明はデータ処理装置を提供し、このデータ処理装置は、多数の割込源により発生した割込みを受信し、かつ予め定められた規準に基づいて割込要求信号を出力するかどうかを決定するように操作できる割込コントローラと、割込要求信号を受信しているときに対応する割込源に対する割込応答を発生するために受信した割込みの選択された一つに対する割込サービスルーチンを実行するように操作できる処理ユニットと、関連付けられた割込源により発生した割込みを受信しているときにタイミング指示を作り出すように操作できるタイマ論理と、を含み、処理ユニットは、関連付けられた割込源により発生した割込みに対する割込サービスルーチンを実行する時に、タイミング指示を得るためにタイマ論理を参照し、かつタイミング指示に応じて割込応答の予め定められた特徴を制御するように操作可能である。
【００１０】
本発明に従って、タイマ論理が提供され、このタイマ論理は関連付けられた割込源により発生した割込みを受信しているときにタイミング指示を作り出すように操作できる。したがって、実例としてまた前の例を考慮して、ハードディスクドライブから割込みが受信される時にタイマ論理がタイミング指示を作り出すように、タイマ論理をハードディスクドライブに関連付けることができる。すると、処理ユニットはその関連付けられた割込源により発生した割込みに対する割込サービスルーチンを実行する時に、タイミング指示を得るためにタイマ論理を参照し、タイミング指示に応じて割込応答の予め定められた特徴を制御するように操作できる。
【００１１】
従来技術は、処理ユニットが割込みの処理を開始する前に要する最大時間を実際上低減するよう努めることにより、処理ユニットが割込応答を発するのに要する最大時間を低減することに集中しているが、本発明の発明者は割込みが受信される時に実行処理中のいかなる命令をも処理ユニットが完了させるのに要する時間の固有の変動により、割込応答時間には常に幾分変動する傾向があることを理解した。したがって、その特有の特徴に集中するのではなく、本発明はタイミング指示が作り出されていつ割込みが受信されるかの指示を与え、割込応答の予め定められた特徴を制御するために処理ユニットが割込サービスルーチンを実行する時にこのタイミング指示が参照される方法を提供する。したがって、処理ユニットが割込サービスルーチンの実行を開始できる時間はまだ幾分変動するが、タイミング指示を使用してこれらの変動を補償し、所定デバイスにより所望される決定的挙動を提供することができる。
【００１２】
割込コントローラが割込みを受信する割込源の数は一つ以上の割込源でありうることが理解される。
【００１３】
本発明の一実施例では、タイミング指示に応じて制御される割込応答の予め定められた特徴は、処理ユニットにより割込応答が出力される時間であり、割込応答はタイマ論理により割込みを受信してから予め定められた期間が経過している時に一度出力される。
【００１４】
したがって、この実施例によれば、割込応答はタイマ論理により割込みを受信した後のある決定的時間、したがって、割込源により割込みが発生した後のある決定的時間に出力されることを保証できる。例として、割込み発生間の最大許容待ち時間を仮定しかつ処理ユニットはその割込みの処理を開始しているものとして、予め定められた時間は割込応答を受け入れ可能になるのに要する最長予期時間として選択することができる。これはある割込応答が処理ユニットにより発生するとすぐに受け入れ可能とはできないことを意味するが、割込みの発生後ある予め定められた時間に割込応答を受け入れ可能ということを理解した上で割込源を設計できることが保証される。割込応答のタイミングにおけるこの決定的挙動によりデバイスの動作精度が著しく改善され割込応答タイミングにおけるジッタを見込む公差をデバイス内に設計する必要性が低減される。
【００１５】
本発明の別の実施例では、割込サービスルーチンは割込応答を形成する出力を計算するのに使用するアルゴリズムを含み、このアルゴリズムはタイミング指示に応じて制御される割込応答の予め定められた特徴が割込応答を形成する出力であるようにタイミング指示に応答するようにされている。出力はさまざまな形式をとることができる。たとえば、出力は一つ以上の値、たとえば、ディスクドライブ装置に対する制御値等を含むことができ、あるいは一つ以上のアクション、たとえば、特定のサブルーチンの呼出し、等を含むことができる。
【００１６】
本発明のこの実施例では、割込応答として作り出される実際の出力はタイミング指示に依存し、したがって、割込みの発生と処理ユニットによるその割込みの処理間のタイミングに変動を生じるジッタを考慮する。このジッタは割込応答を作り出す時に考慮されるため、このようなジッタを考慮する公差を含むことなくデバイスを設計することができる。
【００１７】
タイマ論理はデータ処理装置内の適切な位置に設けることができる。したがって、一実施例では、タイマ論理は割込コントローラ内に設けられる。典型的に、割込みは割込源から発生されるとすぐに、またはそのすぐ後で（たとえば、非同期割込信号が最初に割込コントローラクロックと同期化される場合等）割込コントローラにより受信されるものと考えることができ、したがって、この実施例におけるタイミング指示は割込源による割込みの発生時間の有効な指示を与える。
【００１８】
タイマ論理を特定の割込源に関連付けることができるいくつかの方法がある。一実施例では、この関連は装置内にハードワイヤされ、タイマ論理はそれを介してその割込源から割込コントローラに割込みが発生する接続部に接続される。しかしながら、別の実施例では、タイマ論理に関連付けられた割込源はプログラマブルであることがあり、タイマ論理に関連付けられる割込源の選択が許される。
【００１９】
一実施例では、多数の割込源がタイマ論理に関連付けられ、タイマ論理はその関連付けられた割込源により発生した割込みを受信すると、関連付けられた各割込源に対して別々のタイミング指示を作り出すように操作できる。したがって、割込応答の決定的挙動に関する本発明の利点をデータ処理システム内の多数の割込源に関連付けて実現することができる。前述した実施例と同様に、どの割込源がタイマ論理に関連付けられるかに関する指示はハードワイヤとすることができる、あるいはプログラマブルとすることができる。
【００２０】
タイマ論理およびタイミング指示はさまざまな形をとることができる。一実施例では、タイマ論理はそれにより割込みが受信される時に始動するタイマを含み、タイミング指示は割込サービスルーチンの実施中に処理ユニットがタイマ論理を参照する時のタイマの値である。このような実施例では、多数の割込源がタイマ論理と関連付けられる場合、タイマ論理はこのような関連付けられた各割込源に対して別々のタイマを有することが考えられる。タイマ論理がこのようなタイマを提供する実施例では、処理ユニットはタイマ論理を参照する時にそれにより割込みが受信されてから経過した時間の指示を受信することが判る。
【００２１】
別の実施例では、タイマ論理はグローバルタイマへのアクセスを有し、タイマ論理により作り出されるタイミング指示はタイマ論理により割込みが受信される時にグローバルタイマから得られるタイムスタンプ値である。この実施例では、使用されるタイマは一つしかなく、処理ユニットはタイマ論理を参照する時にそれにより割込みが受信されたグローバル時間を示すタイムスタンプ値を受信する。次に、処理ユニットは現在のグローバルタイマ値をタイミング指示により与えられるタイムスタンプ値と比較することにより経過時間を引き出すことができる。多数のタイマを設ける必要がないため、この方法は多数の割込源がタイマ論理に関連付けられる時に特に有利であり、したがって、このようなシナリオにおけるタイマ論理のよりコスト効果的な（たとえば、価格、性能および消費電力またはそのいずれかに関して）実行例を提供する。
【００２２】
割込コントローラはさまざまな形をとることができる。しかしながら、一実施例では、割込コントローラは選択された割込源からの割込みが処理ユニットの制御下でマスクされるのを許すように操作できるマスキング論理を含み、割込要求信号を出力するかどうかを決定するのに割込コントローラにより利用される予め定められた規準は受信した割込みのいずれかがマスクされていないかどうかに関する決定を含んでいる。したがって、受信された割込みの少なくとも一つがマスキング論理によりマスクされていない場合だけ、割込コントローラは処理ユニットへの割込要求信号の発行を考慮する。一実施例では、割込コントローラは受信した割込みの少なくとも一つがマスクされていない場合に割込要求信号を自動的に発するように構成することができ、他の実施例では、割込要求信号を発するかどうかを決定する前に割込コントローラ内でさらに処理機能を実行することができる。
【００２３】
たとえば、一実施例では、各入力は関連付けられた優先度を有し、割込コントローラは未サービス割込みの関連付けられた優先レベルに基づいて最高優先度未サービス割込みを決定するように操作できる優先度符号化論理を含み、未サービス割込みは割込コントローラにより受信された割込みから決定され、割込要求信号を出力するかどうかを決定するために割込コントローラにより利用される予め定められた規準は、その最高優先度未サービス割込みの優先レベルが処理ユニットが現在割込サービスルーチンを実行している任意の割込みの優先レベルを超えるかどうかに関する決定を含んでいる。このような優先レベル評価は、ある実施例では、処理ユニットに割込要求信号を発するかどうかを決定するために前述したマスキング評価に加えて使用することができる。
【００２４】
一実施例では、タイマ論理は予め定められた規準を検出したら優先度符号化論理に信号を出力して関連付けられた割込源により発生した割込みの優先レベルを変えてその割込みの優先度を高めるように操作できる。この実施例では、タイマ論理は割込応答の予め定められた特徴を制御するのに使用するタイミング指示を提供するのに使用されるだけでなく、予め定められた規準を検出したら関連付けられた割込源により発生される割込みの優先レベルを高めるのにも選択的に使用される。それはいくつかの方法により、たとえば、その割込みの優先レベルを高める、あるいは他の割込みの優先レベルを低くすることにより達成することができる。
【００２５】
予め定められた規準はさまざまな形式をとることができる。しかしながら、一つの単純な予め定められた検出規準はタイマ論理が割込みを受信してから経過した時間がいつ予め定められた値を超えているかということである。したがって、このような方法により、その時間の経過後その割込みに対する割込サービスルーチンの実行を処理ユニットがまだ開始していなければ、タイマ論理は符号化論理に信号を出力して割込みの優先度を高めさせ、その割込みが処理ユニットにより受け入れられて処理される次の割込みとなる可能性を高めるように構成することができる。
【００２６】
タイマ論理内での予め定められた規準の検出はさまざまな方法で実行することができる。たとえば、一実施例では、タイマ論理内の一片の制御論理が予め定められた規準が始まっているかどうかを検出し、次に、タイマ論理から優先度符号化論理への必要な出力信号をトリガする責任がある。
【００２７】
典型的に、割込みが処理されたら、その関連付けられた優先レベルをタイマ論理からの信号に基づいて高められる前のレベルに戻すのが適切である。これを達成できるさまざまな方法がある。たとえば、一実施例では、関連する割込サービスルーチンは優先度エンコーダにタイマ論理からの信号に基づいて変えられる前のレベルに優先レベルをリセットさせるあるコードをルーチンの終わりに向かって含むことができる。
【００２８】
処理ユニットが割込要求信号を受信する時は、その割込要求を処理するために実行する適切な割込サービスルーチンに関してある決定を行う必要があり、適切な割込サービスルーチンは割込要求に責任のある割込源によって決まる。一実施例では、割込要求信号を受信すると処理ユニットが割込サービスルーチンを実行する受信した割込みの選択された一つが割込コントローラにより決定され、割込コントローラはさらに割込要求信号により処理ユニットに出力される割込サービスルーチンに対するアドレスを発生するように操作できるアドレス発生器を含んでいる。割込コントローラが割込サービスルーチンを決定し、その割込サービスルーチンに対するアドレスを処理ユニットに発行するような実施例はここではハードウェア割込処理実施例と呼ぶ。
【００２９】
別の実施例では、割込要求信号を受信すると処理ユニットが割込サービスルーチンを実行する受信した割込みの選択された一つは割込コントローラにより維持される状態レジスタを参照して処理ユニットにより決定され、状態レジスタはそこから割込みが受信されている割込源を識別する。どの割込サービスルーチンを実行するかに関する判断が処理ユニットによってなされるこのような実施例はここではソフトウェア割込処理実施例と呼ぶ。
【００３０】
第２の特徴から見て、本発明はデータ処理装置内の割込処理方法を提供し、（ａ）いくつかの割込源により発生した割込みを受信し、予め定められた規準に基づいて割込要求信号を出力するかどうかを決定するステップと、（ｂ）関連付けられた割込源により発生した割込みをタイマ論理が受信したら、タイミング指示を作り出すステップと、（ｃ）ステップ（ａ）において発生された割込要求信号を受信すると、対応する割込源に対する割込応答を発生するために受信した割込みの選択された一つに対する割込サービスルーチンを実行するステップと、（ｄ）ステップ（ｃ）においてタイマ論理に関連付けられた割込源により発生された割込みに対して割込サービスルーチンが実行されている場合には、タイミング指示を得るためにタイマ論理を参照し、タイミング指示に応じて割込応答の予め定められた特徴を制御するステップと、を含んでいる。
【実施例１】
【００３１】
単なる例として添付図に例示された好ましい実施例について本発明をさらに説明する。
図１は本発明の一実施例に従ったデータ処理システムを示すブロック図であり、ディスクドライブ装置２０およびさまざまな他の割込源３０がディスクドライブ装置２０または他の割込源３０により発生する割込みを処理するのに使用されるデータ処理装置１０に接続されている。
【００３２】
図１の例のデータ処理装置１０はチップの形をとり、その上にパス２５を介してディスクドライブ装置２０により発生する、あるいは多数の割込パス３２,３４を介して他の割込源３０により発生するさまざまな割込みを受信する割込コントローラ４０が設けられる。チップ１０上には、パス４５を介して割込コントローラ４０により発する割込要求信号の受信に応答して、対応する割込源に対する割込応答を発生するために割込コントローラ４０により受信した割込みの一つに対して割込サービスルーチン（ＩＳＲ）を実施するプロセッサコア５０も設けられている。
【００３３】
コアにより発生された割込応答は、次に、関連する割込源２０,３０がその割込応答に応答して必要なアクションをとれるようにするためにその割込源に返送される。割込応答がディスクドライブ装置２０に対するものであれば、その割込応答はパス５５を介してコア５０からディスクドライブ制御周辺装置６０に出力され、それは次に割込応答をパス６５を介してディスクドライブ装置２０に出力する。図１において、ディスクドライブ制御周辺装置６０はチップ１０上に設けられるように示されている。しかしながら、当業者ならばディスクドライブ制御周辺装置６０をオンチップで提供すべき要求条件はなく、別の実施例では、ディスクドライブ制御周辺装置６０はオフチップで提供できることを理解できる。
【００３４】
当業者ならば割込コントローラ４０はさまざまな形をとりうることを理解できる。一実施例では、割込コントローラ４０はプロセッサコア５０に割込要求信号を発すべきかどうかを決定するだけでなく、コアにより実行すべき割込サービスルーチンも決定するのに必要な論理を含み、割込コントローラ自体内のハードウェアが実行すべきＩＳＲを決定するため、このような割込処理方法はここではハードウェア割込処理技術とも呼ばれる。このような割込コントローラの特定の例が図２Ａに示されており、それはベクトル割込コントローラ（ＶＩＣ）１００を示している。このようなＶＩＣにおいて、コントローラは各割込源に関連付けられるＩＳＲに対するベクトルアドレスのリストを格納する。したがって、割込みが受信されると、ＶＩＣは関連付けられたＩＳＲコードの正確な場所をプロセッサコア５０を通してプロセッサコアがそのＩＳＲの実行を開始できるようにすることができる。
【００３５】
特に、図２Ａに示すように、ディスクドライブ装置２０または他の割込源３０から受信した割込みはパス１０２,１０４,１０６を介してＶＩＣ１００内に設けられたイネーブル/マスキング論理１１０に通される。イネーブル/マスキング論理１１０はある割込源がイネーブルされるかディセーブルされるか、ディセーブルされた割込源から受信した任意の割込みがイネーブル/マスキング論理１１０により無視される、したがって、ＶＩＣ１００内の残りの要素に伝播されないかどうかを示すようにプログラムすることができる。
【００３６】
また、ＶＩＣ１００は典型的に現在コアにより処理されている割込みの優先レベルのレコードを維持し、この情報はイネーブル/マスキング論理１１０に通されて現在処理されている割込みの優先度よりも低いまたは同じ優先度を有する割込源から受信される任意の割込みを有効にマスクする。この目的は、プロセッサコアにより特定の割込みが処理されている間に、ＶＩＣ１００は現在処理されているものよりも低いまたは同じ優先度を有する他の割込みをプロセッサコアに伝播しないことを保証することである。
【００３７】
受信した割込みがイネーブルされた割込源からのものでありマスキング機能によりマスクされないものと仮定すると、その割込みは関連するパス１１２,１１４,１１６を介して割込処理部論理１２０に出力される。イネーブル/マスキング論理１１０により出力された任意の割込みが存在する中で、割込処理部１２０は次にパス１３４を介してプロセッサコアに割込要求信号（ここではＩＲＱ信号とも呼ばれる）を出力する。
【００３８】
さらに、割込処理部１２０内の優先度符号化論理１３０はイネーブル/マスキング論理１１０により出力された潜在的に多数の割込みのいずれがより高い優先度を有するかを決定するために予め定められた優先順位付け規準を利用する。典型的に、優先度エンコーダへの可能な各入力に対して、優先度エンコーダはそれに関連付けられた優先レベルを有し、それはプログラマブルであるかもしくはプリセットすることができる。典型的に、ある範囲の可能な優先レベルがあり、各割込源には優先度エンコーダ１３０内でその範囲内の優先レベルが関連付けられている。
【００３９】
優先度エンコーダ１３０がイネーブル/マスキング論理１１０により出力されたものの中から最高優先度要求を決定しておれば、それはパス１３２を介してベクトルアドレス発生器１４０に制御信号を出力し、ベクトルアドレス発生器１４０にパス１４５を介して対応するベクトルアドレスを出力させる。ベクトルアドレス記憶装置が典型的にベクトルアドレス発生器１４０内に設けられ、ＶＩＣ１００に割込みを発生することができる各割込源に対応するベクトルアドレスを格納する。各割込源には別々のベクトルアドレスを指定することができ、あるいはある割込源がベクトルアドレスを共有することができる（その場合、同じ割込サービスルーチンがこれらの割込源により共有される）。
【００４０】
本発明の実施例に従って、ＶＩＣ１００にはそれに関連付けられた一つ以上の割込源を有することができるタイマ論理１５０も設けられ、関連付けられた割込源により発生した割込みを受信するとタイミング指示を作り出すように操作できる。図２Ａに示す例では、タイマ論理は各割込源２０,３０から信号を受信するように示されており、タイマ論理はどの割込源がそれに関連付けられるか、したがって、どの割込源に対してタイマ論理がタイミング指示を発生するかを示すようにパス１５２を介して構成できるようにする。図１に示す本発明の実施例では、タイマ論理はディスクドライブ装置２０だけに関連付けられるものと仮定され、したがって、例としてディスクドライブ装置２０により発生した任意の割込みがパス１０６を介して受信され、タイマ論理１５２はパス１０６を介して受信した割込みにしか応答しないように構成する。
【００４１】
タイマ論理１５０により発生されるタイミング指示はさまざまな形をとることができる。一実施例では、タイマ論理１５０は関連付けられた各割込源に対して別々のタイマが内蔵され、関連付けられた割込源から割込みが受信される時に対応するタイマが開始するように構成される。別の実施例では、タイマ論理１５０は任意の関連付けられた割込源から割込みを受信したらその割込源に対するタイムスタンプ値を与えるように構成することができ、タイムスタンプ値はタイマ論理１５０がアクセスを有する、あるグローバルタイマを参照して発生する。このグローバルタイマは、たとえば、ＣＰＵコア５０のクロックによりクロックしてハイレベルの精度を提供することができる、すなわちデータ処理装置内に設けられた他の形のグローバルタイマとすることができる。
【００４２】
ディスクドライブ装置２０により発生された割込みを処理する時に発生する割込応答に影響を及ぼすために本発明の一実施例に従ってタイマ論理１５０が使用される方法を、次に、図３を参照してさらに検討する。ステップ２００において、パス２５,１０６を介してディスクドライブ装置２０から割込みが表明され、その結果ステップ２０５においてタイマ論理１５０は関連付けられたタイマを開始させる。別の実施例においてタイマ論理がタイムスタンプ値を発生するように構成されておれば、ステップ２０５においてタイマ論理１５０はタイマを開始させずにグローバルタイマを参照し後でコア５０が参照するためのタイムスタンプ値を作り出して記録する。
【００４３】
ステップ２１０において、次に、ディスクドライブから受信した割込みが現在コア５０によりサービスされている割込みよりも高い優先度であるか確認する。前記したように、この機能はＶＩＣ１００により維持されイネーブル/マスキング論理１１０により実行されるマスキングを制御するのに使用される優先レベル情報に基づいてイネーブル/マスキング論理１１０により実現する。割込みが現在サービスされている割込みよりも高い優先度でなければ、割込みが現在サービスされている割込みよりも高い優先度になるまでプロセスはステップ２１０で止まる。特に、コア５０がその現在サービスされている割込みに対するＩＳＲの実行を完了しておれば、イネーブル/マスキング論理１１０は典型的にマスキングビットのいくつかをクリアするようにされ、その点においてディスクドライブ２０からの割込みはコア５０により処理される予定の次の割込みよりも高い優先度となることができる。
【００４４】
ステップ２１０において割込みがコアにより現在サービスされている割込みよりも高い優先度であると判断されると、プロセスはステップ２１５に進み、そこで割込みは最高優先度未サービス割込みであるかどうか確認する。未サービス割込みはイネーブル/マスキング論理１１０によりパス１１２,１１４,１１６を介して割込ハンドラ１２０に伝播される割込みと考えられる。ディスクドライブからの割込みが最高優先度未サービス割込みであればプロセスはステップ２２０に進み、さもなくばプロセスはステップ２１０に戻る。
【００４５】
ステップ２２０において、割込処理部１２０はパス１３４を介してコア５0に割込要求信号を表明し、同時にパス１４５を介して適切なＩＳＲに対するベクトルアドレスをコアに発する。
【００４６】
他の割込源３０に関してディスクドライブ装置２０を適切に優先順位付けすることにより、ステップ２１０または２１５においてディスクドライブ２０からの割込みが重要な遅延を経験する機会を低減できることが理解される。たとえば、ディスクドライブ装置２０により発生した割込みがシステム内の最高優先度サービス割込みであると判断する場合、現在のより優先度の低い割込みに対してコアにより既に実行されているＩＳＲへのより優先度の高い割込みをシステムが許すものと仮定すると、一般的にいずれかのステップ２１０または２１５においてその割込みにより経験される重要な遅延はないことが理解される。
【００４７】
しかしながら、前述したように、一度ステップ２２０おいてコアに割込要求が表明されていると、コア５０はその時間に実行中のいかなる命令も完了させる必要があり、異なる命令は異なる数のクロックサイクルを完了させる必要があるため、それにより割込処理プロセスのタイミングにあるジッタが導入される。特に、ＩＳＲを実際に実行するのに要した時間は非常に予測可能であるが、割込みを表明しているデバイスと割込み処理準備完了のコア間で要する時間は変動することがある。このジッタは潜在的に大きくなることがある。たとえば、その時間に実行されている命令がメモリアクセス命令であれば、非常に低速のメモリへのアクセスを必要とすることがあるため、最悪のシナリオでは命令の実行を完了させるのに数百サイクルを必要とすることがある。さらに、仮想メモリシステムにおいて必要なマッピングがテーブルルックアサイドバッファ（Table Lookaside Buffer：ＴＬＢ）内で見つからなければページテーブルウォーク（Page table walk）を実行しなければならず、それはいくつかの追加負荷動作を含むことがある。したがって、ステップ２２５において、プロセスはコアが割込要求の受信準備を完了するまで待機し、その後コアはステップ２３０においてＩＳＲに分岐する。
【００４８】
次に、本発明の実施例に従って、コアはタイマ論理により格納されたタイミング指示を読み出すためにＩＳＲの処理中にパス１５２を介してタイマ論理１５０を参照する。図３に示す例では、コアはそれがタイマ論理１５０にアクセスする時間に存在するタイマの値を読み出す。それによりコアにはディスクドライブ２０により割込みが表明されてから経過した時間の表示が与えられ、この情報は割込源による割込応答の発生に影響を及ぼすのに使用することができる。図４Ｂおよび４Ｃに関して後述するように、この“影響”を達成することができるいくつかの方法がある。
【００４９】
コアは割込サービスルーチンを処理すると、ステップ２４０においてディスクドライブ制御周辺装置６０に割込応答を出力し、その後典型的にはクリア信号をディスクドライブ装置２０に返送して割込の表明を停止するよう告げることにより、割込みがクリアされる。さらに、割込コントローラ１００は典型的にＩＳＲが完了していることを示す信号も受信し、さらに、タイマ論理１５０内のタイマをリセットさせる信号を送られることができる。
【００５０】
割込応答に影響を及ぼすために前述したようにタイマ論理１５０を使用する他に、タイマ論理１５０はさらに図２Ａに関してこれからを検討する目的に利用することができる。前述したように、各割込源には優先レベルが関連付けられており、この情報は優先度エンコーダ１３０により維持され、多数の割込みが存在する時に処理ユニットが次にどの割込みを処理すべきかを決定するのに使用される。図２ＡのＶＩＣ１００のオプションとなる実行例では、タイマ論理１５０には予め定められた規準の発生を検出し、このような予め定められた規準が検出されたら、パス１５４を介して優先度エンコーダ１３０に信号を送って関連付けられた割込源により発生した割込みの優先度を修正する（典型的には高める）ように操作できる一片の制御論理を提供することができる。好ましくは、タイマ論理により維持される各タイミング指示に対して別々のこのような制御論理がある。
【００５１】
一実施例では、検出される予め定められた規準は割込みがタイマ論理により受信されてから経過した時間が、その割込みが処理ユニットに受け入れられることなく、予め定められたある閾値を超えた点である。ＶＩＣ１００は現在どの割込みが処理ユニットにより処理されているかを知っており、したがって、その情報をタイマ論理１５０内の制御論理に提供することができる。その閾値時間を超えると、制御論理はパス１５４を介して優先度エンコーダ１３０に予め定められた信号を発することができ、それは優先度エンコーダ１３０をトリガして関連付けられた割込みの優先レベルをある予め定められた量、たとえば、予め設定された数の優先レベルだけ高める。それによりその割込みが処理ユニットにより受け入れられる次の割込みとなる可能性が高くなる。
【００５２】
さらに向上させるために、制御論理を使用していくつかの閾値をモニタし、各後続閾値が経過するともう一つの制御信号を優先度エンコーダに発して、割込みの優先レベルを段階的に高めるようにできることが理解される。
【００５３】
処理ユニットにより割込みが処理されている時は、一般的にそれは優先度エンコーダ１３０内のその前のレベルに戻されるその割込みに関連付けられた優先レベルに対して適切である。これはさまざまな方法で行えることが理解される。たとえば、一実施例では、タイマ論理内の関連するタイミング指示がリセットされると、それによりタイマ論理１５０内の制御論理はパス１５４を介して優先度エンコーダ１３０にもう一つの信号を出力して優先レベルをリセットさせる。別の実施例では、ＩＳＲは優先度エンコーダ１３０に命令して優先レベルをその前のレベルにリセットさせるのに使用されるあるコードをＩＳＲの終りに向かって含むように構成することができる。
【００５４】
したがって、ＶＩＣ１００のこのオプションとなる実行例では、タイマ論理１５０は発生された割込応答に関するある決定的挙動を保証するだけでなくある状況、特に、より優先度の高い割込みにより割込処理が抑制される場合に割込みの処理速度を潜在的に高めるのにも使用される。
【００５５】
図１の割込コントローラ４０は図２Ａに示すＶＩＣ１００の形をとる必要はなく、いくつかの異なる方法で構成できることが理解される。図２Ｂは割込コントローラの代りの構成を示し、ここでは割込コントローラはコアへの割込要求を表明するだけであり、どのＩＳＲを実行するかはコア自体が決定し、割込コントローラ自体はまだハードウェアで実行されるがどのＩＳＲを実行するかの判断はコア上で実行するソフトウェアによりなされるため、このような割込処理技術はここではソフトウェア割込処理技術と呼ぶ。
【００５６】
図２Ｂに示すように、パス１６２，１６４，１６６を介して割込コントローラ１６０により受信される任意の割込みがイネーブル/マスキング論理１６５に入力され、このイネーブル/マスキング論理１６５は図２Ａに記述したイネーブル/マスキング論理１１０と同様に動作する。図２Ａの例と同様に、さまざまな割込みがやはりタイマ論理１８０に送られ、それは図２Ａのタイマ論理１５０について前述したのと同様に動作する。次に、イネーブルされた割込源からのマスキング機能によりマスクされない任意の割込みがイネーブル/マスキング論理１６５からパス１７２，１７４，１７６を介して状態レジスタ１７０上に送られ、状態レジスタはイネーブル/マスキング論理１６５により伝播された受信割込みを追跡し続けるようにされている。状態レジスタにより受信された割込みはＯＲゲート１７５上にも伝播され、イネーブル/マスキング論理１６５により出力された任意の割込みの存在下で、ＯＲゲート１７５はパス１８８を介してプロセッサコアに割込みを出力するようにされる。プロセッサコアが割込要求を受信する準備を完了しておれば、次に、それはどのＩＳＲを実行するかを決定するために状態レジスタ１７０の内容にアクセスする。たとえば、２つ以上の割込源から割込みが受信されていることを状態レジスタ１７０が示す場合、コア上で実行しているソフトウェアはこれらの割込源のいずれが最高優先度を有するを決定するか、したがって、どのＩＳＲを実行するかを決定することができる。
【００５７】
このような割込コントローラのある実施例では、もう一つの状態レジスタを割込コントローラの入力に設けて、イネーブル/マスキング論理１６５に通される前に割込みを受信することができる。この状態レジスタはさまざまな目的、たとえば、たとえその割込みがイネーブル/マスキング論理１６５によりディセーブルされていてコア５０により処理されることがなくても、いつ割込みが発せられているかに関する情報を周期的に得るのに使用することができる。
【００５８】
図４Ａは本発明の実施例のタイマ論理を利用しない標準技術に従ってディスクドライブ装置２０に対する割込応答が発生される時に生じることがある問題を示す図である。図４Ａに示すように、ディスク４００はそのトラック上に記録されたデータをリード/ライトヘッド４１５でアクセスしながら、４０５方向に高速で回転することができる。周期的に、たとえば、ディスク４００の各回転毎に割込み４１０をトリガすることができ、この例ではこの割込みは時間ｔ０で生じたものと考えられる。
【００５９】
コアが必要なＩＳＲの実行を開始する前に生じることがある図３について前述したさまざまな遅延、特に、図３のステップ２２５において生じることがある遅延により、ＩＳＲ処理アルゴリズムは時間ｔ１と時間ｔ２間の任意の時間に開始されることがあり、この期間４２０は割込応答タイミングにあるジッタを導入することがある。ＩＳＲが実行するのにＮクロックサイクルを要する場合には、ディスクドライブ装置２０は時間ｔ３と時間ｔ４間の期間４２５において割込応答を入手できることが判る。割込応答をディスクドライブ２０により予期できる時間のこの未知の変動によりリアルタイム制御計算にエラーを生じ、リード/ライトヘッド４１５の制御はより不正確となって、たとえば、所望するよりも大きなトラック幅が必要となることがある。
【００６０】
しかしながら、本発明の実施例では、ＩＳＲはタイマ論理１５０により維持されるタイミング指示へのアクセスを有し、それはさまざまな方法で使用することができる。たとえば、図４Ｂの第１の実施例では、時間がシステムに対して指定された最大待ち時間に達していることが確認されるまで、コアはＩＳＲの実行中にタイマ論理により維持されるタイマを単にポーリングするようにされている。この時間までに、ＩＳＲが時間ｔ１，時間ｔ２，またはその間の任意の時間に開始されたかどうかにかかわらず、割込応答を入手することができ、したがって、いつＩＳＲ処理アルゴリズムが開始されたかにかかわらず、時間ｔ４４３０において割込応答を受け入れ可能となる。それにより割込み４１０がトリガされてから割込応答がディスクドライブ装置２０に戻されるまで固定長の時間があることが保証され、ＩＳＲ処理アルゴリズムはこの固定遅延に対して調整される。これはディスクドライブ２０が本来よりも後で割込応答を受け入れ可能とされることを意味するものではあるが、割込応答のタイミングに関して決定的挙動を保証し、それによりディスクドライブ装置は図４Ａについて前述した割込応答タイミングの変動をカバーする公差を組み込むことなく設計することができる。
【００６１】
ＩＳＲ処理アルゴリズムがより柔軟になるように修正される場合には、この修正されたＩＳＲアルゴリズムはＩＳＲ遂行中の予め定められた点において一度タイマ値を読み取り、割込応答を決定する時に読取値を考慮するようにすることができる。この実施例は図４Ｃに関して例示される。図４Ａと図４Ｃを比べれば判るように、割込応答のタイミングは基本的に図４Ａの従来技術におけるものと同じであるが、割込応答はそれがディスクドライブに発せられる時間にかかわらず同じではなく、実際の割込応答値はそれが発せられる時間に応じて変動し、たとえば、割込応答はそれが時間ｔ３においてディスクドライブ２０に戻される場合と時間ｔ４においてディスクドライブ２０に戻される場合とでは異なる値を有する。これはより正確な割込応答値がディスクドライブに供給されることを保証し、やはりディスクドライブは図４Ａを示す従来技術の方法で生じる割込応答の不正確さに対処するための公差を組み込むことなく設計することができる。
【００６２】
図３の検討において、一度プロセッサコア５０によりＩＳＲが完了するとタイミング指示がリセットされることが示された。しかしながら、本発明の実施例の範囲を逸脱することなくタイミング指示をリセットできるいくつかの他の方法があることが理解される。たとえば、タイミング指示がＩＳＲの遂行中一度しか参照されない図４Ｃについて前述した方法を利用する時は、タイミング指示はプロセッサコアが準備完了した時間にリセットすることができる。このような方法は図４Ｂの実施例をタイマ論理がタイマではなくタイムスタンプ値を与えるようにされている状況で利用する場合にも使用することができ、それはその状況ではやはりタイミング指示を一度しか読み取る必要がなく、タイマ論理を周期的にポーリングする代りに、プロセッサコアは経過時間がシステムに対して指定された最大待ち時間に達していることが確認されるまでグローバルタイマを周期的にポーリングするだけでよいためである。しかしながら、タイマ論理自体がタイマを維持しその結果図４Ｂの方法を利用する時にタイマを周期的にポーリングする必要があれば、プロセッサコア５０によりアクセスされる時にタイマをリセットするのに明らかに適切ではない。
【００６３】
もう一つの代替策として、タイマ論理はその同じ関連付けられた割込源から次の割込みが受信される時にタイミング指示がリセットされるように構成することができる。しかしながら、それはその源からの現在の割込みに対する割込サービスが実行されるまで同じ源からのもう一つの割込みは生じないことが保証できる場合、あるいは少なくとも割込サービスルーチンがもはやタイミング指示を参照する必要がなくなる時間までしか適切ではない。前述した例はタイミング指示をリセットすることができるいくつかの可能な方法を単に例示しているにすぎない。しかしながら、これらの例は網羅的リストを表すものではなく、たとえば、タイマがその制御レジスタへの書込みを介して明確にリセットされる技術を利用することにより、適切であればタイミング指示をリセットする他の方法をとることもできる。
【００６４】
本発明の実施例の説明から、このような実施例は割込応答に関してハイレベルの決定的挙動を要望する割込源から発生された割込みを処理するための著しく改善された技術を提供することが理解される。特に、それは割込応答に関して示されるジッタの問題を緩和することができ、したがって、その割込源の設計に課される設計上の制約を幾分緩和することができる。さらに、本技術はコア５０の設計上の制約を幾分緩和し、特に、実行する命令が要するクロックサイクル数を減少しよう、すなわち命令が割込不能な時間長を短縮しよう、とし続ける必要性を緩和する。
【００６５】
特定の実施例について記述してきたが、本発明はそれらに限定されるものではなく発明の範囲内で多くの修正および追加を行えることが理解される。たとえば、本発明の範囲を逸脱することなく従属項の特徴を独立項の特徴とさまざまに組み合わせることができる。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施例を利用することができるデータ処理システムのブロック図である。
【図２】Ａは、図１の割込コントローラとして使用することができるベクトル化割込コントローラ内に設けられた要素をより詳細に示すブロック図である。
【図２】Ｂは、図１のデータ処理システム内で使用することができる割込コントローラの別の構成を示すブロック図である。
【図３】本発明の一実施例に従ってディスクドライブにより表明される割込みを処理するために図１のデータ処理システムにより実施されるステップを示すフロー図である。
【図４Ａ】従来技術に従ったディスクドライブへの割込応答のタイミングを示す図である。
【図４Ｂ】本発明の異なる実施例に従ったディスクドライブへの割込応答のタイミングを示す図である。
【図４Ｃ】本発明の異なる実施例に従ったディスクドライブへの割込応答のタイミングを示す図である。
【符号の説明】
【００６７】
１０  データ処理装置
２０  ディスクドライブ装置
２５，３２，３４，４５，５５，６５，１０２，１０４，１０６，１１２，１１４，１１６，１３２，１３４，１４５，１５２，１５４，１６２，１６４，１６６，１７２，１７４，１７６，１８８  パス
３０  割込源
４０，１６０  割込コントローラ
５０  プロセッサコア
６０  周辺装置
１００  ベクトル化割込コントローラ
１１０，１６５  イネーブル/マスキング論理
１２０  割込処理部論理
１３０  優先度エンコーダ
１４０  ベクトルアドレス発生器
１５０  タイマ論理
１７０  状態レジスタ
１７５  ＯＲゲート
４００  ディスク
４１０  割込み
４１５  リード/ライトヘッド
【図１】
2005032223.tif 000003
【図２】
2005032223.tif 000004
【図３】
2005032223.tif 000005
【図４Ａ】
2005032223.tif 000006
【図４Ｂ】
2005032223.tif 000007
【図４Ｃ】
2005032223.tif 000008