@ MargaretBloom Мой плохой, я скучаю по истолкованному. Это 9 бит, как вы сказали: 4 * 9 бит (каждый индекс) + 12 бит (смещение) = 48 бит.

ге «Программирование низкого уровня: C, сборка и выполнение программы на архитектуре Intel® 64» я прочитал:

Каждый виртуальный 64-битный адрес (например, тот, который мы используем в наших программах) состоит из нескольких полей. На самом деле адрес имеет ширину всего 48 бит; он расширяется до 64-битного канонического адреса. Его характеристика в том, что его 17 левых битов равны. Если условие не выполняется, адрес сразу же отклоняется при использовании. Затем 48 бит виртуального адреса преобразуются в 52 бита физического адреса с помощью специальных таблиц.

Почему разница в 4 бита между виртуальным адресом и физическим адресом?

Ответы на вопрос(1)

Ваш ответ на вопрос