P5B-EでMemory RemappingしてもOSから3GB認識する

ASUS P5Bシリーズ Part28
http://pc11.2ch.net/test/read.cgi/jisaku/1215880378/

より。ASUS P5B-E Plusの最新BIOS

ftp://ftp.asus.com.tw/pub/ASUS/mb/socket775/P5B-E%20Plus/P5B-E-ASUS-PLUS-0636.zip

BIOSの設定で"Memory Remapping Enable"にしても、OSから認識するメモリの量は3GBのまま。残りのメモリ搭載量-3GBををGavotte RamdiskをつかってRAMディスクとして使えるようになりました。


32bit OSで、4GB以上のメモリを搭載しても、4GB以上の分はOSから認識しないばかりか、実際には3GB程度しか認識されない。

これは、32bitで認識可能な4GB以内のアドレスにMMIO(Memory Maped I/O)という仕組みでデバイスとデータI/Oを行うためにアドレス空間を予約してしまうため。

ASUS P5Bシリーズの場合、1GBくらいこのMMIOのために持ってかれる。

64bit OSの場合でも、デバイスによってはこの4GB未満のアドレス空間MMIOを確保するものがある。
それを回避するのがMemory Remappingという仕組みで、通常4GB未満のアドレスに割り当てられる物理メモリを4GB以降のアドレスに再割り当て(Remap)することで、物理メモリをMMIOに邪魔されずに全領域使えるようにできるようになっている。

ASUS P5Bシリーズの場合、このMemory Remappingを有効にすると、2GB分が4GB以降のアドレスにリマップされる。


ここで、例のGavotte Ramdiskを使った場合。

32bit OSで、4GB以上のメモリを搭載して、Memory Remappingを無効にすると、1GB分は物理メモリとMMIOのアドレスが重なってしまうので、Gavotte Ramdiskを使ったRAMディスクは、搭載メモリ量-4GB分しか用意されない。1GB分無駄。

32bit OSで、4GB以上のメモリを搭載して、Memory Remappingを有効にすると、無駄なメモリは解消されるんだけど、OSから認識される分が2GBで、RAMディスクとして用意されるのは搭載メモリ-2GBでちょっとさみしい。