Q29 |
AMDに続きインテル社も64ビットCPUを続々と投入してきていますが、これまでのCPUとはどう違うのですか。 |
|
A29 |
インテル社が64ピット技術として「EM64T」を搭載したCPUを投入してきています。
これは基本的にはAMDのAthlon64と同等の機能であり、IA-32命令(32ビットコード)に64ビット命令を拡張したCPUです。
|
|
これらの64ビットCPUに対応するためにマイクロソフトも64ビットCPU対応Windowsとして、「WindowsXP Professional x64 Edition」を投入してきました。これは64ビットCPUに最適化されたWindowsXPであり、AMD64もしくはEM64T(Extended Memory 64 Technology)という64ビット技術に対応したCPUを搭載した機種に限られます。
下表は、64ビットに対応したCPUです。これらのCPUを搭載したマシンは、「WindowsXP Professional x64 Edition」を使用することにより、その本来の性能を発揮できるわけである。もちろんアプリケーションもそれに対応している必要があるが、x64Editionに付属しているアプリケーションは64ビット対応である。
|
|
メーカー |
デスクトップ用 |
ノート用 |
サーバー用 |
米インテル |
Pentium4 6xxなど |
― |
Xeon |
米AMD |
Athlon 64 |
Turion 64、Athlon 64 |
Opteron |
|
|
64ビットCPUを搭載することのメリットのひとつとして、メモリ空間が広大になっていることがあげられる。
x64 Editionでは、x64系CPUの仕様に合わせてメモリー容量も変更されている。物理的なメモリー容量は4GBから128GBに拡張され、仮想メモリーの容量(アドレス空間)は4GBから16TBと4000倍に拡張された。特に注目すべきは後者だ。プログラムで扱える仮想メモリーのアドレス空間が大きいと、巨大なデータをより安定して処理できるからである。
問題になるのは、32ビットコードを含むアプリケーションを動作させる場合である。基本的に64ビットCPUでは、64ビット命令コードを実行する場合に最適化されているので、32ビット命令コードをうまく実行できないことも考えられる。
特にx64 Editionと従来のWindowsではOSとアプリケーションのインタフェースが異なり、32ビットアプリは64ビットOSを呼び出せない。
この問題を解決するため、x64 EditionはWOW64(Windows 32 on Windows 64)という仕組みを備えている。32ビットアプリが行った32ビットのOS呼び出しは、WOW64を介して64ビットのOS呼び出しに変換される。この働きによって、32ビットアプリはあたかも32ビットOSの上で動いているように振舞えるわけだ。ユーザーにとっては、アプリケーションが32ビットなのか64ビットなのかを意識せずに利用できる点がうれしい。OS呼び出しの変換というオーバーヘッドは生じるが、アプリの実行速度にはほとんど影響ないという。
|
|
|
Windows XP Professional
(32ビット) |
Windows XP Professional
x64
Edition(64ビット) |
対応CPU数 |
2個 |
2個 |
最大物理メモリー容量 |
4GB |
128GB |
仮想メモリー |
4GB |
16TB |
デバイスドライバー |
従来の32ビット版 |
新たに64ビット版が必要 |
動作する
アプリケーション |
16ビット |
○(一部を除く) |
× |
32ビット |
○ |
○(一部を除く) |
64ビット |
× |
○ |
|
  |