Архитектура В. С. Lab3. Моделирование буферной памяти систем и исследование её характеристик

Цель работы

Знакомство со структурой кэш-памяти и принципами ее функционирования. Оценка выигрыша от применения кэш-памяти в вычислительных системах.

Задание на лабораторную работу.

Реализовать на языке программирования модель работы системы с кэшем. Дать оценку эффективности работы кэша путем его тестирования (множество циклов записи и чтения с подсчетом статистики). Тестирование проводить при помощи какого-либо алгоритма (например, сортировки).

Подсказка. При реализации модели на языке высокого уровня, такого как Pascal или C можно поступить следующим образом. Основная память, кэш-память будут представлять из себя двухмерные массивы. Алгоритм тестирования будет “представлять” для себя основную память, как одномерный массив с известными границами. Но все обращения к этому массиву будут идти не через стандартные операторы выбора элемента массива, а через некоторые функции read и write. Вызовы этих функций будут направляться на обработку третьей функции — контроллеру кэш-памяти, которая и будет выполнять все операции, связанные с кэшированием. Подсчет статистики можно вести в функции-контроллере кэш-памяти.

Размер основной памяти, кэш-памяти, блока выбирается и обосновывается студентом. Механизм поиска адресов — ассоциативный. Стратегия замещения блоков – LRU и случайная. Способ записи – сквозная и обратная.

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

Текст программы:

Результаты теста (при размере ОЗУ 1024 блоков, размер блока 8 байт):

Количество промахов при различных размерах буферной памяти:

Алгоритм замены блоков 8 16 32 64
LRU 6.25 6.24 6.24 6.22
случайный 7.14 6.66 6.43 6.27

Следовательно, алгоритм замещения LRU позволяет повысить эффективность использования буферной памяти.

Результаты теста (при размере ОЗУ 1024 блоков, размер блока 16 байт):

8 16 32 64
LRU 3,12 3,12 3,12 3,11
RANDOM 3,57 3,33 3,21 3,13

Вывод:
По результатам тестов были построены следующие графики:

ArchitectureCSLab3Result

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

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

Скачать архив с лабораторной работой и исходными кодами программ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *