Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭВМ и ПУ для студентов / Пособие ч.3.1.1(ФИНАЛ ФИНАЛИСТЫЙ) 1.doc
Скачиваний:
67
Добавлен:
10.05.2015
Размер:
3.49 Mб
Скачать

4.7.3. Кэш множественно-ассоциативного типа

Данный вид КЭШ-памяти сочетает в себе свойства двух вышерассмотренных и состоит из строк, объединенных в наборы или множества (рис.35). В адресе обращения к КЭШ-памяти указывается номер набора, по которому происходит прямой поиск набора, а затем в пределах выбранного набора по тегу осуществляется ассоциативный поиск заданной строки. Если в одной из строк набора произошло совпадение тегов, это "попадание", и по смещению осуществляется поиск байта на строке. Если совпадения тегов не произошло, это "промах", и замещение пассивной строки на активную происходит как в КЭШ-памяти полностью ассоциативного типа, но в пределах заданного набора. Таким образом, нужный блок ОЗУ может быть размещен на любой строке КЭШ в данном наборе. Ограничением является копирование блоков только в набор определенного номера.

.

.

.

Рис. 35

Пример.

Разбиение ОЗУ на блоки и количество строк КЭШ пусть будет, как и в предыдущих примерах. В данном случае будем иметь 2 набора по 2 строки в каждом наборе ( рис. 36). Тогда под адрес набора требуется 1разряд и 3 разряда под тег. В набор с адресом «0» в любую свободную строку могут быть скопированы блоки с четными адресами, а в набор «1» - с нечетными.

Рис. 36

5.Организация памяти при мультипрограммных режимах работы эвм и вс

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

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

Если программа загружается в ОЗУ полностью, то для определения начала ее размещения ОС назначает базовую константу и записывает ее либо в РОН либо в выделенный регистр, называемый регистром базы. Чаще применяется обработка фрагментов программ (сегментов или страниц). Для этого применяется виртуальная организация памяти, которая может быть организована различными способами: как сегментная, страничная или сегментно-страничная.

5.1. Организация памяти при ее распределении между программами с помощью базовых констант

Загрузка программ из ВЗУ в ОЗУ осуществляется в соответствии с принятой дисциплиной обслуживания в свободные области памяти. Предположим, что процессор должен обрабатывать программы А, В, С, и D.

Рис. 37

При этом каждая программа занимает определенную область памяти. ОС загрузила в ОЗУ первые 3 программы (рис. 37).

После завершения выполнения программы А она перемещается в дисковую память, а в ОЗУ должна быть перемещена программа D. Однако освободившаяся область памяти от программы А по своей величине меньше, чем длина программы В (Wа)<(Wd). В ОЗУ при первоначальной загрузке программ остался пустой фрагмент (Wф), который в сумме с Wа будет больше длины программы А. Для копирования в ОЗУ программы D необходимо иметь сплошное адресное пространство. ОС, определив размеры свободных областей ОЗУ, перемещает по адресному пространству программы В и С, переназначая им базовые константы, и на освободившееся место пересылает программу D (рис. 38).

Рис. 38

Недостатками данного способа организации мультипрограммной работы являются:

-фрагментация памяти ( отдельные области ОЗУ остаются не использованы);

- возникают дополнительные расходы процессорного времени на перемещение программ по адресному пространству ОЗУ с переназначением базовых констант.

Кроме того, существуют ограничения по соотношениям емкости ОЗУ и длине программ пользователей. Сложные программы могут превосходить объем свободного пространства ОЗУ. Для этого случая и предназначена виртуальная память, которая позволяет загружать и обрабатывать пользовательские программы посегментно или постранично.