? ну типа ячейки только для страниц с данными или ячейки только для страниц с инструкциями ?
можешь опытным путем проверить почитав флаги диапазонов памяти потока если в области занятой TLB есть флаг на исполнение значит сможешь запускать инструкции.
а что за "флаги диапазонов памяти потока" ?
в помощь что-то вроде memorymap viewer
окей, я могу посмотреть пулы процесса, а дальше логика какая ? а то я просто понять не могу
TLB блоки тоже в этих пулах. 4 и 5 столбцы это и есть флаги. Есть аналоги которые расписывают содержимое этих пулов: где импортируемые библиотеки, где кучи и т.д. где области занятые системными объектами и т.п....
но нельзя же узнать, какие страницы были закешированы TLB, плюс нельзя же узнать, какой именно юзается TLB под страницы: локальный или shared
в том то и дело что можно. Разные аналоги показывают и кеширование страниц и локальны ли они или разделяемы (и даже количество разделяющих их процессов) не зацикливайся на точном совпадении названия утилиты MemoryMap Viewer, там могут быть какие нибудь MemMapView и иже с ним. И это все даже как отдельное окно совсем по другому названной утилиты.
и как же программа получит информацию о закешированных страницах ? я что - то не нашел в мануале интела инструкций для совершения подобных операций. тут разве что путем замера времени обращения это понять можно, и то для подобного придется прерывания отключить
а среди объектов ядра винды? информация собирается из них. А не через специальные инструкции интел (конечно нет таких инструкций).
Обсуждают сегодня