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

kouta wada kouta.wada @ konicaminolta.jp
2010年 10月 8日 (金) 13:29:52 JST


ヤマハ
広瀬様

コニカミノルタセンシング派遣のKota Wadaと申します。

回答頂き、ありがとうございます。
一度検討してみます。
この辺りのプログラムは、全て内部メモリで動作させています。
キャッシュも存在しないシステムですので、比較的検証はしやすいと思います。


> -----Original Message-----
> From: hirose @ soundnet.yamaha.co.jp
> [mailto:hirose @ soundnet.yamaha.co.jp]
> Sent: Wednesday, October 06, 2010 4:35 PM
> To: users @ toppers.jp; hiro @ ertl.jp
> Cc: kouta wada
> Subject: Re: (toppers-users 3243) Re: 割込みベクタからハンドラ起動まで
> の時間の変化
> 
> ヤマハの広瀬です。
> 
> やはり一般論ですが、5usを気にするような場合、外部メモリはI/Oだ、という
> 認識でいた方がいいと思います。高田先生がおっしゃるように、キャッシュシ
> ステムがあるとメモリアクセスの時間は予測不能になります。それ以外にも外
> 部メモリはDMAなどでバスを奪われがちなので、厳しいタイミングが必要なと
>> はできるだけレジスタのみで処理を行い、メモリが必要な時もCPUが内蔵する
> 内部メモリ(もしあれば)を使うというのが常套手段かと思います。
> 
> もちろん、タイミングが厳しいところは全部アセンブラで書いてますよね。C
>> 書いていた場合、コードを少し変えただけで最適化の条件が狂ってステップ数
> が大きく変わることがあります。
> 
> まずは、今、得ている5usという時間を、「ベクタジャンプからハンドら実行ま
> で」のステップ数とCPUクロックから計算できる値と比較してみましょう。
> 
> >From: Hiroaki TAKADA <hiro @ ertl.jp>
> >Date: Wed, 06 Oct 2010 15:55:18 +0900
> 
> > Kota Wadaさん
> >
> > 以下の回答は一般論です。
> >
> >> ベクタジャンプからハンドラ実行までの時間が
> >> 何らかの要因によって変化することがありうるのでしょうか。
> >
> > まず、ソフトウェアで変化する要因がないこと(言い換えると、
> > カーネルの割込み入口処理の中に条件分岐がないこと)を確認
> > ください。
> >
> > これがなければ、次はハードウェア要因で変化することがある
> > かどうかです。例えば、キャッシュを持つプロセッサで、割込
> > みの入口処理をキャッシュされる領域に置くと、明らかに変化
> > します。他の要因については、プロセッサメーカにも聞かない
> > と確定できないと思います。
> >
> > ところで、「ベクタジャンプからハンドラ実行まで」と書かれ
> > ていますが、実際は、割込み禁止によりベクタジャンプまでが
> > 遅れるのが心配ですが、それは問題ないのでしょうか?
> >
> > 高田広章
> > 名古屋大学
> >
> > (10/10/06 15:28), kouta wada wrote:
> >> コニカミノルタセンシング派遣のKota Wadaと申します。
> >>
> >> TOPPERS/ASPをR32Cへ移植しました。
> >> (M32C-HEWをR32C用に変更しました)
> >>
> >> 【質問】
> >> タイマ設定〜ハンドラ実行まで
> >> 設定した時間+5usかかります。
> >>
> >> 割込みベクタジャンプから、
> >> 割込みハンドラが実行されるまでに
> >> ほぼ5usかかることがわかりました。
> >>
> >> なるべく精密な時間計測が必要です。
> >>
> >> このズレを解消するために、
> >> あらかじめ5us短い時間を設定することを考えていますが
> >> この5usという時間が変動しないことが条件です。
> >>
> >> ベクタジャンプからハンドラ実行までの時間が
> >> 何らかの要因によって変化することがありうるのでしょうか。
> >>
> >> ※ただし、多重割り込みが発生した場合は
> >> 明らかに遅れることがわかりますので、
> >> その点は除かせていただきます。
> >>
> >> 以上、よろしくお願いします。
> >>
> >
> >