Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Аппаратные средства вычислительной техники. Ч.1. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
820 Кб
Скачать

ячейке кэш-памяти. Примером структурных конфликтов являются коллизии, возникающие при промахе в кэш-памяти и при необходимости выполнения записей в два или более регистров регистрового файла в течение одного машинного такта.

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

укоторых запись данных производится в разные ячейки.

Внастоящей работе имеется возможность воспроизвести конфликт по данным между двумя соседними командами программы, которые именуются связкой. Такие операции в модели выделяются красным цветом. В связку могут входить как обычные, так и длинные команды. Если в некоторый конвейер поступает одна из операций связки, вторая ожидает во входной очереди, пока первая не пройдет по конвейеру и не попадет в выходной буфер. В это время для заполнения конвейеров из входной очереди выбираются следующие команды.

Вмодели также может воспроизводиться структурный конфликт, когда операнды очередной команды отсутствуют в кэш-памяти [4]. Такие операции в программе называются командами записи/чтения из памяти. Операции записи считаются более длинными, чем чтение, и обрабатываются в длинных конвейерах. Если в кэш-памяти не оказывается данных для выполнения очередной команды, то она ожидает во входном буфере. В это время для заполнения конвейеров из очереди выбираются следующие команды.

Описание лабораторной установки

Лабораторная работа выполняется на персональном компьютере с ОС Windows. В ней используется та же программа имитационного моделирования, что и в лабораторной работе № 8. Она позволяет выполнить следующие исследования [4]:

90

1.Варьировать количество команд в последовательности от 100 до 500 (по умолчанию их 100).

2.Включать в структуру только короткие конвейеры или добавлять к ним длинные. По умолчанию система содержит один короткий конвейер.

3.Изменять количество конвейеров обоих типов от 1 до 10.

4.Включить в последовательность длинные команды, связанные по данным, а также операции работы с памятью.

Исполняемый модуль программы моделирования имеет имя ConvMod и находится в папке Лаб_9. Его запуск осуществляется традиционным способом. После запуска на экране появляется основное окно, которое позволяет задать параметры модели и один из трех режимов моделирования: непрерывный, потактовый и по таймеру. Их выбор, как и в предыдущей работе, осуществляется с помощью меню

Режим моделирования.

В начале работы необходимо задать исходные данные (выполнить настройку модели). Эта процедура, как и в предыдущей работе, выполняется с помощью меню Файл → Настройка. При выборе указанного пункта появляется окно, содержащее несколько закладок. С помощью закладки Команды устанавливается количество команд в моделируемой последовательности (от 100 до 500). Здесь же находится флажок Включить длинные команды, позволяющий включить в последовательность команд длинные операции и задать их чередование.

Имеется возможность исследовать влияние на характеристики системы одного из двух типов конфликтов: по данным или по обращению к кэш-памяти. В первом случае устанавливается флажок Включить связанные команды, а также задается чередование связок и других команд (по умолчанию через одну).

Для исследования влияния на характеристики системы конфликтов по обращению к кэш-памяти выбирается флажок Включить команды работы с памятью, а также задается их чередование с други-

91

ми операциями (по умолчанию через одну). Для этого режима необ-

ходимо снять флажки Включить длинные команды и Включить связанные команды.

Кроме того, имеется возможность установить процентное соотношение команд записи и чтения между собой (по умолчанию в смеси 10 % операций записи и 90 % – чтения). Увеличение процента одной из этих операций приводит к соответствующему уменьшению процента другой, так что суммарный процент всегда равен 100.

С помощью закладки Конвейеры устанавливается количество этих устройств. В данной лабораторной работе необходимо включить

вструктуру системы длинные конвейеры и задать их количество (по умолчанию оно равно 1).

Имитация выполнения последовательности команд в модели, как и

впредыдущей работе, начинается после настройки и выбора пункта меню Файл → Пуск. При этом происходит перемещение номеров команд из кэша через конвейерные обрабатывающие устройства в выходной буфер и очередь. Моделирование заканчивается, когда все команды оказываются в выходной очереди. Результаты представляются в виде общего количества выполненных тактов, среднего числа тактов на команду и количества промахов при обращении к кэш-памяти.

