Niedawno dowiedziałem się o ataku row hammer. Aby wykonać ten atak, programista musi przepłukać pełną hierarchię pamięci podręcznej procesora dla określonej liczby adresów.Dlaczego CLFLUSH istnieje w x86?
Moje pytanie brzmi: dlaczego w X86 potrzebne jest CLFLUSH? Jakie są powody, dla których kiedykolwiek korzystasz z tej instrukcji, jeśli wszystkie pamięci podręczne L * działają w sposób przezroczysty (tzn. Nie jest wymagane jawne unieważnianie pamięci podręcznej)? Poza tym: czy procesor nie może swobodnie spekulować wzorcami dostępu do pamięci, a tym samym całkowicie zignorować instrukcję?