リセット





リセット (reset)とは、機器の動作状態を初期状態に戻すこと。コンピュータゲームなど、ソフトウェアを初期状態にすることに用いられる場合もある。本稿では主に電子回路におけるリセットについて述べる。








目次






  • 1 電子回路におけるリセット


  • 2 コンピュータゲームにおけるリセット


  • 3 脚注


  • 4 関連項目





電子回路におけるリセット


電子回路を一般化して考えると、いくつかの入力信号線に応じた出力信号を生成する装置ということができる。以前の入力状態との比較で出力状態を決定する場合には、回路の内部状態を保持する部分がなければならない。デジタル回路においては状態を保持する回路はレジスタと呼ばれる。模式的に考えると、デジタル電子回路とは「外部入力信号と内部状態レジスタの出力を組み合わせ回路に与えて次の内部状態を作り出す(レジスタを変化させる)もの」であると考えることができる。


リセットという動作は、この内部状態レジスタを強制的に初期状態に戻すことである。レジスタを構成する単位要素はフリップフロップと呼ばれ、1個のフリップフロップは1bitの情報(0か1か)を保持することができるが、リセットはこれを強制的に(以前の状態に関係なく)0または1の決まった状態にしてしまう操作にあたる。


電子回路が複雑化し、要素部品の数が莫大なものになった場合、全内部状態を同時に確実にリセットできるようにすることは、回路設計上重要な点となってくる。特に電源投入直後に回路を安定して動作させるためにはいくつかの工夫が必要となる。人間の目には一瞬に電気が回路内に行き渡っているように見えても、実際には電源電圧が規定値に達するまでには時間がかかっている。この間、電源や信号を伝える配線の長さのごくわずかの差や、部品の個体差などにより、部品によってリセット動作が起こるタイミングが一致しないということが起こる。ある部品がすばやくリセット動作を終え、次の状態に遷移するために入力信号を取り込み始めたのに、その入力信号を生成している他の部品のリセット動作が完了していないと、全体としてはいい加減な入力信号を処理してでたらめな出力をする回路になってしまうのである。


CPUなどの高度な電子回路の場合、水晶振動子などによって生成した一定周期の信号(クロック信号)の変化に合わせて回路全体の内部状態を一斉に変更してゆく同期回路として設計されるが、この場合、リセット信号もこのクロックの信号変化のタイミングを考慮して制御されなければならない。部品のデータシートには、「クロック信号が安定してから○○クロック経過するまでの間はリセット信号をONにしておくこと」などのように、リセットの仕方について指示が記載されている。


これらに対応するために、リセット信号は他の信号線よりも(電源線よりも)一番早くONになり、電源など他の部分の信号が安定し、全部品が確実にリセット動作を終えるまで待ってからOFFになるように設計される。一般には、抵抗とコンデンサを用いてこれを実現するが、回路がより複雑になってくると高度なリセット制御回路を組み込んだ、リセット専用ICを用いることもある。


回路の動作が高速になってくると、動作に時間がかかる一部の部品のリセット完了を待ってから他の高速な部品の動作を開始させるのが非効率になることがある。この場合、動作の遅い部品の出力に影響を受ける部分と受けない部分をきちんと切り分けて回路設計することにより、短時間でリセットをする部分と長時間をかけてリセットする部分に分離して2種類のリセット信号を使い分けるということが行なわれる。


動作を完全に初期状態に戻すのではなく、内部状態を指定した値にしてから処理を開始させることを、「プリセット (preset)」と呼ぶ。フリップフロップにおいては、状態を0にすることをリセット、1にすることをプリセットと呼ぶこともある。



コンピュータゲームにおけるリセット






ゲーム機にCPUと直結されたリセットボタンがある機種は、押される事でプログラムカウンタがゼロ番地にリセットされる。結果、プログラム(ゲーム)は最初から再起動される。ゲーム機にのCPUに直結されていないリセットボタンや機能がある物は、基本ソフト上で動作するゲーム(アプリケーション)が強制的に停止される。セーブ機能のあるコンピュータゲームでは、リセットスイッチを操作すると、最後にセーブした時点の進行状態まで戻され、それ以後のプレイはなかったことになる。


これから転じて、各種作品において、今まで起こったことをなかったことにしたり、人生を過去の状態に戻してそこからやり直したりすることの比喩表現として「リセット」という言葉が用いられることがある。[1]


ゲーム『Hellblade: Senua's Sacrifice』では、プレイヤーが死ぬと、死んだ回数が保存され、規定回数を超えるとセーブデータが消えてしまう仕様である。



脚注





  1. ^ たとえば小説『人生リセットボタン』ISBN 978-4-569-81159-8




関連項目



  • ブート

  • ウォッチドッグタイマー




Popular posts from this blog

Accessing regular linux commands in Huawei's Dopra Linux

Can't connect RFCOMM socket: Host is down

Kernel panic - not syncing: Fatal Exception in Interrupt