Программа, реализация которой имитируется моделью, как отмечалось выше, может представлять собой смесь коротких и длинных команд, которые можно обработать на соответствующих конвейерах. Длинные команды при отображении во входной и выходной очередях, а также в выходном буфере имеют больший размер, чем обычные. При прохождении конвейеров все операции представляются одинаковыми размерами. Кроме того, в последовательность команд могут быть включены либо связки (пары операций, связанных по данным), либо команды работы с памятью. Перечисленные операции обозначаются следующими цветами: связка – красным, чтение – зеленым, а запись – желтым. Команды записи считаются более длинными, чем чтение, и обрабатываются в длинных конвейерах.

92

ПОРЯДОК ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ

Подготовка к работе

1.Знакомство со всеми разделами руководства.

2.Получение у преподавателя задания на исследование системы

сразличными параметрами потока команд, типами конвейеров и конфликтов.

3.Исследование заданной мультиконвейерной структуры.

4.Оформление отчета.

Последовательность выполнения лабораторной работы

Получить у преподавателя номер варианта исходных данных.

В лабораторной работе необходимо исследовать следующие конфликты и режимы функционирования мультиконвейерной архитектуры.

По результатам экспериментов определить:

а) зависимости средней длительности Т3ср выполнения команд в конвейере:

Т3ср = f3(K, NKK, NDK, РКД, РСВ, РЗпЧт, СЗпЧт),

где К – число команд в потоке,

NKK – число коротких конвейеров,

NDK – число длинных конвейеров,

РКД – число коротких команд, стоящих между длинными командами в потоке,

РСВ – число обычных коротких команд, стоящих между связками логически зависимых команд в потоке; логически зависимые команды идут парами одна за другой и могут быть только короткими,

РЗпЧт – число коротких команд, стоящих между командами записи/чтения в потоке,

СЗпЧт – процентное соотношение числа команд записи/чтения в основную память;

б) число М выполненных тактов на поток команд; в) число Е кэш-промахов.

Задание 1. Определить зависимости М, Е и T3ср, где аргумент К – число команд в потоке выбирается по варианту из табл. 9.1.

93

Число коротких конвейеров NKK =1. Длинных конвейеров нет – N DK =0 и РКД =0. Команды записи/чтения в память отсутствуют.

Параметр промежуток между связанными командами РСВ выбирается по варианту из табл. 9.1.

Задание 2. Определить зависимости М, Е и T3ср, где аргумент К – число команд в потоке выбирается по варианту из табл. 9.1.

Число коротких конвейеров NKK =3. Длинных конвейеров нет – N DK =0 и РКД =0. Команды записи/чтения в память отсутствуют.

Параметр промежуток между связанными командами РСВ выбирается по варианту из табл. 9.1.

Задание 3. Определить зависимости М, Е и T3ср, где аргумент К – число команд в потоке выбирается по варианту из табл. 9.1.

Число коротких конвейеров NKK =1.

Число длинных конвейеров NDK =1 и РКД = 1 (длинная команда стоит после каждой короткой).

Команды записи/чтения в память отсутствуют.

Параметр промежуток между связанными командами РСВ выбирается по варианту из табл. 9.1.

Задание 4. Определить зависимости М, Е и T3ср, где аргумент К – число команд в потоке выбирается по варианту из табл. 9.1.

Число коротких конвейеров NKK =3.

Число длинных конвейеров NDK =1 и РКД = 1 (длинная команда стоит после каждой короткой).

Команды записи/чтения в память отсутствуют.

Параметр промежуток между связанными командами РСВ выбирается по варианту из табл. 9.1.

Задание 5. Определить зависимости М, Е и T3ср, где аргумент К – число команд в потоке выбирается по варианту из табл. 9.1.

Число коротких конвейеров NKK =1.

Число длинных конвейеров NDK = 3 и РКД = 1 (длинная команда стоит после каждой короткой).

94

Команды записи/чтения в память отсутствуют.

