Современные чипы Intel и AMD имеют большие буферы хранилища для буферизации хранилищ перед фиксацией в кэше L1. По сути, эти записи содержат данные магазина и адрес магазина.
Что касается адресной части, содержат ли эти записи буфера виртуальные или физические адреса или оба?
invlpg
сериализуется, так что да, я думаю, VA может быть достаточно для обнаружения переадресации хранилища, если мы потребуем, чтобы операционные системы использовали его осторожно. (Предположительно x86 не гарантирует, что произойдет, если вы измените PTE, не выполняяinvlpg
. Запись TLB может быть удалена и заменена, пока магазин все еще находится в полете, что приведет к ложной пересылке магазина для загрузки, что позволит эффективно получить доступ к старому физическому страницу, даже если она запускается после загрузок, которые обращаются к непересылаемым данным с новой физической страницы.) - person Peter Cordes   schedule 14.04.2020