(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という時間が変動しないことが条件です。
>
> ベクタジャンプからハンドラ実行までの時間が
> 何らかの要因によって変化することがありうるのでしょうか。
>
> ※ただし、多重割り込みが発生した場合は
> 明らかに遅れることがわかりますので、
> その点は除かせていただきます。
>
> 以上、よろしくお願いします。
>