- ベストアンサー
BIOSメモリについて
BIOSプログラムや設定情報は通常ROM(BIOS ROM)の一種でEEPROMに保存されるということですが、実態は「CMOS RAM」となっています。これは、RAMではないのですか?また、最近ではフラッシュメモリが多いということですが? 要するにBIOSが保存されるメモリの分り易く正確な情報を知りたいのです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
CMOS_RAMは、フラッシュメモリと同じではないです。 CMOS_RAMは電池が無くなると消える。 フラッシュメモリは電池が無くなっても消えない。 最近のPCのBIOSはフラッシュROMに記憶します。 (昔はいろいろなROM) BIOSのプログラムとDATAを混同されてるのかな?。 今の多くのPCは BIOSプログラムは、フラッシュROM。 BIOSデーターは、C-MOS_RAMです。
その他の回答 (2)
>BIOSプログラムや設定情報は通常ROM(BIOS ROM)の一種でEEPROMに保存 BIOSの設定情報(随時変更可)は、バックアップ電池(コイン電池)に守られたRAMの情報 BIOSプログラム(BIOSアップデートでのみ変更可)は、フラッシュメモリに焼きこまれたROMの情報
お礼
私の記憶のあやふやをご指摘いただき助かりました。有難うございました。
- nobe
- ベストアンサー率66% (59/89)
こんにちは。 「CMOS-RAM」はどうやって調べましたか? BIOSは通常、フラッシュROM(E2PROM)に書かれていますが、動作するのはRAM上で動きます。 その動作手順は「ブートストラップ」といわれます。 ブートストラップの一般的な手順は、まず、電源ONやリセットスイッチONなどによって、予め決められたCPUのメモリ空間の特定の場所から「ローダー」というプログラムが実行されます。 「ローダー」はROM上に書かれたプログラムで、BIOS書き換えを行っても書き換わることはありません。 この特定の場所とは、CPUの種類によって違いますがある程度固定されています。 「ローダー」の作業内容は、必要最小限のデバイスの初期化と、フラッシュメモリに書かれたBIOSプログラムをRAM上へコピーして、それを実行することです。この段階でRAM上のプログラムへ遷移します。 つまり、BIOSはフラッシュメモリに書かれているけれども実行されるのはRAM上で、ということになります。 BIOSを書き換える際には、動作しているBIOSはRAM上に存在しますので、BIOSの実体が書かれているフラッシュメモリを書き換えても動作中のBIOSの動作に支障はきたしません。 再起動したとき、書き換えられたBIOSがローダーによってRAMへロードされ実行される、という手順になるのです。 ROMやフラッシュメモリ、RAMなどはそれぞれ違うデバイスですが、CPUから見ると同じメモリ空間に存在していて、例えば、0~10番地まではROMのエリア、11~1000番地まではフラッシュメモリ、1001番地より上はRAM、などというように分かれています。 また、ハードウェア的な構成によっては、BIOSの書かれたフラッシュメモリの内容をCMOSのRAMへコピーしてアドレス空間をスワップ(入れ替える)するという方法もあります。この場合、ブートローダーが起動した時点では、メモリ空間にはフラッシュメモリとRAMがあるのですが、スワップが実行された直後から、それまでのフラッシュメモリの領域が消えて全てRAMに入れ替えられます。 こういう構成ですと、フラッシュメモリに占有される領域が無くなり、全てのメモリ空間が自由に使えるので、この手法も良く使われます。 この場合、ソフトウェア的にフラッシュメモリの存在を確認することは出来ません。 ご参考になりましたら幸いです。
お礼
懇切丁寧な解説ありがとうございました。大変助かりました。
補足
アスキーデジタル用語辞典 (http://yougo.ascii24.com/gh/01/000113.html) にCMOS RAMと出ていました。CMOSはフラッシュメモリの一つと思っていましたが、アスキーの解説で分らなくなってしまいました。
お礼
私が知りたかったことを単刀直入にご回答いただき、ありがとうございました。感謝!感謝!です。