2011-01-03 15 views
1

GCCはプリフェッチをサポートするために__builtin_prefetchを持っています。私の質問は、特定のレベルのキャッシュにデータをプリフェッチする方法です。たとえば、データを先読みしてL2 cacheにしたいのではなく、L1 cacheに転送します。特定のレベルのキャッシュにプリフェッチ

+2

ええと、プリフェッチのみ偶数ビット... :) –

+0

一般的にはできません。ほとんどのCPUアーキテクチャは、この種の明示的なキャッシュ管理をサポートしていません。 –

答えて

5

__builtin_prefetchには3つの引数があります。 3番目はキャッシュレベルです。 AFAICTでは、これはSSEにのみ影響し、プリフェッチ、プリフェッチ1、プリフェッチ2、プリフェッチ3が生成されます。

+0

ああ、私はそれを知らなかった。もちろんそれはより良い方法です。 –

関連する問題