タイマー割り込み
読み:タイマーわりこみ
外語:timer interrupt
タイマーによって割り込みを掛けること。および、その発生した割り込みや、その後の割り込み処理などのこと。
概要
タイマー割り込みは、処理のタイミングを取るのに不可欠の処理であり、あらゆる制御の基本となるものである。
例えば100ミリ秒ごとといった、決まった時間ごとに割り込みを発生するように設定すれば、定期的に同じ処理が呼び出され、その処理を定期的に行なうことができる。
LEDを点滅させる、といった単純な処理から、マルチタスクオペレーティングシステムで一定時間ごとにタスクスイッチを行なう、といった複雑な処理に至るまで、基本的にタイマー割り込みが利用される。
特徴
アセンブラー
マイコン制御では、タイマー割り込みは基本中の基本となるものである。
CPUによって設定方法は異なるが機能が無いものはまず無く(チップセットなど周辺プロセッサーを用いるものを除く)、製品によっては2個、3個など複数のカウンターを持つものもある。
割り込みベクターテーブルに処理のアドレスを登録し、タイマーカウンターに割り込みを発生させる時間を設定した後、機能を有効にすると、働きだす。
UNIX
UNIX上でアプリケーションソフトウェアを作る場合も、このような機能が必要になる場合がある。
UNIXは、プロセスに対する割り込みは基本的にシグナルで行なわれる。
様々な方法が提供されているが、最も基本的なのはalarm()関数を用いる方法で、指定秒数後にSIGALRMシグナルを発生させる。
この場合、あらかじめ、割り込み処理関数をsignal()関数でSIGALRMシグナルのシグナルハンドラーとして登録しておけば、設定後所定の時間後にその関数が呼び出される。処理関数の最後にもalarm()関数を書いておけば、その関数は定期的に呼び出されることになる。
再検索