P5B-EでMemory RemappingしてもOSから3GB認識する
ASUS P5Bシリーズ Part28
http://pc11.2ch.net/test/read.cgi/jisaku/1215880378/
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でちょっとさみしい。