IT管理者のための速修講座:64ビット・コンピューティング(2/3 ページ)

» 2005年10月10日 11時13分 公開
[Jem-Matzan,IT Manager's Journal]

パフォーマンス上の優位点

 AMD64命令セット・アーキテクチャには、その前身であるIA32よりもパフォーマンス上明らかに有利となる強化が幾つか施されている。しかし、そうした優位点を真に引き出すには、AMD64またはEM64Tハードウェアと、それを64ビット・モードでサポートするオペレーティング・システムが必要である。実運用に使用するための堅牢な完全64ビット環境を作るのであれば、オペレーティング・システムにはGNU/Linuxがよいだろう。中でも、SUSE LinuxRed Hat Enterprise LinuxMandrivaのビジネス向け製品など、十分な実績がありビジネスとしてのサポートが付いているディストリビューションが好ましい。Microsoftの製品では、Windows XPやWindows Server 2003の新しいエディションが64ビット・ハードウェアをサポートしている。Sunでは、Solaris 10の新しいエディションがAMD64に対応している。また、FreeBSD、OpenBSD、NetBSDにも、十分な実績のあるAMD64版がある。

 それでは、完全64ビットAMD64環境では、パフォーマンスはどの程度向上するのだろうか。また、平均的なビジネス・ユーザーにとってどれ程の意味があるのだろうか。64ビット・モードのAMD64でパフォーマンスがどの程度向上するかを理解するには、プロセッサの動作について、その基本を理解する必要がある。

 プログラムはCPUを使って情報を処理するが、そのCPUは命令サイクルを単位として動作する。各命令サイクルは、次の2段階を経て進行する。

  1. 命令の取得――CPUは要求された命令を一時的な保持回路(命令レジスタ)に置き、そのマシン・コードを具体的な動作に変換する。
  2. 命令の実行――そのものずばり、命令を実行する段階。通常、メモリ上の1個所からデータを読み取り、処理し、同じ場所またはメモリ上の別の場所に書き戻す。

 プロセッサが受け取る命令は命令語という形式になっており、その長さはアーキテクチャが定める標準的長さに一致する。たとえば、32ビット・システムの命令語は最大32ビットであり、64ビット・プロセッサはその2倍の長さの命令語を処理する。この長い命令を保持するために、AMD64アーキテクチャはIA32の2倍の長さの命令レジスタを持っている。したがって、64ビット・モードで動作するからといって命令サイクル自体が速くなるわけではない。速くなるのではなく、同じ時間内に、より長い命令を処理できるのである。

 AMD64アーキテクチャでは、汎用レジスタも長くなっており、本数も多い。汎用レジスタというのは、データやメモリ・アドレスを一時的に保持するための領域である。汎用レジスタが多ければ、プロセッサは、それだけ多くのデータをレジスタに置いておくことができ、その分、高速に処理できる。データがCPUの近くにあれば、それだけ高速に処理することができるのである。たとえば、データがハードドライブ上にある場合を考えてみてほしい。データがレジスタにある場合に比べ、データを取り出す時間は遥かに長くかかるだろう。この事情はメモリ・キャッシュと似ている。キャッシュはCPUに近いところにあり(汎用レジスタはさらにCPUに近い)、最近取り出されたデータが保持されている。汎用レジスタの場合と同じ理由で、大きなキャッシュを持つプロセッサは高速である。キャッシュ・メモリはRAMよりもCPUに近く、CPUがキャッシュのデータを使う際の待ち時間は RAMの場合よりも短いからである。したがって、ハードドライブやRAM上のデータを使わない場合は、キャッシュ・メモリを使ってもパフォーマンス上の直接的な利点はない。

 32ビットと64ビットの違いを理解しやすいように、プロセッサを荷物運びのロバに喩えてみよう。第1のロバは時速5キロで32キロの荷物を運び、第2のロバは同じ速度で64キロの荷物を運ぶとする。どちらのロバも、目的地に着くのに同じ時間がかかる。しかし、第2のロバで運べば、同じ時間でより多くの荷物を運ぶことができる。ここで注意してほしいのは、荷物が32キロを超えていなければ、第2のロバと第1のロバに優劣はないという点である。つまり、20キロの藁を運ぶなら、どちらのロバを使っても同じなのだ。しかし、10トンの煉瓦を運ぶ場合なら、第2のロバは第1のロバの半分の時間で作業を終えることができる。

 コンピュータの世界に話を戻せば、データの大きな固まり――高精細度ビデオやオーディオ、データベース、複雑な科学技術計算(数値計算や3Dモデルのレンダリングなど)――を処理する必要がなければ、64ビット環境にしても、さしたる御利益はないということである。この場合、プロセッサは、その持てる能力を最大限に発揮できないのである。言い換えれば、電子メールの受信、Webの閲覧、文書の作成、音楽の演奏、映画の再生、データ入力などでは、64ビット環境に利点はないということだ。

次ページ:モデルとベンダー

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