コンテンツにスキップ

利用者:加藤勝憲/メモリタイミング

メモリタイミングまたはRAMタイミングは、メモリモジュールまたはオンボードLPDDRxのタイミング情報を表す。VLSI とマイクロエレクトロニクスの特性上、メモリチップはコマンドを完全に実行するのに時間を要する。コマンドの実行が早すぎるとデータが破損し、システムが不安定になる。コマンドとコマンドの間に適切な時間があれば、メモリモジュール/チップは、トランジスタを完全にスイッチングし、コンデンサを充電し、メモリコントローラに情報を正しくシグナルバックする機会を与えられる。システムの性能はメモリをいかに速く使えるかにかかっているため、このタイミングはシステムの性能に直接影響する。

Memory timings or RAM timings describe the timing information of a memory module or the onboard LPDDRx. Due to the inherent qualities of VLSI and microelectronics, memory chips require time to fully execute commands. Executing commands too quickly will result in data corruption and results in system instability. With appropriate time between commands, memory modules/chips can be given the opportunity to fully switch transistors, charge capacitors and correctly signal back information to the memory controller. Because system performance depends on how fast memory can be used, this timing directly affects the performance of the system.

最近のSDRAM(シンクロナスダイナミックランダムアクセスメモリ)のタイミングは、一般的に4つのパラメータで示される:CL、TRCD、TRP、TRASをクロックサイクル単位で表し、7-8-8-24のようにハイフンで区切った4つの数字で表記するのが一般的である。4つ目(tRAS)は省略されることが多く、5つ目のコマンド・レートが追加されることもある(通常は2Tまたは1Tで、2N、1Nとも表記される)。これらのパラメータは(より大きな全体の一部として)、ランダム・アクセス・メモリに発行される特定のコマンドのクロック・レイテンシを指定する。数字が小さいほど、コマンド間の待ち時間が短いことを意味する(クロック・サイクルで決定)。

The timing of modern synchronous dynamic random-access memory (SDRAM) is commonly indicated using four parameters: CL, TRCD, TRP, and TRAS in units of clock cycles; they are commonly written as four numbers separated with hyphens, e.g. 7-8-8-24. The fourth (tRAS) is often omitted, or a fifth, the Command rate, sometimes added (normally 2T or 1T, also written 2N, 1N). These parameters (as part of a larger whole) specify the clock latency of certain specific commands issued to a random access memory. Lower numbers imply a shorter wait between commands (as determined in clock cycles).

絶対的なレイテンシ(ひいてはシステム性能)を決定するのは、タイミングとメモリクロック周波数の両方である。メモリのタイミングを実際のレイテンシに変換する場合、タイミングがクロックサイクル単位であることに注意することが重要である。クロック周波数がわからなければ、あるタイミングのセットが他のものより「速い」かどうかを述べることは不可能である。

What determines absolute latency (and thus system performance) is determined by both the timings and the memory clock frequency. When translating memory timings into actual latency, it is important to note that timings are in units of clock cycles, which for double data rate memory is half the speed of the commonly quoted transfer rate. Without knowing the clock frequency it is impossible to state if one set of timings is "faster" than another.

例えば、DDR3-2000メモリのクロック周波数は1000MHzで、クロックサイクルは1nsである。この 1 ns クロックでは、CAS レイテンシが 7 の場合、絶対 CAS レイテンシは 7 ns となります。より高速なDDR3-2666メモリ(クロック周波数1333MHz、1サイクルあたり0.75ns)のCASレイテンシは9と大きいかもしれないが、クロック周波数1333MHzの場合、9クロックサイクルを待つ時間は6.75nsしかない。DDR3-2666 CL9がDDR3-2000 CL7メモリよりも絶対CASレイテンシが小さいのはこのためである。

For example, DDR3-2000 memory has a 1000 MHz clock frequency, which yields a 1 ns clock cycle. With this 1 ns clock, a CAS latency of 7 gives an absolute CAS latency of 7 ns. Faster DDR3-2666 memory (with a 1333 MHz clock, or 0.75 ns per cycle) may have a larger CAS latency of 9, but at a clock frequency of 1333 MHz the amount of time to wait 9 clock cycles is only 6.75 ns. It is for this reason that DDR3-2666 CL9 has a smaller absolute CAS latency than DDR3-2000 CL7 memory.

例えば、DDR3-2000メモリのクロック周波数は1000MHzで、クロックサイクルは1nsである。この 1 ns クロックでは、CAS レイテンシが 7 の場合、絶対 CAS レイテンシは 7 ns となります。より高速なDDR3-2666メモリ(クロック周波数1333MHz、1サイクルあたり0.75ns)のCASレイテンシは9と大きいかもしれないが、クロック周波数1333MHzの場合、9クロックサイクルを待つ時間は6.75nsしかない。DDR3-2666 CL9がDDR3-2000 CL7メモリよりも絶対CASレイテンシが小さいのはこのためである。

Both for DDR3 and DDR4, the four timings described earlier are not the only relevant timings and give a very short overview of the performance of memory. The full memory timings of a memory module are stored inside of a module's SPD chip. On DDR3 and DDR4 DIMM modules, this chip is a PROM or EEPROM flash memory chip and contains the JEDEC-standardized timing table data format. See the SPD article for the table layout among different versions of DDR and examples of other memory timing information that is present on these chips.

