Использование инструкции WBINVD

Я пытаюсь использовать инструкцию WBINV в Linux для очистки кэша L1 процессора.

Следующая программа компилируется, но выдает ошибку сегментации, когда Я пытаюсь запустить его.

int main () {asm ("wbinvd"); return 1;}

Я использую gcc 4.4.3 и запускаю ядро ​​Linux 2.6.32-33 на моем компьютере x86.

Информация о процессоре: Intel (R) Core (TM) 2 Duo CPU T5270 @ 1,40 ГГц

Я создал программу следующим образом:

$ gcc

$ ./a.out

Segmentation Fault

Кто-нибудь может сказать мне, что я делаю не так? Как мне заставить это работать?

P.S: Я провожу несколько тестов производительности и хочу убедиться, что предыдущее содержимое кэша процессора не влияет на результаты.

7
задан artless noise 24 August 2016 в 14:10
поделиться