2011-01-03 2 views
1

GCC имеет __builtin_prefetch для поддержки предварительной выборки. Мой вопрос заключается в том, как я могу предварительно выбрать данные на определенный уровень кеша. Например, я только хотел бы предварительно отфильтровать данные до L2 cache, а не до L1 cache.prefetch до определенного уровня кеша

+2

Yeh, и предварительно получить только четные биты ... :) –

+0

В общем вы не можете. Большинство архитектур процессора даже не поддерживают такое явное управление кешем. –

ответ

5

__builtin_prefetch имеет три аргумента; третий - уровень кеша. AFAICT, это влияет только на SSE, где он генерирует prefetchnta, prefetcht1, prefetcht2, prefetcht3, соответственно.

+0

О, я этого не знал. Конечно, это лучше. –

Смежные вопросы