Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билетики.pdf
Скачиваний:
1
Добавлен:
05.06.2025
Размер:
6.66 Mб
Скачать

52. Кеш-память (понятие, принцип действия кеш-памяти).

L1 кэш

Самый быстрый и маленький уровень. Находится непосредственно в каждом ядре процессора и хранит данные и команды, которые обрабатываются в текущий момент

L2 кэш

Кэш второго уровня. Находится рядом с ядрами, но может обслуживать несколько ядер одновременно. Имеет больший объём, чем L1 (обычно от 256 КБ до 2 МБ), и немного большую задержку, чем L1, но всё же значительно быстрее, чем оперативная память.

L3 кэш

Кэш третьего уровня. Общий для всех ядер процессора. Имеет больший объём (от 4 МБ до 64 МБ и больше), но и более высокие задержки по сравнению с L1 и L2.

Кэш-память, или просто кэш — это способ совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных, который за счет динамического копирования в «быстрое» ЗУ наиболее часто используемой информации из «медленного» ЗУ позволяет, с одной стороны,

уменьшить среднее время доступа к данным, а с другой стороны, экономить более

дорогую быстродействующую память.

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

Содержимое кэш-памяти представляет собой совокупность записей обо всех

загруженных в нее элементах данных из основной памяти. Каждая запись об элементе

данных включает в себя:

●​ значение элемента данных; ●​ адрес, который этот элемент данных имеет в основной памяти;

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

и признак действительности данных.

Нам нужны какие-то данные, прежде чем искать их в основной памяти, мы

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

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

процессор постоянно бы простаивал в ожидании. Кэш — это очень быстрая, но

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

Эффективность копирования зависит от вероятности попадания в кэш.

53. Случайное отображение основной памяти на кеш.

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

Для такого отображения, конечно, используют ассоциативный поиск по тегу (признаку),

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

54. Детерминированное отображение основной памяти на кеш.

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

адресов оперативной памяти.

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

нескольких разрядов из адреса оперативной памяти, которые интерпретируются как

номер строки кэш-памяти (такое отображение называется прямым).

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

памяти, младшие разряды адреса которой совпадают с номером строки, необходимо

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

При совпадении тега с соответствующей частью адреса из запроса констатируется кэш-попадание.

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

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

55. Комбинированный способ отображения основной памяти на кеш.

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

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

некоторую группу адресов. Все группы пронумерованы.

Поиск в кэше осуществляется вначале по номеру группы, полученному из адреса оперативной памяти из запроса, а затем в пределах группы путем

ассоциативного просмотра всех записей в группе на предмет совпадения старших

частей адресов оперативной памяти.

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

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

56. Задачи ОС по управлению файлами и устройствами.

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

2.согласование скоростей обмена и кеширование данных

3.разделение устройств и данных между процессами

4.организация параллельной работы устройств ввода-вывода и процессора

5.поддержка широкого спектра драйверов с возможностью простого включения в

систему нового драйвера

6.динамическая загрузка и выгрузка драйверов

7.поддержка нескольких файловых систем

8.поддержка синхронных и асинхронных операций ввода-вывода

57. Многослойная модель подсистемы ввода-вывода.

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

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

матричных принтеров и т. п.

Слои:

1.​ Уровень пользовательских приложений (printf)

2.​ Интерфейс системных вызовов (write) 3.​ Ядро подсистемы ввода-вывода 4.​ Драйверы