Подсчет обращений к памяти (включая таблицы страниц) для одной инструкции IA32 - PullRequest
0 голосов
/ 04 марта 2020

Я хочу понять, какое количество обращений к памяти требуется для передачи данных такой инструкции, как: xor (% eax),% eax
, если мы находимся в страничной системе с одной таблицей страниц, без tlb кэша и с ошибками нулевой страницы.
Я думаю, что мы должны go сначала в таблице страниц, а затем во фрейме, чтобы перевести адрес, который находится в eax, а затем выполнить xor. Так что я думаю, что есть 2 доступа к памяти, но я хочу быть уверен.

Я должен также посчитать выборку из памяти инструкции?

А если у меня есть две таблицы страниц уровня (каталог страниц и таблица страниц) и инструкция типа

add $10, 16(%eax)  

мне нужно go по адресу в eax по смещению 16, сумме 10 и сохранить это значение в той же ячейке памяти? Поэтому мне нужно сделать один доступ к каталогу страниц, один к странице таблицы и один к фрейму, чтобы перевести адрес?

Так что, если у меня есть такая инструкция:
mov 4(%eax),(%ebx)
У меня есть сделать 6 доступ к памяти, потому что один на страницу каталога, один на страницу таблицы и один на фрейм для двух адресов в eax и ebx?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...