No.3ベストアンサー
- 回答日時:
前の人の回答は割り込み処理の基本的な考え方で、教科書等に書かれていることです。
今のパソコン等では極力割り込みは使わないようにしています。
割り込みを使うと、CPUのレジスタデータはもちろん、キャッシュメモリデータの書き直し等が必要で、CPUの動作を一挙に遅くしてしまいます。
USBを含む今の大部分のI/Oは、チップセット等に含まれている制御部でデータ転送等の制御をし、メモリと直接読み書きをしています。
キーやマウスの一挙一動に割込を出すような、効率の悪いことはしていません。
ただ、ある程度まとめたデータ転送が終了したことを知らせるか、定期的な時間毎にデータを見に行くためのタイマ割込は必要になってきます。
まあ、パラレルやシリアルポートのようにレガシーI/Fはコンパチ性を保つため、データ1つずつ割込を出すような制御を行っていますが。
パソコンの割り込み制御は全てWindows等のOSが面倒を見ていますから、ドライブソフトのような、よっぽどハードに近いプログラムを書く人でなければ気にする必要はありません。
No.2
- 回答日時:
PCではキーボードやマウス、HDDやNICなど全ての周辺機器は割り込み(とDMA)でドライブされてます。
そのほかにタイマー割り込みでタスクの切り替えなどが行われてます。割り込み処理プログラムはいかに短時間で終了するかがプロクラマの腕の見せ所です。ユーザーから見ると動作に支障がなく感じるのです。No.1
- 回答日時:
読んで字のごとく、「割り込む」処理です。
Aさんが箸の本数を数える仕事をしているとします。
そこに「悪いんだけど、その仕事を中断してペットボトルの本数を数えて欲しい」と頼まれ、箸の本数を数えるのをやめてペットボトルの本数を数え始めたとします。
箸の本数を数えるのが本来の仕事=メインルーチン、ペットボトルの本数を数えるのが割り込み処理になります。
割り込みにはいろいろな種類があります。
MNI(禁止できない割り込み)が最も優先度が高く、メインルーチンには割り込みを拒否する事が出来ません。
他に、都合の悪い時には割り込みを受け付けないように設定できる割り込みもあります。
割り込み処理はリアルタイム系の処理に用いられます。
たとえばシリアルポートの信号受信、USB信号の送受信など、メインルーチンの処理にかかわらずいつ発生するか分からない事象の処理です。
プリエンプティブなマルチタスクOSではタスクで処理する事も出来ますが、それよりさらに優先度の高いものが割り込み処理と言えます。
この回答への補足
なるほど。
あと疑問なのですが、
(1)なぜ割り込み処理が必要なのか?
(2)USB信号にも用いられているということはマウスなんかを動かすだけでも割り込みが発生するというこ とですよね?ということは頻繁にメインルーチンが割り込み処理によって停止させられているということ なのでしょうけど、そんなに頻繁にメインルーチンを停止させていても大丈夫なのでしょうか?確かにマ ウスを動かしてPCが停止したことはないですけど。疑問です。
長々と追加分を書いてしまう申し訳ありません。よければ教えていただければ嬉しいです。
お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CPUの問題について 2 2022/07/09 12:04
- ノートパソコン ダヴィンチリゾルブ Davinci Resolve 未対応のgpu処理モードというエラー 1 2022/09/06 18:00
- その他(メールソフト・メールサービス) サンダーバードメール移動しない 1 2023/05/13 11:21
- iPhone(アイフォーン) iphoneから[Documents」を取り組んだら1週間無料アプリだったが、今後は有料? 4 2022/04/11 06:38
- 日本語 【合理主義】という言葉の意味について教えてください。 4 2022/08/30 23:21
- メルカリ メルカリに出品した商品の代金を指定口座に振り込み要請をする方法 2 2023/05/18 12:22
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- ドライブ・ストレージ ハードディスクのデータ回復について 15 2022/08/22 14:55
- その他(パソコン・周辺機器) 低価格な入札。問題はないのですか? 2 2022/12/25 12:46
- バッテリー・充電器・電池 充電器を購入する時の注意点 8 2022/08/07 10:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sleep関数の原理について
-
ショッピング
-
(H8マイコン)タイマ割込で変更...
-
Z80の割り込みについて
-
PICのPIN変化割り込みに...
-
実行した後、どうしてもフリー...
-
pic 複数の割り込み関数 切り分...
-
USJでの割り込み
-
USB機器からのデータ受信による...
-
電車で待機列の割り込みについ...
-
irqbalance って
-
緯度、経度の 10進法と 60進法...
-
Macターミナルで実行中のプログ...
-
VBAの配列サイズとメモリに関して
-
スレッドの安全な終了のさせ方
-
バックグラウンドのプロセスの...
-
Excelでのセル内容の高速消去方法
-
explorer.exeが異様にメモリを食う
-
C言語で、メモリを解放しないで...
-
VBSで応答不要のメッセージボッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インバウンドで迷惑している人...
-
pic 複数の割り込み関数 切り分...
-
スーパーのレジで並んでいたら...
-
ショッピング
-
Excelでタイマーの一時停止する...
-
電車で待機列の割り込みについ...
-
【組込み】割り込み中のstatic...
-
C言語でPICマイコン開発
-
CPUの処理量を減らすコーデ...
-
Amazonfireタブレットにわから...
-
マイコン C言語 割り込み処理...
-
USB機器からのデータ受信による...
-
一定時間操作がなかったら、と...
-
VB.net 割り込みの禁止
-
ウォッチドッグタイマ(WDT)の...
-
電車乗車時、並んでいるのに割...
-
USJでの割り込み
-
VB6でSendKeyを利用したTab移動...
-
PICでのプログラムによるチャタ...
-
H8マイコンで割り込みが任意の...
おすすめ情報