Как очистить TLB(Translation Look aside Buffer?)? Например, чтобы очистить гарантировано кэш данных, надо взять заведомо большую область, чем кэш, и считать с неё, и тогда любая другая область будет пустой. А как поступить с TLB? Как узнать размер TLB для конкретного процессора? Как он устроен? в интернете информацию я не нашел.
invlpg очищает TLB частично(хотя в отдельных случаях это не так). Как полностью - глава 10.9 интеловских манов.
Я знаю. А надо глобальные тоже сбрасывать? Если да - то зачем? Для сьроса глобальных страниц универсального способа нет кроме изменения CR0. MTRR и MSR не в счёт - есть не везде, и на разных камнях разные.