, Я вижу, смогу ли я превратить его в модуль отключения кэша, если вы не против компилировать.

й современный высокопроизводительный ЦП архитектуры x86 / x86_64 имеет некоторую иерархию кэшей данных: L1, L2, а иногда и L3 (и L4 в очень редких случаях), и данные, загруженные из / в основную RAM, кэшируются в некоторых из них.

Иногда программист может пожелать, чтобы некоторые данные не кэшировались на некоторых или на всех уровнях кэша (например, при желании установить в память 16 ГБ ОЗУ и сохранить некоторые данные в кэше): существуют некоторые невременные (NT) инструкции для это вроде MOVNTDQA (https://stackoverflow.com/a/37092 http://lwn.net/Articles/255364/)

Но существует ли программный способ (для некоторых семейств процессоров AMD или Intel, таких как P3, P4, Core, Core i *, ...) полностью (но временно) отключить некоторые или все уровни кэша, чтобы изменить порядок использования каждой памяти Инструкция доступа (глобально или для некоторых приложений / областей оперативной памяти) использует иерархию памяти? Например: выключить L1, выключить L1 и L2? Или измените каждый тип доступа к памяти на «некэшированный» UC (CD + NW биты страниц CR0 ??? SDM vol3a423 424, 425 а также "Флаг отключения кэша третьего уровня, бит 6 в MSR IA32_MISC_ENABLE (доступно только в процессорах на основе микроархитектуры Intel NetBurst) - позволяет отключать и включать кэш L3 независимо от кэшей L1 и L2".).

Я думаю, что такое действие поможет защитить данные от атак / утечек канала кеша, таких как кража ключей AES, скрытые каналы кеша, расплавление / Спектр. Хотя это отключение будет иметь огромные затраты производительности.

PS: Я помню такую ​​программу, опубликованную много лет назад на каком-то техническом новостном сайте, но сейчас не могу ее найти. Это была просто программа для Windows, которая записывала некоторые магические значения в MSR и заставляла каждую программу Windows работать очень медленно. Кэши были отключены до перезагрузки или до запуска программы с опцией «отменить».

Ответы на вопрос(1)

Ваш ответ на вопрос