Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MProc / M9 / Системная архитектура часть 4..doc
Скачиваний:
45
Добавлен:
16.04.2013
Размер:
751 Кб
Скачать

4.1.5.1. Конфигурация vhpt

Регистр адреса таблицы страниц (PTA – Page Table Address) определяет – разрешено ли процессору обходить VHPT, фиксирует VHPT в виртуальном адресном пространстве т управляет информацией о размере и конфигурации VHPT. Таблица VHPT может быть сконфигурирована либо как по-регионная структура таблиц линейных виртуальных страниц (8-байтовый короткий формат), либо как единая таблица больших хэш страниц (32-байтовый длинный формат). В пределах VHPT не разрешено никакого смешивания форматов.

Для реализации по-регионной структуры таблиц линейных виртуальных страниц, операционная система, обычно, отображает оставшиеся узлы таблиц страниц в маленькие дополнительные виртуальные трансляции. Размер таблицы расширен, чтобы включить все возможные виртуальные отображения, эффективно создавая большую по-регионную плоскую таблицу страниц в пределах виртуального адресного пространства.

Для реализации единой таблицы больших хэш страниц, полная VHPT, обычно отображается в большую сквозную единую виртуальную трансляцию, помещаемую в регистры трансляции, а размер таблицы уменьшается так, что только подмножество всех виртуальных отображений может располагаться внутри таблицы. Операционные системы могут настраивать размер таблицы хэш страниц, основанный на размере физической памяти и требований эффективности операционной системы.

4.1.5.2. Поиск vhpt

Если разрешено, то обходчик VHPT ищет VHPT для трансляции после неудачного поиска TLB инструкций или данных. Обходчик VHPT проверяет только определенный VHPT элемент, адресуемый коротким или длинным форматом хэш функции, как задается полем PTA.vf. Если промахи дополнительных TLB встречаются в течение VHPT обращений, то вызывается ошибка «Трансляция VHPT». Если, основанный на регионе, VHPT элемент короткого формата не содержит зарезервированных битов или кодов, то он устанавливается в TLB, а процессор снова пытается транслировать неудачное обращение к инструкции или данным. Если тэг VHPT длинного формата задает корректный идентификатор региона и виртуальный адрес, и элемент не содержит зарезервированных битов или кодов, то он устанавливается в TLB, а процессор снова пытается транслировать неудачное обращение к инструкции или данным. В противном случае, процессор вызывает ошибку «Промах TLB». Трансляция устанавливается в TLB, даже если его VHPT элемент отмечен как не существующий (р=0). Программное обеспечение может произвольно искать дополнительные конфликтные VHPT цепочки (ассоциативности), либо искать трансляции в пределах таблиц первичных страниц операционной системы. Эффективность оптимизируется путем помещения часто упоминаемых трансляций в структуру VHPT, прямо просматриваемую процессором.

Обходчик VHPT является необязательным в данной модели процессора. Программное обеспечение может не учитывать ни присутствие обходчика VHPT, ни то, найдет ли обходчик VHPT трансляцию в VHPT. Обходчик VHPT может аварийно прервать поиск в любое время по причинам, определяемым реализацией, даже если требуемый элемент трансляции имеется в VHPT. Операционные системы должны расценивать обходчика VHPT, только как оптимизатора вычислений и должны быть готовы обрабатывать промахи TLB, если обходчик потерпит неудачу.

Обходы VHPT могут делаться спекулятивно, с помощью процессорного обходчика VHPT. Кроме того, VHPT-обходы, запускаемые инструкциями, выполняемыми не спекулятивно, не требуются для выполнения в порядке программы. Поэтому, если обходчик разрешен и если VHPT содержит множество элементов, которые отображают один и тот же диапазон виртуальных адресов, то программа должна установить эти элементы так, чтобы любой из них мог быть использован для трансляции любой части этого диапазона виртуальных адресов. Кроме того, если программа вставляет в TLB трансляцию, которая необходима для продвижения и эта трансляция имеет размер страниц меньше, чем трансляция, которая будет вставлена для того же самого адреса при обходе VHPT, то программе может понадобиться отключить обходчик, чтобы гарантировать продвижение, т.к. эта вставляемая трансляция может быть замещена при обходе VHPT до того, как она будет использована.