Я новичок в ARM и пытаюсь понять теорию, лежащую в основе преобразования адресов, чтобы создать ошибку размера адреса на разных уровнях. Я знаю, что в процессе преобразования виртуального адреса в физический адрес используются дескрипторы формата таблицы перевода длинных дескрипторов. При соблюдении форматов «Блок» и «Таблица» для уровня 1 и 2 и формата «Страница» для уровня 3, если биты [47:40]
не равны нулю, тогда преобразование, использующее дескриптор, сгенерирует ошибку размера адреса.
Чего я не понимаю, так это того, почему биты [47:40] не будут равны нулю, то есть, если я работаю в C и нужно выделить страницу ОЗУ, какая возможная причина может привести к тому, что эти битыустановить ненулевое значение?