dポイントプレゼントキャンペーン実施中!

テクニカルエンジニア(エンべデッドシステム)の勉強をしています。
定周期タイマ割込みによるポーリング処理での事象検知と、事象検知しての割り込み処理の違いと使い分けについて質問です。

・定周期タイマ割込みによるポーリング処理で事象検知(後述(1))
・事象検知→割込み処理(後述(2))

★質問1
(1)ではシステムに常に一定の負荷がかかってしまいますが、(2)の場合は事象の起きる頻度により負荷が変わってきます。設計思想としては(1)の負荷がシステム全体にとって微々たるものであれば採用し、負荷が大きければ(2)を採用するようなイメージなのですが、使い分け方としてはこれで正しいのでしょうか。どういうケースで(1)、(2)を使い分けているのか知りたいです。

★質問2
同じマイコンを使った場合、一般的に割込み処理にかかる時間は(1)と(2)でどれほど違いがあるのでしょうか。

★質問3
試験問題の解説の中で「((2)の割込み処理全体のかかる時間)<((1)のタイマ周期)なら(2)のシステムのほうが良い」と記述されていますが、よくわかりません。(2)のシステムのほうが(1)より良くなる条件はなになのでしょうか。

組み込み設計経験者ではないため、変な質問内容になっていたらすみません。。

A 回答 (1件)

■質問1


>使い分け方としてはこれで正しいのでしょうか?
に対しては大問題だと思います。
ケースバイケースですが、事象の取りこぼしが許容できて、
他にもっとCPUパワーを割くべき優先事項がある場合であれば
質問者の考え方にたどり着きますが、
この場合、問題の趣旨が違いますよね?

着眼点を変えましょう。

システムに対する処理負荷は二の次です。
最優先事項として、「事象の取りこぼしが発生しないこと」をまず満たさなければいけません。

取りこぼしが発生せず、他の仕様を満たすのならば処理負荷は常に100%だって構わないのですから。

■質問2
割り込みサービスルーチンでの実装内容を考慮する場合、
実装内容やタイマ割り込みのインターバルに極端に依存しますので
一般的なんて答えられないと思います。

割り込みサービスルーチンでの実装内容を考慮しない場合、
使用するデバイス依存ですが一般的にレジスタの退避・復旧や
割り込みハンドラのcall・retなどが同様に発生しますので
割り込み要因によるオーバーヘッド処理時間の差分はほぼ0と見込めます。

■質問3
「取りこぼしが発生しにくいこと」です。

条件に合う極端な例を考えると分かりやすいかも。
タイマの周期 = 1分
割り込み処理時間 = 1秒

と仮定した場合、1時間で
(1)ならMAX60回
(2)ならMAX3600回
事象を処理できます。

4/19頑張ってください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
大変参考になりました。

お礼日時:2009/02/11 13:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!