Автор работы: Пользователь скрыл имя, 22 Декабря 2010 в 03:16, курсовая работа
Все работы выполнены на программной модели учебной ЭВМ и взаимодействующих с ней программных моделях ВУ и кэш-памяти. Учебная ЭВМ является упрощенной программной моделью компьютера, позволяющей обучаемым освоить базовые понятия архитектуры: система команд, командный цикл, способы адресации, уровни памяти, способы взаимодействия процессора с внешними устройствами.
Пояснительная записка 3
Введение 4
Задание №1 5
Задание №2 7
Задание №3 9
Задание №4 11
Задание №5 14
Задание №6 18
Задание №7 21
Задание №8 24
Заключение 26
Список литературы 27
В общем виде использование кэш-памяти поясним следующим образом. Когда ЦП пытается прочитать слово из основной памяти, сначала осуществляется поиск копии этого слова в кэше. Если такая копия существует, обращение к ОП не производится, а в ЦП передается слово, извлеченное из кэш-памяти. Такая ситуация называется кэш-попаданием. При отсутствии слова в кэше, то есть при кэш-промахе, требуемое слово передается в ЦП из основной памяти, но одновременно из ОП в кэш-память пересылается блок данных, содержащий это слово.
На эффективность применения кэш-памяти в иерархической системе памяти наиболее существенно влияют:
К программной модели учебной ЭВМ может быть подключена программная модель кэш-памяти, реализация которой отображена на рисунке 13. Кэш-память содержит N ячеек (в модели N может выбираться из множества {4, 8, 16, 32}), каждая из которых включает трехразрядное поле тега (адреса ОЗУ), шестиразрядное поле данных и три однобитовых признака (флага):
Z – признак занятости ячейки;
U – признак использования;
W – признак записи в ячейку.
Таким образом, каждая ячейка кэш-памяти может дублировать одну любую ячейку ОЗУ, причем отмечается ее занятость (в начале работы модели все ячейки кэш-памяти свободны, Zi = 0), факт записи информации в ячейку во время пребывания ее в кэш-памяти, а также использование ячейки (т. е. любое обращение к ней).
Вариант задания:
№ варианта | Номера команд программы | ||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |
17 | RD #85 | WR 14 | WR @14 | WR @13 | ADD 18 | CALL 006 | RET |
Пояснение к варианту задания:
Номера варианта | Режим записи | Алгоритм замещения |
17 | Сквозная | БИ, без учета бита записи |
Обратная | О, с учетом бита записи |
Последовательность состояний кэш-памяти размером 4 ячейки при однократном выполнении программы (команды 1-7):
RD #85 ADD 18
WR 14 CALL 006
WR @14 RET
WR @13
Последовательность
микрокоманд при
выполнении команды wr
с отметкой тех
микрокоманд, в которых
возможна модификация
кэш-памяти:
Для варианта кэш-памяти размером 8 ячеек – последовательность номеров замещаемых ячеек кэш-памяти для второго варианта параметров кэш-памяти при двукратном выполнении программы (команды 1-7):
RD #85 ADD 18
WR 14 CALL 006
WR @14 RET
WR @13
Задание №8
Алгоритмы замещения строк кэш-памяти
Цель работы – изучение влияния параметров кэш-памяти и выбранного алгоритма замещения на эффективность работы системы.
Теоретические положения:
Оценка
эффективности работы системы с
кэш-памятью определяется числом кэш-попаданий
по отношению к общему числу обращений
к памяти. Учитывая разницу в алгоритмах
записи в режимах сквозной и обратной
записи, эффективность использования
кэш-памяти вычисляется по следующим выражениям
(соответственно для сквозной и обратной
записи):
где:
К – коэффициент эффективности работы кэш-памяти;
– общее число обращений к памяти;
– число кэш-попаданий;
– число сквозных записей при кэш-попадании (в режиме сквозной записи);
– число обратных записей (в режиме обратной записи).
Очевидно, эффективность работы системы с кэш-памятью будет зависеть не только от параметров кэш-памяти и выбранного алгоритма замещения, но и от класса решаемой задачи. Так, линейные программы должны хорошо работать с алгоритмами замещения типа очередь, а программы с большим числом условных переходов, зависящих от случайных входных данных, могут давать неплохие результаты с алгоритмами случайного замещения. Можно предположить, что программы, имеющие большое число повторяющихся участков (часто вызываемых подпрограмм и/или циклов) при прочих равных условиях обеспечат более высокую эффективность применения кэш-памяти, чем линейные программы. И, разумеется, на эффективность напрямую должен влиять размер кэш-памяти.
Результат моделирования программы из лабораторной работы №2:
Способ | Сквозная запись | |||||
Алгоритм | Случайное замещение | Очередь | Бит U | |||
Размер | без W | c W | 6ез W | c W | 6eз W | c W |
4 | 0.045 | 0.045 | 0.044 | 0.044 | 0.041 | 0.040 |
8 | 0.051 | 0.049 | 0.047 | 0.047 | 0.046 | 0.045 |
16 | 0.060 | 0.059 | 0.056 | 0.057 | 0.055 | 0.054 |
32 | 0.067 | 0.066 | 0.065 | 0.064 | 0.064 | 0.063 |
Способ | Обратная запись | |||||
Алгоритм | Случайное замещение | Очередь | Бит U | |||
Размер | без W | c W | 6ез W | c W | без W | c W |
4 | 0.041 | 0.042 | 0.043 | 0.044 | 0.045 | 0.046 |
8 | 0.046 | 0.046 | 0.047 | 0.048 | 0.049 | 0.052 |
16 | 0.054 | 0.057 | 0.057 | 0.056 | 0.059 | 0.060 |
32 | 0.064 | 0.064 | 0.064 | 0.065 | 0.067 | 0.067 |
Результат моделирования программы из лабораторной работы №4:
Способ | Сквозная запись | |||||
Алгоритм | Случайное замещение | Очередь | Бит U | |||
Размер | без W | c W | 6ез W | c W | 6eз W | c W |
4 | 0.054 | 0.052 | 0.051 | 0.051 | 0.050 | 0.48 |
8 | 0.066 | 0.065 | 0.064 | 0.064 | 0.063 | 0.061 |
16 | 0.073 | 0.073 | 0.071 | 0.070 | 0.069 | 0.068 |
32 | 0.081 | 0.080 | 0.079 | 0.078 | 0.077 | 0.077 |
Способ | Обратная запись | |||||
Алгоритм | Случайное замещение | Очередь | Бит U | |||
Размер | без W | c W | 6ез W | c W | без W | c W |
4 | 0.053 | 0.054 | 0.051 | 0.051 | 0.49 | 0.051 |
8 | 0.064 | 0.065 | 0.064 | 0.064 | 0.061 | 0.063 |
16 | 0.074 | 0.072 | 0.071 | 0.071 | 0.068 | 0.070 |
32 | 0.080 | 0.081 | 0.078 | 0.079 | 0.077 | 0.077 |
Заключение
После ознакомления с моделью учебной ЭВМ ко мне пришло чёткое понимание особенностей работы языков Ассемблера. Я целиком и полностью освоил базовые понятия архитектуры ЭВМ, такие как: система команд, командный цикл, способы адресации, уровни памяти, способы взаимодействия процессора с внешними устройствами.
Задания были различного уровня, позволяющие ознакомится с моделью учебной ЭВМ со всех сторон.
После выполнения заданий № 1-4 я получил первичное ознакомление с архитектурой процессора, системой команд, способами адресации и основными приемами программирования на машинно-ориентированном языке. После пятого задания я понял, как реализован командный цикл процессора на уровне микроопераций. Шестое задание помогло мне разобраться в способах организации связи процессора с внешними устройствами. Об организации кэш-памяти и эффективности различных алгоритмов замещения я узнал из 7 и 8 задания.
По
факту успешного выполнения всех
работ, считаю, курс пройден мной успешно
и добросовестно.
Список литературы