
- •Министерство образования российской федерации
- •Введение
- •Цель работы
- •Теоретические сведения
- •Выбор обобщённой структурной схемы и обзор метода моделирования
- •Описание алгоритма моделирования.
- •Объекты и средства исследования
- •Подготовка к работе Массивы Nblok, KaskRd, KashWr.
- •Массив MesiPr..
- •Функция InKash
- •Функция Other
- •Порядок работы
- •Результаты работы Тестовые примеры моделирования
- •Варианты заданий для выполнения лабораторной работы
- •Контрольные вопросы
- •Библиографический список
Министерство образования российской федерации
Московский Государственный Институт Электроники и Математики
(технический университет)
Кафедра вычислительных систем и сетей.
MESI ПРОТОКОЛЫ
В МУЛЬТИПРОЦЕССОРНЫХ СРЕДАХ
Методические указания
к лабораторной работе по курсу «Организация ЭВМ, комплексов и систем»
Москва 2001
Составители: канд.техн.наук, доцент И.Е.Сафонова,
ст.преподаватель С.В.Жарков,
инженер Д. В. Гуляев
УДК 681.325
MESI протоколы в мультиропцессорных системах: Методические указания к лабораторным работам по курсу «Организация ЭВМ, комплексов и систем» /Московский государственный институт электроники и математики; Сост.: И.Е.Сафонова, С.В.Жарков, Д. В. Гуляев. М., 2001 - 18 с.
Данная лабораторная работа направлена на изучение моделирования мультипроцессорных систем (на примере процессора Pentium), механизма кэш-согласования, реализованного с помощью протоколов MESI.
Для студентов 4 курса факультета АВТ и технических факультетов, изучающих курс «Организация ЭВМ, комплексов и систем».
ISBN
Введение
Мультипроцессорные системы имеют большое значение при решении вычислительных задач очень большой размерности. Современная практика ставит перед человеком все более и более сложные задачи, связанные с работой с огромными массивами данных, с вычислениями, требующими большой точности и сложности, не говоря уже о хранении промежуточных данных большой емкости. Хотя производительность, емкость памяти ПК возрастают очень быстро, появляются новые программные продукты, позволяющие решать очень сложные задачи, связанные с научными расчетами, обработкой данных, и т. д., всегда находятся задачи, для решения которых производительности ПК даже оснащенного самым мощным процессором, имеющим огромную емкость оперативной памяти, и емкость винчестера порядка нескольких десятков гигабайт. Данная лабораторная работа направлена на изучение моделирования мультипроцессорных систем (на основе процессора Pentium), механизма кэш-согласования, реализованного с помощью протоколов MESI.
В мультипроцессорных системах процессоры Pentium используют механизм кэш-согласования, что означает, если один процессор изменил данные в кэш памяти, то все остальные процессоры при обращении к этим данным получат измененные копии. Данный механизм реализуется с помощью протокола MESI.
Каждая строка кэш, в которой хранится блок оперативной памяти, снабжена признаком, перечислим их:
1. М - Modified (модифицированная) строка модифицирована (её содержимое отличается от содержимого ОП, но в ней достоверная информация).
2. Е - Exclusive (исключительная) содержимое строки совпадает с содержимым в ОП.
3. S - Shared (разделяемая) содержимое строки совпадает с содержимым в ОП в нескольких кэш.
4. I - Invalid (недействительная) содержимое строки не совпадает с содержимым ОП (информация в строке недостоверна).
Цель работы
В данной лабораторной работе моделируется мультипроцессорная система, состоящая из 4-х процессоров (каждый имеет свой кэш) и одной общей оперативной памяти, которая состоит из 12 блоков.
Каждый кэш содержит 12 линий (одна линия может хранить в себе один блок ОП). Для того, чтобы работа MESI протоколов была более наглядной, пусть кэш будет работать следующим образом: если нужно записать блок ОП в кэш, где этот блок не присутствует, то блок помещается в первую свободную строку кэша; если строка удаляется из кэш, то содержимое всех строк, имеющие больший номер (расположенные ниже данной строки) переписывается в строки с номером на 1 меньшим (то есть все заполненные строки расположены рядом и между ними нет пустых строк), кэш процессора Pentium работает, конечно, не так, но в задачу данной лабораторной работы не входит моделирование работы КП (кэш памяти), но работа MESI протоколов таким образам показать удобнее. В реальном кэш, если все строки КП заполнены, а нужно прочитать новый блок, то по какому-либо критерию выбирается строка, и на ее место записывается новый блок ОП; в настоящей программе моделирования этот процесс можно смоделировать так: удалить наименее используемый блок (в программе есть такая возможность) и записать в КП новый блок оперативной памяти.