コンピュータメモリのパフォーマンス
PC3200やPC2-6400といったメモリモジュールの帯域幅定格に加え、メモリのパフォーマンスを定量化するためにいくつかの数値が使用されます。これらの値は「タイミングパラメータ」と呼ばれ、モジュールの応答時間やレイテンシを数値化したものです。メモリはスプレッドシートのような構造をしており、多くの列と行で構成され、それぞれに1ビットのデータが格納されています。タイミングパラメータは、行や列の変更、データの読み取りといった機能の実行に必要な時間を指定するものです(タイミングパラメータは、全体的な意味を把握するだけで十分であり、詳細を理解する必要はありません)。
DDR-SDRAMおよびDDR2-SDRAMにおいて、メモリベンダーは以下の4つのタイミングパラメータについて、クロックサイクル単位(整数または分数)で値を規定しています。
CASレイテンシ
「CASレイテンシ(CAS Latency:Column Access Strobe Latency)」または「tCL」は、列ストローブ信号が送られてから、出力ピンでデータが利用可能になるまでのクロックサイクル数を指定します。順次メモリにアクセスする場合、行はアクティブなまま維持され、列のみが変更されます。つまり、列を変更するために必要な時間が、メモリの全体的なパフォーマンスにおいて極めて重要となります。「CL」と略されることが多いCASレイテンシは、最も一般的に引用されるタイミングパラメータであり、全体的なパフォーマンスに関して最も重要なメモリタイミングパラメータです。
RAS-CAS遅延
「RAS-CAS遅延(RAS to CAS Delay:Row Access Strobe to CAS Delay)」または「tRCD」は、行ストローブによって行がアクティブ化されてから、その行内の列(メモリセルまたはビットを定義するもの)を読み書きできるまでのクロックサイクル数を指定します。メモリに順次アクセスする場合、行は既にアクティブであり、列のみが変更されるため、tRCDがパフォーマンスに与える影響はわずかです。しかし、メモリにランダムアクセスする場合、メモリコントローラは古い行を非アクティブ化して新しい行をアクティブ化する必要があり、大きなタイミングペナルティが生じます。この状況では、tRCDが速いほどメモリのパフォーマンスが向上します。
RASプリチャージ遅延
「RASプリチャージ遅延(RAS Precharge Delay)」または「tRP」は、1つの行へのアクセスを完了し、その行を非アクティブ化して、次の行を再アクティブ化し、次の行へのアクセスを開始するために必要な時間を指定します。したがって、行を切り替えて次のメモリセルを選択するために必要な時間は、tRPとtRCDの合計となります。メモリへの順次アクセスの場合、tRPが遅くても影響はほとんどありませんが、ランダムアクセスの場合、tRPが速いことは全体的なメモリパフォーマンスに大きく貢献します。
プリチャージ遅延
「プリチャージ遅延(Precharge Delay)」または「tRAS」は、行にアクセス(アクティブ化)してから、その行からデータを読み取れるようになるまでのクロックサイクル数を指定します。行がアクティブ化されると、その行の終端に達するまでオーバーヘッドなしでデータを読み取ることができるため、tRASが全体的なメモリパフォーマンスに与える影響は通常わずかです。他のタイミングパラメータと同様に、tRASの設定が不適切だとシステムの安定性が低下する可能性があります。
これら4つのメモリタイミングパラメータは、常に指定された順序でハイフンで区切られて表示されます。例えば、特定のPC3200 DDR-SDRAMモジュールのタイミングが「2-2-2-5」と記載されている場合、そのモジュールはCAS、tRCD、tRPに2クロックサイクル、tRASに5クロックサイクルというタイミングで動作するように設計されていることを意味します。同様に、PC2-3200 DDR2-SDRAMモジュールのタイミングが「5-5-5-12」であれば、そのモジュールはCAS、tRCD、tRPに5クロックサイクル、tRASに12クロックサイクルで動作するように設計されています(DDR2はDDRよりもはるかに短いクロックサイクルで動作するため、DDRとDDR2のタイミングは直接比較できない点に注意してください)。
タイミングパラメータの理解において重要なのは、システムで設定するタイミングが、メモリモジュールがサポートするタイミングよりも速くならないようにすることです。現代のメモリモジュールには、「SPD(Serial Presence Detect)」と呼ばれる小さなチップが搭載されており、そこにモジュールのタイミングパラメータやその他の特性が保存され、システムBIOSに報告されます。通常の状態であれば、モジュールがBIOSに機能を報告し、BIOSがシステムを適切な設定で構成します。しかし、システムで散発的なメモリエラーが発生する場合、メモリモジュールが名目上サポートしているものよりも緩やかなメモリタイミングをBIOSセットアップで指定することで、メモリを交換せずに問題を解決できることがあります。この手順により、入手困難または極めて高価なメモリを必要とする問題のあるシステムを使い続けられる場合があります。
古いシステムでメモリを追加または交換する際は、以下のメモリタイミングに関する問題に注意してください。
- ほとんどのマザーボードは、どのCLタイミングのメモリでも使用できますが、一部のマザーボードではレイテンシの低減による恩恵を受けられない場合があります。また、特定のCLタイミングのメモリを必要とするマザーボードも存在します。例えば、CL2.5 DDRメモリを必要とするマザーボードではCL3メモリが動作しないことがあり、逆にCL3メモリを必要とするマザーボードではCL2.5メモリが正しく動作しないことがあります。このため、Crucialなどのメモリメーカーが提供するメモリコンフィギュレータユーティリティを利用することをお勧めします。これらは、互換性のあるメモリモジュールをリストアップする際にCASレイテンシの問題を考慮に入れています。
- CLタイミングが異なるメモリを混在できるマザーボードもありますが、高速なメモリはほぼ常に、インストールされた中で最も遅いモジュールのCASレイテンシで動作します。インストールしたすべてのメモリのCLタイミングが同じであれば問題なく動作するものの、CLタイミングが異なるモジュールを混在させると誤作動するマザーボードも存在します。これは静電容量などの小さな電気的特性の違いが原因ではないかと推測されますが、その正確な理由は明確になっていません。CLタイミングの混在による問題は稀ですが、この理由からCLタイミングを混在させないことを推奨します。
- 異なるCLタイミングをサポートするほとんどのマザーボードは、メモリモジュール自体から報告される情報に基づいて自動的に最適に構成されますが、BIOSセットアップのチップセット設定セクションで手動設定が必要な場合もあります。「高速」なモジュールをシステムにインストールした場合は、BIOSセットアップを確認して、システムが高速なCLタイミングを使用するように構成されているか確認することをお勧めします。
- 保守的なメモリタイミングを使用すると、パフォーマンスがわずかに低下する代わりに、システムの安定性と信頼性が向上する可能性があります。例えば、CL2.5 DDRメモリを搭載したシステムで頻繁にクラッシュが発生する場合、CMOSセットアップでCL3のメモリタイミングを使用するように構成することで安定性が向上します。CL3で動作するCL2.5メモリは、CL2.5で動作するCL2.5メモリよりも安定しており、おそらくCL3で動作するCL3メモリよりも安定しています。パフォーマンスの低下は、メモリベンチマークプログラムを実行しない限り気づかないほどわずかなものです。
Ron Morseからのアドバイス
BIOSでメモリタイミングパラメータを誤って設定すると、マシンが全く動作しなくなる可能性があります。Intelチップセットを搭載した一部のシステムでは、POST中に範囲外のメモリタイミングパラメータが検出されると、そのままフリーズしてしまいます。これはビデオやその他のデバイスが初期化される前に発生するため、マシンは完全に停止しているように見えます。ジャンパを使ってCMOSをクリアし、デフォルト値に戻すことが唯一の解決策となることがよくあります。
簡単な解決策
メモリの詳細な仕様に関する議論が難解だと感じる場合は、絶対に最高のメモリパフォーマンスを追求しない限り、それらを無視しても問題ありません。Crucial (http://www.crucial.com) やKingston (http://www.kingston.com) のウェブサイトにアクセスし、メモリコンフィギュレータを使用してマザーボードまたはシステムモデルを指定してください。システムと互換性があると表示されたモジュールの中で最も安価なものを選択し、取り付けるだけで完了します。
0 件のコメント