КЭШ-память – это хранилище для наиболее часто используемой информации, доступ к которому происходит гораздо быстрее, нежели чем к оперативной памяти или к жесткому диску компьютера. Понимание тонкостей работы с данной памятью может существенно улучшить производительность программ, а значит может быть включена в программу обучения для студентов. Однако, дизайн КЭШа всегда зависит от конкретной архитектуры и имеет неизменяемые параметры. Более того, все операции работы с КЭШем происходят на уровне процессора, доступа к которым у программиста просто нет. Таким образом, для получения возможности понимания каким же образом различные параметры КЭШ-памяти влияют на производительность и скорость выполнения учебных программ, было решено создать программу-симуляцию. Целью работы является программа, симулирующая работу КЭШ-памяти с двумя видами отображений и позволяющая устанавливать размер КЭШа, длину строки и способ замещения элементов. Для этого будет изучен принцип работы КЭШа, разработаны классы для работы с ним, созданы классы для двух отображений КЭШ-памяти, в которых можно будет задавать размер КЭШа, длину КЭШ-строк, а также алгоритмы замещения строк. Все классы будут протестированы на корректность работы, а также приведены примеры для сравнения оптимальности тех или иных реализаций.
ВВЕДЕНИЕ.................................................................................................... 3
1. Теоретическая часть................................................................................ 4
2. КЭШ-память с прямым отображением................................................ 9
2.1. Тестовый класс..................................................................................... 9
2.2. Класс КЭШ-памяти............................................................................ 11
2.3. Проверка работоспособности........................................................... 13
3. Полностью ассоциативная КЭШ-память........................................... 16
3.1. Тестовый класс................................................................................... 16
3.2. Класс КЭШ-памяти............................................................................ 17
3.3. Проверка работоспособности для случайного алгоритма........... 20
3.4. Проверка работоспособности для LRU-алгоритма....................... 23
4. Результаты.............................................................................................. 27
ЗАКЛЮЧЕНИЕ........................................................................................... 30
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ................................. 36
Приложение.................................................................................................. 37
1. StudFiles [Электронный ресурс]. - URL: https://studfile.net/preview/2014486/page:11/ (дата обращения: 25.02.2021).
— Текст: электронный.
2. StudRef [Электронный ресурс]. - - URL: https://studref.com/524582/informatika/primery_raboty_pamyatyu (дата обращения: 01.03.2021). — Текст: электронный.
3. Интуит [Электронный ресурс]. - URL: https://intuit.ru/studies/courses/604/460/lecture/10327 (дата обращения: 10.03.2021). — Текст: электронный.
4. Habr [Электронный ресурс]. - URL: https://habr.com/ru/post/129037/ (дата обращения: 13.03.2021). — Текст: электронный.
5. JavaRush [Электронный ресурс]. - URL: https://javarush.ru/ (дата обращения: 18.03.2021). — Текст: электронный.
6. We-IT [Электронный ресурс]. - URL: http://we- it.net/zhelezo/protsessory/146-kesh-pamyat-protsessora-urovni-i-printsipy- funktsionirovaniya (дата обращения: 20.02.2021). — Текст: электронный.
7. Studopedia [Электронный ресурс]. - URL: https://studopedia.ru/15_65386_algoritmi-zameshcheniya-informatsii.html (дата обращения: 23.03.2021). — Текст: электронный.