JP5380409B2 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP5380409B2 JP5380409B2 JP2010211364A JP2010211364A JP5380409B2 JP 5380409 B2 JP5380409 B2 JP 5380409B2 JP 2010211364 A JP2010211364 A JP 2010211364A JP 2010211364 A JP2010211364 A JP 2010211364A JP 5380409 B2 JP5380409 B2 JP 5380409B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- time
- interrupt process
- required time
- 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 - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Description
本発明は、情報処理装置に関するものである。
コンピューターといった情報処理装置では、CPU(Central Processing Unit)に、割込コントローラーが接続されており、割込コントローラーは、複数のチャネルから割込信号を受付可能であって、割込信号を検出すると、割込信号を検出したチャネルについて割込要求をCPUに発行し、CPUは、そのチャネルに割り当てられている割込処理を実行する。
このような割込コントローラーにおいて、複数のチャネルにおいて同時に割込信号が検出された場合、CPUにより指定された優先度に基づいて、チャネルつまり割込処理が選択される技術がある(例えば特許文献1参照)。
しかしながら、上述の技術では、CPUが固定の優先度を静的に割込コントローラーに与えるため、実際の割込発生時に、要求されたスケジュールどおりに実行されるように適切な順番で割込処理が実行されない可能性がある。
特に、エンべデッドシステムでは、割込ハンドラーの処理実行(つまり、割込処理の実行)にリアルタイム性が強く要求される。このため、上述の技術のように、割込処理の優先度を割込コントローラーに指定するなどして、割込信号検出から割込ハンドラーの処理開始までの即応性を高めようとしている。しかし、ある机上の方針で優先度を固定的に割込コントローラーにセットしても、実際の動作では種々の要因からその方針どおりとならないこともある。
本発明は、上記の問題に鑑みてなされたものであり、要求されたスケジュールどおりになるように、適切な順番で割込処理が実行される情報処理装置を得ることを目的とする。
上記の課題を解決するために、本発明では以下のようにした。
本発明に係る情報処理装置は、プロセッサーと、少なくとも2つの割込処理に対応する割込信号を検出した場合、少なくとも2つの割込処理を1つずつ順番に選択し、選択した割込処理に対応する割込要求をプロセッサーに発行する割込コントローラーとを備える。そして、割込コントローラーは、少なくとも2つの割込処理のうちの第1割込処理の処理開始時間(割込信号検出から割込処理開始までの時間)と開始要求時間との差より、少なくとも2つの割込処理のうちの第2割込処理の所要時間(割込信号検出から割込処理終了までの時間)が短い場合、第2割込処理を第1割込処理より先に選択する。
これにより、第1割込処理の実行スケジュールに余裕がある場合には、第2割込処理が先に実行されるため、すべての割込処理がスケジュールどおりに実行されやすくなる。したがって、要求されたスケジュールどおりになるように、適切な順番で割込処理が実行される。
また、本発明に係る情報処理装置は、上記の情報処理装置に加え、次のようにしてもよい。この場合、割込コントローラーは、優先度の最も高い割込処理の処理開始時間と開始要求時間との差より所要時間が短い低優先度の割込処理がある場合、低優先度の割込処理を優先度の最も高い割込処理より先に選択し、優先度の最も高い割込処理の処理開始時間と開始要求時間との差より所要時間が短い低優先度の割込処理がない場合、優先度の最も高い割込処理を低優先度の割込処理より先に選択する。
これにより、優先度の高い割込処理の実行スケジュールに余裕がある場合には、優先度の低い割込処理が先に実行されるため、予めセットされている優先度に拘わらず、すべての割込処理がスケジュールどおりに実行されやすくなる。したがって、要求されたスケジュールどおりになるように、適切な順番で割込処理が実行される。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、割込コントローラーは、割込信号を検出するとプロセッサーに通知する。プロセッサーは、割込信号の検出の通知から処理開始時間と所要時間を計測し、処理開始時間のデータと所要時間のデータを所定の記憶装置に記憶しておき、次回のその割込処理の登録時に、処理開始時間および所要時間のデータを記憶装置から読み出して、開始要求時間と処理開始時間との差であるマージン時間を計算し、マージン時間と所要時間とを割込コントローラーへ通知する。割込コントローラーは、プロセッサーから通知されたマージン時間および所要時間に基づく順番で割込処理を選択する。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、割込コントローラーは、割込信号を検出するとプロセッサーに通知する。プロセッサーは、割込信号の検出の通知から処理開始時間と所要時間を計測し、処理開始時間のデータと所要時間のデータを所定の記憶装置に記憶しておき、次回のその割込処理の登録時に、処理開始時間および所要時間のデータを記憶装置から読み出して、処理開始時間および所要時間と開始要求時間とを割込コントローラーへ通知する。割込コントローラーは、プロセッサーから通知された開始要求時間、処理開始時間、および所要時間に基づく順番で割込処理を選択する。
また、本発明に係る情報処理装置は、上記の情報処理装置のいずれかに加え、次のようにしてもよい。この場合、開始要求時間は、割込処理を登録する割込ハンドラーにより設定される。
本発明によれば、情報処理装置において、要求されたスケジュールどおりになるように、適切な順番で割込処理が実行される。
以下、図に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。図1において、CPU1は、割込要求を受付可能なプロセッサーである。割込コントローラー2は、CPU1に接続されており、複数の割込処理のうち、少なくとも2つの割込処理に対応する割込信号を検出した場合、少なくとも2つの割込信号を1つずつ順番に選択し、選択した割込信号に対応する割込要求をCPU1に発行する。
CPU1は、各種プログラムを実行し、ハンドラー管理部11、計時部12、および通知部13を実現する。
ハンドラー管理部11は、割込ハンドラーの登録、割込要求の受け付けなどを行う処理部である。割込ハンドラーの登録では、割込ハンドラーによりチャネル(つまり、IRQ番号)および開始要求時間が指定され、チャネル(IRQ番号)とその割込ハンドラーのルーチンが登録される。また、割込コントローラー2から割込要求を受け付けると、ハンドラー管理部11は、割込要求で指定されたチャネル(IRQ番号)に対応して登録されている割込ハンドラーのルーチンを実行させる。
計時部12は、ある割込処理(つまり、あるIRQ(Interrupt ReQuest)番号)について割込信号が検出されてからその割込処理が開始されるまで(つまり割込ハンドラーのルーチン呼び出しまで)の処理開始時間、および割込信号検出からその割込処理実行終了までの所要時間を計測する処理部である。計測された処理開始時間および所要時間は、割込処理ごとに(つまりIRQ番号ごとに)処理時間データ31として記憶装置3に記憶される。なお、記憶装置3は、揮発性または不揮発性の半導体メモリ、ハードディスクなどの装置である。
通知部13は、ハンドラー管理部11による割込処理の登録時に、その割込処理の処理時間データ31を記憶装置3から読み出して、割込ハンドラーにより指定された開始要求時間と、その処理開始時間との差であるマージン時間を計算し、マージン時間と所要時間とを割込コントローラー2へ通知する処理部である。
割込コントローラー2は、割込要因選択回路21、割込要求生成回路22および制御回路23を有する回路である。
割込要因選択回路21は、周期的に、所定の複数のチャネル(つまり、IRQ番号)をスキャンし、各チャンネルで割込信号が検出されるか否かを判定し、1回のスキャンで1つのチャネルにおいて割込信号が検出された場合、割込信号が検出されたチャネルを割込要求生成回路22に通知し、1回のスキャンで複数のチャネルにおいて割込信号が検出された場合、制御回路23により決定された順番で、割込信号が検出されたチャネルを割込要求生成回路22に通知する。また、割込要因選択回路21は、1つのチャネルで割込信号が検出された場合、割込信号が検出された時点で、割込信号が検出されたチャネル(つまり、IRQ番号)をCPU1に通知する。
割込要求生成回路22は、割込要因選択回路21から通知されたチャネルの順番で、割込要求を生成しCPU1に対して発行する。複数のチャネルで割込信号が検出された場合、割込要求生成回路22は、1つの割込処理の完了の通知をCPU1から受信すると、次の割込要求をCPU1へ発行する。
制御回路23は、CPU1において登録された割込処理のチャネルと、その割込処理についての優先度、マージン時間および所要時間の情報とをCPU1の通知部13から受信して保持し、割込要因選択回路21により複数のチャネルで割込信号が検出された場合に、割込信号が検出された複数のチャネルの割込処理のうち、優先度の最も高い割込処理のマージン時間より所要時間が短い低優先度の割込処理がある場合、低優先度の割込処理を優先度の最も高い割込処理より先の順番とし、優先度の最も高い割込処理のマージン時間より所要時間が短い低優先度の割込処理がない場合、優先度の最も高い割込処理を低優先度の割込処理より先の順番とする。
次に、上記情報処理装置の動作について説明する。
(a)割込ハンドラー登録時の動作
図2は、図1におけるCPU1の割込エントリー時の処理について説明するフローチャートである。
ハンドラー管理部11は、割込ハンドラーによる割込エントリーを受け付けると(ステップS1)、その割込エントリーから、チャネル(IRQ番号)、優先度、および開始要求時間を特定する。
そして、通知部13は、その割込ハンドラーについての処理時間データ31を記憶装置3から読み出して、特定された開始要求時間と、処理時間データ31内の処理開始時間との差であるマージン時間を計算し(ステップS2)、計算したマージン時間と、処理時間データ31内の所要時間とを、そのチャネル(IRQ番号)および優先度とともに割込コントローラー2へ通知する。
割込コントローラー2では、制御回路23が、チャネル(IRQ番号)とマージン時間と所要時間とを受信し保持する。
なお、その割込ハンドラーが1回も実行されていない場合には、その割込ハンドラーについての処理時間データ31が存在しないため通知されない。制御回路23は、割込信号が検出された複数のチャネルのうちのいずれかについてのマージン時間と所要時間のデータがない場合には、マージン時間と所要時間のデータを考慮せずに、優先度だけで、割込処理の順番を決定する。
(b)割込検出時の動作
図3は、図1における割込コントローラー2の動作を説明するフローチャートである。図4は、図3における割込順番の決定(ステップS15)の詳細を説明するフローチャートである。図5は、図1におけるCPU1の割込検出時の処理について説明するフローチャートである。
割込コントローラー2では、割込要因選択回路21が、各チャネルで割込信号が検出されるか否かを監視しており(ステップS11)、1回のスキャンで少なくとも1つの割込信号が検出されると、割込信号を検出したチャネルをCPU1に通知する(ステップS12)。CPU1では、この通知を受け付けると、そのチャネルについて計時部12が計時を開始する(ステップS31)。
そして、割込要因選択回路21は、割込信号を検出したチャネルが複数であるか否かを判定する(ステップS13)。割込信号を検出したチャネルが1つである場合には、割込要因選択回路21は、そのチャネルを割込要求生成回路22に通知する。割込要求生成回路22は、その通知により指定されたチャネルについての割込要求を生成する(ステップS14)。
一方、割込信号を検出したチャネルが複数である場合には、割込要因選択回路21は、検出した複数のチャネルを制御回路23に通知する。制御回路23は、通知された複数のチャネルの割込処理順番を決定し、割込要因選択回路21に通知する。(ステップS15)。
このとき、制御回路23は、まず、割込要因選択回路21から通知された複数のチャネルのうち、優先度の最も高いチャネルを特定し(ステップS21)、特定したチャネルについてのマージン時間を特定する(ステップS22)。そして、制御回路23は、特定したマージン時間より所要時間の短い割込処理のチャネルがあるか否かを判定する(ステップS23)。特定したマージン時間より所要時間の短い他の割込処理のチャネルがある場合、特定したマージン時間より所要時間の短い割込処理のチャネルを、優先度の最も高いチャネルより先の順番とする(ステップS24)。なお、特定したマージン時間より所要時間の短い割込処理のチャネルが2つある場合には、それらのうちの優先度の高いほうのチャネルを、優先度の最も高いチャネルより先の順番とする。一方、特定したマージン時間より所要時間の短い割込処理のチャネルがない場合、優先度の順番どおり、優先度の最も高いチャネルを、特定したマージン時間より所要時間の短い割込処理のチャネルより先の順番とする(ステップS25)。
処理順番が決定されると、割込要因選択回路21は、その順番で、割込信号が検出されたチャネルを割込要求生成回路22に通知する。
割込要求生成回路22は、その順番で割込要求を生成する(ステップS16)。
そして、割込要求生成回路22は、ステップS14またはステップS16で生成した順番で割込要求を1つずつCPU1へ発行する。割込要求生成回路22は、割込要求を発行した後に、割込処理の完了通知を受信すると、次の割込要求を発行する。
一方、CPU1では、ハンドラー管理部11は、割込要求を受け付けると、割込要求により指定された割込ハンドラーのルーチンを実行させる。このとき、ステップS31で計時開始している場合には、ハンドラー管理部11は、割込要求を受け付けると(ステップS32)、その割込要求で指定される割込ハンドラーのルーチンを実行させる時点までの時間、つまり処理開始時間を計時部12で特定しつつ(ステップS33)、そのルーチンを実行させる(ステップS34)。そのルーチンの処理が完了すると、計時部12で、ステップS31からの時間、つまり、所要時間が特定される(ステップS35)。このようにして処理開始時間と所要時間が計測された場合、この割込ハンドラーについての処理開始時間と所要時間が処理時間データ31として記録される(ステップS36)。既に割込ハンドラーについての処理時間データ31が存在する場合には、(a)計測された処理開始時間と所要時間で処理時間データ31を更新したり、(b)記録されている処理開始時間と計測された処理開始時間とのうち短いものを処理時間データ31に残し、記録されている所要時間と計測された所要時間とのうち長いものを処理時間データ31に残したりする。
この処理時間データ31は、次回、この割込ハンドラーがCPU11で登録されたときに使用される。
以上のように、上記実施の形態に係る情報処理装置は、CPU1と、少なくとも2つの割込処理に対応する割込信号を検出した場合、少なくとも2つの割込処理を1つずつ順番に選択し、選択した割込処理に対応する割込要求をCPU1に発行する割込コントローラー2とを備える。そして、割込コントローラー2は、検出した少なくとも2つの割込処理のうちの第1割込処理の処理開始時間と開始要求時間との差より、検出した少なくとも2つの割込処理のうちの第2割込処理の所要時間が短い場合、第2割込処理を第1割込処理より先に選択する。
これにより、第1割込処理の実行スケジュールに余裕がある場合には、第2割込処理が先に実行されるため、すべての割込処理がスケジュールどおりに実行されやすくなる。したがって、要求されたスケジュールどおりになるように、適切な順番で割込処理が実行される。
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上述の実施の形態では、CPU1で処理時間データ31からマージン時間を計算しているが、その代わりに、処理開始時間と所要時間を割込コントローラー2へ通知し、割込コントローラー2が処理開始時間と所要時間から同様にマージン時間を計算するようにしてもよい。
本発明は、例えば、情報処理装置の割込処理に適用可能である。
1 CPU(プロセッサーの一例)
2 割込コントローラー
3 記憶装置
2 割込コントローラー
3 記憶装置
Claims (5)
- プロセッサーと、
少なくとも2つの割込処理に対応する割込信号を検出した場合、前記少なくとも2つの割込処理を1つずつ順番に選択し、選択した割込処理に対応する割込要求を前記プロセッサーに発行する割込コントローラーとを備え、
前記割込コントローラーは、前記少なくとも2つの割込処理のうちの第1割込処理の、割込信号検出から割込処理開始までの処理開始時間と開始要求時間との差より、前記少なくとも2つの割込処理のうちの第2割込処理の、割込信号検出から割込処理終了までの所要時間が短い場合、前記第2割込処理を前記第1割込処理より先に選択すること、
を特徴とする情報処理装置。 - 前記割込コントローラーは、前記少なくとも2つの割込処理のうち、優先度の最も高い割込処理の処理開始時間と前記開始要求時間との差より所要時間が短い低優先度の割込処理がある場合、前記低優先度の割込処理を前記優先度の最も高い割込処理より先に選択し、優先度の最も高い割込処理の処理開始時間と前記開始要求時間との差より所要時間が短い低優先度の割込処理がない場合、前記優先度の最も高い割込処理を前記低優先度の割込処理より先に選択することを特徴とする請求項1記載の情報処理装置。
- 前記割込コントローラーは、前記割込信号を検出すると前記プロセッサーに通知し、
前記プロセッサーは、前記割込信号の検出の通知から前記処理開始時間と前記所要時間を計測し、前記処理開始時間のデータと前記所要時間のデータを所定の記憶装置に記憶しておき、次回のその割込処理の登録時に、前記処理開始時間および前記所要時間のデータを前記記憶装置から読み出して、前記開始要求時間と前記処理開始時間との差であるマージン時間を計算し、前記マージン時間と前記所要時間とを前記割込コントローラーへ通知し、
前記割込コントローラーは、前記プロセッサーから通知された前記マージン時間および前記所要時間に基づく順番で割込処理を選択すること、
を特徴とする請求項1記載の情報処理装置。 - 前記割込コントローラーは、前記割込信号を検出すると前記プロセッサーに通知し、
前記プロセッサーは、前記割込信号の検出の通知から前記処理開始時間と前記所要時間を計測し、前記処理開始時間のデータと前記所要時間のデータを所定の記憶装置に記憶しておき、次回のその割込処理の登録時に、前記処理開始時間および前記所要時間のデータを前記記憶装置から読み出して、前記処理開始時間および前記所要時間と前記開始要求時間とを前記割込コントローラーへ通知し、
前記割込コントローラーは、前記プロセッサーから通知された前記開始要求時間、前記処理開始時間、および前記所要時間に基づく順番で割込処理を選択すること、
を特徴とする請求項1記載の情報処理装置。 - 前記開始要求時間は、前記割込処理を登録する割込ハンドラーにより設定されることを特徴とする請求項1から請求項4のうちのいずれか1項記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010211364A JP5380409B2 (ja) | 2010-09-21 | 2010-09-21 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010211364A JP5380409B2 (ja) | 2010-09-21 | 2010-09-21 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012068757A JP2012068757A (ja) | 2012-04-05 |
JP5380409B2 true JP5380409B2 (ja) | 2014-01-08 |
Family
ID=46166006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010211364A Expired - Fee Related JP5380409B2 (ja) | 2010-09-21 | 2010-09-21 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5380409B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03102430A (ja) * | 1989-09-14 | 1991-04-26 | Nippon Telegr & Teleph Corp <Ntt> | 割り込み制御方式 |
JPH0535503A (ja) * | 1991-07-25 | 1993-02-12 | Nec Corp | 割込制御回路 |
JPH09259070A (ja) * | 1996-03-22 | 1997-10-03 | Nec Corp | 割り込み制御方式 |
JP2005154132A (ja) * | 2003-11-28 | 2005-06-16 | Mitsubishi Electric Corp | エレベータの制御装置 |
JP2008217419A (ja) * | 2007-03-05 | 2008-09-18 | Fujitsu Ltd | 割り込みレベルを自動変更する割り込みコントローラ |
-
2010
- 2010-09-21 JP JP2010211364A patent/JP5380409B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012068757A (ja) | 2012-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9335183B2 (en) | Method for reliably operating a sensor | |
US20100257288A1 (en) | Dma controller | |
US9720600B2 (en) | Apparatus and method for transferring data between storages having different access speeds | |
JP2010086364A (ja) | 情報処理装置、動作状態監視装置および方法 | |
US20190196867A1 (en) | System and method of priority-based interrupt steering | |
JP6252333B2 (ja) | 装置 | |
JP5136658B2 (ja) | 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置 | |
US20180196461A1 (en) | Information processing apparatus | |
JP5014179B2 (ja) | Os優先度変更装置及びos優先度変更プログラム | |
JP5380409B2 (ja) | 情報処理装置 | |
JP2011175378A (ja) | マルチプロセッサシステム、及びマルチプロセッサシステムの動作方法 | |
US9058207B2 (en) | Simulation apparatus, method, and computer-readable recording medium | |
US9715468B2 (en) | Method of providing timing information for interrupts | |
US10884733B2 (en) | Information processing apparatus, and information processing method | |
JP5446833B2 (ja) | ジョブ管理装置、ジョブ管理方法及びジョブ管理プログラム | |
WO2013129061A1 (ja) | 同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラム | |
WO2019038834A1 (ja) | 情報処理装置及びリソース使用調停方法 | |
WO2019198169A1 (ja) | コンピュータシステムおよびコンピュータプログラム | |
JP2009098972A (ja) | 割り込み制御方法、および割り込みシステム | |
JP2012242875A (ja) | Dma制御装置、画像形成装置、および、dma制御方法 | |
US10387190B2 (en) | System and method of executing a plurality of threads using thread switching on execution time-out using instruction re-write | |
JP2009193525A (ja) | 割込制御装置 | |
JP6819874B2 (ja) | メモリアクセス装置、メモリアクセス制御方法、プログラム、マルチコアプロセッサ | |
US9690727B2 (en) | System internal latency measurements in realtime applications | |
JP2007323256A (ja) | 割込制御方法および情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120821 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130822 |
|
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: 20130904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130930 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |