23時30分TweetListPocketご注意この記事は私が様々なWebsite、Blog、掲示板等をあくまで個人的に回ってまとめたものであり、内容の正確さを保証するものではありません。書いてある情報通りに行動して何かしらのトラブル等が起こったとしても、当方では責任はもてません。自己責任でお願いします。記述してある内容は一般的な(x86アーキテクチャの)Windowsマシンを対象にしています。その2いわゆる「3GBの壁」問題のまとめの後編です。今回は「なぜそれが起こるのか?」という技術的な観点の話になります。一般的な対処方法などの話題は前編を読んでください。32bit版Windowsでは4GBのすべてを認識することができないのですか?一般的なPCがWindows・ハードウェア共に制御の方法として、「メモリマップドI/O」(以下MMIO)という仕組みを利用しているからです。Windowsが扱えるアドレス空間は32bit=4GB[4,294,967,296Byte](2の32乗)です。Windowsは扱うことができるアドレス空間にメインメモリを割り当てて、初めてメモリを使用することができます。逆にPCに搭載されていても、アドレス空間に割り当てられていないメモリは使用できないので、ある意味“存在しない”のと同じです。要するに、「32bitのWindowsはアドレス空間を4GBしか持っていない」から「使用できるメモリは4GBまで」ということになるわけです。ここまでの話ならば、単純にアドレス空間=メモリ容量と考えることができるでしょう。そこで最初のMMIOの話に戻ります。MMIOは有限であるアドレス空間に、メモリと様々なデバイス制御用の空間を共有させる仕組みです。接続しているデバイスの制御(使用)をするには、アドレス空間が必要になるということです。PCはまずデバイス制御用に必要な空間をアドレス空間に予約し、残りをメインメモリに割り当てます。領域を被って使用することはできないからです。デバイス制御用に割り当てられる領域が多ければ、その分使用できるメインメモリは少なくなります。Windowsの場合は上記のような形となります。一般的な32bit版Windowsの「4GBメモリサポート」というのは、「4GBのアドレス空間をサポートする(扱える)」と言い換えた方が正しいかもしれません。OSの名前のとおり、アドレス空間が64bitに拡張されているからです。(64bit=16EB(エクサバイト)=17,179,869,184GB)アドレス空間が絶対的に広がっているため、デバイス予約用にアドレス空間が割り引かれても問題にはなりません。OSなら16EBのメモリを搭載できるということにはなりません。現実的な限界量はハードウェアとWindowsのエディションによって決まっています。Basicは、64bitでもメモリサポートは8GBまでです。OSだからといって物理アドレスを64bit=16EB持っているわけではないのです。上記のとおり、具体的に物理アドレスをどれだけ持っているかは、OSのバージョンやエディションによって仕様として決められています。Editionの物理アドレス量は128GBですから、37bitということになります。上限が64bitとしても、実際にどれだけの物理アドレスを使用可能にするかは、マイクロソフトの設定次第というわけです。一部の32bit版Windowsはなぜ4GB以上のメモリが扱えるのですか?OSのアドレス空間を32bit以上に拡張してあるからです。メモリを拡張されたアドレス部分に再割り当てすることによって、MMIOでデバイスが予約している領域を回避してメモリを使用することができます。36bitまで拡張してあれば、64GB[68,719,476,736byte]のアドレス空間を持ちます。使えない部分のメモリをRAMディスクに割り当てることはできませんか?断言することはできませんが、現状では不可能な模様です。RAMディスクを作るためのユーティリティやアプリケーションがメモリを3GBまでしか認識しないため、その部分をRAMディスクを割り当てることができないようです。アドレスを書き換えて割り当ててみたという情報もありましたが、やはり使うことはできなかったという結論のようでした。Ramdiskというソフトで使用可能になりました。まとめWIKI64bit版Windowsを入れましたが、4GBフルに認識しませんハードウェアがきちんと対応しているなら、BIOS設定の可能性があります。Feature」などの項目をEnableにすると解決するとのことです。項目が存在しないようならばBIOSを最新のものにアップデートして、それでも存在しないならマザーボードを買い換えるしかないかもしれません。後編の続きの補足を書きました。3GBの壁についてのまとめ(補足)アドレス空間がよくわからない(区別が付かない)という方のために以下の記事を書きました。興味がある方は参照してください。)この記事へのレスポンスURL:タイトル:HTMLタグ:トラックバック(0)コメント(0)DISQUS3GBの壁についてのまとめ(前編)「後藤重治のPC周辺機器売場の歩き方」が面白い記事への反応この記事へのコメントコメント機能を利用するにはログインする必要があります。「Disqus」または「Twitter」「Google」「Facebook」などのアカウントが使用できます。URLこの記事にトラックバックする(FC2ブログユーザー)スパム対策のため、この記事へのリンクのないトラックバックは受信されません。Disqusブログロール空気を読まない中杜カズサブログ名の設定は、まだ。「メルペイ残高」はどう使うのがスマートでお得か?3つのルートから考える「コード決済」は進化か退化か。自分でQRコードをスキャンして初めて実感できた“存在意義”IIJmio(みおふぉん)を解約したのでSIMカードを返却。