ПОД-2 (1184236)
Текст из файла
522гр. Аристов Михаил.
Многоуровневый кэш
Многоуровневый кэш — кэш состаящий из нескольких уровней, различного размера и различным временем отклика. Кэши меньшего размера обладают более меньшим временем отклика.
Параметры:
-
Кол-во уровней кэшей (2 или 3 обычно)
-
Размеры кешей (L1 — 64-256кб, L2 — 512-2048 кб, L3 - ~4096кб)
-
Существует три основных типа организации кэш-памяти, которые определяются принципом размещения строк в кэше:
Если каждая строка основной памяти имеет только одно фиксированное место, на которой она может появиться в кэш-памяти, то такая кэш-память называется кэшем с прямым отображением (direct mapped). Это наиболее простая организация кэш-памяти, при которой для отображения адресов строк основной памяти на адреса кэш-памяти просто используются младшие разряды адреса строки. Таким образом, все строки основной памяти, имеющие одинаковые младшие разряды в своем адресе, попадают в одну строку кэш-памяти, т.е.
(адрес строки кэш-памяти) = (адрес строки основной памяти) mod (число строк в кэш-памяти)
Достоинство такой организации заключается в том, что поиск по кэшу производится максимально быстро, но при этом процент попаданий (hit rate) относительно низок, из-за того, что порой невозможно одновременно кэшировать две секции часто используемых данных, т.к. они норовят занять одно и то же место в кэше.
Полной противоположностью предыдущей организации является такая, при которой некоторая строка основной памяти может располагаться на любом месте кэш-памяти. Такой кэш называется полностью ассоциативным (fully associative).
Такая организация позволяет достичь максимально возможного процента попаданий, однако скорость поиска снизится весьма значительно.
Достичь положительного оптимального баланса между достоинствами и недостатками двух предыдущих вариантов позволяет следующая организация.
Если некоторая строка основной памяти может располагаться на ограниченном множестве мест в кэш-памяти, то кэш называется множественно-ассоциативным (set associative). Обычно множество представляет собой группу из двух или большего числа строк в кэше. Если множество состоит из n строк, то такое размещение называется множественно-ассоциативным с n каналами (n-way set associative). Для размещения строки, прежде всего, необходимо определить множество. Множество определяется младшими разрядами адреса строки (индексом):
(адрес множества кэш-памяти) = (адрес строки основной памяти) mod (число множеств в кэш-памяти)
4. Включительный/исключительный кэш (inclusive/exclusive). При использовании включительной архитектуры все записи в кэшах дублируются в кэшах высшего уровня, вплоть до оперативной памяти.
Эффективность кэша зависит от размера кэша большего уровня.
При исключительной архитектуре зависит от суммы размеров кэша.
Учет при програмировании:
При многократной обработке одних и тех же данных, эффективней всего обрабатывать данные блоками равных или меньших размера кэша.
Влияние страничной организации ОЗУ на скорость вычислений
Страничная организация памяти эффективна для многозадачных ОС, но при этом вычисления внутри 1 процесса происходят медленее.
Програмирование с учетом расслоения памяти и выравнивания данных
При известных параметрах расслоения памяти , то можно обращаться к памяти определенным образом, что обеспечит увеличение производительности приложения. Например, обращатся к памяти последовательно.
Использование команд управления кэшем
Для управления кэшем существует несколько команд.
PREFETCH(intel) - команда предварительной выборки в кэш. Можно использовать для предварительно выборки блока данных.
MOVNTPS — команда записи в память без кеширования. Можно использовать для записи данных которые не будут в ближайшее время использоваться.
5. Рекомендации по оптимальному управлению памятью при программировании
Существует несколько общих рекомендаций по управлению памятью:
-
Используйте указатели и динамическое распределение памяти только там, где это действительно необходимо. Проверьте, можно ли выделить память статически или использовать автоматическую переменную.
-
Старайтесь локализовать распределение памяти. Если какой-либо метод выделяет память (в особенности под временные данные), он же и должен ее освободить.
-
Там, где это возможно, вместо указателей используйте ссылки.
-
Проверяйте программы с помощью специальных средств контроля памяти (Purify компании Rational, Bounce Checker компании Nu-Mega и т.д.)
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.