\r\n\r\n

割込むとトラップの違い

どのコンピューターでも、プログラムの正常な実行中に、CPUを一時的に停止させる事象が発生することがあります。このような事象を割り込みと呼びます。割り込みは、ソフトウェアやハードウェアの不具合によって発生することがあります。ハードウェアの割り込みは(単に)割り込みと呼ばれ、ソフトウェアの割り込みは例外またはトラップと呼ばれます。例外は自動的に発生するソフトウェア割り込みで、トラップはプログラマが起動させるソフトウェアコール割り込みです。割り込み(ソフトウェアまたはハードウェア)が発生すると、制御は isr(割り込みサービスプログラム)と呼ばれる特別なサブルーチンに移り、割り込みによる状態を処理することができます...

割り込みとトラップ

どのコンピューターでも、プログラムの正常な実行中に、CPUを一時的に停止させる事象が発生することがあります。このようなイベントを割り込みと呼びます。割り込みは、ソフトウェアやハードウェアの不具合によって発生することがあります。ハードウェアの割り込みは(単に)割り込みと呼ばれ、ソフトウェアの割り込みは例外またはトラップと呼ばれます。例外は自動的に発生するソフトウェア割り込みで、トラップはプログラマが起動させるソフトウェアコール割り込みです。割り込み(ソフトウェアまたはハードウェア)が発生すると、制御はISR(Interrupt Service Routine)と呼ばれる特別なサブルーチンに移り、割り込みによって引き起こされた状態を処理することができます。

中断とは何ですか?

通常、割り込みという言葉は、ハードウェア割り込みのために予約されています。ハードウェアの外部イベントによって発生するプログラム制御割り込みです。ここでいうexternalとは、CPUの外という意味です。ハードウェア割り込みは通常、タイマーチップ、周辺機器(キーボード、マウスなど)、I/Oポート(シリアル、パラレルなど)、ディスクドライブ、CMOSクロック、拡張カード(サウンドカード、ビデオカードなど)など、さまざまなソースから発生する。つまり、プログラムの実行に関連するイベントとしてハードウェア割り込みが発生することはほとんどないのです。例えば、ユーザーがキーボードのキーを押したときや、内部のハードウェアタイマーがタイムアウトしたときなどのイベントがこのような割り込みを発生させ、デバイスに注意が必要であることをCPUに通知します。このような場合、CPUは自分がやっていることをすべて止め(つまり、現在のプログラムを中断し)、デバイスが必要とするサービスを提供し、通常のプログラムに戻ります。ハードウェア割り込みが発生し、CPUがISRを起動すると、他のハードウェア割り込みは無効になります(例:80×86マシンの場合)。ISRの実行中に他のハードウェア割り込みが必要な場合は、割り込みフラグをクリア(sti命令使用)することで明示的に実行する必要があります。80×86マシンでは、割り込みフラグをクリアしても、ハードウェア割り込みにしか影響しません。

トラップとは何ですか?

トラップは、プログラマによって開始される制御の移転として識別することができます。トラップという用語は、例外という用語と互換的に使用されます(例外とは、自動的に発生するソフトウェアの中断のことです)。しかし、トラップは単なる特殊なサブルーチン呼び出しと考える人もいるでしょう。つまり、割り込みのソフトウェア呼び出しに該当するわけです。例えば、80×86のマシンでは、プログラマはint命令でトラップを開始することができます。トラップは常に無条件に発生するため、制御は常にトラップに関連するサブルーチンに転送されます。トラップを処理するルーチンを呼び出す正確な命令は、トラップの指定に明示的な命令が使用されているため、容易に特定することができます。

割り込みと罠の違いとは?

  • 2020-10-21 01:03 に公開
  • 閲覧 ( 14 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