ПОД_2 (1184243)
Текст из файла
Казачкин Дмитрий, 522 гр.
Контрольная работа №2.
-
Многоуровневый кэш
Кэш – промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в кэше идёт быстрее, чем выборка исходных данных из медленной памяти или их перевычисление, что делает среднее время доступа короче.
Многоуровневый кэш – система из нескольких кэшей, организованных иерархически, при этом каши разных уровней иерархии обладают разными характеристиками. Кэш-память уровня N+1 как правило больше по размеру и медленнее по скорости обращения и передаче данных, чем кэш-память уровня N.
Параметры многоуровневого кэша:
-
Число уровней (обычно, 2 или 3)
-
Характеристики каждого из кэшей i-го уровня
-
Объем (типичные значения: L1–128кб, L2–1Мб, L3–32Мб)
-
Латентность доступа (L1 – 4 такта, L2 – 20 тактов)
-
Политика записи (немедленная / отложенная запись)
-
Тип организации (прямое отображение / полная ассоциативность / частичная ассоциативность)
-
Эффективный размер многоуровневого кэша – размер кэша наибольшего уровня. Использование многоуровневого кэша существенно ускоряет доступ к часто используемым данным.
Чтобы учесть устройство кэша при программировании, следует в блочных алгоритмах следить за объемом анализируемых на каждой итерации данных. Идеальный вариант - попадание блока целиком в кэш L1. Худший – превышение эффективного размера кэша, что приведет к огромному числу пересылок данных, как между уровнями кэша, так и между кэшем и памятью.
-
Влияние страничной организации ОЗУ на скорость вычислений
Влияние данной организации ОЗУ на скорость вычислений зависит от характера самих вычислений.
-
В случае единственной задачи, ее выполнение замедляется, т.к. возникает необходимость в дополнительном вычислении реальных физических адресов
-
В случае множества задач – заметен серьезный выигрыш в производительности. Поскольку данный случай получил большее распространение, то минусы данной организации не помешали ее широкому распространению.
Внедрение страничной организации памяти в Intel 80286 стало знаковым событием, определившим весь дальнейший путь развития линейки процессоров x86.
-
Програмирование с учетом расслоения памяти и выравнивания данных
При расслоении памяти, последовательные участки данных находятся в разных банках. Для того, чтобы получить от этого выгоду, следует просматривать массивы, проходя по адресам, отличающимся на нечетные числа (в том числе, последовательно). Поскольку число банков всегда четно, это гарантированно будут адреса из разных банков.
Суть выравнивания в расположении данных так, чтобы они по возможности не нарушали естественные границы машинных слов. Например, данные расположенные в адресах 0х0000-0х0003 выровнены, а длинное слово в адресах 0х0001-0х0004 не выровнено. Доступ к нему на большинстве архитектур займет больше времени.
-
Использование команд управления кэшем
Базовый процессор 8086 не имеет команд управления кэшем. Однако, в 80486 добавились следующие команды:
-
INVD Invalidate Internal Caches
-
WBINVD Write Back and Invalidate Cache
Расширения SSE и SSE2 добавили следующие семейства команд:
-
PREFETCH* предварительное кэширование блока данных
-
MOVNT* работа с памятью без кэширования.
-
Рекомендации по оптимальному управлению памятью при программировании
Рекомендуется придерживаться следующих принципов:
-
Использовать блочные обмены данными и блочную же их обработку, однако, учитывая размер кэша. Копирование ровно одного байта памяти может не отличаться по скорости от работы с блоком в 64 байт одновременно, это стоит учитывать при повторном выделении памяти.
-
Минимизировать количество используемых одновременно страниц памяти, т.к. при их большом числе может начаться их постоянная подкачка на жесткий диск.
-
Выравнивать данные и просматривать их, проходя по различным банкам (не использовать циклы, постоянно прибавляющие к четное адресу число, особенно кратное двойке в большой степени).
-
Обязательно профилировать программы с целью выявления узких мест, приводящих к снижению производительности.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.