Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LABA2.doc
Скачиваний:
3
Добавлен:
04.04.2013
Размер:
259.58 Кб
Скачать

Массив MesiPr..

Массив содержит в себе информацию о содержимом MESI протокола. Массив трёхмерный:

— 1-ое измерение - номер кэша

— 2-ое и 3-е измерение - сам MESI протокол (2-ое измерение - признак строки, 3-е - номер блока, хранящегося в строке кэша).

Признаки строк кэш храняться в числовом виде: 1-М, 2-Е,3 - S, 4 -I.

Функция _MESI(возвращает символьное значение признака строки кэш).На входе:числовое значение признака строки кэш.

На выходе:символьное значение признака строки кэш.

Функция Last(изменяет MESI протокол при записи в кэш блока ОП и присваивает строке кэш, в которую записан данный блок, соответствую-щий признак).

На входе:номер кэш; признак строки, в которую должен быть записан блок ОП; номер блока ОП, который надо записать в кэш.

На выходе:процедура изменяет содержимое MESI протоколов (они хранятся в массиве MesiPR).

Функция InKash

На входе: номер блока ОП.

На выходе:номер строки кэш, помеченного маркером на экране монитора, где на­ходится данный блок ОП, если его там нет, то возвращается 0.

Функция Other

На входе: номер блока ОП; номер кэш, где находится данный блок; номер строки, где находится данный блок.

На выходе: функция возвращает 0, если в других кэш нет данного блока ОП, ина­че возвращается признак той строки другого кэш, где хранится этот блок.

Функция ClearPR

(удаляет блок ОП из кэш, помеченного маркером (на экране мо­нитора).

На входе:номер блока ОП, который надо удалить из кэш.

На выходе:процедура изменяет содержимое MESI протоколов (они хранятся в массиве MesiPR).

Функция Npr

На выходе:номер процессора, который должен произвести действие с памятью.

^

Процедура TForm1.N1Click

(очищает весь кэш, помеченного маркером (на экране монитора).

Процедура Akt

(осуществляет само моделирование MESI протоколов).

На входе:номер блока ОП, над которым процессор должен произвести действие.На выходе:процедура изменяет содержимое MESI протоколов (они хранятся в массиве MesiPR), выводит сообщения в окно «Хронология», заносит информацию в мас­сивы KashRd и KashWr, которые обрабатывает процедура TForml.Timer1Timer и выво­дит сообщения о производимых процессором действиях.

Порядок работы

В окне, появляющемся в Windows после запуска программы есть 6 основных по­лей.

Внизу расположены 4 окна - сами MESI-протоколы (данная мультипроцессорная система состоит из 4-х процессоров и поэтому требуется 4 MESI-протокола, для каждого кэша). Окно разделено на два столбца: первый - признак блока оперативной памяти, хра­нимого в данной строке кэш; второй - номер блока оперативной памяти, хранимого в данной строке кэш. То есть, чтобы получить информацию о содержимом нужной строки КП, нужно выбрать строчку одном из этих окон (наверху над каждым окном написано к кэшу какого процессора относится данный MESI-протокол: 1-му, 2-му, 3-му или 4-му процессору), номер строки будет соответствовать номеру строки в КП; первый символ в строке будет обозначать статус строки: M,E,S или I, а во втором столбце будет находить­ся номер блока, хранимого в данной строке кэш памяти.

Справа находятся «блоки оперативной памяти» каждый блок пронумерован.

Над каждым окном MESI-протокола находится маркер. Если маркер над этим ок­ном помечен, то работа (чтение из ОП или запись в ОП) идёт с данным кэш. Например, если помечено первое окно MESI-протокола, то данные будут из оперативной памяти бу­дут считываться или записываться первым процессором.

Два маркера: «Чтение из памяти» и «Запись в память» - означают действие про­изводимое процессором: чтение или запись данных в память.

Маркер «Удалить блок из кэш» - при нажатии на кнопку, обозначающую блок ОП происходит удаление соответствующего блока из кэша процессора.

Кнопка «Очистить кэш» нужна для того чтобы удалить все блоки из кэша процес­сора.

Как работать с данной программой моделирования?

Для начала, выберите процессор который будет производить какие-либо действия с памятью, поставив маркер над нужным окном MESI-протокола (см. выше их описа­ние). Затем поставить маркер «Чтение из памяти» или «Запись в память» для того, что­бы указать какое действие с памятью будет производить процессор.

Для того, чтобы выбранный процессор выполнил нужное действие, нужно нажать указателем «мыши» на кнопку в окне «блоки оперативной памяти». Процессор будет за­писывать или считывать блок памяти, на который Вы указали стрелкой «мыши». Все изменения, которые произошли в MESI-протоколах в результате проведённых процессо­ром действий отражаются в окнах MESI-протоколов.

Вверху находится окно в котором последовательно описываются все действия процессоров над содержимым оперативной памяти и кэша, приводящие к изменениям в MESI протоколах.

Соседние файлы в предмете Организация ЭВМ