web-dev-qa-db-ja.com

BIOSはどこに保存されていますか?

http://en.wikipedia.org/wiki/BIOS から:

BIOSソフトウェアは、マザーボードのROM チップに保存されています。 ...最近のコンピュータシステムでは、BIOSの内容は フラッシュメモリチップ に格納されているため、内容を に書き換えることができます マザーボードからチップを取り外すことなく。これにより、BIOSソフトウェアを簡単にアップグレードして新機能を追加したりバグを修正したりできますが、コンピュータがBIOSルートキットに対して脆弱になる可能性があります。

ROMは意味 R前 - 潔い Mエモリー、なぜBIOSの内容を書き換えることができますか?

「フラッシュメモリチップ」は「不揮発性ROM」と同じ意味ですか、どちらもBIOSが保存されている場所を意味しますか?

56
Ben

Varaquilexの答えに加えて、BIOSソフトウェアは、ファームウェアの更新を電子的に実行することを可能にする電気的に消去およびプログラム可能な[ROM]に格納されています。非常に古いBIOSチップは、実際にはUV-EPROMチップであり、再プログラミングする前にUV露光で消去する必要がありました。


編集:コメントで指摘されているように、そのシングルユースよりも早く、プログラマブルROM(PROM)チップが使われることもありました。これは一度設定し直すことはできず、アップグレードのために完全な交換が必要でした(これはめったに必要とされませんでしたが)。

59
zelanix

ROMは読み取り専用ですが、BIOSの内容を書き換えることができるのはなぜですか?

BIOSプログラム自体は、EEPROM([E] rasableおよび[P] rogrammable)またはフラッシュメモリに格納されています。したがって、ここでの読み取り専用は、チップが不揮発性であることです。揮発性RAMとは異なり、メモリの内容は電源を切っても保持されます。 EEPであるROMは、BIOSの書き換えや更新を支援します。当時は、そのような操作のために、BIOSチップをボードから取り外すか、新しいチップ(PROMまたはEPROMではない場合)を入れるか、またはEPROMで製造元に渡して手放さなければなりませんでした。彼らはチップを再プログラムしてそれをボードに再取り付けします。現在の進歩の後、EEPROMのおかげで、あなたはそのような操作をするためにチップを取り外す必要はありません、あなたはただコンピュータに仕事をさせます電気的に


「フラッシュメモリチップ」は「不揮発性ROM」と同じ意味ですか、どちらもBIOSが保存されている場所を意味しますか?

ウィキペディア から:

フラッシュメモリは、電気的に消去および再プログラムすることができる電子的不揮発性コンピュータ記憶媒体である。

フラッシュメモリは、EEPROM(電気的消去可能プログラマブルリードオンリーメモリ)から開発された。フラッシュメモリには主に2つのタイプがあり、NANDおよびNOR論理ゲートにちなんで名付けられています。個々のフラッシュメモリセルの内部特性は、対応するゲートの特性と同様の特性を示す。 EPROMは書き換えられる前に完全に消去されなければならなかったが、NAND型フラッシュメモリは一般的に装置全体よりもはるかに小さいブロック(またはページ)で読み書きされるかもしれない。 NORフラッシュを使用すると、単一のマシンワード(バイト)を消去した場所に書き込むことも、独立して読み取ることもできます。

EEPROMとフラッシュメモリは同じものを指しません。それらは2つが類似したメモリタイプであり、一方が他方から開発されたもので、異なるタイプ/構成のMOSトランジスタを含んでいます。しかし、それらはBIOSプログラムが常駐するメモリです。


もう一つの誤解に対処するために、私はこのCMOSとBIOSの関係について述べたいと思います。

BIOS設定はCMOSチップに保存されています(これはマザーボードのバッテリーで電源供給されています)。そのため、バッテリを取り外して再度取り付けると、BIOSがリセットされます。同じプログラムが実行されますが、設定はデフォルトです。起動プロセス中に使用されるメモリの詳細については、 この回答 を参照してください。

編集

CMOS-BIOSのトピックを拡張するために、 @ Andon M. Coleman のおかげで、私は彼のコメントを答えに加えたいと思います。

BIOS設定を揮発性のCMOSメモリに保存する必要はないことを言及する価値があります。設定をNVRAMに保存する組み込みシステムはたくさんあります。ここ数年、PCがvolatile CMOSを使わないようにした唯一の理由は、電源が切れている間も内部リアルタイムクロックの刻々と過ぎないようにバッテリを保持しているからです。 PC-ATのスイッチを入れると、文字通りマザーボードへのすべての電源が切れます。これは、より安価な揮発性メモリをシステム設定の保存に使用できることを意味していました。それでそれはほとんど歴史的な目的のためです。