Параметр промежуток между связанными командами РСВ выбирается по варианту из табл. 9.1.

Задание 6. Определить зависимости М, Е и T3ср, где аргумент РКД – промежуток между короткими и длинными командами выбирается по варианту из табл. 9.1.

Число коротких конвейеров NKK =1.

Число длинных конвейеров NDK = 2. Команды записи/чтения в память отсутствуют.

Параметры промежуток между связанными командами РСВ и число команд К выбираются по варианту из табл. 9.1.

Задание 7. Определить зависимости М, Е и T3ср, где аргумент К – число команд в потоке выбирается по варианту из табл. 9.1.

Число коротких конвейеров NKK =1.

Число длинных конвейеров NDK = 1.

Промежуток РКД не задается (длинные команды выключены). Связки команд отсутствуют.

Процентное соотношение команд записи/чтения в память равно

10 % / 90 %.

Параметр число коротких команд РЗпЧт, стоящих между командами записи/чтения в потоке, выбирается по варианту из табл. 9.1.

Задание 8. Определить зависимости М, Е и T3ср, где аргумент К – число команд в потоке выбирается по варианту из табл. 9.1.

Число коротких конвейеров NKK =1.

Число длинных конвейеров NDK = 1.

Промежуток РКД не задается (длинные команды выключены). Связки команд отсутствуют.

Процентное соотношение команд записи/чтения в память равно

50 % / 50 %.

Параметр число коротких команд РЗпЧт, стоящих между командами записи/чтения в потоке, выбирается по варианту из табл. 9.1.

Задание 9. Определить зависимости М, Е и T3ср, где аргумент К – число команд в потоке выбирается по варианту из табл. 9.1.

95

Число коротких конвейеров NKK =1.

Число длинных конвейеров NDK = 1.

Промежуток РКД не задается (длинные команды выключены). Связки команд отсутствуют.

Процентное соотношение команд записи/чтения в память равно

90 % / 10 %.

Параметр число коротких команд РЗпЧт, стоящих между командами записи/чтения в потоке, выбирается по варианту из табл. 9.1.

Таблица 9.1

Значения параметров для заданий 1 – 6

Задания 1 , 2, 3, 4 и 5

 

Задание 6

 

варианта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аргумент

Параметр

Аргумент

Параметры

 

 

 

 

 

 

K

РСВ

РКД

РСВ

 

К

 

 

 

 

 

 

 

1

100 – 500

1; 3; 7

1; 3; 7

2; 4; 8

 

300

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

2

100 – 500

1; 4; 8

1; 4; 8

2; 5; 8

 

400

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

3

100 – 500

1; 5; 10

1; 5; 10

2; 5; 10

 

500

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

4

100 – 500

2; 4; 8

2; 4; 8

1; 3; 7

 

300

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

5

100 – 500

2; 5; 8

2; 5; 8

1; 4; 8

 

400

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

6

100 – 500

2; 5; 10

2; 5; 10

1; 5; 10

 

500

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

7

100 – 500

1; 3; 7

1; 3; 7

2; 4; 8

 

300

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

8

100 – 500

1; 4; 8

1; 4; 8

2; 5; 8

 

400

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

9

100 – 500

1; 5; 10

1; 5; 10

2; 5; 10

 

500

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

10

100 – 500

2; 4; 8

2; 4; 8

1; 3; 7

 

300

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

11

100 – 500

2; 5; 8

2; 5; 8

1; 4; 8

 

400

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

12

100 – 500

2; 5; 10

2; 5; 10

1; 5; 10

 

500

 

Шаг=100

 

 

 

 

 

 

 

 

 

 

 

 

96

Окончание табл. 9.1

Значения параметров для заданий 7 – 8

Задание 7: СЗпЧт = 10% / 90%

Задание 8: СЗпЧт = 50% / 50%

варианта

Задание 9: СЗпЧт = 90% / 10%

 

 

Аргумент

Параметр

 

K

РЗпЧт

 

 

 

1

100 – 500

1; 3; 7

 

Шаг=100

 

 

 

 

2

100 – 500

1; 4; 8

 

