元麻布春男の週刊PCホットライン

1GB=2,000円時代のメモリ増設を考える(下)




●大容量メモリを搭載する際の制約

 前回検証したように、現行のOS環境で安価になった大容量メモリを活用するには、さまざまな制約があることがわかった。ここでそれを簡単にまとめておこう。

 現在のx86プロセッサ(32bitモードおよび64bitモード)では、ソフトウェアはプロセス毎に独立した仮想アドレス空間で実行される。これが32bitモードでは4GB(32bit)、64bitモードでは256TB(48bit)となる(表1)。物理アドレス空間というのは、この仮想アドレス空間に提供するメモリを貯めたプールのようなもので、Pentium Pro以降のプロセッサではPAE(物理アドレス拡張)と呼ばれる技術を用いて、最大64GB(36bit)に拡張されている(クライアントPC向け製品の場合)。64bit拡張では、このPAEのメカニズムを利用したので、64bitモードで利用可能な物理アドレス空間は32bitモードのPAEと変わらない。

【表1】Intelプロセッサのサポートするアドレス空間
CPU(Intelのクライアント向け製品の場合)仮想アドレス空間物理アドレス空間
x86(32bit)モード4GB(32bit)64GB(36bit)/PAE
x64(64bit)モード256TB(48bit)64GB(36bit)

 要するに、各プロセス毎に4GBの仮想アドレス空間が与えられ、その中で実際に利用するメモリの分だけ、物理アドレス空間上の実メモリが割り当てられる、という仕組みだ。こうすることで、プロセス間の独立性が高まると同時に、メモリの利用効率を高められる。つまり1つのプロセスが利用できるアドレス空間は4GBまでだが、そこにメモリを提供するプールはそれより深くできる、ということになる。

 ではそのプールはどれくらい深くできるのか。CPUの仕様としては上で述べたように64GBである。が、実際には上限はチップセットに内蔵されるメモリコントローラの仕様で決まる。チップセットがサポート可能なアドレス空間は、945チップセットまでは4GB、955X以降のチップセットでは64GBまで拡張されている。

【表2】Intel製チップセットのアドレス空間と実メモリ搭載可能量
チップセットアドレス空間実メモリ搭載可能量
915~945以前のチップセット4GB4GB
955X以降のチップセット64GB4~8GB

 しかし、このアドレス空間をすべてメモリで埋め尽くせるわけではない。実際のメモリチップに接続するメモリコントローラの信号線は、コストなどの理由により、必ずしもアドレス空間全体を満たせるほど用意されていないからだ。こうした制約により、チップセット(メモリコントローラ)に接続できる実メモリ搭載可能量が決まる。アドレス空間が4GBまでだった945以前のチップセットでは、実メモリ搭載可能量はアドレス空間の4GBを越えることができず、955X以降のチップセットでも実メモリ搭載可能量は8GBまでとなっている。また、955X以降のチップセットでも、バリューセグメント向けのチップセットでは、コストダウンのために実メモリ搭載可能量が4GBに制限されているものなど(G31/P31など)もある。

 さらにチップセットのアドレス空間はメモリだけでなく、周辺I/Oの入出力(メモリマップドI/O)などのシステム領域にも使われる。4GBのアドレス空間しかサポートしない945以前のチップセットでは、この4GBのエリアにシステム領域を配置せねばならず、その分(700~900MB程度、システム構成により変動する)メモリが利用可能なアドレススペースが減少する。そして、減少分を取り戻すことはできない。

 955X以降のチップセットでも、最初の4GBのアドレス空間にシステム領域を配置する必要がある。が、4GBを越えるアドレス空間をサポートするチップセットでは、システム領域により押し出された格好のメモリを4GB以上のアドレス空間に再配置できる。したがって、OSが4GB以上のアドレス空間にアクセスできる64bit版であれば、この分のメモリを取り戻すことが可能だ。

 つまり、4GBのメモリを搭載し利用できるのは、これらすべての条件を満たした場合となる。すなわち、PAEをサポートしたCPU、955X以降のチップセット、4GBのメモリ、64bit版のOSが必要だ。この条件を満たしたシステムであれば、メモリを8GB搭載しても、8GBをそのまま利用できる可能性が高い。

●問題はチップセットとOS

 これらの条件のうち、CPUが問題になることはまずない。PAEのサポートはPentium Proに始まっており、これをサポートしていないCPUは考えられないからだ。メモリの価格が障害にならないことは、この記事の大前提である。問題になるのはチップセットとOSだ。

 Intelのチップセットで64GBのアドレス空間をサポートしたのは955X以降だが、このリリースは2005年4月。しかし、955Xはハイエンド向けの位置付けで、あまり普及していない。メインストリームの965チップセットが64GBのアドレス空間をサポートしたのは2006年6月で、まだ1年半程度の歴史しかない。言い換えれば1年半より前に購入されたシステムの大半は、メモリ搭載の上限は4GBで、しかも4GBをフルに使うことは32bit版/64bit版のOSを問わずできないことになる。実際には965チップセットが発表された後も、945チップセットファミリの新しいチップセットがバリューセグメント向けに投入されており(946GZ、946PLなど)、なおさら注意が必要となる。

 OSについては、64bit版を選択することで4GB以上のメモリを利用する条件が整う。リテールパッケージ版であれば、32bit版と64bit版はライセンスが共通しているため、1台のPCで利用する限り新たなライセンスは必要ない(Ultimate以外は、64bit版のメディアを実費を払って別途申し込む必要がある)。が、DSP版(OEM版)の場合、エディションを問わず32bit版と64bit版が分かれているため、現在32bit版を利用しているユーザーは、改めて64bit版を購入せねばならない。

