
テクニカルエンジニア(エンべデッドシステム)の勉強をしています。
定周期タイマ割込みによるポーリング処理での事象検知と、事象検知しての割り込み処理の違いと使い分けについて質問です。
・定周期タイマ割込みによるポーリング処理で事象検知(後述(1))
・事象検知→割込み処理(後述(2))
★質問1
(1)ではシステムに常に一定の負荷がかかってしまいますが、(2)の場合は事象の起きる頻度により負荷が変わってきます。設計思想としては(1)の負荷がシステム全体にとって微々たるものであれば採用し、負荷が大きければ(2)を採用するようなイメージなのですが、使い分け方としてはこれで正しいのでしょうか。どういうケースで(1)、(2)を使い分けているのか知りたいです。
★質問2
同じマイコンを使った場合、一般的に割込み処理にかかる時間は(1)と(2)でどれほど違いがあるのでしょうか。
★質問3
試験問題の解説の中で「((2)の割込み処理全体のかかる時間)<((1)のタイマ周期)なら(2)のシステムのほうが良い」と記述されていますが、よくわかりません。(2)のシステムのほうが(1)より良くなる条件はなになのでしょうか。
組み込み設計経験者ではないため、変な質問内容になっていたらすみません。。
No.1ベストアンサー
- 回答日時:
■質問1
>使い分け方としてはこれで正しいのでしょうか?
に対しては大問題だと思います。
ケースバイケースですが、事象の取りこぼしが許容できて、
他にもっとCPUパワーを割くべき優先事項がある場合であれば
質問者の考え方にたどり着きますが、
この場合、問題の趣旨が違いますよね?
着眼点を変えましょう。
システムに対する処理負荷は二の次です。
最優先事項として、「事象の取りこぼしが発生しないこと」をまず満たさなければいけません。
取りこぼしが発生せず、他の仕様を満たすのならば処理負荷は常に100%だって構わないのですから。
■質問2
割り込みサービスルーチンでの実装内容を考慮する場合、
実装内容やタイマ割り込みのインターバルに極端に依存しますので
一般的なんて答えられないと思います。
割り込みサービスルーチンでの実装内容を考慮しない場合、
使用するデバイス依存ですが一般的にレジスタの退避・復旧や
割り込みハンドラのcall・retなどが同様に発生しますので
割り込み要因によるオーバーヘッド処理時間の差分はほぼ0と見込めます。
■質問3
「取りこぼしが発生しにくいこと」です。
条件に合う極端な例を考えると分かりやすいかも。
タイマの周期 = 1分
割り込み処理時間 = 1秒
と仮定した場合、1時間で
(1)ならMAX60回
(2)ならMAX3600回
事象を処理できます。
4/19頑張ってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 運転免許・教習所 停車中はクリープ現象を防がない方が良いのですか? 13 2023/06/27 12:25
- 発達障害・ダウン症・自閉症 中学の時にIQ82の境界知能と診断されました。 今の私も、やはり境界知能でしょうか? そしてこれは、 3 2023/02/19 00:37
- ゴミ出し・リサイクル ゴミ処理場について。 4 2023/05/06 20:22
- 掃除機・クリーナー・空気清浄機 掃除機が使用不能になり、メーカ問い合わせで修理不可と言われてしまいました。 4 2022/12/01 00:43
- 教えて!goo 質問サイトで読解力がない奴と話すとイライラします。こういう人の対処法を教えてください。 22 2022/09/12 08:44
- 会社・職場 管理職、人間関係の関わりについて 1 2022/08/23 19:11
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
- 会社・職場 仕事のスピードに対する考えかた。 新卒で研修後配属され1ヶ月半です。 私は、ゼネコンの一般事務、経理 2 2022/06/12 20:04
- 発達障害・ダウン症・自閉症 私は幼い頃から周りの子と変わったところがあり社会人になってからも仕事が長続きせず上手くいかないことだ 3 2022/08/26 13:24
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CPUの処理量を減らすコーデ...
-
このレジの並び方は間違ってま...
-
スーパーのレジで並んでいたら...
-
VB.NET スレッドからのイベント...
-
Macターミナルで実行中のプログ...
-
Windows10でDOSゲーム
-
パソコンの演算速度について
-
世界一美しいソースコード
-
家電製品の電力周波数を変える機械
-
Mac 乗数の入力方法
-
VBSでのSendKeysでの画面の最小化
-
VBSの処理中一旦処理を止めて再...
-
Excel VBAにて、2GB超の点群デ...
-
C言語で、メモリを解放しないで...
-
vb.netでEXCEL起動がうまくでき...
-
怪しいプロセス教えてください。
-
PIC12F683でLEDをスイッチで点...
-
エクセルのメモリ使用状況/Appl...
-
C言語primeについて
-
C#でGUI・CUIの判断する仕方を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
電車で待機列の割り込みについ...
-
スーパーのレジで並んでいたら...
-
CPU負荷率の安全な上限と計...
-
マイコン C言語 割り込み処理...
-
このレジの並び方は間違ってま...
-
USB機器からのデータ受信による...
-
【組込み】割り込み中のstatic...
-
VB6でSendKeyを利用したTab移動...
-
一定時間操作がなかったら、と...
-
VB.NET スレッドからのイベント...
-
irqbalance って
-
ウォッチドッグタイマ(WDT)の...
-
Timerコントロールによる動作の...
-
pic 複数の割り込み関数 切り分...
-
マイコンSH-2の割り込みを用い...
-
Amazonfireタブレットにわから...
-
STATUSのZフラグについて
-
マイコンの割り込みについて教...
-
Timerコンポーネントのインター...
-
電車乗車時、並んでいるのに割...
おすすめ情報