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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 144 145 146 147 148 149 < 150 > 151 152 153 154 155 156 .. 528 >> Следующая

трансляции попытается прочитать их. Для этого можно применять два
способа:
1) хранить таблицы страниц и директорий в некопируемой в кэш-память
области основной памяти или использовать режим сквозной записи страниц,
255
ИСПОЛЬЗОВАНИЕ КЭШ-ПАМЯТИ И ОРГАНИЗАЦИЯ ОСНОВНОЙ ПАМЯТИ
2) чистить кэш-данных по команде "flush"; процессор самостоятельно
фиксирует некорректность записей в TLB в случае выработки ловушки нужной
для установки разрядов А и D; в других случаях после изменений таблицы
страниц или страничных директорий некорректность TLB-буферов должно
зафиксировать ПО (путем установки разряда ITI в содержимом регистра базы
таблицы страничных директорий, так что обновленные записи будут
считываться из основной памяти).
Если программа изменяет только разряды Р, U, W, А или D из записи РТЕ
(коль скоро адрес страничного кадра не изменяется и сама запись РТЕ не
находится в кэш-памяти данных), нет необходимости очищать кэш-память
данных. МП не использует TLB-буферы для обратных записей строк, он пишет
их по адресу физического тега.
Таким образом, обработчик ловушки может обработать ловушку доступа к
данному для нулевого разряда D только устанавливая D в единицу. При
установке разрядов Р или А нет необходимости фиксировать некорректность
кэш-памятей или очищать какие-либо кэш-памяти, так как процессор не
загружает записи в TLB, у которых разряд Р = 0 или А = 0.
Резюме:
В современных МП ВС МП может быть использован как без, так и с внешней
(вторичной или как ее еще называют общей) кэш-памятью команд и данных.
Такая память размещается на материнской плате и состоит из двух компонент
- кэш-контроллера и кэш-памяти. Эти компоненты позволяют иметь в ВС общую
высокоскоростную кэш-память команд и данных емкостью в сотни Кбайт.
Большой размер внешней кэш-памяти может, естественно, дать увеличение
доли "кэш-попаданий", когда размер или число структур данных и программ
превышает размер внутренних, реализованных в ЧИПе МП кэш-памятей. В
мультипроцессорных системах внешняя кэш-память используется как локальная
память и может уменьшить трафик магистрали ВС. Кроме того, внешняя кэш-
память "скрывает" процессор от остальных систем, что может иметь двоякое
значение:
1) процессор может быть заменен (возможен upgraded) без изменения памяти
и других подсистем МП ВС;
2) без особого снижения общих характеристик системы могут быть
использованы более медленные и менее емкие устройства памяти и устройства
ввода/вывода.
Кэш-память названа так потому, что она прозрачна, скрыта от программиста,
через нее прокачиваются команды и данные по магистралям ОП - МП. Подобный
механизм применен и при организации "скрытой" части регистров, хранящих
дескрипторы сегментов, используемых в данный момент, если МП ВС реализует
сегментно-страничную организацию основной памяти.
3.3. ФУНКЦИОНИРОВАНИЕ ПАМЯТИ
Современные МП ВС используют сегментно-страничную организацию памяти,
преобразуют логические адреса (т. е. адреса, которые видят программисты)
в физические адреса (реальные адреса физической памяти) за два шага:
1) трансляция сегмента, при которой логический адрес, состоящий из
селектора сегмента и смещения (относительного адреса внутри сегмента),
преобразуется в линейный адрес1;
1 Ряд микропроцессорных систем использует только стрвничную организацию
памяти. В них трансляция виртуального адреса происходит за один шаг.
256
ФУНКЦИОНИРОВАНИЕ ПАМЯТИ
Логический адрес 15 0 31 0
Рис. 3.12. Общая идея трансляции адресов
2) страничная трансляция, при которой полученный на первом шаге линейный
адрес преобразуется в физический адрес. Этот шаг необязательный, он
используется по усмотрению проектировщиков программного обеспечения (ПО).
Трансляция происходит незаметно для прикладного программиста. На рис.
3.12 представлены два шага трансляции на высоком уровне абстракции. Этот
рисунок и дальнейшее содержание этой главы представляют упрощенный взгляд
на механизм адресации. На самом деле механизм адресации включает также
механизмы защиты памяти. Аспекты защиты рассмотрены в п. 3.4.
!
3.3.1. ТРАНСЛЯЦИЯ СЕГМЕНТОВ
На рис. 3.13 показано более детально то, как процессор преобразует
логический адрес в линейный.
При выполнении этого шага трансляции процессор использует следующие
структуры данных:
• дескрипторы;
• таблицы дескрипторов;
• селекторы;
• регистры сегментов.
257
ИСПОЛЬЗОВАНИЕ КЭШ-ПАМЯТИ И ОРГАНИЗАЦИЯ ОСНОВНОЙ ПАМЯТИ
Логический адрес
15 0 31 О
Рис. 3.13. Преобразование логического адреса в линейный
Дескрипторы. Дескриптор сегмента обеспечивает процессор данными, которые
необходимы для преобразования логического адреса в линейный. Дескрипторы
создаются компиляторами, редакторами связей, загрузчиками или другими
системными программами, но не прикладными программами.
На рис. 3.14 приведены два общих формата дескрипторов МП фирмы "Intel".
Дескрипторы всех типов имеют один из этих форматов. Дескрипторы сегментов
содержат следующие поля;
База: задает расположение сегмента в 4-Гбайтном линейном адресном
Предыдущая << 1 .. 144 145 146 147 148 149 < 150 > 151 152 153 154 155 156 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed