- •Лабораторная работа №1 Исследование принципов конвейерной обработки Краткая теория
- •Описание лабораторной установки
- •Порядок выполнения лабораторной работы Подготовка к работе
- •Последовательность выполнения лабораторной работы
- •Содержание отчета о выполненной работе
- •Контрольные вопросы
- •Лабораторная работа №2 Исследование конфликтов в работе конвейера Краткая теория
- •Описание лабораторной установки
- •Порядок выполнения лабораторной работы Подготовка к работе
- •Последовательность выполнения лабораторной работы
- •Содержание отчета о выполненной работе
- •Контрольные вопросы
- •Лабораторная работа №3 Исследование принципов мультиконвейерной обработки Краткая теория
- •Описание лабораторной установки
- •Порядок выполнения лабораторной работы Подготовка к работе
- •Последовательность выполнения лабораторной работы
- •Содержание отчета о выполненной работе
- •Контрольные вопросы
- •Лабораторная работа №4 Исследование конфликтов в мультиконвейерных системах Краткая теория
- •Описание лабораторной установки
- •Порядок выполнения лабораторной работы Подготовка к работе
- •Последовательность выполнения лабораторной работы
- •Содержание отчета о выполненной работе
- •Контрольные вопросы
- •Лабораторная работа №5 Изучение особенностей работы суперскалярных микропроцессоров Краткая теория
- •Описание лабораторной установки
- •Порядок выполнения лабораторной работы Подготовка к работе
- •Последовательность выполнения лабораторной работы
- •Содержание отчета о выполненной работе
- •Контрольные вопросы
- •Лабораторная работа №6 Исследование типовых структур кэш-памяти Краткая теория
- •Организация кэш-памяти
- •1. Кэш-память с прямым отображением
- •2. Полностью ассоциативная кэш-память
- •3. Множественно-ассоциативная кэш-память
- •Особенности записи и замещения информации в кэш-памяти. Когерентность кэш-памяти
- •Описание лабораторной установки
- •Порядок выполнения лабораторной работы Подготовка к работе
- •Последовательность выполнения лабораторной работы
- •Содержание отчета о выполненной работе
- •Контрольные вопросы
- •Лабораторная работа №7 Исследование типовых структур памяти многопроцессорных систем Краткая теория
- •Описание лабораторной установки
- •Порядок выполнения лабораторной работы Подготовка к работе
- •Последовательность выполнения лабораторной работы
- •Содержание отчета о выполненной работе
- •Контрольные вопросы
- •Лабораторная работа №8 Исследование конфликтов в работе многопроцессорной системы Краткая теория
- •Описание лабораторной установки
- •Порядок выполнения лабораторной работы Подготовка к работе
- •Последовательность выполнения лабораторной работы
- •Содержание отчета о выполненной работе
- •Контрольные вопросы
- •Индивидуальные задания. Исследование заданной подсистемы вычислительной системы
- •Библиографический список
- •Оглавление
Описание лабораторной установки
Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows 98/2000 и выше. Программа имитационного моделирования составлена на языке Delphi 7.0. В ней представлена упрощенная модель подсистемы «Оперативная память – КЭШ». Кроме того, в ней отображены шины адреса и данных микропроцессора.
Имитационная модель воспроизводит процесс выполнения команд обращения к памяти (чтения и записи). Основное внимание уделено визуализации процессов взаимодействия устройств подсистемы. Имеется возможность сравнивать архитектурные решения и алгоритмы замещения блоков в КЭШе.
Исходными данными для моделирования являются:
количество команд обращения к памяти;
доля команд чтения в последовательности;
доля команд записи в общей смеси;
объем оперативной памяти (измеряется в строках);
объем КЭШ-памяти (измеряется в строках);
способ организации работы КЭШ-памяти:
полностью ассоциативная;
множественно-ассоциативная;
с прямым отображением;
для множественно-ассоциативной памяти задается количество подмножеств в КЭШе;
метод обеспечения когерентности памяти;
метод замещения строк в КЭШ-памяти;
времена чтения и записи в КЭШ-память (измеряются в тактах);
времена чтения и записи в оперативную память (измеряются в тактах).
Результаты моделирования представляются в виде:
количества выполненных команд;
количества выполненных тактов;
среднего времени выполнения команды;
количества промахов при обращении к КЭШ-памяти.
Исполняемый модуль программы моделирования имеет имя Memoryи находится в папкеLab 6. Его запуск осуществляется традиционным способом. После запуска на экране появляется основное окно, которое позволяет задать параметры модели и один из двух режимов моделирования: непрерывный или потактовый. Их выбор осуществляется с помощью менюФайл –> Режим моделирования.
В начале необходимо задать исходные данные (выполнить настройку модели). Эта процедура, как и в предыдущих работах, выполняется с помощью меню Параметры. При выборе указанного пункта появляется окно, содержащее несколько закладок.
Закладка КЭШпозволяет выбрать вид КЭШ-памяти: полностью ассоциативная, множественно-ассоциативная или с прямым отображением. При выборе множественно-ассоциативной памяти можно задать количество подмножеств в КЭШе из следующего ряда: 2,4,8. Для множественно-ассоциативной памяти или с прямым отображением в модели КЭШа поле Тега дополняется полем Индекса. На этой вкладке можно также выбрать метод замещения строк в КЭШ-памяти: LRU, FIFO, LFU или произвольный.
Вкладка Взаимодействиепозволяет выбрать метод когерентности памяти: сквозной или обратной записи. При выборе метода обратной записи в модель КЭШа добавляется поле БМ – бит модификации, которое отображает состояние бита модификации для каждой строки. На этой вкладке можно также задать время обращения (чтение/запись) к КЭШ и основной памяти.
Вкладка Командыпозволяет указать общее количество команд работы с памятью (от 1000 до 10000). С помощью этой вкладки можно также задать процентное соотношение количества команд записи и чтения.
Вкладка Объемы памятипозволяет задать объемы основной (16 – 1024) и КЭШ-памяти (8 – 64) в строках, а также количество строк в подмножестве. Появление кэш-промахов и их количество существенно зависят от порядка расположения строк, в которых находятся операнды команд. Так при обработке массивов обычно адреса меняются линейно: 0, 1, 2, … Частота обращения к одному и тому же адресу зависит от количества повторений цикла обработки. Эти параметры можно задать с помощью вкладкиЦиклы.
Вкладка Другиеобеспечивает задание интервала таймера для непрерывного режима моделирования.
После осуществления всех необходимых настроек можно переходить к исследованиям.
Во время моделирования имитируется выполнение некоторой программы, содержащей заданное количество команд с заданным процентным соотношением операций чтение – запись. При этом на шину адреса последовательно поступают адреса строк, которые необходимо считать из памяти или перезаписать в нее. Адреса формируются с помощью генератора случайных чисел с учетом наличия циклов обработки массивов. Блок сравнения и выборки в контроллере КЭШ-памяти их анализирует и определяет, есть ли строка с заданным адресом в КЭШе. Если строка присутствует, то она либо подается на шину данных, либо считывается с нее и обновляется. Если строки нет (КЭШ-промах), то идет запрос к основной памяти. После этого искомая строка либо подается на шину данных, либо считывается с нее и обновляется. Таким образом в программе рассматривается также и ситуация конфликта по памяти (КЭШ-промах).
Две цифры в скобках в начале имени строки указывают номер версии ее содержимого. Красные стрелки показывают направление передачи данных. Двунаправленная стрелка между основной и КЭШ-памятью обозначает, что в течение такта произошла передача данных сначала из основной памяти в КЭШ, а затем - из КЭШа в основную память.
Выходными данными моделирующей программы являются количество выполненных тактов и команд, среднее время выполнения команды в тактах и количество КЭШ-промахов.