Шаг=100

 

 

 

 

3

100 – 500

1; 5; 9

 

Шаг=100

 

 

 

 

4

100 – 500

2; 4; 8

 

Шаг=100

 

 

 

 

5

100 – 500

2; 5; 8

 

Шаг=100

 

 

 

 

6

100 – 500

2; 5; 9

 

Шаг=100

 

 

 

 

7

100 – 500

1; 3; 7

 

Шаг=100

 

 

 

 

8

100 – 500

1; 4; 8

 

Шаг=100

 

 

 

 

9

100 – 500

1; 5; 9

 

Шаг=100

 

 

 

 

10

100 – 500

2; 4; 8

 

Шаг=100

 

 

 

 

11

100 – 500

2; 5; 8

 

Шаг=100

 

 

 

 

12

100 – 500

2; 5; 9

 

Шаг=100

 

 

 

 

Параметры памяти по умолчанию: размер кэша данных – 5 команд и время доступа к ОП – 10 тактов.

Построить графики среднего времени выполнения команды в мультиконвейере и количества кэш-промахов для каждого задания.

97

СОДЕРЖАНИЕ ОТЧЕТА О ВЫПОЛНЕННОЙ РАБОТЕ

Отчет должен содержать следующее:

1.Название и цель работы.

2.Исходные данные.

3.Общую структуру исследованной в работе мультиконвейерной системы.

4.Семейство графиков зависимостей среднего времени выполнения команды и числа кэш-промахов от параметров модели.

Контрольные вопросы

1.Какие типы конфликтов в конвейере Вы знаете?

2.Как устраняются структурные конфликты в конвейере?

3.Какие методы устранения конфликтов по данным Вы знаете?

4.Как влияет количество команд в последовательности на эффективность работы конвейера?

5.Как влияют конфликты по данным на эффективность работы одного короткого конвейера?

6.Как влияют конфликты по данным на эффективность работы нескольких коротких конвейеров?

7.Как влияет порядок следования связанных команд на эффективность работы одного короткого конвейера?

8.Как влияет порядок следования связанных команд на эффективность работы нескольких коротких конвейеров?

9.Как влияет порядок следования связанных команд на эффективность работы системы коротких и длинных конвейеров?

10.Как влияет порядок следования команд работы с памятью на эффективность работы системы?

11.Как влияет процентное соотношение команд записи и чтения на эффективность работы системы?

12.Сформулируйте предложения по наиболее эффективной организации работы конвейера с предложенным Вам набором команд.

98

ПРИЛОЖЕНИЕ

Общие рекомендации по выполнению и оформлению лабораторной работы

Имитационные модели позволяют провести ряд экспериментов, в ходе которых определяются зависимости показателей работы подсистем компьютера от параметров их устройств, организации данных и т.п. В общем виде некоторый исследуемый показатель, например время работы процессора Т, есть функция

 

T = f (X , P, P ,..., P ),

 

1 2

n

где X – аргумент,

 

 

P1, P2, …, Pn

параметры.

 

Аргумент X принимает значения из набора X {x1, x2 ,..., xk }. Параметры во время эксперимента могут быть постоянными либо, в свою очередь, могут принимать значения из некоторого набора.

Например параметр

P {p , p ,..., p

}

принимает m значений. В

 

1

11 12

1m

 

 

этом случае эксперимент проводится следующим образом. Для каждого значения параметра рj из набора проводится последовательно k запусков имитации для каждого значения аргумента Х. Таким образом, если имеем k = 3 значений аргумента и m = 2 значений параметра, то производится 6 запусков имитационной модели.

Исходные данные для имитационных экспериментов приведены в таблицах в каждой лабораторной работе. Эти таблицы ранжированы по вариантам, которые выдаются преподавателем студенту или бригаде студентов. Как правило, используются две таблицы. Первая таблица содержит значения параметров, которые не меняются в ходе данного задания. Вторая таблица содержит переменные значения аргумента и параметров.

Оформление отчета

В отчете о лабораторной работе для каждого задания приводятся: − набор исходных данных для этого задания;

99

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]