
DDR4 の仕組みが詳しくわからず困惑しています。DDR の詳細やメモリ コントローラの詳細にはあまり詳しくありません。今のところ、DDR4 は、ボード上のモジュールごとに DDR4 の転送速度が累積するとあらゆるところで宣伝されています。たとえば、容量がそれぞれ 4GB のモジュールが 4 つあり、20GB/秒だとします。4 つのバンクが満たされると、転送速度は 80GB/秒になります。私の意見では、これは 16GB の RAM 全体を使用するアプリケーションがある場合にのみ機能します。しかし、アプリケーションが 2GB しか使用しない場合、転送速度はどのくらい速くなるのでしょうか。
2GB を 4 つのバンクすべてに均等に分配する内部ロジックはありますか? もしあるなら、誰がそれを実行しますか?
私が言いたいのは、例えば、
- 2つのモジュールで16GBのDDR3-2133
- 4つのモジュールで構成された16GBのDDR4-2133
価格は同じですが、DDR3 のタイミングは DDR4 よりもはるかに優れていると仮定します。モジュールあたりの転送速度は同じです。アプリケーションによって割り当てられたデータがモジュールの容量を超えず、他のモジュールに均等に分散されない場合は、タイミングが優れているため DDR3 の方が適しており、DDR4 には利点はありません。
私が見つけた最高の文献はこれしかし、記憶がどのように管理されているかについてはあまり語られていない。
ここで誰かが詳細を明らかにしてくれることを願っています :-)
答え1
メモリ管理オペレーティング システムによって処理されます。
メモリ管理機能は、割り当て済みまたは空きの各メモリ位置の状態を追跡します。競合するプロセス間でメモリがどのように割り当てられるかを決定し、メモリを誰が取得するか、いつ取得するか、およびメモリをどれだけ取得できるかを決定します。メモリが割り当てられると、どのメモリ位置が割り当てられるかが決定されます。メモリが解放または未割り当てになった時期を追跡し、状態を更新します。
Ramhound が言うように、DDR4 には明らかな利点があり、具体的にはパフォーマンスの向上と消費電力の低減です。パフォーマンスの点では、これらの利点は使用方法に大きく依存します。高度に専門化されたソフトウェアを使用しない限り、DDR4 メモリを選択しても大きなメリットは得られません。