Допустим, гипотетически у вас есть двухуровневая система пейджинга с 32-битным логическим адресом, а смещение страницы заранее определено как 12-битное. Это оставляет 20 бит для номеров страниц. Все примеры, которые я могу найти в Интернете и в учебниках, показывают номера страниц, а затем разбиты на 2 блока по 10, так что виртуальный адрес выглядит примерно так:
[ p1: 10 бит | p2: 10 бит | смещение: 12 бит]
Должны ли оба номера страниц быть 10-битными? Например, может ли это быть вместо этого:
[ p1: 8 бит | p2: 12 бит | смещение: 12 бит]
А как насчет использования нечетного количества битов для номеров страниц, например:
[ p1: 9 бит | p2: 11 бит | смещение: 12 бит]
Я так понимаю разбивая их поровну, делает все чисто и аккуратно. Я просто пытаюсь выяснить, что это технически возможно, и есть ли какие-либо недостатки/преимущества в том, чтобы делать это по-другому.
*Полное раскрытие информации: этот вопрос сам по себе не является задачей с домашним заданием, а возник при попытке решить задачу с домашним заданием. Не пытаюсь заставить кого-то делать мою работу за меня. Просто пытаюсь понять, что возможно, и есть ли какие-либо преимущества/недостатки того или иного способа.