Главная » Просмотр файлов » Жмакин А.П. Архитектура ЭВМ (2006)

Жмакин А.П. Архитектура ЭВМ (2006) (1186252), страница 20

Файл №1186252 Жмакин А.П. Архитектура ЭВМ (2006) (Жмакин А.П. Архитектура ЭВМ (2006)) 20 страницаЖмакин А.П. Архитектура ЭВМ (2006) (1186252) страница 202020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 20)

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

Обозначим строки в множестве как LO, LI, L2, L3. Каждому множеству в блоке LRU соответствуют три бита ВО, Bl, В2, которые модифицируются при каждом кэш-попадании или заполнении строки множества следующим образом:

□ если последнее обращение было к строке L0 или L1, то бит ВО устанавли­вается в 1, иначе — сбрасывается в 0;

□ если последнее обращение в паре L0—L1 было к строке L0, то бит В1 ус­танавливается в 1, иначе — сбрасывается в 0;

□ если последнее обращение в паре L2—L3 было к строке L2, то бит В2 ус­танавливается в 1, иначе — сбрасывается в 0.

Выбор заменяемой строки (когда все строки множества достоверны) опреде­ляет содержимое битов ВО, Bl, В2 (табл. 5.1).

Цикл записи при наличии кэш-памяти может реализоваться по-разному. Раз­личают кэш со сквозной записью и кэш с обратной записью.

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

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

В 80486 строки кэш-памяти можно по отдельности объявить недостоверны­ми, задавая операцию недостоверности кэш-памяти на шине процессора. При инициализации такой операции кэш сравнивает объявленный недостоверным адрес с тегом строк, находящихся в кэш, и сбрасывает бит достоверности при обнаружении соответствия тегов. Предусмотрена также операция очистки, которая превращает в недостоверное все содержимое кэш. Конфигурацией кэш-памяти управляют два бита регистра CR0 состояния ма­шины:

□ CD (Cache Disable) — запрещение кэш-памяти;

□ NW (Not Write-through) — несквозная (обратная) запись.

При CD = 1 и NW = 1 запрещено заполнение строк, сквозная запись и объ­явление кэш-памяти недостоверной. Такая конфигурация позволяет исполь­зовать внутреннюю кэш-память как быстродействующее ЗУПВ. При CD = 1 и NW = 0 заполнение строк запрещено, а сквозная запись и объ­явление кэш-памяти недостоверной разрешено. Эта конфигурация позволяет программе запрещать кэш-память на короткое время, а затем разрешать без очистки содержимого.

При СО = 0 и NW = 0 заполнение строк, сквозная запись и объявление кэш­памяти недостоверной разрешены. Такая конфигурация является обычной рабочей для кэш-памяти.

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

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

5.3. Виртуальная память

Выше были рассмотрены способы организации сверхоперативной памяти и ее взаимодействия с оперативной. Не менее, а порой и более важной пробле­мой является организация взаимодействия в паре ОЗУ — ВЗУ.

Известно, что в современных ЭВМ (кроме простейших) реализовано динамиче­ское распределение памяти между несколькими задачами, существующими в ЭВМ в процессе решения. Даже для однозадачных конфигураций проблема динамического распределения памяти не теряет актуальности, т. к. в памяти, помимо задачи пользователя, всегда присутствует операционная система или ее фрагмент.

Наличие динамического распределения памяти предполагает, что программа компилируется в т. н. "логических" адресах, а в процессе работы происходит автоматическое преобразование логических адресов в физические.

Наибольшее распространение в ЭВМ получил метод динамического распреде­ления памяти, называемый страничной организацией виртуальной памяти. При использовании этого метода вся память ЭВМ (ОЗУ и ВЗУ) рассматрива­ется как единая виртуальная память. Адрес в этой памяти называется вирту­альным или логическим. Вся виртуальная память делится на фрагменты оди­накового размера, называемые виртуальными страницами. Размер страницы обычно составляет 0,5—4 Кбайт. Виртуальный адрес представляется состоя­щим из двух частей— номера страницы и номера слова на странице (сме­щения).

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

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

Поскольку размер СТ достаточно велик, она хранится целиком в ОЗУ и мо­дифицируется операционной системой всякий раз, когда в распределении па­мяти происходят изменения.

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

Если в результате преобразования виртуального адреса в физический оказы­вается, что требуемая физическая страница располагается в ВЗУ, то выпол­нение программы становится невозможным, пока не произойдет "подкачка" требуемой страницы в ОЗУ. Такая ситуация называется страничным сбоем и должна формировать внутреннее прерывание, по которому запускается под­программа чтения страницы из ВЗУ в ОЗУ.

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

5.3.1. Алгоритмы замещения

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

Теоретически доказано, что минимальное число страничных сбоев будет по­лучено, если в алгоритме замещения использовать информацию о потоке об­ращений к страницам в будущем (алгоритм Минховского — Шора) или, по крайней мере, о вероятности обращений к страницам в будущем. Алгоритмы замещения, использующие "информацию о будущем", называют­ся физически нереализуемыми, их обычно применяют для оценки качества эвристических алгоритмов замещения.

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

Эффективность эвристического алгоритма можно характеризовать отноше­нием:

где N0 — число страничных сбоев при решении данной задачи с применени­ем физически нереализуемого алгоритма; Ne — то же с применением иссле­дуемого эвристического алгоритма.

Эвристический алгоритм можно считать выбранным удачно (для данного класса задач), если коэффициент к близок к 1. Значение NQ может быть по­лучено путем моделирования решения задачи (повторное) с предварительно зафиксированным потоком обращений к страницам.

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

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

Некоторые алгоритмы замещения учитывают одновременно несколько пара­метров прошлого потока обращений.

Алгоритм "Карабкающаяся страница" (КС-алгоритм) поддерживает после­довательность номеров страниц, находящихся в ОЗУ. При любом обращении к странице ее номер в последовательности перемещается на одну позицию в направлении начала, меняясь местами с предыдущим в последовательности номером (исключение — обращение к странице, номер которой стоит в нача­ле последовательности). При возникновении страничного сбоя из ОЗУ удаля­ется страница, номер которой расположен в конце

последовательности, а но­мер вновь поступившей страницы помещается в конец последовательности. КС-алгоритм учитывает как время пребывания страницы в ОЗУ, так и интен­сивность обращения к странице, причем не требует значительных аппарат­ных затрат, а при страничном сбое — времени на поиск.

Алгоритм "Рабочий комплект" (РК-алгоритм) более сложен в реализации, но позволяет адаптировать свои параметры под конкретный класс задач. Все страницы ОЗУ, к которым было обращение в течение отрезка времени Т, образуют т. н. рабочий комплект и не подлежат удалению из ОЗУ. Остальные страницы (не вошедшие в рабочий комплект) образуют две очереди кандида­тов на замещение, причем в первую очередь попадают страницы, на которые не было записи во время пребывания их в ОЗУ. При страничном сбое удаля­ется страница из первой очереди (FIFO — первый пришел из рабочего ком­плекта — первый ушел из ОЗУ), а если первая очередь пуста, то — из второй. Из очереди страница может опять попасть в рабочий комплект, если к ней будет обращение. Для реализации РК-алгоритма каждой странице ставится в соответствие таймер на Т, причем каждое обращение к странице сбрасывает таймер (и переводит страницу в рабочий комплект, если она там отсутствова­ла), а переполнение таймера выводит страницу из рабочего комплекта. Под­бором величины Т можно оптимизировать РК-алгоритм под конкретный класс задач.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее