Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 98

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 92 93 94 95 96 97 < 98 > 99 100 101 102 103 104 .. 528 >> Следующая

Кбайт, рис. 2.46, а) или каталог страниц (при использовании расширенных
страниц 2 Мбайт, рис. 2.46, б). Для обращения к таблице каталогов в
линейном адресе выделяется 2-разрядное поле Directory Pointer. В основном
процедура трансляции производится также, как описано выше для
формирования 32-разрядных адресов. Отличия состоят в том, что выполняется
дополнительный этап трансляции с обращением к таблице каталогов.
Форматы указателей каталогов, разделов и страниц, используемых при
расширенной адресации, показаны на рис. 2.47. Указатели содержат 64 бита
(часть из них резервирована), назначение которых аналогично
соответствующим битам указателей при стандартной 32-разрядной адресации
(см. рис. 2.45). Указатели имеют поля, в которых хранятся старшие разряды
36-разрядных базовых адресов каталогов, разделов и страниц. С помощью
страничной трансляции (рис. 2.46) формируется 36-разрядный физический
адрес команды или операнда.
Отметим, что расширенная разрядность адреса реализуется только при
использовании страничной адресации, когда установлены значения битов PG =
РАЕ = 1.
Как указано выше, страничная организация памяти требует дополнительных
затрат вре-ме ни для преобразования (трансляции) линейного адреса в
физический. Эти затраты будут весьма значительными, если в каждом цикле
производить обращение к оперативной памяти для выбора указателей таблиц и
страниц. Существенное сокращение времени преобразования адресов
достигается путем использования специализированной внутренней кэш-памяти,
которая называется буфером ассоциативной трансляции TLB (translation
look-aside buffer). Эти буферы хранят физические адреса нескольких ранее
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Линейный адрес
30 29 21 20
12 11
Directory Pointor Directory Table Ollset
А11-
Каталог
разделов
Указатель
таблицы
Начало
каталога
А4-3
CR 3
Таблица
каталогов
Указатель
каталогов
Начало
таблицы
А11-3
Таблица
страниц
Указатель
страницы
Начало
таблицы
Страница 4 Кбайт
А11-0
Выбираемый
байт
Начало
страницы
Базовый
адрес
А35-12
Базовый
адрес
А35-12
Базовый
адрес
А35-12
Базовый
адрес
А31-5
б)
Линейный адрес
Базовый
адрес
А31-5
Базовый
адрес
А35-12
Базовый адрес АЗ5-12
Рис. 2.46. Формирование 36-разрядного физического адреса при страничной
организации памяти для страниц стандартного (а) и расширенного (б)
размеров
РАБОТА ПРОЦЕССОРА 8 ЗАЩИЩЕННОМ И РЕАЛЬНОМ РЕЖИМАХ
а) 63 36 35 12 11 9 8 5 4 3 2 1
0
Резервировано Базовый адрес каталога страницы AVL Резерв.
PCD PWT Резерв. 1
б)
63 36 31 12 11 9 8 7 6 5 4 3 2 1 0
Резервировано Базовый адрес таблицы страниц AVL О О
О А PCD PWT V/S R/W p
а)
63 36 31 12 11 9 8 7 6 5 4 3 2 1 0
Резервировано Базовый адрес страницы AVL G О D А
PCD PWT V/S p
г)
63 36 31 22 21 12 11 9 8 7 6 5 4 3 2 1 0
Резервировано Базовый адрес страницы Резерв. AVL G 1 D
А PCD PWT V/S p
Рис. 2.47. Формат указателей каталога (а), указателя раздела и страницы
для страниц 4Кбайт (б, в) и указателя страницы для страниц 4Мбайт (г) при
36-разрядном адресе
выбранных страниц. При повторном обращении к этим страницам процедура
трансляции не выполняется, а выбирается из TLB ранее полученный базовый
адрес страницы. Процессоры семейства Р6 содержат два отдельных буфера TLB
- для трансляции адресов команд и данных (см. рис. 2.1).
Буфер TLB для трансляции адресов команд состоит из двух блоков, которые
обеспечивают формирование физических адресов при использовании страниц
объемом 4 Кбайт и 4 Мбайт. Буфер для страниц 4 Кбайт содержит 8 наборов
по 4 строки, в которых хранятся физические адреса 32 ранее выбранных
страниц. Буфер для страниц 4 Мбайт хранит базовые адреса двух страниц, к
которым производились последние обращения при выборке команд.
Буфер TLB для трансляции адресов операндов содержит два блока, в которых
хранятся физические адреса 64 ранее выбранных страниц размером 4 Кбайт
(16 наборов по 4 строки) и 8 адресов страниц размером 4 Мбайт (2 набора
по 4 строки).
Таким образом, в TLB команд имеются готовые физические адреса для 32
страниц объемом 4 Кбайт или 2 страниц объемом 4 Мбайт. В TLB данных
содержатся физические адреса 64 страниц объемом 4 Кбайт и 8 адресов
страниц объемом 4 Мбайт. При обращении к этим страницам (кэш-попадание)
процедура трансляции не выполняется, что позволяет существенно сократить
время выполнения команд при использовании страничной организации памяти.
Как показывает имеющийся опыт применения процессоров семейства Р6 в
различных системах, при данной структуре TLB вероятность выборки адреса
команд и данных из буфера (без выполнения страничной трансляции адреса с
обращением к катологам разделов и таблицам страниц) составляет около 98%.
При этом формирование физического адреса не требует дополнительных
машинных циклов.
Если базовый адрес нужной страницы отсутствует в TLB, то такой случай
является кэш-промахом. При этом процессор выполняет описанную выше
Предыдущая << 1 .. 92 93 94 95 96 97 < 98 > 99 100 101 102 103 104 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed