Мегаобучалка Главная | О нас | Обратная связь


Проблема поддержки актуальности копий и способы её решения



2015-12-07 616 Обсуждений (0)
Проблема поддержки актуальности копий и способы её решения 0.00 из 5.00 0 оценок




Обращения к блокам кэш-памяти со стороны центрального процессора могут производиться как по чтению, так и по записи. При модификации блока кэш-памяти после обращения по записи, его копия в оперативной памяти на некоторое время становится неактуальной. Так как к этому блоку оперативной памяти с модифицированной копией могут осуществляться обращения со стороны других устройств (процессоров и/или устройств ввода-вывода), то проблема согласования содержимого блоков оперативной памяти и кэш-памяти является весьма актуальной. Для решения данной проблемы предусмотрены методы обновления ОП, которые можно разделить на две большие группы:

· метод сквозной записи (Write Through – WT);

· метод обратной записи (Write Back – WB).

Использование стратегии WT предполагает, что при записи обновляется слово, хранящееся в ОП. Если в кэш-памяти существует копия этого слова, то она так же обновляется. Если же в кэш-памяти отсутствует копия этого слова, то либо из ОП в кэш-память пересылается блок, содержащий это слово (метод WTWA – WT With Allocation – Сквозная запись с распределением), либо этого не делается (WTNWA – WT Non With Allocation – Сквозная запись без распределения). При любом обращении к памяти по записи, обращение идет к ОП, то есть содержимое ОП остается актуальным. При использовании любой из модификаций метода сквозной записи нет необходимости копировать удаляемый из кэш-памяти блок в ОП, так как его копия в ОП поддерживается актуальной. Несмотря на большое достоинство метода WT, связанное с отсутствием проблемы согласования содержимого ОП и кэш-памяти, его существенным недостатком является высокий процент обращений к ОП. В пределе, доля обращений к ОП стремится к общей доле обращений по записи. По статистике, доля обращений к ОП по записи составляет порядка 10-15% от общего числа обращений.

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

 

13. Виртуальная память: понятие и концепции.

 

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

Поддержка механизмов виртуальной памяти реализуется специальными аппаратными и программными средствами. Аппаратные средства в современных компьютерах обычно представлены специальным блоком MMU – Memory Management Unit, входящим в состав центрального процессора (CPU). В отношении процессоров семейства Intel 80х86, Pentium этот блок впервые появился в процессоре Intel 80286 и был предназначен для реализации сегментированной виртуальной памяти. Начиная со следующей модели Intel 80386, была реализована аппаратная поддержка как сегментной, так и страничной организации памяти. При этом блок MMU был разделен на две относительно независимые части в виде SU – Segment Unit и PU – Page Unit.

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

Виртуальная организация памяти базируется на разделении как основной, так и внешней памяти на блоки. Переменная длина блока является типичной для сегментной организации, а фиксированная длина блока – для страничной. Предполагается, что во внешней дисковой памяти содержатся все используемые блоки, в то время как в основной памяти - лишь копии некоторых из них. Естественно, что в любой момент времени в основной памяти содержатся копии именно тех блоков, к которым в последнее время осуществлялись обращения со стороны CPU.

Пересылка очередного блока из внешней памяти в основную инициируется в том случае, если при обращении к этому блоку со стороны CPU было обнаружено его отсутствие в основной памяти. Как правило, эта пересылка предваряется процедурой освобождения места в основной памяти для пересылаемого блока. С этой целью производится выбор блока-кандидата на удаление из основной памяти. В современных компьютерах для этой цели обычно используется стратегия LRU – Least Recently Used (наиболее давно использованный) или ее модификация. В соответствии с этой стратегией удалению подлежит тот блок, к которому наиболее давно не было обращения. В тех случаях, когда блок-кандидат на удаление за время его нахождения в основной памяти подвергался модификации (производились обращения по записи), требуется предварительная его пересылка из основной памяти во внешнюю для актуализации его копии во внешней памяти. Только после этого на его место пересылается новый блок.

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

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

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

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

 

 

 

Рис.1. Двухступенчатое преобразование логического адреса

в физический

 

Для процессоров Intel сегментное преобразование является обязательным, а страничное может быть включено с помощью установки специального бита PG (PaGing), находящегося в управляющем регистре CR0 (CR – Control Register): PG = 1 –страничное преобразование включено; PG = 0 –страничное преобразование выключено, линейный адрес используется как физический.

 

 

14. Реализация сегментно-страничной виртуальной памяти в старших моделях процессоров семейства Intel 80x86, Pentium. Преобразования адресов (из логического в линейный и из линейного в физический) и средства их ускорения.

//это жопа, там так дохуя, пол-конспекта довгого по виртуальной памяти, проще прочитать. Схемы преобразования вот:

 
 

 

 


Рис.7. Схема преобразования логического адреса в линейный

с использованием GDT

 

Селектор сегмента

Рис.8. Схема преобразования логического адреса

 
 

в линейный с использованием LDT

 

 

 

15. Назначение и основные функции системы прерываний. Реализация функций на аппаратном и программном уровнях.

 

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

Система прерываний представляет собой комплекс аппаратных и программных средств. Аппаратные средства системы прерываний либо входят в состав CPU и называются тогда блоком прерываний, либо реализуются в виде отдельного устройства, называемого контроллером прерываний (Programmable Interupt Controller – PIC). Первый подход является типичным для больших ЭВМ класса Mainframe, второй – для компьютеров на базе микропроцессоров. Программные средства системы прерываний представляют собой так называемые обработчики прерываний, которые входят в состав операционной системы.

Прерывания принято разделять на два больших класса: программные и аппаратные. Программные прерывания связаны с выполняемой программой и являются синхронными по отношению к этой программе. Аппаратные прерывания могут возникать в произвольные моменты времени, т.е. являются асинхронными по отношению к выполняемой программе. С помощью аппаратных прерываний осуществляется взаимодействие процессора с периферийными устройствами, а также сообщается о различных аппаратных ошибках



2015-12-07 616 Обсуждений (0)
Проблема поддержки актуальности копий и способы её решения 0.00 из 5.00 0 оценок









Обсуждение в статье: Проблема поддержки актуальности копий и способы её решения

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (616)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)