最近のDIMMには、SPD (Serial Presence Detect) ROMチップが搭載されており、自動設定用の推奨メモリタイミングに加え、オーバークロックによる迅速かつ簡単な[誰に聞いた?]性能アップを可能にする、より高速なタイミング情報(および高電圧)のXMPプロファイルが含まれている。PCのBIOSでは、ユーザーが手動でタイミングを調整することで、パフォーマンスを向上させたり(安定性が低下する危険性がある)、場合によっては(推奨タイミングを使用することで)安定性を向上させたりすることができる。Modern DIMMs include a Serial Presence Detect (SPD) ROM chip that contains recommended memory timings for automatic configuration as well as XMP profiles of faster timing information (and higher voltages) to allow a quick and easy  performance boost via overclocking. The BIOS on a PC may allow the user to manually make timing adjustments in an effort to increase performance (with possible risk of decreased stability) or, in some cases, to increase stability (by using suggested timings).[要説明][<span title="Why would one need special BIOS functionality to use recommended / default timings for memory? (December 2020)">clarification needed</span>]

Note:メモリ帯域幅はメモリのスループットを測定するもので、一般にレイテンシではなく転送レートによって制限される。SDRAMの複数の内部バンクへのアクセスをインターリーブすることで、ピーク転送レートで連続的にデータを転送することが可能である。帯域幅の増加は、レイテンシという代償を伴う可能性がある。特に、歴代のDDRメモリは転送レートが高くなる一方で、絶対的なレイテンシは大きく変化せず、特に市場に出始めたばかりの頃は、一般的に新しい世代の方が前の世代よりもレイテンシが長くなる。

Memory bandwidth measures the throughput of memory, and is generally limited by the transfer rate, not latency. By interleaving access to SDRAM's multiple internal banks, it is possible to transfer data continuously at the peak transfer rate. It is possible for increased bandwidth to come at a cost in latency. In particular, each successive generation of DDR memory has higher transfer rates but the absolute latency does not change significantly, and especially when first appearing on the market, the new generation generally has longer latency than the previous one.

メモリ帯域幅を増やすと、メモリレイテンシが増加しても、複数のプロセッサや複数の実行スレッドを持つコンピュータシステムの性能が向上する可能性がある。また、専用ビデオメモリーを持たず、通常のRAMをVRAMとして使用する統合グラフィックプロセッサーの性能も、帯域幅の向上によって向上する。最近のx86プロセッサは、命令パイプライン、アウトオブオーダー実行、メモリプリフェッチ、メモリ依存予測、分岐予測などの技術を駆使して高度に最適化されており、RAM(およびその他のキャッシュ)からメモリを先読みして実行速度をさらに高めている。パフォーマンス最適化によってこのように複雑化するため、メモリのタイミングがパフォーマンスに与える影響を確実に述べることは困難である。ワークロードによってメモリ・アクセス・パターンが異なるため、メモリ・タイミングが性能に与える影響も異なる。

Increasing memory bandwidth, even while increasing memory latency, may improve the performance of a computer system with multiple processors and/or multiple execution threads. Higher bandwidth will also boost performance of integrated graphics processors that have no dedicated video memory but use regular RAM as VRAM. Modern x86 processors are heavily optimized with techniques such as instruction pipelines, out-of-order execution, memory prefetching, memory dependence prediction, and branch prediction to preemptively load memory from RAM (and other caches) to speed up execution even further. With this amount of complexity from performance optimization, it is difficult to state with certainty the effects memory timings may have on performance. Different workloads have different memory access patterns and are affected differently in performance by these memory timings.

Name Symbol Definition
CAS latency CL The number of cycles between sending a column address to the memory and the beginning of the data in response. This is the number of cycles it takes to read the first bit of memory from a DRAM with the correct row already open. Unlike the other numbers, this is not a maximum, but an exact number that must be agreed on between the memory controller and the memory.
Row Address to Column Address Delay TRCD The minimum number of clock cycles required between opening a row of memory and accessing columns within it. The time to read the first bit of memory from a DRAM without an active row is TRCD + CL.
Row Precharge Time TRP The minimum number of clock cycles required between issuing the precharge command and opening the next row. The time to read the first bit of memory from a DRAM with the wrong row open is TRP + TRCD + CL.
Row Active Time TRAS The minimum number of clock cycles required between a row active command and issuing the precharge command. This is the time needed to internally refresh the row, and overlaps with TRCD. In SDRAM modules, it is simply TRCD + CL. Otherwise, approximately equal to TRCD + 2×CL.
Notes:
  • RAS : Row Address Strobe, a terminology holdover from asynchronous DRAM.
  • CAS : Column Address Strobe, a terminology holdover from asynchronous DRAM.
  • TWR : Write Recovery Time, the time that must elapse between the last write command to a row and precharging it. Generally, TRAS = TRCD + TWR.
  • TRC : Row Cycle Time. TRC = TRAS + TRP.

Handling in BIOS[編集]

In Intel systems, memory timings and management are handled by the Memory Reference Code (MRC), a part of the BIOS.[1] [better source needed][2]

See also[編集]

脚注・参考文献[編集]

  1. ^ Posted by Alex Watson, possibly repost from original content on custompc.com [unclear] (2007年11月27日). “The life and times of the modern motherboard”. p. 8. 2012年7月22日時点のオリジナルよりアーカイブ。2016年12月23日閲覧。
  2. ^ Pelner. “Minimal Intel Architecture Boot Loader (323246)”. Intel. 2022年11月12日閲覧。

[[Category:主記憶装置]]