- •Министерство образования российской федерации
- •Введение
- •Цель работы
- •Теоретические сведения
- •1. Архитектуры эвм
- •Sisd-компьютеры
- •Simd-компьютеры
- •Misd компьютеры
- •Mimd компьютеры
- •Многопроцессорные вычислительные системы(мпвс)
- •Многомашинные вычислительные системы (ммвс)
- •2. Оперативная память
- •3. Кэш-память
- •Типовая структура кэш-памяти
- •Стратегии обновления строк основной памяти
- •Mesi-протоколы
- •Порядок работы
- •Порядок работы с программой
- •Тестовые примеры моделирования
- •Варианты заданий для выполнения лабораторной работы
- •Контрольные вопросы
- •Библиографический список
Порядок работы
В работе требуется проследить согласно заданному варианту за изменениями в MESI-признаках строк каждого КЭШ и объяснить эти изменения.
В окне, появляющемся в Windows после запуска программы, есть следующие основные поля.
Внизу расположены 4 окна, соответствующие четырём процессорам системы: содержимое КЭШ-памяти каждого процессора согласно протоколу MESI. Окно разделено на два столбца: правый – (номер блока ОП, хранимого в данной строке КЭШ) и левый – MESI-признак каждого блока.
Справа находятся «блоки оперативной памяти», каждый блок пронумерован.
Над каждым окном MESI-протокола находится маркер – круглое окошечко. Когда маркер определённого процессора помечен, то соответствующий процессор работает с ОП, т.е. данные считываются или записываются в КЭШ этого процессора.
Возможны следующие действия (работа) процессора с ОП:
«Чтение из памяти» - операция считывания процессором блока данных из ОП;
«Запись в память» - операция записи процессором блока данных в память;
«Удалить блок из кэш» - удаление соответствующего блока из КЭШ процессора;
Одно из этих действий может быть выбрано также с помощью маркера.
После выбора (с помощью маркера) нужного процессора и действия с ОП надо нажать одну из кнопок с номером блока ОП. Это будет означать, что указанное действие произведено указанным процессором над выбранным блоком ОП.
Кнопка «Очистить кэш» нужна для того, чтобы удалить все блоки из КЭШа процессора.
Порядок работы с программой
1. Для начала выберите процессор, который будет производить какие-либо действия с памятью, поставив с помощью левой кнопки мыши маркер над нужным окном MESI-протокола.
2. Укажите, какое действие с памятью будет производить процессор, поставив маркер «Чтение из памяти», «Запись в память», «Удалить из КЭШ блок».
3. Для того, чтобы выбранный процессор выполнил требуемое действие с определённым блоком, нужно нажать левой кнопкой «мыши» на кнопку в окне «блоки оперативной памяти», соответствующей номеру нужного блока.
4. Процессор будет записывать или считывать блок памяти, на который Вы указали стрелкой «мыши». Все изменения, которые произошли в MESI-протоколах в результате проведённых процессором действий, отражаются в окнах MESI-протоколов.
Тестовые примеры моделирования
Содержимое MESI протокола будет описываться следующим образом:
кэш<номер кэш>:<признак первой строки><номер блока ОП, хранящегося в этой строке >,<признак строки><номер блока ОП, хранящегося в этой строке >, ... ,<признак последней заполненной строки> <номер блока ОП, хранящегося в этой строке >
Тест 1
Исходное состояние: ни в один кэш не записаны блоки ОП, следовательно MESI протоколы пусты.
Первый процессор произвёл чтение 1-го блока ОП.
Тогда содержимое 1-го блока запишется из ОП в кэш1.
Содержимое 1-го КЭШ будет следующим: Е1.
Тест 2
Исходное состояние: кэш1: Е 3, М 1, Е 5
кэш2: Е 2, Е 12
Первый процессор произвёл чтение 2-го блока ОП. Тогда содержимое 2-го блока запишется из ОП в кэш1.
Результат: кэш1: Е 3, М 1, Е5, S2
кэш2: S2, Е 12.
Второй процессор произвёл запись в 12-й блок ОП.
Результат: кэш1: Е 3, М 1, Е 5, S2
кэш2: S 2, М12.
Второй процессор произвёл запись в 1-й блок ОП.
Тогда содержимое 1-го блока запишется из кэш1 в ОП. Из ОП 1-й блок запишется в кэш2.
Результат: кэш1: Е 3, I 1, Е 5, S2
кэш2: S 2, М 12, Ml.
Первый процессор произвёл чтение в 1-го блока ОП.
Тогда содержимое 1-го блока запишется из кэш2 в ОП. Из ОП 1-й блок запишется в кэш1.
Результат: кэш1: Е 3, S 1, Е 5, S2
кэш2: S 2, М 12, S 1.
Тест 3
Исходное состояние: ни в один кэш не записаны блоки ОП, следовательно MESI протоколы пусты.
Второй процессор произвёл запись в 4-й блок ОП.
Тогда содержимое 4-го блока запишется из ОП в кэш2.
Результат: кэш2: М 4.
