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

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

Регистр адреса таблицы страниц (PTA–PageTableAddress) определяет – разрешено ли процессору обходить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до того, как она будет использована.