(toppers-users 3243) Re: 割込みベクタからハンドラ起動までの時間の変化

Hiroaki TAKADA hiro @ ertl.jp
2010年 10月 6日 (水) 15:55:18 JST


Kota Wadaさん

以下の回答は一般論です。

> ベクタジャンプからハンドラ実行までの時間が
> 何らかの要因によって変化することがありうるのでしょうか。

まず、ソフトウェアで変化する要因がないこと(言い換えると、
カーネルの割込み入口処理の中に条件分岐がないこと)を確認
ください。

これがなければ、次はハードウェア要因で変化することがある
かどうかです。例えば、キャッシュを持つプロセッサで、割込
みの入口処理をキャッシュされる領域に置くと、明らかに変化
します。他の要因については、プロセッサメーカにも聞かない
と確定できないと思います。

ところで、「ベクタジャンプからハンドラ実行まで」と書かれ
ていますが、実際は、割込み禁止によりベクタジャンプまでが
遅れるのが心配ですが、それは問題ないのでしょうか?

高田広章
名古屋大学

(10/10/06 15:28), kouta wada wrote:
> コニカミノルタセンシング派遣のKota Wadaと申します。
> 
> TOPPERS/ASPをR32Cへ移植しました。
> (M32C-HEWをR32C用に変更しました)
> 
> 【質問】
> タイマ設定〜ハンドラ実行まで
> 設定した時間+5usかかります。
> 
> 割込みベクタジャンプから、
> 割込みハンドラが実行されるまでに
> ほぼ5usかかることがわかりました。
> 
> なるべく精密な時間計測が必要です。
> 
> このズレを解消するために、
> あらかじめ5us短い時間を設定することを考えていますが
> この5usという時間が変動しないことが条件です。
> 
> ベクタジャンプからハンドラ実行までの時間が
> 何らかの要因によって変化することがありうるのでしょうか。
> 
> ※ただし、多重割り込みが発生した場合は
> 明らかに遅れることがわかりますので、
> その点は除かせていただきます。
> 
> 以上、よろしくお願いします。
>