![](/user_photo/527_Cxpzr.png)
- •Министерство образования российской федерации
- •Введение
- •Цель работы
- •Теоретические сведения
- •Выбор обобщённой структурной схемы и обзор метода моделирования
- •Описание алгоритма моделирования.
- •Объекты и средства исследования
- •Подготовка к работе Массивы Nblok, KaskRd, KashWr.
- •Массив MesiPr..
- •Функция InKash
- •Функция Other
- •Порядок работы
- •Результаты работы Тестовые примеры моделирования
- •Варианты заданий для выполнения лабораторной работы
- •Контрольные вопросы
- •Библиографический список
Теоретические сведения
Для повышения эффективности работы с ОП используют кэш память.
Кэш можно сделать общим для всех процессоров, но это невыгодно по нескольким причинам.
Во-первых, кэш должен быть очень большим по объёму, а такой кэш очень дорог или вообще не выпускается промышленностью, поэтому обычно применяют кэш-память малую по объёму. Следовательно, выгодно применять разделённый кэш.
Одновременный доступ нескольких процессоров к одной ОП в ВС с разделённым кэшем можно организовать с помощью коммутационных сетей. Но тогда при модификации данных в локальном кэш процессора, нужно тут же записывать эти данные в ОП для того, чтобы другие процессоры могли иметь доступ к изменённым данным. Это резко снижает эффективность работы КП.
При использовании MESI протоколов модифицированные данные не записываются из локального кэша в оперативную память до того момента пока строка кэш с этими данными не будет удалена из КП, либо пока другой процессор не произведет чтение или модификацию этих данных. Из-за этого значительно меньше приходится записывать данные из локального кэш в ОП чем для первого метода, следовательно повышается эффективность работы КП.
Рис.1 Структурная схема процессора «Pentium».
Выбор обобщённой структурной схемы и обзор метода моделирования
Мультипроцессорную систему моделируемую в данной лабораторной работе можно представить в виде следующей структурной схемы:
Рис.2 Мультипроцессорная система.
Метод моделирования - имитационный, т.е. показывается не сама работа реальных MESI протоколов, а показывается только принцип их действия. Иначе говоря, данная программа рассчитана на человека (чтобы наглядно показать ему принцип действия MESI протоколов).
Описание алгоритма моделирования.
Если блок ОП, над которым процессор должен произвести действие не записан в кэш этого процессора, то признак равен нулю; иначе признак имеет одно из 4-х значений: М, Е, S, I - т.е. возвращается признак строки, в которой хранится соответствующий блок ОП.
Если блок ОП, над которым процессор должен произвести дейст-вие не записан ни в один из кэш мультипроцессорной системы, то приз-нак равен нулю; иначе признак имеет одно из 4-х значений: М, Е, S, I - т.е. возвращается признак строки, в которой хранится соответствующий блок ОП.
Объекты и средства исследования
В данной лабораторной работе моделируется 4-х процессорная система и исследуется принцип действия MESI-протоколов.
Подготовка к работе Массивы Nblok, KaskRd, KashWr.
В них заносятся сообщения, которые должны выдаваться на экран пользователю. В KashRd хранится номер кэш, в который надо записать блок, в KashWr - номер кэш, из которого надо записать блок в ОП, Nblok. хранит номер блока, с которым производятся действия. Так, если сначала нужно записать блок 1 из кэш1 в ОП, а затем записать блок 3 в кэш4, то нужно выполнить следующий фрагмент программы:
KashWr[l]:=l; // запись производит кэш1
// KashRd[l]=0, т. к массивы KashRd, KashWr, Nblok инициализированны в 0
Nblok[l]:=l //действие производится над 1-м блоком
KashRd[2]:=3 //чтение производит 3-й кэш
Nblok[2]:=3 // действие производится над 3-м блоком