6

低レイテンシ コンピューティングに関する優れたプレゼンテーションを読みます。彼らは、IBM の XL C/C++ コンパイラ データ キャッシュ操作__dcbt (データ キャッシュ ブロック タッチ) をセルコンパイラに参照していました。この操作は、メモリのブロックを L1 キャッシュにロードします。

Visual Studio (または G++ または Intel) には、Intel プロセッサ用の同様の機能がありますか? そうで、解決策がプラットフォーム固有 (つまり、Windows または *nix のみ) である場合は、その旨をお知らせください。

4

1 に答える 1

4

はい、Visual Studio はすべての SSE および MMX 組み込み操作をサポートしています。キャッシュ制御操作については、http: //www.tommesani.com/SSECacheabilityControl.htmlで簡単に説明 し、Intel の命令セット リファレンスで詳しく説明しています。

Microsoftは、MSDN でキャッシュ制御の組み込み関数を文書化しています。これらは関数のように見えますが、実際にはコンパイラが適切なハードウェア命令に分解します。SSE1 と SSE2 の両方のキャッシュ制御命令を必ず確認してください。これらは別のカテゴリにリストされています (ページの左側にある拡張ツリーを参照してください)。

に相当する x86dcbt_mm_prefetch. に直接相当するものはありませんdcbzが、最も近い類似物は_mm_stream_si128です。

GCC は同じ組み込み名を使用していると思います (Intel コンパイラから取得したものと同じです)。

于 2009-12-24T03:20:18.493 に答える