Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows 98/2000 и выше. Программа имитационного моделирования составлена на языке Delphi 7.0. Она позволяет исследовать архитектуру многопроцессорной вычислительной системы типа UMA SMP с шинной организацией, содержащую основную (оперативную), локальную и КЭШ-память.
Рис . 7.3. Общая структура крупномасштабной мультипроцессорной ВС с протоколами обмена на основе справочников
Êàê è â ïðîãðàììå Memory, â ìîäåëè ïðåäñòàâëåíû øèíû àäðåñà ìèêðîïðîöåññîðîâ è ñèñòåìíàÿ øèíà. Èìèòàöèîííàÿ ìîäåëü îòîáðàæàåò âûïîëíåíèå îáðàùåíèÿ ê ïàìÿòè. Èìååòñÿ âîçìîæíîñòü ñðàâíèâàòü ðàçëè÷íûå àðõèòåêòóðíûå ðåøåíèÿ è ðåæèìû èõ ðàáîòû.
Исходными данными для моделирования являются:
- количество процессоров в системе;
- количество команд обращения к памяти;
- доля команд обращения к памяти в общей смеси;
- доля команд чтения в последовательности;
- доля команд записи в общей смеси;
- конфигурация многопроцессорного вычислительного комплекса;
- объем оперативной памяти (измеряется в строках);
- объем КЭШ-памяти (измеряется в строках);
- объем локальной памяти (измеряется в строках);
- для конфигурации с локальными устройствами памяти – вероятности обращения к ним и основной памяти;
- времена чтения и записи в оперативную память (измеряются в тактах);
- времена чтения и записи в КЭШ (измеряются в тактах);
- времена чтения и записи в локальную память (измеряются в тактах).
Результаты моделирования представляются в виде:
- количества выполненных команд;
- общего количества выполненных тактов;
- среднего числа тактов на команду;
- средней загрузки системной шины.
- количества тактов простоя каждого процессора в ожидании завершения операций с памятью или освобождения системной шины;
- количества КЭШ-промахов каждого процессора.
Исполняемый модуль программы моделирования имеет имя MultMemи находится в папке Lab 7. Его запуск осуществляется традиционным способом. После запуска на экране появляется основное окно, которое позволяет задать параметры модели и один из трех режимов моделирования: íåïðåðûâíûé, ïîòàêòîâûé è ïî òàéìåðó. Èõ âûáîð, êàê è â ïðåäûäóùèõ ðàáîòàõ, îñóùåñòâëÿåòñÿ ñ ïîìîùüþ ìåíþ Режим моделирования.
 íà÷àëå íåîáõîäèìî çàäàòü èñõîäíûå äàííûå. Ýòà ïðîöåäóðà, êàê è â ïðåäûäóùåé ðàáîòå, âûïîëíÿåòñÿ ñ ïîìîùüþ ìåíþ Параметры.Ïðè âûáîðå óêàçàííîãî ïóíêòà ïîÿâëÿåòñÿ îêíî, ñîäåðæàùåå íåñêîëüêî çàêëàäîê.
Диалоговое окно, вызываемое этим пунктом, имеет пять вкладок.
Âêëàäêè Взаимодействие, ЦиклыèКомандыïîçâîëÿþò çàäàòü òå æå ïàðàìåòðû, ÷òî è â ïðåäûäóùåé ðàáîòå.
Âêëàäêà Памятьïîçâîëÿåò âûáðàòü êîíôèãóðàöèþ ìíîãîïðîöåññîðíîãî âû÷èñëèòåëüíîãî êîìïëåêñà íà îñíîâå àðõèòåêòóðû UMA SMP ñ øèííîé îðãàíèçàöèåé:
a) без КЭШ-памяти;
b)с КЭШ-памятью;
c)с КЭШ и локальными памятями.
Ñ ïîìîùüþ âêëàäêè Объем памятиìîæíî çàäàòü îáúåìû ïàìÿòè âñåõ òèïîâ, à âêëàäêà Другие- èíòåðâàë òàéìåðà è êîëè÷åñòâî ïðîöåññîðîâ â ñèñòåìå (1, 2, 4 èëè 8).
После осуществления всех необходимых настроек можно переходить к исследованиям.
 ïðîöåññå ìîäåëèðîâàíèÿ ïî øèíàì àäðåñà ïðîöåññîðîâ, âõîäÿùèõ â ñîñòàâ ñèñòåìû ïîñëåäîâàòåëüíî ïîñòóïàþò àäðåñà ñòðîê, êîòîðûå íåîáõîäèìî ñ÷èòàòü èëè ïåðåçàïèñàòü â ïàìÿòü. Âíà÷àëå ýòè ñòðîêè èùóòñÿ â ÊÝØå. Åñëè èõ òàì íåò (ÊÝØ-ïðîìàõ), òî èäåò çàïðîñ ëèáî ê ëîêàëüíîé ïàìÿòè, ëèáî ê îáùåé ïàìÿòè. Ïîñëå ñåàíñà âçàèìîäåéñòâèÿ, ïðîòåêàþùåãî â ñîîòâåòñòâèè ñ íàñòðîéêàìè ìîäåëè, ïðîèñõîäèò ñ÷èòûâàíèå (çàïèñü) èñêîìîé ñòðîêè. Äâå öèôðû â ñêîáêàõ â íà÷àëå èìåíè ñòðîêè óêàçûâàþò íîìåð âåðñèè åå ñîäåðæèìîãî.
Результатами работы программы, как отмечалось выше, являются количество выполненных тактов и команд, среднее время выполнения команды в тактах, средняя загрузка системной шины, а также количества КЭШ-промахов и простоев для каждого процессора системы.