列アドレスストローブ遅延( CAS遅延またはCLとも呼ばれる)は、READコマンドからデータが利用可能になるまでのクロックサイクルの遅延です。[ 1 ] [ 2 ]非同期DRAMでは、この間隔はナノ秒(絶対時間)で指定されます。[ 3 ]同期DRAM では、この間隔はクロックサイクルで指定されます。遅延は絶対時間ではなくクロックティックの数に依存するため、クロックレートが異なると、同じモジュールを使用してもSDRAMモジュールがCASイベントに応答する実際の時間が異なる場合があります。
ダイナミックRAMは長方形の配列で配置されています。各行は水平方向のワード線によって選択されます。特定の行に論理ハイ信号を送ると、その行にあるMOSFETが有効になり、各ストレージコンデンサが対応する垂直方向のビット線に接続されます。各ビット線はセンスアンプに接続されており、ストレージコンデンサによって生じる小さな電圧変化を増幅します。この増幅された信号はDRAMチップから出力されるとともに、ビット線を逆方向に駆動して行をリフレッシュします。
ワード線がアクティブでないときは、アレイはアイドル状態であり、ビット線は高電圧と低電圧の中間の電圧でプリチャージされた状態[ 4 ]に保持されます。行がアクティブになると、この不確定信号はストレージコンデンサによって高電圧または低電圧に偏向されます。
メモリにアクセスするには、まず行を選択してセンスアンプにロードする必要があります。ロードされた行はアクティブになり、列にアクセスして読み書きできるようになります。
CASレイテンシとは、カラムアドレスとカラムアドレスストローブ(CAS)信号がメモリモジュールに提示されてから、対応するデータがメモリモジュールによって利用可能になるまでの遅延時間のことです。目的の行は既にアクティブになっている必要があります。アクティブになっていない場合は、追加の時間が必要になります。
例えば、一般的な 1 GiB SDRAMメモリ モジュールには、それぞれ 128 MiBの記憶容量を提供する 8 つの独立した 1ギビビットDRAM チップが含まれている場合があります。各チップは内部的に 2 27 = 128 Mibitの 8 つのバンクに分割され、それぞれが独立した DRAM アレイを構成します。各バンクには、それぞれ 2 13 = 8192 ビットの行が 2 14 = 16384 行含まれています。メモリの 1 バイト (各チップから、DIMM 全体で合計 64 ビット) にアクセスするには、3 ビットのバンク番号、14 ビットの行アドレス、および 13 ビットの列アドレスを指定します。
非同期DRAMでは、メモリはクロックではなく設定されたタイミングに基づいてメモリバス上のメモリコントローラによってアクセスされ、システムバスとは分離されていました。 [ 3 ]しかし、同期DRAMはクロックレートに依存するCASレイテンシを持っています。したがって、 SDRAMメモリモジュールのCASレイテンシは絶対時間ではなくクロックティックで指定されます。
メモリモジュールには複数の内部バンクがあり、あるバンクのアクセス遅延中に別のバンクからデータを出力できるため、パイプライン処理によってCAS遅延に関係なく出力ピンを100%使用状態に維持できます。達成可能な最大帯域幅はクロック速度のみによって決まります。残念ながら、この最大帯域幅は、読み取るデータのアドレスが十分に前にわかっている場合にのみ達成できます。アクセスするデータのアドレスが予測できない場合、パイプラインストールが発生し、帯域幅が失われる可能性があります。完全に未知のメモリアクセス(ランダムアクセスとも呼ばれます)の場合、関連する遅延は、開いている行を閉じる時間と、目的の行を開く時間と、そこからデータを読み取るためのCAS遅延の合計です。ただし、空間的局所性のため、同じ行の複数のワードにアクセスすることが一般的です。この場合、経過時間はCAS遅延のみによって決まります。
最新のDRAMモジュールのCASレイテンシは時間ではなくクロックティックで指定されているため、異なるクロック速度でのレイテンシを比較する際には、公平な比較を行うためにレイテンシを絶対時間に変換する必要があります。数値的なCASレイテンシが高くても、クロック速度が速ければ実際には短い時間となる場合があります。同様に、クロック速度を下げたメモリモジュールでは、同じCASレイテンシ時間を維持するためにCASレイテンシのサイクル数を減らすことができます。
ダブルデータレート(DDR)RAMは、クロックサイクルごとに2回のデータ転送を実行し、通常はこの転送速度で表されます。CASレイテンシは転送回数(クロックの立ち上がりエッジと立ち下がりエッジの両方で発生する)ではなくクロックサイクルで指定されるため、CASレイテンシを計算する際には、クロックレート(転送速度の半分)を使用することが重要です。
もう一つの複雑な要因は、バースト転送の使用です。最新のマイクロプロセッサでは、キャッシュラインサイズが64バイトの場合があり、64ビット幅(8バイト)のメモリを埋めるには8回の転送が必要になります。CASレイテンシは、メモリの最初のワードを転送するのにかかる時間しか正確に測定できません。8ワードすべてを転送するのにかかる時間は、データ転送速度にも依存します。幸いなことに、プロセッサは通常、8ワードすべてを待つ必要はありません。バーストは通常、クリティカルワードの順に送信され、最初のクリティカルワードはマイクロプロセッサによってすぐに使用できます。
以下の表では、データ転送速度は1秒あたりの百万転送(メガ転送とも呼ばれる)(MT/s)で示され、クロック速度は1秒あたりの百万サイクル(MHz)で示されています。