Может ли префикс блокировки x86 на не кэшируемой памяти вызвать отказ в обслуживании в пропускной способности памяти?

Может ли инструкция с префиксом блокировки не использовать остальные процессоры (виртуальные машины) для пропускной способности памяти в виртуализированной среде?

Например, рассмотрим следующий кусок кода

loop:
    lock inc dword [rax]
    jmp loop

Теперь предположим, что rax содержит адрес области памяти без кэширования. (Использование PAT или MTRR для установки типа памяти в UC).

Это заставит ЦП блокировать шину памяти и замедлить доступ к памяти остального ЦП, что делает его потенциальным инструментом для отказа в обслуживании.

Есть ли у современных процессоров механизмы для распределения пропускной способности памяти между виртуальными машинами для предотвращения подобных атак?

0 ответов

Другие вопросы по тегам