dz1

Интел Студия – Архитектура микропроцессоров
Домашнее задание 1
Бенчмарк содержит 235464 операций с плавающей запятой (см. табл. 1). Он запускается на двух версиях одного процессора: первая версия является полнофункциональной и содержит аппаратный модуль для работы с плавающей запятой, вторая версия (для встраиваемых применений) оптимизирована с целью уменьшения энергопотребления и не имеет данного модуля, вместо этого все операции с плавающей запятой эмулируются программным путём. Компилятор отличает версии процессоров и генерирует для первого инструкции для работы с аппаратным модулем, а для второго – вызовы специальных процедур, эмулирующих команды работы с плавающей запятой. Бенчмарк выполняется 0.47 секунды на первой версии процессора и 7.12 секунды на второй версии (с программной эмуляцией). Примем, что CPI (количество тактов, потраченных на инструкцию) для первого процессора равно 8, для второго – 5.
Какое количество инструкций было исполнено для обоих запусков бенчмарка на разных процессорах? (5 баллов)
Какой рейтинг в MIPS у обоих процессоров по результатам выполнения бенчамарка? (5 баллов)
В среднем, сколько требуется целочисленных инструкций в случае программной эмуляции поддержки инструкций с плавающей запятой? ( 5 баллов)

Тип операции
Количество

Сложение
123417

Вычитание
54709

Умножение
23555

Деление
13909

Преобразование формата числа
7070

Сравнение
13404

Итого
235464

Таблица 1. Количество использованных операций с плавающей запятой.

