Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Буфер с ассоциативной трансляцией TLB

Буфер с ассоциативной трансляцией предназначен для повышения производительности CPU – за счет ускоренного формирования физических адресов,

TLB представляет собой память с ассоциативной выборкой, которая содержит 20-ти разрядные базовые адреса 32-х страниц, то есть, старшие 20 разрядов физического адреса страницы. Каждый из базовых адресов имеет свой признак (тег). В качестве тега используются старшие 20 разрядов линейного адреса, то есть поля TABLE и PAGE. Ускорение формирования физического адреса достигается за счет того, что старшие 20 разрядов физического адреса извлекаются из TLB за одно обращение к этой памяти и сразу же пересылает в регистр физического адреса. Таким образом, если старшие 20 разрядов физического адреса находятся в TLB, то не требуется запускать сложный универсальный алгоритм формирования физического адреса и за счет этого сэкономить время.

Формирование физического адреса с использованием TLB производится следующим образом:

При поступлении в блок управления страницами линейного адреса его старшие 20 разрядов сравниваются с тегами физических адресов, хранящихся в TLB. Если обнаруживается совпадение этих разрядов с каким-либо из тегов, то из TLB выбирается соответствующий этому тегу базовый адрес. Страничный диспетчер формирует 32-хразрядный физический адрес, в котором выбранный из TLB базовый адрес задает 20 старших разрядов, а поле BYTE линейного адреса – 12 младших разрядов.

В случае, когда базовый адрес страницы находится в TLB, называется КЭШ-попаданием. При этом не требуется обращаться к ОЗУ для выборки указателя входа в таблицу страниц и в саму страницу, т.е не требуется запускать универсальный алгоритм формирования физического адреса. В случае КЭШ попадания физический адрес формируется с помощью TLB, так как показано на рисунке.

Если базовый адрес нужной страницы отсутствует в TLB, то такое обращение называется КЭШ-промахом. При этом микропроцессор выполняет описанную выше процедуру формирования физического адреса с помощью каталога разделов и таблиц страниц. Полученный при этом из таблицы страниц 20 - разрядный базовый адрес вместе с соответствующими 20 разрядами старшей части адреса (тегом) записывается в свободную или дольше других занимаемую ячейку TLB. Таким образом, обеспечивается непрерывное обновление содержимого TLB, т.е. в TLB находится информация о начальных адресах тех 32 страниц, которые выполняются в данный момент времени.

Помимо тега и начального адреса страницы в TLB хранится дополнительная информация, позволяющая в частности определить, какую строку в TLB можно заменить на новую строку, содержащую информацию о начальном адресе той страницы, к которой произошло первое обращение. Для этого каждая строка TLB дополняется бит D, который установливается в “1” при обращении к этой странице. Этот бит D проверяется и сбрасывается в “0” ОС при определении той строки TLB, которая подлежит удалению, с тем чтобы освободить место для новой строки. Т.к. TLB хранит адреса только 32 страниц объемом 4 кб каждая, то микропроцессор может непосредственно формировать физический адрес только для 128 кб памяти (4 х 32). При этом по статистике вероятность КЭШ попадания равна 0,98. Таким образом, только в 2-х случаях из 100 будут промахи, которые требуют двухступенчатого преобразования адресов с использованием универсального алгоритма, т.е. с использованием каталогов, разделов и страниц.

 

Организация виртуальной памяти

Рассмотренный механизм страничной организация памяти может быть легко использован для организации уже виртуальной памяти. Страничную виртуальную организацию памяти поддерживает бит Р (бит присутствия) это нулевой разряд указателя.

В системе с виртуальной памятью бит Р должен точно отображать месторасположение виртуальной страницы, которая может находиться либо в ОЗУ, либо на диске. ОС следит за состоянием бита Р. Микропроцессор автоматически проверяет состояние бита Р в каталоге таблиц страниц и в самой таблице станиц, при каждом обращении к памяти. Если Р=1, то это значит, что та страница к которой происходит обращение находится в ОЗУ. В этом случае производится трансляция адресов либо с универсальным алгоритмом, либо с TLB.

Если Р=0, то это значит, что нужной страницы в ОЗУ нет, а эта страница находится на диске, поэтому в случае Р=0 обращение к памяти не выполняется, ситуация квалифицируется как «ошибка страниц» и CPU генерирует исключительную ситуацию. В этом случае управление передается ОС, которая после анализа исключительной ситуации определяет, что произошла ошибка страниц, находит нужную страницу на диске, загружает ее в ОЗУ, устанавливает бит Р «1» и возвращает управление той программе, которая вызвала эту ситуацию.

Таким образом, происходит непрерывное обновление содержимого ОЗУ, т.е. в ОЗУ загружаются те страницы, которые нужны в данный момент времени и удаляются те, обращение к которым долго не производилось. Для определения тех страниц, которые подлежат удалению из ОЗУ, используют биты A и D, т.е. 5 и 6 разряды указателей.

Таким образом, страничная организация памяти используется при организации виртуальной памяти, когда ОС вместе с CPU непрерывно обновляет содержимое ОЗУ, удаляя долго не используемые страницы для записи на освободившееся место нужной в данный момент страницы.

Определим объем виртуальной памяти 32-х разрядного CPU, т.е. объем той памяти, который этот CPU может адресовать.

Объем виртуальной памяти равен максимальному объему сегмента (4 Гб), умноженному на количество этих сегментов.

Количество сегментов определяется объемом глобальной и локальной таблиц дескрипторов . В каждой из этих таблиц создается 213 дескрипторов, что позволяет адресовать 213 сегментов. Таким образом, максимальный объем виртуальной памяти равен:

Таким образом, микропроцессор имеет технические средства, которые позволяют адресовать виртуальную память до 64 Тб, при условии использования ОС поддерживающей виртуальную память.

Последнее изменение этой страницы: 2016-07-23

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...