コンピュータまたはデータ伝送システムにおいて、リセットは保留中のエラーやイベントをすべてクリアし、システムを正常な状態または初期状態に戻します。通常は制御された方法で行われます。これは通常、処理活動の続行が不可能または望ましくなく、すべてのエラー回復メカニズムが失敗した場合に、エラー状態に対応して行われます。コンピュータのストレージプログラムは、コマンドがタイムアウトし、再試行や中止などのエラー回復スキームも失敗した場合に、通常は「リセット」を実行します。 [ 1 ]
ソフトウェアリセット(またはソフトリセット)は、ソフトウェアによって開始されます。たとえば、Control-Alt-Deleteキーの組み合わせが押されたり、Microsoft Windowsで再起動が実行されたりします。
ほとんどのコンピュータには、デバイスを起動状態にするリセットラインがあり、電源投入後しばらくの間アクティブになります。たとえば、x86アーキテクチャでは、RESET ラインをアサートすると CPU が停止します。これは、システムがオンになった後、電源が十分な電力レベルで安定した電圧を供給する準備ができたことを示す「power good」をアサートする前に行われます。[ 2 ]リセットは電源が切断されないため、電源サイクルよりもハードウェアへの負荷が少なくなります。多くのコンピュータ、特に古いモデルには、オペレーティングシステムによって捕捉(つまり防止)されない方法でシステムの再起動を容易にするためにリセットラインをアサートする、ユーザーがアクセスできる「リセット」ボタンがあります。または、一部のモバイルデバイスではボタンの組み合わせを押し続けることによって再起動できます。[ 3 ] [ 4 ] デバイスには専用のリセットボタンがない場合もありますが、その場合はユーザーが電源ボタンを押して電源を切断し、その後コンピュータの電源を再びオンにすることができます。[ 5 ]また、帯域外管理では、このようにしてリモートシステムをリセットできる場合もよくあります。
多くのメモリ機能を備えたデジタル回路(フリップフロップ、レジスタ、カウンタなど)は、リセット信号によってあらかじめ設定された状態にリセットされます。この信号は電源投入後に印加されることが多いですが、他の状況下でも印加されることがあります。ハードリセット後、多くのハードウェアのレジスタ状態はクリアされます。
電子機器がエラーや異常な電源喪失時に自己リセットできる機能は、組み込みシステムの設計とプログラミングにおいて重要な要素です。この機能は、テレビ、オーディオ機器、自動車の電子機器など、日常的に使用する電子機器に見られます。これらの機器は、突然電源が切れた後でも、再び正常に動作することができます。機器に突然発生した異常なエラーは、電源を一度切ってから再度入れることでリセットされ、解決できる場合があります。ポータブルメディアプレーヤーなど、フリーズやロックアップを起こしやすい機器には、専用のリセットボタンが備わっていることがよくあります。適切なリセット機能がなければ、電源喪失や故障後に機器が使用不能になる可能性もあります。
ソフトウェアがハングアップしたり、クラッシュしたり、その他の理由で応答しなくなった場合、ユーザーが開始するハードリセットを使用してデバイスをリセットできます。ただし、この場合、データが破損する可能性があります。[ 6 ] 一般的に、ハードリセットは専用のリセットボタンを押すことによって開始されます。一部のシステム(PlayStation 2ビデオゲームコンソールなど)では、電源ボタンを押して離すとハードリセットが開始され、ボタンを押し続けるとシステムがオフになります。
8086マイクロプロセッサには、ハードウェアリセットを行うためのRESETピンが用意されています。このピンにHIGH信号が入力されると、CPUは直ちに停止し、主要レジスタを以下の値に設定します。
CPUはCSレジスタとIPレジスタの値を使用して、次に実行する命令の位置を特定します。次の命令の位置は、次の簡単な式を使用して計算されます。
Location of next instruction = (CS<<4) + (IP)
これは、ハードウェアリセット後、CPUが物理アドレス0xFFFF0から実行を開始することを意味します。IBM PC互換コンピュータでは、このアドレスはBIOS ROMにマッピングされます。0xFFFF0のメモリワードには通常、 CPUをBIOSの初期化コードの実行にリダイレクトするJMP命令が含まれています。このJMP命令は、リセット後に実行される最初の命令です。[ 7 ]
後のx86プロセッサではCSレジスタとIPレジスタを同様にリセットします。リセットベクタを参照してください。
Apple Mac コンピュータでは、Windows コンピュータの3 本の指の敬礼(CTL、ALT、DEL)に類似した (CTL、CMD、EJECT) など、さまざまなレベルのリセットが可能です。[ 8 ]
電源ボタンを押しながらShift、Control、Optionキーを押し続けると、リセットのショートカットになります。