- ベストアンサー
CMOSクリアとBIOSの初期化
CMOSクリアをやるとBIOSも初期バージョン(Ver1.0)へ 戻りますか?
- みんなの回答 (15)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> おいおい。ROM上で動くのであれば、わざわざ > 主メモリーへプログラムを持ってくる必要ないではないか。 あれ?もう忘れちゃったんですか?回答No.3を読み返してください。
その他の回答 (14)
- ごんちゃん 28号(@robcat)
- ベストアンサー率41% (55/133)
BIOSは、現在使用されている物になります。EPROM、書き換え可能なROMに格納されています。 CMOSクリアーすると、RTC「リアル・タイム・クロック」がリセットされるかもしれません。たいていCMOSクリアで起動しなくなった原因がここにあります。 CMOSクリア実施したらBIOS画面で年月日を再設定してください。2001年にリセットされていては起動しません。
補足
新人さん、いらっしゃい!! RTC.C_MOS経験あります。必ず2001年にリセット されるような。しかし、あまりに時間差がありすぎて、どうもBIOS設定エラーと認識するようです。 BIOSエラーとなってOSbootへ行きません。 つまりそこでSTOPするようです。 http://sky.geocities.jp/saganly/
> 結局、BIOS_ROMやC_MOSは主メモリーへロード > されてるのか。そのまま表示されてるのではなく > 主記憶装置へ転送されてるのか? 先の回答どおりです。CMOSはロードしません。BIOSはロードしますが、起動直後はBIOS ROMがCPUから直読みされる場所に配置されるため、ROMに書かれたBIOSプログラムがROM上でそのまま動くことによって、RAMへのロード処理を行います。ROM上でプログラムが動くことはいたって普通で、いにしえのPC-8001のN-BASICインタプリタもROM上で動いてました。 > 今度、主メモリーを外してbootさせてみるか。 > どうなるか。案外表示したりして!! 仕組み上、RAMなしでもBIOSは動きます。が、BIOSは起動処理の一番最初の方にメモリチェックを行うので、そこでRAMが入っていないことを認識すると、それ以上の起動処理を打ち切り、停止します。この場合の挙動は、画面にメモリエラーか何かを表示するか、表示せずにビープ音だけでメモリエラーを知らせるものがあります。
補足
>ROMに書かれたBIOSプログラムがROM上で >そのまま動くことによって、 >RAMへのロード処理を行います。 ---------------------------------------- おいおい。ROM上で動くのであれば、わざわざ 主メモリーへプログラムを持ってくる必要ないではないか。
> 貴方の発言の中で”主記憶空間”が再三出てくる。 それは、そこにあるのがRAMだけとは限らず、またアドレスは定義されてるけどRAM/ROMいずれもいない可能性(可変的なもの)がある、という意味からそう呼んでいます。 > このとき、Flash_ROM(BIOS_ROM)、C_MOSは > は入れないのでは?別扱いでは? この疑問を理解する魔法のキーワード、それは「バンク切り替え」 つまり起動直後はハード的にBIOS ROMが主記憶空間の先頭に配置され、BIOSの初期化処理が終わったらBIOS ROMの内容をRAMにコピーし、バンク切り替えを行ってROMを切り離します。結果、主記憶空間内からROMはいなくなってRAMだけになります。CMOSはI/Oポートの先にあるから何もしません(初めから主記憶空間内にはいない)。電源OFFやリセットされると、バンク切り替えは元に戻ってBIOS ROMが復活します。 主記憶空間内にRAMしか存在しないコンピュータでは、BIOSのような初期化を行ってくれるプログラムをどこにどうやって置くのか?と言う話になります。神代の時代であれば手動スイッチDMAでRAMに書くのでしょうが、今どきそれをやらされるのはもはやネタです。
補足
>つまり起動直後はハード的にBIOS ROMが >主記憶空間の先頭に配置され、BIOSの >初期化処理が終わったらBIOS ROMの内容を >RAMにコピーし、バンク切り替えを行って >ROMを切り離します。結果、主記憶空間内から >ROMはいなくなってRAMだけになります。 >CMOSはI/Oポートの先にあるから何もしません >(初めから主記憶空間内にはいない)。 >電源OFFやリセットされると、バンク切り替えは >元に戻ってBIOS ROMが復活します。 ----------------------------------------- 結局、BIOS_ROMやC_MOSは主メモリーへロード されてるのか。そのまま表示されてるのではなく 主記憶装置へ転送されてるのか? 今度、主メモリーを外してbootさせてみるか。 どうなるか。案外表示したりして!!
> 昔、NEC PC-8001と言うマイコンがあって > ハンドアセンブルやったことあった。少し。 その世代のユーザーであれば、今の質問のCMOSとはメモリスイッチと同じだと気付かないはずがないし、CMOSにBIOSプログラム本体を入れないことや、入れることの是非についてはむしろ語ってもらえそうな・・・ 今のCMOSはポートアドレス0x70-7F(実用上は0x70と0x71だけ?)を通じてCMOS内容にアクセスする方式で、主記憶空間じゃない場所にあるからプログラムを入れてもそこでは実行できず、RAM上にコピーし直す操作が別途発生します。 http://lsair.html.xdomain.jp/a/e/g13_156_ibm_pcatio_pcat_1.html > CPUは8bitのZ80互換機であったので。 セカンドソースを互換と呼ぶかどうかは微妙だけど、完全互換品ではありますね。相互差し替えができるから。 > BASICでプログラミングやってBASICコンパイラー > って一応あったのです。 当時はBASICインタプリタがROMで内蔵されてたものの、8001だとCP/M上のコンパイラか・・・確かにあったけど贅沢品・・・あれ、8001って呼称は一応パソコンだったんじゃ? ・・・ますます質問意図が理解できませんね。これ以上続けても雑談モードになっちゃいそうなので、私からは以上にしたいと思います。
補足
>今のCMOSはポートアドレス0x70-7F >(実用上は0x70と0x71だけ?)を通じて >CMOS内容にアクセスする方式で、 >主記憶空間じゃない場所にあるから >プログラムを入れてもそこでは実行できず、 >RAM上にコピーし直す操作が別途発生します。 ------------------------------------------- これを早くいってもらえれば、すぐ理解したと思います。 貴方の発言の中で”主記憶空間”が再三出てくる。 私は”主記憶装置”と発言しています。 主メモリーのことです。パソコン関連では4GB、 6GB搭載とかみなさん言っています、それです。 このとき、Flash_ROM(BIOS_ROM)、C_MOSは は入れないのでは?別扱いでは? >セカンドソースを互換と呼ぶかどうかは微妙 >だけど、完全互換品ではありますね。 >相互差し替えができるから。 ---------------------------------------- 今まではマイコンと自信を持って言っていたが 最近は周囲がみんながパソコンと言っていますので マイコンは誤りとなりつつあります。 >当時はBASICインタプリタがROMで内蔵されて >たものの、8001だとCP/M上のコンパイラ >か・・・確かにあったけど贅沢品・・・ >あれ、8001って呼称は一応パソコン >だったんじゃ? -------------------------------------------- たしかに、PC-8001をセットで購入すると 高額になりぜいたく品だったと思います。 中盤以降、ICMからHDD(2MB)が販売になり、30万円はしてたような。
CMOSのメモリマップ資料が出てきました。これによると、BIOS設定保持用のCMOSは最大でも128バイト(補助単位なし)までしか定義されてません。 http://www.bioscentral.com/misc/cmosmap.htm 時代を遡って、いわゆるPC/AT互換機としてCMOSを使うようになった当初に使われたRTC内蔵CMOSはさらに容量がなく、32バイト(これも補助単位なし)です。 http://pdf1.alldatasheet.jp/datasheet-pdf/view/4185/MOTOROLA/MC68HC68T1.html > インデックスの附箋がついてると思うよ。 冒頭資料によればメモリアドレス毎に意味付けがされているので、インデックスが要らないって言うか、そもそもこの容量じゃ付ける余裕が・・・。 それより何より、答えを知っててこの質問してんじゃないの?わざと話をループさせてるでしょ?
補足
昔、NEC PC-8001と言うマイコンがあって ハンドアセンブルやったことあった。少し。 CPUは8bitのZ80互換機であったので。 BASICでプログラミングやってBASICコンパイラー って一応あったのです。
> はっきりとプログラムファイル。データファイルと > 区別している。 違う。そういうことじゃない。まだ飲み込めてないですね?プログラムファイルとデータファイルの違いではなくて、ファイルとデータは違うと言っているんですよ。もっと言うと、データファイルはデータそのものではない(衝撃の事実)。 データファイルとは、ファイルシステムの中でデータを扱えるように、データをファイル化したもの。平易に表現すれば、ファイルという入れ物の中にデータを入れたもの。なのでファイルと言う入れ物から中身のデータを取り出す操作が必要であり、その操作方法が書いてある一番基本的なプログラムがBIOS。なのでBIOS自体をファイルに入れたままでは動きません。BIOSをファイルに入れた状態で動かすなんてのは・・・ rarでファイルを圧縮しといたぞ →rarの解凍ツールは? →一緒に圧縮してあるよ完璧だろ? →は?お前何考えてんだよ!ってのと同じことです。 こういうオチを避けるには、BIOSをフラッシュに入れるときにファイルからメモリイメージを取り出して、ファイルシステムを経由しなくてもCPUが理解できる形になったものを、CPUがドライバも何もなしに直接読める場所に入れておく必要があります。 以前の回答にも書きましたけど、この辺はコンピュータの動作原理に近い場所の話なんで、初心者に理解しろってのは難しいとは思います。プログラミング経験がある、それもアセンブラでプログラムとデータの両方がメモリに収まった状態で動く状況を経験した人なら、すんなり入ってくるんでしょうけどね。 > ところで本論のC_MOSの中にはデータ(設定値) > しかないの?BIOSプログラムあるような気もするが > と言うより、あった方が便利よいのですが。 これも以前の回答に書いてますけど、BIOSプログラムを入れるのは、CMOSのメリットが生きないです。電源オフでも消えないのはフラッシュメモリで実現できてるし、実行もフラッシュメモリ上でできるから、CMOSに移す必然性がない。
補足
>もっと言うと、データファイルはデータ >そのものではない(衝撃の事実)。 --------------------------------------- ない言ってるの。当たり前のことです。 何が衝撃の事実ですか。プッ(笑い) ただいまでもすっぴんのデータあると思うよ。 C_MOSの中にあるデータはBIOSファイルが呼び込むのでインデックスの附箋がついてると思うよ。 >アセンブラでプログラムとデータの両方が >メモリに収まった状態で動く状況を経験した >人なら、すんなり入ってくるんでしょうけどね。 -------------------------------------------- データの格納アドレスを指定する。 読み出しアドレスを指定しないとな。 動かんわ。
やっと見えた、話が噛み合わない理由が。貴方はファイルとデータを同じだと思ってますね?ファイルってのはデジタルデータの入れ物であって、データそのものではありません。 なのでファイルの中身がどんなデータかわからなくても、ファイルの形で存在しているものであれば、正体がわかっているファイルと同じようにコピーしたり保存しておくことができます。ここまでは異論ないですね? 問題はここから先です。ファイルを開いて中身を取り出して再生なりした結果はもはやファイルではない、データ本来の姿です。生のデータにはファイル名やヘッダなどは存在しません。場合によっては生のデータを変換してファイル化することはできるけど、途中で一度ファイルじゃない形を経由してる。 この考え方に納得できなければ、ここまでの話は「何言ってんだこいつ」だろうし、これ以上説明を繰り返しても無駄でしょうね。 最後に、「ファイルの先にある動作を見るのだ!」
補足
>やっと見えた、話が噛み合わない理由が。 >貴方はファイルとデータを同じだと >思ってますね?ファイルってのは >デジタルデータの入れ物であって、 >データそのものではありません。 ----------------------------------------- 同じとは思っていない。発言してもいない。 はっきりとプログラムファイル。データファイルと 区別している。 >なのでファイルの中身がどんなデータ >かわからなくても、ファイルの形で存在 >しているものであれば、正体がわかっている >ファイルと同じようにコピーしたり >保存しておくことができます。 >ここまでは異論ないですね? --------------------------------------- Copy、複製はなんだってできます。 普通は。 >問題はここから先です。ファイルを開いて >中身を取り出して再生なりした結果 >はもはやファイルではない、 >データ本来の姿です。生のデータには >ファイル名やヘッダなどは存在しません。 >場合によっては生のデータを変換して >ファイル化することはできるけど、 >途中で一度ファイルじゃない形を経由してる。 ------------------------------------------ 何のお話ですか?具体例を出さないと、わからない。まあ、そんなケースもあるでしょうね。 広いパソコンの世界。どこかではあるでしょうね。 いまはFlashROMの話をしているので、この中には プログラムファイル。データファイル。ユーティリティソフト。複数のファイルが格納してあります。 >この考え方に納得できなければ、 >ここまでの話は「何言ってんだこいつ」 >だろうし、これ以上説明を繰り返しても >無駄でしょうね。 -------------------------------------------- はい。納得できませんね。ナンチャッテ。 >最後に、「ファイルの先にある動作を見るのだ!」 ----------------------------------------- そうですか。 ところで本論のC_MOSの中にはデータ(設定値) しかないの?BIOSプログラムあるような気もするが と言うより、あった方が便利よいのですが。
> Ver1.2 、Ver1.3、Ver2.0、・・・・とダウンロードします。このBIOSプログラムは > FlashROM(BIOS_ROM)へ格納されます。 確かに。でもそれはBIOSの配布のためにファイルとしているだけで、フラッシュに書かれたものはもはやファイルじゃないんですよ。わかります?トンチみたいですんげぇ理解しづらいと思うけど、マジでそうなんです。この認識が納得できないと前進しません。 この喩えで理解できるかはわかんないですけど、音楽ファイルを再生して、出てくるのは音楽でしょ?人間が聞いてわかるものになってますよね?それをファイルって言いますか?言いませんよね? BIOSの更新ファイルもそうなんですよ。ファイルとして配布してるけど、ユーティリティでフラッシュに書き込まれたものはもはやファイルではなく、メモリイメージとなります。ファイルじゃないからそのままCPUが実行できる。 BIOSのメモリイメージをユーティリティでファイルとして取り出すことはできるけど、それはユーティリティによって変換された結果であって、フラッシュにファイルそのままの形で入ってるわけじゃないんです。 と言うところで話をCMOSに戻すと、BIOSはCMOSに入ってなくて、入れるメリットもないってことでおkですか?
補足
>確かに。でもそれはBIOSの配布のために >ファイルとしているだけで、 >フラッシュに書かれたものはもはや >ファイルじゃないんですよ。 ----------------------------------------- プログラムファイルなのでフラシュに書かれたものはファイルです。binaryファイルです。 この思い込みはどこから、いつからきているのだろう? >わかります?トンチみたいですんげぇ >理解しづらいと思うけど、マジでそうなんで >す。この認識が納得できないと前進しません。 -------------------------------------------- これは、私が貴方にいう言葉です。 >この喩えで理解できるかはわかんないです >けど、音楽ファイルを再生して、出てくるのは >音楽でしょ?人間が聞いてわかるものになって >ますよね?それをファイルって言いますか? >言いませんよね? ------------------------------------------ 言います。ファイルにはデータファイルとプログラムファイルがあります。 あー、わかってきたぞ。あなたの頭の中にあるのは ファイルと言えばデータファイルと思い込んでいるのですね。 プログラムファイルがあることを知らないの? 音楽ファイルはデータファイルです。 *****.mp3はデータファイルになります。 >BIOSの更新ファイルもそうなんですよ。 >ファイルとして配布してるけど、 >ユーティリティでフラッシュに書き込まれた >ものはもはやファイルではなく、 ------------------------------------- binaryプログラムファイルです。 コンパイルされて機械語プログラムファイルです。 データファイル、プログラムファイル、複数個の ファイルが格納されます。 >メモリイメージとなります。 >ファイルじゃないからそのままCPUが実行できる。 -------------------------------------- メモリイメージね。とにかくそう思いたいわけですね。しかし、間違いではないのでそれもよいでしょう。 機械語ファイルです。CPUが実行できるように コンパイルしてメモリーファイル(あなたの好きな言葉で。)に落としてあります。 >BIOSのメモリイメージをユーティリティで >ファイルとして取り出すことはできるけど、 >それはユーティリティによって変換された >結果であって、フラッシュにファイル >そのままの形で入ってるわけじゃないんです。 --------------------------------------------- あー、勘違いの原因、理由がわかった。 ユーティリティでいちいち変換はしません。 変換する必要がないので、そんなことしません。 変換するとはだれが言ってるの? 貴方だけです。そんなこと言ってるの。
はあ、疲れてきましたね・・・ちなみに立場って言うか説明の軸は一切変えてませんからね。 > FlashROMの中にはBIOSファイルが入っています。 だからそれはファイルじゃないんだってば・・・CPUが実行できる形で主記憶空間上にあるプログラムのことは、ファイルとは呼びません。強いて言うならメモリイメージでしょう。基本的にファイルってのは、補助記憶装置(HDD/SSD/CD-ROMなど)に一定のフォーマット規格に沿って格納されているもののことです。 プログラムがファイル化されたもの、代表的なものとしてexeファイルを実行するには、 1)フォーマット規格に従ってファイルを読み取る 2)それを主記憶空間上にあるメモリ(RAM)に書き込む という手順を踏んで、初めて実行できます。つまり実行のためには最低でも、フォーマット規格を理解するためのプログラムと、ディスクI/Oを動かすプログラムが必要です。それの一番基本になるのがBIOSです。だからBIOSが動き出す前にファイルなんて持ってこられても、動かせない。 しかしBIOS ROMは最初から主記憶空間上に配置されていて、そこに書かれているものを実行するために必要なプログラムは一切ないし、RAMに書き込む必要もなくそのままでいきなり動かせちゃう。コンピュータが起動した直後の、ドライバも何もない状態でCPUがそのまま読んで実行できる場所にあるのがBIOSです。そこにはフラッシュROMが用意されてると。
補足
>ちなみに立場って言うか説明の軸は一切 >変えてませんからね。 たしかに。それは認める。最初からファイルとは何ぞや? ではないかな。 ふつう、そんな難しいことではなく。ファイルはファイルです。プログラムファイル。 >> FlashROMの中にはBIOSファイルが入っています。 >だからそれはファイルじゃないんだってば・・・ いいえ。プログラムファイルがはいってますよ。 FlashROMには。BIOS_ROMには。 私はASUSのM/Bで自作します。ASUSTekはBIOSの UpDate好きですね。2年に10回はバージョンアップ します。そのたびに、私はせっせせっせと Ver1.2 、Ver1.3、Ver2.0、・・・・とダウンロードします。このBIOSプログラムはFlashROM(BIOS_ROM)へ格納されます。
> BIOSファイルは存在しないと > 思ってると言うことはないのだろうか? 思ってるんじゃなくて、本当にBIOSファイルなんて存在しないんですよ。これはコンピュータの動作原理の根幹にかかわる話です。 コンピュータがソフトを実行するためには、ソフトがメモリ上に読み込まれている必要があります。で、実行したいソフトがメモリ上に存在せず、ファイルとして存在しているなら、そのファイルをファイルとして認識し、それをメモリ上に読み込むという処理が必要になります。それを行うための一番基本的なプログラムがBIOSです。 つまりBIOSはファイルとしてではなく、最初からメモリ上に存在していなければなりません。だから電源を切っても消えないROMに書き込んでおき、リセットで最初にCPUが参照する場所に置いておく必要があるのです。ファイルの形で存在しててもしょうがないんですよ。
補足
なんかここえきてまたおかしくなったな。 FlashROMの中にはBIOSファイルが入っています。 binaryで。マシン語で、機械語で。プログラムが。
- 1
- 2
お礼
詳しく教えてくれてありがとう。 ベストアンサー賞を進呈します。
補足
はい、そうです。しかし、読み返したら loadするようです。 http://sky.geocities.jp/saganly/