【表3】Windowsのサポートするアドレス空間
 32bit版64bit版
OS仮想アドレス空間物理アドレス空間仮想アドレス空間物理アドレス空間
Windows XP Professional4GB4GB16TB128GB
Windows Vista Home Basic4GB4GB16TB8GB
Windows Vista Home Premium4GB4GB16TB16GB
Windows Vista Business4GB4GB16TB128GB
Windows Vista Enterprise4GB4GB16TB128GB
Windows Vista Ultimate4GB4GB16TB128GB

 もう1つ厄介なのは64bit版固有の問題だ。64bit版は基本的に32bit版の上位互換と考えることができるが、一部でどうしても互換性を維持できない部分がある。それはデバイスドライバが両者で異なる点と、カーネルモードで動作するモジュール(カーネルモードのデバイスドライバを含む)のすべてにデジタル署名が必要であることの2点だ。

 一般的なアプリケーションソフトの多くは、カーネルモードで動作するモジュールを含んでいない。こうしたアプリケーションであれば、32bit版のOSであろうと、64bit版であろうと利用することができる(ただしWindows Vistaへの対応が必要になるのは、32bit版/64bit版を問わない)。厄介なのはハードウェア(周辺機器)に付属するユーティリティやアプリケーションで、これらは特定のデバイスドライバを前提にしていることが多い。こうしたものの中には、Vista非対応だったり、32bit版のみの対応であったりすることが少なくない。

 また、ハードウェアに直接関わらなくてもアンチウイルスソフトや、仮想CDマウントソフトなど、内部的にデバイスドライバを利用しているアプリケーションも存在する。こうしたアプリケーションは、Vista 64bit版への対応を確認せねばならない。Vistaの場合、32bit版であってもVista対応が必要になることが多い。64bit版であればそのハードルがさらに上がると考えておくべきだろう。

●大容量メモリを搭載できないMacと、64bit化が進まないWindows

 ソフトウェアの動作そのものには問題がなくても、64bit版はサポート対象外にされていることも多い。この理由を端的に言えば、64bit版が普及していない、ということに尽きる。量販店の店頭を見ても、Vista 64bit版が搭載されたPCなど1台も置かれていない。普及していない環境をサポートするのはPCベンダにとっても負担だし、ましてやソフトウェアの動作検証をしても報われない。というわけで64bit版の普及は遅々として進まないというのが実情だ。

 実際、Microsoftの対応を見ても、どこまで本気で64bit環境への移行を進めようとしているのかハッキリとしない。Ultimateを除き、Vistaのパッケージに64bit版のメディアが同梱されていないこともその表れだ。Microsoftのアプリケーションで64bit版への対応を謳うのはサーバーアプリケーションだけで、Officeなどクライアントアプリケーションに64bit版は存在しない。手段を選ばなければ、64bit版の価格を32bit版より少し低く設定するだけで移行するユーザーは増えると思うのだが、そうした様子もない。どうもMicrosoftはVistaへの移行を促すのに手一杯で、64bit環境への移行にまで手が回らないようだ。

Mac OS X Leopard

 今、64bit環境への移行が着々と進んでいるのはMac OSの世界だ。最新のMac OS X Leopardではライブラリである“Cocoa”も含め、OS全体が64bit化され、その能力を持ったMac(Core 2 Duo搭載Mac)では自動的に64bit環境が利用される。ハードウェアがAppleによりコントロールされたMacの世界では、Windowsのようにデバイスドライバが問題になることも少ない。何せ、Mac Proを除いて、拡張スロットを持ったMacは存在しないのである(MacBook ProのExpressスロットは除く)。

 というわけで64bit化については有利なMacだが、最大の難点はメモリをたくさん搭載可能な製品がないことだ。FB-DIMMをサポートしたMac Proは別として、現行のMacはモバイルアーキテクチャをベースにしているため、メモリ搭載量の上限が4GB止まりとなる。4GB=32bitということであり、せっかくの64bit環境を生かし切れない印象だ。8GBのメモリを搭載可能なWindows PCは64bit環境への移行が進まず、64bit環境への移行が進むMacにはメモリが積めない。世の中なんともうまくいかないものだ。

□関連記事
【12月7日】【元麻布】1GB=2,000円時代のメモリ増設を考える(中)
http://pc.watch.impress.co.jp/docs/2007/1207/hot518.htm
【11月27日】【元麻布】1GB=2,000円時代のメモリ増設を考える(上)
http://pc.watch.impress.co.jp/docs/2007/1127/hot517.htm

バックナンバー

(2007年12月11日)

[Reported by 元麻布春男]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2007 Impress Watch Corporation, an Impress Group company. All rights reserved.