Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Бит E – для отличия сегмента данных (0) от сегмента кода (1)Содержание книги
Поиск на нашем сайте Для сегмента ДАННЫХ: · ED Expand Down– направление распространения сегмента: o 0 – к увеличению адресов o 1 – к уменьшению адресов · W – writeable – бит разрешения записи в сегмент (1 – можно, 0 - нельзя) · A – accessed – признак обращения (фиксация обращения к молю, может использоваться в алгоритме замещения сегментов в ОП)
Для сегмента КОДА: · С - conforming – бит подчинения сегмента: o 0 – неподчиненный сегмент, можно вызвать только при CPL = DPL o 1 – подчиненный сегмент, можно вызвать при CPL >= DPL · R – readable – бит разрешения чтения (1 – можно, 0 - нельзя) · A – accessed – признак обращения (фиксация обращения к молю, может использоваться в алгоритме замещения сегментов в ОП)
1) При попытке сделать какую-то операцию – проверка допустимости операции (при загрузке сегмента в регистр, чтобы не загружали сегменты данных в регистры кода и тд). 2) Проверка ссылок операндов чтобы не · Не читали данные из сегмента кода (он только выполняется) · Не писали данные в кодовые сегменты · Не писали данные в сегмент, откуда можно только читать
Привилегии подробнее: В процессоре Пентиум – МАНДАТНЫЙспособ определения прав доступа (механизм колец защиты):
Есть 4 уровня привилений: 0 – ядро 1, 2 – системные утилиты 3 – прикладные проги
Для характеристики уровня привилегий есть несколько переменных: · DPL – Descripror Privilege Level – (DPL –поле в дескрипторе сегмента – в таблице дескрипторов) · RPL – Request Privilege Level – (RPL – поле в селекторе сегмента (то, с чем мы запрашиваем память)) · СPL – Current Privilege Level – (RPL – поле в селекторе кодового сегмента (то, что сейчас выполняется)) · EPL – Effective Privilege Level – эффективный уровень привилегий запроса. Что это? Уровни привилегий назначаются дескрипторам и селекторам. В любом случае это 2 бита: 00 01 10 11. Основное из чего оно вычисляются все переменные – DPL. При остановке процесса уровень привилегий процесса сохраняется в его контексте. В Процессоре Пентиум это записывается в системный сегмент TSS – task state segment
Контроль доступа: - к сегментам данных Сопоставление EPL запроса и DPL сегмента данных: EPL = max (RPL, CPL) - худшее CPL – привилегии выполняемого кода RPL – это привилегии, с которыми запрашиваем данные DPL – привилегии, с которыми данные могут быть запрошены - к сегменту стека Предотвратить доступ низкоуровневого кода к данным, выработанным высокоуровневым кодом и помещенным в стек EPL кода = DPL сегмента стека, тогда разрешен доступ Т.е. для каждого уровня привилегий используется отдельный сегмент стека. - к сегменту кода CPL сравниваем с DPL, а как именно – все сложно. Смешанная сегментно-страничная организация памяти в системах на основе процессоров с архитектурой IA32. Трансляция адреса. Буфер ассоциативной трансляции (TLB). Для поддержки страничной организации – в управляющем регистре CR0 нужно старший бит PG установить в 1.
При этом сегментный механизм продолжает работать, но смысл его работы меняется. · ВАП процесса ограничивается размером 4 Гб · Оно делится на витруальные сегменты · Виртуальные сегмены могут накладываться друг на друга (процессор это не контролирует, это забота ОС) · ВАП и ФАП разбиты на страницы размером 4 кб · Всего страниц – 1 Мб, 2 20 степени Виртуальный адрес – это СЕЛЕКТОР + СМЕЩЕНИЕ. 1 этап преобразования: сегментный: · На основании индекса селектора берем нужный дескриптор из GDT или LDT · Из дескриптора добываем базовый адрес сегмента · Но! Базовый адрес дескриптора здесь – это базовый адрес сегмента в ВАП а не в ФАП как в сегментной организации. · Плюсуем к базовому адресу смещение = Линейный Виртуальный Адрес. ЛВА передаем страничному механизму.
2 этап – страничный. · ЛВА на основании размера страницы делим на номер страницы и смещение · Находим в таблице страниц нужный дескриптор · Находим номер физической страницы · Плюсуем смещение Вот как выглядит дескриптор страницы в таблице страниц
P – бит присутствия в физической памяти W – бит разрешения записи U – бит пользователь / супервизор A – к странице был доступ D – признак модификации PWT и PCD – управление механизмом кэширования AVL – резерв для нужд ОС
Страницы маленькие, их много, и таблица страниц занимает целых 4 метра. Это до фига, поэтому страницы группируются в разделы, с формированием таблиц раздела = размеру страницы.
Номер виртуальной страницы (20 разрядов) – делится на номер раздела и номер страницы в разделе. Ну и дальше все преобразуется как описано в страничном механизме.
Трансляция адреса. Буфер ассоциативной трансляции (TLB). Для ускорения преобразования адресов в блоке управления страницами используется ассоциативная память, где кэшируется 32 дескриптора активно используемых страниц. Это позволяет по номеру витруальной страницы быстро извлекать номер физической страницы без обращения к таблицам разделов и страниц.
Буфер ассоциативной трансляции (англ. Translation lookaside buffer, TLB) — это специализированный кэш центрального процессора, используемый для ускорения трансляции адреса виртуальной памяти в адрес физической памяти. TLB используется всеми современными процессорами с поддержкой страничной организации памяти. TLB содержит фиксированный набор записей (от 8 до 4096) и является ассоциативной памятью. Каждая запись содержит соответствие адреса страницы виртуальной памяти адресу физической памяти. Если адрес отсутствует в TLB, процессор обходит таблицы страниц и сохраняет полученный адрес в TLB, что занимает в 10—60 раз больше времени, чем получение адреса из записи, уже закешированной TLB. Вероятность промаха TLB невысока и составляет в среднем от 0,01 % до 1 %. В современных процессорах может быть реализовано несколько уровней TLB с разной скоростью работы и размером. Самый верхний уровень TLB будет содержать небольшое количество записей, но будет работать с очень высокой скоростью, вплоть до нескольких тактов. Последующие уровни становятся медленнее, но, вместе с тем и больше. Иногда верхний уровень TLB разделяется на 2 буфера, один для страниц, содержащих исполняемый код, и другой — для обрабатываемых данных.
Иерархия запоминающих устройств и кэширование данных. Принципы работы кэш - памяти. Детерминированный и случайный способы отображения основной памяти на кэш. Проблема согласования данных. Схемы выполнения запросов в схемах с двухуровневой кэш памятью. Иерархия запоминающих устройств: Память часто называют «узким местом» фон-Неймановских ВМ из-за ее серьезного отставания по быстродействию от процессоров, причем, разрыв этот неуклонно увеличивается.
Так, если производительность процессоров возрастает вдвое примерно каждые 1,5 года, то для микросхем памяти прирост быстродействия не превышает 9% в год (удвоение за 10 лет), что выражается в увеличении разрыва в быстродействии между процессором и памятью приблизительна на 50% в год.
При создании системы памяти постоянно приходится решать задачу обеспечения требуемой емкости и высокого быстродействия за приемлемую цену. Наиболее эффективным решением является создание иерархической памяти. Иерархическая память состоит из ЗУ различных типов (см. рисунок ниже), которые, в зависимости от характеристик, относят к определенному уровню иерархии.
Более высокий уровень меньше по емкости, быстрее и имеет большую стоимость в пересчете на бит, чем более низкий уровень. Уровни иерархии взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне, и все данные на этом более низком уровне могут быть найдены на следующем нижележащем уровне и т. д.
Фундамент пирамиды – внешняя память (жесткий и гибкий магнитный диск, магнитные ленты, оптические диски, флэшки): 6. Объем – десятки и сотни гигабайт 7. Время доступа – десятки миллисекунд Оперативная память: 8. Объем – гигабайты 9. Время доступа – 10-20 наносекунд 10. Реализуется на относительно медленной динамической памяти DRAM Быстродействующая память (ее же называют Кэш??) 11. На основе статической памяти SRAM 12. Объем – десятки-сотни килобайт 13. Время доступа – до 8 наносек Регистры процессора 14. Объем – десятки байт 15. Время доступа – 2-3 наносекунды (определяется быстродействием процессора)
Кэширование данных Чем быстрее память, тем она дороже. Но нам хотелось бы быструю и недорогую память. Для этого есть компромиссное решение – кэширование.
Кэширование – это способ совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных. При кэшировании за счет копирования наиболее часто использующихся фрагментов информации из медленного ЗУ в быстрое достигается уменьшение времени доступа к данным, но при этом экономится быстродействующая память.
При этом КЭШем называют не только способ организации памяти, но и само быстрое ЗУ, куда производится копирование информации. Более медленное ЗУ называют основной памятью.
Кэширование – универсальный метод, пригодный для ускорения доступа к: - оперативной памяти – роль КЭШа выполняет быстрая память - к данным, хранящимся на диске – роль КЭШа выполняют буферы в оперативной памяти - к другим видам ЗУ.
Виртуальная память по сути – тоже разновидность кэширования, где оперативная память выступает в роли КЭШа по отношению к диску. Правда здесь цель – не ускорение доступа, а увеличение объема и подмена оперативной памяти.
|
||
|
Последнее изменение этой страницы: 2017-02-05; просмотров: 425; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.007 с.) |