40
Varaquilex

他の答えを補足するものとして、私はより視覚的なアプローチが好きです。

BIOS location

このBIOSチップは、そのソケットにうまく収まっていないようです。

ファンシーな新しいUEFI BIOSを含むBIOSは、マザーボードのチップに保存されたソフトウェアです。技術的な詳細はすでにzelanixとVaraquilexによってカバーされています。

チップは、修理を容易にするために取り外し可能であることが多くありますが、必ずしもそうとは限りません。マザーボードの中には、主にセールスギミックとして、複数のBIOSを搭載しているものがありますが、場合によっては、2番目のBIOSが特定の(通常はユーザー起因の)問題からの回復に役立ちます。

Dual non-removeable BIOS

27
Charles Burns

また、80286より前のほとんどのマシンでは、RAMと同じくらい速くROMからデータを読み取ることができましたが、1980年代以降RAMの帯域幅が大幅に改善されました。 [速いROMチップは存在しませんが、ある速度を超えてROMの速度を上げると値段が上がるでしょう]。 BIOS ROMのすべてのバイトを1回読み取るのにかかる時間はわずか1秒ですので、一部の80386マシンおよびほとんどの80486以降のマシンでは、起動時にBIOSをRAMにコピーするオプションがありました。 。現代のマシンはさらに物事を進め、実際にはBIOSのROMチップをRAMバスとは完全に別のmuchにあるバスに配置します。もっとゆっくり。自分自身をRAMにコピーするプログラムをROMから実行することで始まる80486時代のマシンとは異なり、新しいマシンの多くはROMからコードを実行できないプロセッサを持っています。代わりに、起動時にROMの特定の部分をRAMに読み込んで実行する回路があります。

7
supercat

2005年1月に読んだウィキペディアの記事を見てください。

1990年以前にはBIOSはROMチップに保持されていましたが、変更することはできませんでした。その複雑さと更新の必要性が増すにつれて、BIOSファームウェアはEEPROMまたはフラッシュメモリデバイスに保存され、ユーザーはそれをアップグレードすることができます。ただし、不適切に実行された、または中止されたBIOSアップデートは、コンピュータまたはデバイスを使用できなくする可能性があります。 BIOSの破損を防ぐために、新しいマザーボードにはバックアップBIOSがあります。また、ほとんどのBIOSはROMの一部である "ブートブロック"を持っています。これは最初に実行され、更新することはできません。このコードは、ジャンプする前にBIOSの残りの部分が(チェックサム、ハッシュなどを介して)損なわれていないことを確認します。

今日では、もちろん、私たちはチップが一気に「不揮発性ROM」であり、そしてそれが次のうちに書くことができると言うことによって人々を混乱させるウィキペディアの記事を持っています。ここで学ぶべき教訓は、ウィキペディアはあまりよく書かれていないことが多く、そして記事は常に変化するためではありません。

私は本を​​読むことを勧めます。 Scott MuellerによるPCのアップグレードと修復では、いくつかの本のうちの1冊を選ぶために、BIOSに関する全章があり、そこからBIOSチップの配置場所からさまざまなものまでを取り上げます。そのようなチップのソート(リスト4:ROM、PROM、EPROM、およびEEPROM)。

いくつかの引用:

システムがどのタイプのROMを使用していても、ROMチップに格納されているデータは[sic]不揮発性であり、無期限のままです。意図的に消去または上書きされている(それが可能な場合)。 - PCのアップグレードと修復、p.373

1996年以降に製造されたほぼすべてのPCには、BIOSを保存するためのフラッシュROMが含まれています。フラッシュROMは、特別な装置を使用せずにシステム内で直接消去および再プログラムできるEEPROMチップの一種です。 - PCのアップグレードと修復、p.387

本は完璧ではありません。例えば、ここでMuellerの "first blush"のフラッシュメモリの定義で詳細を議論することができます。しかし、良いものは一般的に校正されており、多くのウィキペディアよりも首尾一貫した説明があります。少なくとも文から文まで矛盾しないようにしてください。

現代のPCを想定しても、20年前にPCがどのように機能していたかに悩まされることはありません。

あなたのマシンのファームウェアは、マザーボード上の不揮発性メモリチップに保存されています。それは実際にはかなりたくさんあります。 ( 私の答えは に記載されているPm49FL004TはMiBの半分を保持し、 私の答えはここに記載されています 16MiBのファームウェアをサポートできるチップセットもあります。)プロテクトモードのオペレーティングシステムであっても、システムのブートストラップだけではありません。その内容は変更可能ですが、メインシステムRAMの(揮発性)内容ほど容易ではありません。 EFIシステムでは、チップはファームウェアコードと(読み取り専用)データだけでなく、不揮発性EFI変数の値も保持します。

1
JdeBP

オリジナルのROMは文字通りそのようにシリコンレベルで製造されました。ユーザーがそれを電気的にプログラム可能にすると、次のようなことが起こります。

  1. 多くの場合、実際のプログラミングを実行するために、3.3Vまたは5Vを内部で12Vにジャンプさせることができるハードウェア昇圧回路が内部にあります。これは、古いPROM、EPROM、UVEPROM、またはEEPROMにも当てはまります。

  2. 旧モデルで利用可能な場合、UV(紫外線)消去可能機能により、デバイスのプログラミング時に回路は内部+ 12Vのみを有効にすることができ、UVウィンドウはUV光をチップ領域に入れることができましたが、UVウィンドウはカバーする必要がありましたプログラミングまたはチップが部屋の蛍光灯の下で消去された後。 UV消去可能物もまた消去するのが非常に速く、チップ全体を0または1に再プログラムするよりもはるかに速かった。

多くの場合、すべての「プログラム可能な」PROMの内部に昇圧回路があります。

  1. 後者のEEPROMは、EPROMまたはUVEPROMに対して電気的に消去可能でした。

  2. 後のフラッシュ技術が登場し、古いトランジスタとは異なる回路技術(トランジスタレベル)と高密度を追加しました。

  3. オリジナルのROMが停止されて以来、ほとんどすべてのケースで、ほとんどすべてのBIOS PROMが多数の(25%)のコンピュータの問題で疑われています。これらの最近のPROM(すべてプログラム可能な機能をすべて備えています)は、時間が経つにつれて損傷を受けたり、単にプログラムが「忘れられ」たりする可能性があります。

PROMは、消去または再プログラムされた方法に関係なく、注意(ESDによる損傷)、経年変化、または湿度を考慮して取り扱う必要があります。

1/4前後では、「良い」BIOSを再プログラミングすると問題が解決します。だから、たとえあなたのBIOSが「良い」であっても、可能ならばそれは常に再フラッシュするために支払う。

0
charles

実際には、最近の数日間でBIOSを格納する方法がより洗練されたシステムがあります。あなたのフラッシュドライブに似た、ちょうど小さい2つのストレージバンクを想像してください。そのうちの1つは読み取り専用にアクセスされ、2番目は書き込まれることが可能です(BIOSの新しいバージョンをフラッシュするため)。新しいBIOSの書き込みが成功しない場合、2つの部分の理由はバックアップです。新しいBIOSのフラッシュが成功すると、この2つの部分が切り替わり、デバイスは新しいBIOSの下で再起動される可能性があります。

注意:すべての種類の機器がこのシステムを持っているわけではありません。時には単純に上書きされる単純な小型フラッシュメモリです。通常、電力をバックアップし、アップグレードプロセスを中断しないように求められます。

マザーボードの昔の時代には、強い光によってメモリが消去された後に書き換えることができるEPROMメモリ、または後で書き込めるPROMメモリがありました。どちらも特別なプログラミング装置でしかできないので、BIOSチップを書き込むためにはデバイスから取り外してください。

0
Dee

元のIBM PCでは、BIOSの "ROM"は、ある種の電気的にプログラム可能な( "write once")ROM(EPROM)でした。私はそれがソケットに入っていたと思いますが、それが現場で「アップグレード」されるという本当の期待はありませんでした。他の時代のコンピュータも似たようなものを使っていました。

システムが複雑になるにつれて、BIOSを「現場でアップグレード可能」にする(ボックスを開いて物理的に部品を交換する必要なしに)ことがより有利になりました。それでシステムは様々なタイプの書き換え可能なBIOS "ROM"を持ち始めました。利点は3つありました。

  1. システムが複雑になるにつれて、バグの可能性が高まりました。
  2. アップグレードして新しい機能を組み込むことができるのは魅力的でした。
  3. いくつかの異なる箱で(おそらく異なるブランド名の下でさえ)使用されるかもしれないマザーボードにとって、特定の用途のためにBIOSを工場でカスタマイズできることは魅力的でした。

元のIBM PCとほぼ同じ頃の大型ボックスでは、より原始的な「ブートストラップローダー」テクノロジではなく、ある種の読み取り専用の「ブート」メモリも使用されるようになりました。これらの中には、マスクプログラムされたROM、EPROM、小さな「サービスプロセッサ」を介してディスケットから読み込まれたRAMなどがあります。

0
Daniel R Hicks