私のプロジェクト-RAM速度テストユーティリティ。そこで、MOVSD(最大サイズのブロックDWを持つMOVとして)を使用して、あるソースからメモリを読み取り、別のソースに書き込みました。しかし、私が得た結果は、RAMが使用されておらず、代わりにメモリキャッシュが使用されていることを示しています。これは、DDR2SDRAMの読み取り/書き込み速度が768MByte/sであるためです。
したがって、キャッシュテストではなく、大きなブロックをメモリに移動し、キャッシュをオーバーフローさせてメモリをテストするには、80x86用のアセンブラの命令または関数が必要です。C / C ++のような最適化が必要ないため、アセンブラーを使用します。メモリのさまざまなブロックを書き換えると、コンパイラーはそれが不要であると判断し、テストを破棄する可能性があります。だから私はmemcpyなどを使いません。