(toppers-users 475) Re: TOPPERS/JSP の実装で教えてください。

TAKADA Hiroaki hiro @ ertl.ics.tut.ac.jp
2002年 8月 13日 (火) 13:31:24 JST


松川さん wrote:
> 先の書き込みで、「別の方法を考えてみます」と書いたのは、
> あっさり、割り込みハンドラを2種類に分けてしまおうかという
> 方法です。
> 割り込みハンドラごとにCPUロック状態で、割り込みを受け付
> ける/受け付けないを、ユーザーが指定できるようにし、高い
> 応答性を必要とする割り込みハンドラはCPUロックでも割り込
> めるようにする方法です。当然このハンドラからはITRONサー
> ビスコールは(ユーザーの責任において)使用させず、必要な
> クリチカルセクションの実装もユーザー独自に行う必要が
> あります。

** Cut quoted 3 lines by the mail filter. **

はい。その方法も有力ですね。ちなみに、μITRON4.0仕様では「カーネルの管
理外の割込み」と呼んでいます。

常識的な使い方をしていれば問題ないとは思いますが、注意点としては、多重
割込みを許す場合には、あるレベル以上の割込みはすべて「カーネルの管理外
の割込み」にしなければなりません。より具体的には、「カーネルの管理外の
割込み」よりも優先度の高い普通の割込みがあってはならないということです。

割込みのマスクレベルを持つプロセッサの場合 (例えば、m68k) には、CPUロッ
ク状態でのマスクレベルを変更するだけですので、ソフト的に実装するのも簡
単です。

プロセッサでは、割込みの禁止/許可のみしか管理していない場合には、ソフ
トで実現するとオーバヘッドが大きくなりますので、ハード的に実装できるな
ら、その方が効率がいいでしょう。ちなみに、ARM プロセッサには、Fast
Interrupt というこれに向いた機能があります。

高田広章
豊橋技術科学大学