Тезис: «Единственной состоятельной и реальной мерой производительности является время выполнения реальных программ».
Чтобы время исполнения реальной программы на некоторой компьютерной системе могло быть использовано для измерения производительности, необходимо выполнить два условия. Первое относится к состоянию компьютерной системы в момент измерения времени выполнения программы, второе – к самой программе. Каковы эти два условия? (5 баллов)
Программы типа операционных систем, Веб-серверов, драйверов устройств, стеков поддержки сетевых протоколов работают постоянно и, как правило, не могут завершиться, или завершаются только в случае исключительных ситуаций. Является ли пропускная способность (количество исполненной работы за некоторое время) состоятельной и надежной мерой производительности для этих программ? Объясните ответ. (5 баллов)
Фундаментальной единицей измерения производительности программ класса Веб-серверов или систем управления базами данных (СУБД) является транзакция. Большинство компьютерных систем допускает конвейеризацию транзакций, позволяя перекрываться временным интервалам, в течении которых выполняются транзакции. Помогает ли избежать ошибки при измерении производительности измерение пропускной способности вместо измерения времени прохождения транзакции? Объясните ответ. (5 баллов)
(Дискуссия). Возможно ли написание бенчмарка, состоятельно показывающего производительность компьютерной системы. Объясните ответ. (10 баллов)
У некоторой компании есть бенчмарк, считающийся состоятельным для типичных приложений, продаваемых независимыми разработчиками ПО. Для встраиваемых применений компания предлагает процессор с производительностью 6000 MIPS, в котором отсутствует аппаратная поддержка работы с криптографическими операциями – поэтому все операции исполняются как последовательности целочисленных инструкций. Третья фирма предлагает сопроцессор, который способен исполнять такие криптографические операции аппаратно, при этом эквивалентная производительность пары процессор-сопроцессор на том же бенчмарке составляет 4000 MIPS. Примем следующие обозначения: I – количество выполненных в бенчмарке целочисленных инструкций F – количество выполненных в бенчмарке «криптографических» операций Y – количество (среднее) целочисленных инструкций, требующихся на выполнение одной криптографической операции W – время исполнения бенчмарка только на процессоре B – время исполнения бенчмарка на паре процессор+сопроцессор
Напишите уравнение рейтинга MIPS для каждой из двух конфигураций в терминах приведённых обозначений (5 баллов)
Для конфигурации без сопроцессора, мы получили, что F = 500*106, Y = 200, W = 25 секунд. Найдите I. (5 баллов)
Каково значение B? (5 баллов)
Каков рейтинг «криптоопераций в секунду» для системы с сопроцессором? (такой рейтинг аналогичен рейтингу в MIPS) (5 баллов)
Ваши коллеги хотят приобрести систему с сопроцессором, несмотря на то, что её рейтинг в MIPS ниже, чем у системы без сопроцессора. Правы ли ваши коллеги? Объясните ответ. (5 баллов).
Найдите описание системы инструкций какого-нибудь процессора ( воспользуйтесь приложениями к Hennesy & Paterson C, D, E, F, размещёнными в Интернет – [ Cкачайте файл, чтобы посмотреть ссылку ], либо же обратитесь к веб-сайту Интел Студии, где расмещены несколько статей о архитектурах). Сделайте краткое резюме по этому набору инструкций с точки зрения характеристик, описанных в таблицах 2.3 и 2.4 в Hennesy & Paterson (приведены в конце этого файла). Напишите в терминах этой системы команд операторы: A = B + C C = B – E D = A – E (предполагаем, что размеры этих переменных в памяти равны одному машинному слову для вашего процессора). (20 баллов)
Подумайте над включением в систему команд MIPS нового режима адресации, в случае которого для получения адреса суммируется 2 регистра и непосредственное значение шириной A бит. (Конкретное значение A будет определено вариантом задания, заданного преподавателем). Компилятор будет оптимизировать последовательности команд типа ADD R1, R1, R2 LW Rx, 120(R1) // или инструкция сохранения данных в памяти в одну команду, использующую новый режим адресации. Оцените это нововведение с точки зрения таблицы 2.32 Hennesy & Paterson (находится в конце этого файла).
Примем, что этот режим адресации будет использоваться для 10% инструкций загрузки и сохранения с непосредственным смещением (учитывая частоту команд вычисления адреса и более короткое смещение). Как изменится распределение инструкций по типам для улучшенной версии MIPS? Используйте также таблицу 2.42 (находится в конце файла). (15 баллов)
Если включение нового режима адресации требует увеличения периода тактового сигнала на 5%, оцените производительность старой и новой версии процессора (5 баллов).
Определите с помощью доступных вам программных инструментов (например, Intel VTune версии 7.x) распределение инструкций в некоторой программе (согласно выбранному преподавателем варианту для этого задания). Сравните с результатами распределения инструкций для программ из SPEC95, представленными на рис. 2.32, 2.33 в Hennesy & Paterson (представлен в конце этого файла) для некоторого набора данных. Укажите, можно ли использовать эту программу для бенчмаркинга компьютерной системы. (25 баллов)
Каждый раз при выполнении арифметико-логической операции процессор выставляет несколько битовых флагов, индицирующих результат исполнения операции. Так, операция вычитания может установить флаг «нулевой результат» в «1» в том случае, если результат вычитания равен нулю, а флаг «результат отрицателен» в «1», если результат вычитания меньше нуля. В дальнейшем, инструкция, анализирующая результат исполнения этой операции, может проверить флаг и произвести некоторые действия в соответствии с его состоянием (разумеется, если никакая другая инструкция этот результат не перезаписала, так как конкретный битовый флаг всего один). Существует другой подход, когда существует массив битов условия общего назначения, и инструкция сравнения может выставить один из этих битов (номер бита жёстко закодирован в инструкции) для дальнейшей проверки. Например, p2 = A > B установит бит 2 из массива битов условия в «1», только если значение А больше значения В. Опишите, пожалуйста, недостатки и преимущества каждого подхода. Детали можно почерпнуть из рисунка 2.21 Hennesy & Paterson (приведён в конце этого файла). Подсказка: сравните, например, микропроцессор 80386 (не забывая, что он исполняет инструкции в порядке их выборки - «in-order»), и процессор Itanium с его предикативным исполнением инструкций и предикатными регистрами. (20 баллов)
Некоторые небольшие синтетические бенчмарки могут приводить к ошибкам при измерении типичного распределения инструкций по типам, особенно в случае, если бенчмарк был хорошо оптимизирован компилятором. Рассмотрим эту ситуацию. Скомпилируйте бенчмарк согласно выданному преподавателем варианту с включенной оптимизацией для MIPS. Рассмотрите распределение инструкций. Скомпилируйте тот же бенчмарк без оптимизации и сравните с оптимизированной версией. Сравните с распределением для программы пакета SPEC2000 для MIPS (пакет указан в таблице согласно выданному преподавателем варианту) с точки зрения релевантности бенчмарка. (20 баллов)
Процессор MIPS имеет 32 целочисленных регистра и 32 регистра с плавающей точкой. Хватает ли регистров и не нужно ли увеличить их число? Объясните ответ. Перечислите и обсудите баланс достоинств и недостатков увеличения числа регистров с точки зрения разработки системы инструкций. Насколько стоит увеличивать размер регистровых файлов? Сравните MIPS и архитектуры x86-32 и x86-64 (примем, что процессор не выполняет переименование регистров). (15 баллов)
(Дискуссия) Как правило, экономический успех некоторого процессора определяется количеством проданных на его базе компьютеров. Какие экономические аргументы можно предложить при обсуждении необходимости изменения архитектуры системы инструкций (дополнения новыми инструкциями, изменения бинарного представления команд при сохранении мнемонических обозначений, полностью новой системы инструкций)? Приведите известные вам примеры из недалёкого прошлого. Отличаются ли в этом плане различные рынки (например, рынок встраиваемых систем и рынок персональных компьютеров)? Для ответа на вопрос можно воспользоваться ссылками, приведенными на Интернет-сайте проекта «Интел Студия» или же самостоятельно поискать информацию в Интернет. (15 баллов). Поиск информации можно начать со следующих ссылок: [ Cкачайте файл, чтобы посмотреть ссылку ] http://www.embedded.com/story/OEG20030610S0041 Свежие цифры по состоянию рынка полупроводниковой электроники можно найти на сайте www.wsts.org




Варианты заданий:
Задание 5.а.
Вариант
А

1
5

2
7

3
9

4
10

5
12

Задание 6.
Вариант
Программа

1
Bzip2

2
Grep (сравнение файлов)

3
Perl (выполняет некоторый скрипт из мануала)

4
BladeEnc (на вашей любимой mp3)

5
Amr2Wav (на диктофонной записи лекции)

Задание 8.
Вариант
Бенчмарк
Сравнить с

1
Whetstone
171.swim (SPEC2000)

2
Dhrystone
gcc


Примерное распределение времени по выполнению ДЗ1:
Задание
За листом бумаги, мин
За компьютером, мин
Макс. баллы

1
15

15

2
20

25

3
15

25

4
До 1 часа

20

5
25

20

6
20
1-2 часа (Vtune)
25

7
20

20

8
20
0.7-1.5 часа
20

9
15

15

10
20

15

Итого


200 баллов


Итого, примерное время выполнения домашнего задания – 7-8 часов. Дополнительные материалы






Heading 1 Heading 2Default Paragraph Font Table Normal
No List Table Grid: :

Приложенные файлы

  • doc 19087097
    Размер файла: 438 kB Загрузок: 0

Добавить комментарий