Работа схемы.

Схема преобразования адресов содержит два регистра адресов: регистр математического адреса (РМА) и регистр физического адреса (РФА).

Регистр математического адреса содержит три поля: номер раздела, номер страницы и номер байта.

Регистр физического адреса содержит два поля: номер страницы и номер байта.

Для преобразования математического адреса в физический адрес номер раздела (М) из регистра РМА складывается с базовым адресом каталога из регистра БА ТФС (в МП IA-32 – это CR0) и производится обращение к оперативной памяти по сформированному адресу.

Обращение производится к строке М каталога, в которой записан адрес таблицы физических страниц раздела М и признак доступности. При нулевом значении признака доступности адрес таблицы физических страниц складывается с номером страницы математических страниц (N) и производится второе обращение к оперативной памяти по сформированному адресу.

Обращение производится к странице N раздела М таблицы математических страниц, в которой записан двадцатиразрядный физический адрес страницы и признак доступности. При нулевом значении признака доступности выбранный номер физической страницы фиксируется в регистре физического адреса, где к нему добавляются двенадцать разрядов номера байта, и производится третье обращение к оперативной памяти для выборки команды или данных.

В случае обнаружения отрицательного (единичного) признака доступности, производится прерывание по страничному промаху. Программа прерывания реализует процедуру листания (замену таблицы раздела или физических страниц с сохранением в памяти на магнитных дисках модифицированных страниц).

Рассмотренный алгоритм работы виртуальной памяти предусматривает три обращения к оперативной памяти: за адресом раздела, за адресом страницы и за операндом. Это недопустимо много.

Для увеличения быстродействия в механизм виртуальной памяти вводят буфер быстрой переадресации (TLB). Это набор регистров со схемами ассоциативного доступа.

Каждый регистр имеет три поля:

· номера математической страницы (20 бит),

· номера физической страницы (20 бит),

· дополнительной информации.

Буфер быстрой переадресации обновляется при каждом обращении к каталогу и таблицам раздела физических адресов. Номер раздела M, номер математической страницы N и номер физической страницы сохраняются в свободном регистре буфера быстрой переадресации.

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

В буфере быстрой переадресации реализован ассоциативный поиск информации по совпадению входной информации с содержимым полей номеров страниц математической памяти MN. На рис. 8.5 строка с совпадением информации отмечена затемнением.

Буфер быстрой переадресации расположен непосредственно в процессоре, и потери времени на процедуру переадресации соизмеримы с тактом работы процессора.

Одна страница (4 Кбайт) содержит 1024 двойных слова. С учетом локальности обращений (по времени и расположению) к командам программ и данным существует большая вероятность повторных обращений к этой же странице даже более 1024 раз. Но на первое обращение к данным и командам в новых страницах требуется до трех обращений к памяти, на остальные (1024) – по одному.

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

В оперативной памяти для каждой задачи должны быть сформированы две таблицы: таблица каталога и таблица физических страниц одного раздела. Обмен страниц (подкачка данных и программ из внешней памяти в оперативную память и сохранение модифицированной информации) производится постранично.

Это относится и к страницам программных кодов, данных и управляющей информации (каталоги программ, таблицы физических страниц, строки TLB и т.д.). Сохранение в оперативной памяти "устаревших страниц" производится только для модифицированных страниц. Строки TLB, кроме полей номеров математической и физической страниц, содержат дополнительное поле. Информация этого поля используется в процедурах смены страниц (листания).

Основными битами этого поля являются:

· d – бит присутствия страницы в оперативной памяти;

· r– бит (обращения) к странице, используется при выборе кандидата на удаление из оперативной памяти;

· m – бит модификации (записи) страницы, определяет необходимость сохранения содержимого страницы при удалении из оперативной памяти;

· W – признак прав доступа по записи, определяет разрешение операции модификации данных в странице.








Дата добавления: 2015-08-14; просмотров: 683;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.