この記事では、DDR4 SDRAMの帯域幅が約8倍のDDR1 SDRAMであることを示しています。ただし、列アドレスを設定してからデータが使用可能になるまでの時間は、10%(13.5ns)しか短縮されていません。クイック検索により、最速の非同期のアクセス時間が示されます。SRAM(18歳)は7nsです。SDRAMのアクセス時間が非常に遅くなったのはなぜですか?その理由は、経済的、技術的、または基本的なものですか?
この記事では、DDR4 SDRAMの帯域幅が約8倍のDDR1 SDRAMであることを示しています。ただし、列アドレスを設定してからデータが使用可能になるまでの時間は、10%(13.5ns)しか短縮されていません。クイック検索により、最速の非同期のアクセス時間が示されます。SRAM(18歳)は7nsです。SDRAMのアクセス時間が非常に遅くなったのはなぜですか?その理由は、経済的、技術的、または基本的なものですか?
回答:
これは、遅延を減らすよりもDRAMの帯域幅を増やす方が簡単で安価だからです。RAMの開いた行からデータを取得するには、簡単な作業量が必要です。
列アドレスをデコードする必要があり、アクセスする行を選択するマルチプレクサを駆動する必要があり、データはチップを越えて出力バッファに移動する必要があります。これは、SDRAMチップが高いロジック速度ではなく、高いラム密度に合わせたプロセスで製造されていることを考えると、特に時間がかかります。DDR(1,2,3または4)を使用して帯域幅を増やすには、ほとんどのロジックを拡張またはパイプライン化することができ、前世代と同じ速度で動作できます。より高速にする必要があるのは、DDRピンのI / Oドライバーだけです。
対照的に、待ち時間を短縮するには、操作全体を高速化する必要がありますが、これははるかに困難です。おそらく、RAMの一部は、高速CPUのプロセスと同様のプロセスで作成する必要があり、コストが大幅に増加します(高速プロセスはより高価であり、さらに各チップは2つの異なるプロセスを通過する必要があります)。
CPUキャッシュとRAMおよびハードディスク/ SSDを比較すると、ストレージが大きいこととストレージが速いことの間には反比例の関係があります。L1 $は非常に高速ですが、32〜256kBのデータしか保持できません。非常に高速である理由は、小さいためです。
階層を上に移動すると、各ストレージオプションの容量が大きくなりますが、面積が大きくなり、それを使用するデバイスから離れるので、デバイスの速度が遅くなります。
C_Elegansは答えの一部を提供します— メモリサイクルの全体的な遅延を減らすことは困難です。
答えのもう1つの部分は、現代の階層メモリシステム(複数レベルのキャッシュ)では、メモリ帯域幅がシステム全体のパフォーマンスにメモリレイテンシよりもはるかに強い影響を与えるため、最新の開発努力のすべてに焦点が当てられていることです。
これは、多くのプロセス/スレッドが並行して実行されている一般的なコンピューティングと組み込みシステムの両方に当てはまります。たとえば、私が行っているHDビデオ作品では、ミリ秒のオーダーのレイテンシーは気にしませんが、1秒あたり数ギガバイトの帯域幅が必要です。
私はそれほど多くの洞察を持っていませんが、それがすべてのビットであることを期待しています。
経済的
大部分のコンピューター/電話では、速度は十分以上です。データストレージを高速化するために、SSDが開発されました。人々は(ほぼ)リアルタイムでビデオ/音楽およびその他の速度重視のタスクを使用できます。したがって、これ以上の速度はそれほど必要ありません(天気予報などの特定のアプリケーションを除く)。
もう1つの理由は、非常に高いRAM速度を処理することです。高速なCPUが必要です。そして、これには多くの電力消費が伴います。バッテリーデバイス(携帯電話など)で使用する傾向があるため、非常に高速なRAM(およびCPU)の使用が妨げられるため、経済的にも使用できません。
テクニカル
チップ/ ICのサイズが小さくなると(nmレベル)、速度は上がりますが、それほど大きくはなりません。RAMの量を増やすために使用されることが多く、RAMの量はますます難しくなります(経済的な理由)。
基礎
例(両方とも回路):より高速にするための最も簡単な方法(SSDで使用)は、単に複数のコンポーネントに負荷を分散させることです。この方法で「処理」速度も増加します。1つのUSBスティックからデータを連続して読み取るのではなく、8つのUSBスティックを同時に読み取り、結果を結合して比較します(8倍の時間がかかります)。