Главная » Просмотр файлов » Курс лекций - конспект от Томилина в ворде

Курс лекций - конспект от Томилина в ворде (1156246), страница 3

Файл №1156246 Курс лекций - конспект от Томилина в ворде (Курс лекций - конспект от Томилина в ворде) 3 страницаКурс лекций - конспект от Томилина в ворде (1156246) страница 32019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Кэш-память

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

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

  • способ доступа к кэш-памяти при обращении к находящимся в ней данным из процессора и при перемещении данных в кэш-память из оперативной памяти;

  • способ выполнения записи данных в кэш-память из процессора.

По способу доступа к кэш-памяти различаются следующие организации кэш-памяти:

  • полностью ассоциативная кэш-память;

  • кэш-память с “прямой” адресацией;

  • частично ассоциативная кэш-память.

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

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

Противоположной по отношению к организации полностью ассоциативной памяти является организация кэш-памяти “с прямой адресацией”. В данном случае заранее определено, из каких диапазонов адресов оперативной памяти (длина диапазонов совпадает с длиной блоков кэш-памяти) данные могут быть помещены в конкретный блок кэш-памяти. Например, при длине блока кэш-памяти 100 (в восьмеричной системе счисления) и количестве блоков 4 в “нулевой” блок кэш-памяти могут быть переданы данные из ячеек оперативной памяти с восьмеричными адресами:

0000 – 0077, 0400 – 0477, 1000 – 1077, 1400 – 1477 и т.д.

В первый блок кэш-памяти могут быть переданы данные из ячеек оперативной памяти с адресами:

0100 – 0177, 0500 – 0577 и т.д.

Для приведенного примера данные с адресом 0432 могут быть найдены лишь в нулевом блоке кэш-памяти при нахождении в указанном специальном регистре при этом блоке адреса 0400, а данные с адресом 0543 могут быть найдены лишь в первом блоке кэш-памяти при нахождении в его специальном регистре адреса 0500.

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

Организация частично-ассоциативной памяти обеспечивает разделение блоков кэш-памяти на группы по одинаковому числу блоков по принципу организации кэш-памяти «с прямой адресацией», а поиск данных в выбранной группе блоков кэш-памяти осуществляется по принципу организации полностью ассоциативной памяти. Так для указанного выше примера четырех блоков кэш-памяти возможна организация частично-ассоциативной памяти из двух групп блоков по два блока в каждой. В “нулевую” группу попадают нулевой и первый блоки, а в первую – второй и третий блоки. Данные с адресами 0000 – 0177, 0400 – 0577, 1000 – 1177, 1400-1577 могут находиться лишь в блоках нулевой группы. Данные с указанными выше адресами 0432 и 0543 могут находиться или отсутствовать либо в нулевом, либо в первом блоке кэш-памяти.

Замена информации в частично-ассоциативной кэш-памяти при “промахе” обращения в нее происходит аналогично замене информации в других организациях кэш-памяти.

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

Память с прямой адресацией отличается наибольшей простотой нахождения места расположения данных в ней.

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

Поскольку в вычислительных системах с общей памятью данные из некоторой ее области могут находиться в блоках разных кэш-памятей, изменение этих данных при выполнении записи по некоторому адресу оперативной памяти в одной кэш-памяти не должно привести к использованию “старых” значений при обращении за ними по этому же адресу оперативной памяти в другой кэш-памяти. Это реализуется двумя основными способами.

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

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

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

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

В первых ЭВМ программирование велось с использованием физических адресов оперативной памяти. Каждая задача программировалась с использованием одних и тех же адресов, то есть на машине в каждый период времени могла выполняться лишь одна задача (фактически первые ЭВМ были машинами “на одну персону”, имея в виду программиста или оператора, работавшего на машине). Размер задачи (объем ее программ и данных) во многих случаях практически сразу стал существенно превосходить размер оперативной памяти машины. Пришлось программировать отдельные части (блоки, модули) задачи на одни и те же адреса памяти и вызывать их в программе на эти адреса оперативной памяти из внешней памяти (на магнитных барабанах, магнитных лентах).

Такие действия, называемые “перекрытием программных модулей” (и модулей данных) в памяти или “попеременной загрузкой” модулей (overlay) вызывали большие затруднения при программировании.

Шагом вперед в организации оперативной памяти стало введение аппаратуры, обеспечивающей использование информации задачи на любом месте оперативной памяти. Использовался “регистр базы”, на который помещался начальный адрес размещения задачи в оперативной памяти, и регистр длины (размера) информации задачи. Это позволило программировать задачи на одни и те же адреса, называвшиеся “относительными”, “логическими”, “математическими” и, наконец, “виртуальными” адресами, а размещать (с помощью операционной системы) информацию задачи на любом месте оперативной памяти. Тем самым обеспечивалась возможность помещения в память одновременно информации многих задач и выполнения этих задач в многозадачном (многопрограммном) режиме. Эффект использования такого режима достигается за счет более полной загрузки процессора. Когда временно (например, из-за выполнения обмена данными между оперативной и внешней памятью) не может выполняться одна задача, тут же начинает выполняться другая задача. Поскольку информация задачи занимает непрерывный диапазон адресов, использование регистра длины информации задачи позволяет не допускать обращения в задаче в невыделенную для нее область памяти и тем самым обеспечивать защиту памяти других задач.

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

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

Видами такой организации памяти стали: “сегментная”, “страничная” и “сегментно-страничная” организации.

Сегментная организация памяти.

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

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

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

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

Существенным преимуществом сегментной организации виртуальной памяти является возможность уникальной защиты помещаемого в сегмент программного объекта по способу обращения к нему. Так, например, модуль процедуры должен быть защищен от возможности осуществления записи в него; запись в модуль данных может быть либо запрещена, либо разрешена. Информация об уникальной защите сегмента также размещается в таблице соответствия. Там же размещается и признак наличия виртуального сегмента в оперативной памяти.

Линейную таблицу соответствия виртуальных номеров сегментов задачи и их мест расположения в физической оперативной памяти (длина такой таблицы соответствует количеству виртуальных сегментов задачи) создает операционная система ЭВМ, поскольку именно она размещает требуемые сегменты в оперативной памяти, передавая их в нее из внешней памяти (выполняется также обратная перепись во внешнюю память сегментов, содержимое которых изменилось, в случае, если их место расположения отведено для размещения новых сегментов. Размещение таблицы соответствия в оперативной памяти требует при замене виртуального адреса на физический одного дополнительного обращения к оперативной памяти, то есть 100% накладных расходов. Существенно избежать этих накладных расходов удается за счет размещения информации из таблицы соответствия в быстродействующих регистрах, в каждом из которых находится как виртуальный номер сегмента, так и алрес его размещения в оперативной памяти. Ассоциативный поиск адреса размещения виртуального сегмента в оперативной памяти происходит в этих регистрах по его виртуальному номеру практически без задержки. Свойство “локальности” программы позволяет почти всегда успешно выполнять такой поиск и осуществлять автоматическую замену виртуального адреса на физический при относительно небольшом числе регистров, содержащих информацию из таблицы соответствия. Редкий “промах” приводит к переписи нужной строки из таблицы соответствия, находящейся в оперативной памяти, в регистр “быстродействующей” таблицы. Выбор номера регистра производится аппаратно.

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

Страничная организация виртуальной памяти

Страничная организация виртуальной памяти задачи исключает упоминавшийся недостаток сегментной организации – внешнюю фрагментацию. Виртуальная память задачи разделяется на виртуальные “страницы” одинаковой длины, которые могут помещаться на любые физические “страницы” (области оперативной памяти той же длины, что и у виртуальных страниц задачи). Начальные адреса физических страниц имеют значения, кратные длине страницы. Часто используется величина, называемая номером физической страницы и являющаяся значением старших разрядов таких адресов. Количество младших разрядов определяется длиной страницы (младшие разряды, естественно, используются для указания смещения данных в странице).

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

Тип файла
Документ
Размер
182,5 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

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