игра брюс 2048
Главная / Программирование / Оптимизация приложений с использованием компиляторов Intel / Тест 3

Оптимизация приложений с использованием компиляторов Intel - тест 3

Упражнение 1:
Номер 1
 Компиляторы каких языков предоставляет Intel® ?

Ответ:

 (1) C/C++ 

 (2) Java 

 (3) Oberon 

 (4) Forth 

 (5) Fortran 

 (6) C# 


Номер 2
 Под какие платформы предоставляются компиляторы Intel?

Ответ:

 (1) Windows 

 (2) Linux 

 (3) MacOS X 

 (4) FreeBSD 

 (5) Solaris 


Номер 3
Какую задачу выполняет Front End ?

Ответ:

 (1) перевод программы из текстового во внутреннее представление 

 (2) скалярные оптимизации 

 (3) генерация кода 

 (4) линковка объектных файлов в исполняемые 

 (5) семантический анализ 


Упражнение 2:
Номер 1
Внутреннее представление – это

Ответ:

 (1) ассемблерный код 

 (2) чаще всего - граф 

 (3) объектный код 


Номер 2
Выражение (expression) – это

Ответ:

 (1) присваивание 

 (2) дерево выражений 

 (3) константа 

 (4) переменная 


Номер 3
Что из перечисленного является скалярной оптимизацией?

Ответ:

 (1) свертка констант 

 (2) протяжка копий 

 (3) удаление повторных вычислений 

 (4) продвижение копий 

 (5) вынесение инвариантов цикла 


Упражнение 3:
Номер 1
Анализ потоков данных – это

Ответ:

 (1) техника для анализа того, как данные перемещаются по шине 

 (2) способ сократить перекладывания данных из памяти в кэш 

 (3) техника для сбора информации о значениях переменных 


Номер 2
Набор Uses[b], конструирующийся для def-use chain, содержит:

Ответ:

 (1) набор переменных, определяемых в блоке 

 (2) набор переменных, использующихся в блоке, и не имеющие в нем определений 

 (3) набор определений, достигающих b 


Номер 3
Для понимания, какие определения будут использоваться в блоке, необходимо знать:

Ответ:

 (1) Uses[b] 

 (2) Killed[b] 

 (3) Reaches[b] 

 (4) Defsout[b] 


Упражнение 4:
Номер 1
SSA-представление – это

Ответ:

 (1) представление, в котором каждая функция выполняется один раз 

 (2) представление, в котором каждая переменная используется один раз 

 (3) представление, в котором каждая переменная имеет одно определение 

 (4) конечное представление, после проведения всех оптимизаций 


Номер 2
Узел M доминирует над узлом N, если

Ответ:

 (1) существуют пути из M в N 

 (2) существуют пути из N в M 

 (3) все пути из M идут в N 

 (4) все пути в N идут через M 

 (5) все пути из N идут через M 


Номер 3
Граница доминирования – это

Ответ:

 (1) граница между доминируемыми и недоминируемыми узлами 

 (2) граница между доминируемыми и доминирующими узлами 

 (3) список вершин, доминируемых данной 


Упражнение 5:
Номер 1
Может ли один компилятор иметь два разных Front End

Ответ:

 (1) не может 

 (2) только когда речь об одном языке 

 (3) только когда выполнен критерий Петрова 

 (4) может, но только для двух 

 (5) может 


Номер 2
Для того, чтобы перевести компилятор на другое внутреннее представление потребуется изменить

Ответ:

 (1) входные данные 

 (2) Front End 

 (3) Back End 

 (4) практически все его части 

 (5) только само представление 


Номер 3
Какая из частей компилятора в большей степени определяется входным языком?

Ответ:

 (1) Front End 

 (2) Back End 

 (3) внутреннее представление 

 (4) кодогенератор 

 (5) профилировщик 


Упражнение 6:
Номер 1
Что из перечисленного относится к синтаксическому анализу в компиляторе

Ответ:

 (1) грамматический анализ 

 (2) пунктуационный анализ 

 (3) полиморфический анализ 

 (4) лексический анализ 

 (5) протаксический анализ 


Номер 2
Что из перечисленного относится к синтаксическому анализу в компиляторе

Ответ:

 (1) семантический анализ 

 (2) денотационный анализ 

 (3) превентивный анализ 

 (4) сингулярный анализ 

 (5) грамматический анализ 


Номер 3
Что является входными данными для синтаксического анализа

Ответ:

 (1) результирующий синтаксис 

 (2) БНФ-форма для результата 

 (3) текст программы 

 (4) репрезентативные выборки  

 (5) только синтаксис и ничего больше 


Упражнение 7:
Номер 1
По какому признаку утверждения (statements) связываются в список в компиляторе Intel

Ответ:

 (1) предыдущее и следующее 

 (2) по признаку наименьшего действия 

 (3) по признаку длиннейшей лексемы 

 (4) по признаку равенства 

 (5) по признаку не равенства 


Номер 2
Среди утверждений в программе можно установить порядок

Ответ:

 (1) лексикографический 

 (2) графосемантический 

 (3) полидинамический 

 (4) квазиитеративный 

 (5) семиденотационный 


Номер 3
Каким образом утверждения (statements) связываются в компиляторе Intel

Ответ:

 (1) матрицей смежности 

 (2) таблицей Петрова  

 (3) графом потока управления 

 (4) денотационной семантикой 

 (5) никаким, связывание происходит на другом уровне 


Упражнение 8:
Номер 1
Базовые блоки это

Ответ:

 (1) блоки, из которых составляется программа в визуальном программировании 

 (2) участки кода, в которых производятся основные вычисления 

 (3) участки кода без переходов и меток 

 (4) участки кода, являющиеся входными для программы 

 (5) участки кода, являющиеся входными для функций программы 


Номер 2
Базовые блоки составляют

Ответ:

 (1) граф потока управления 

 (2) граф базовых блоков (base block graph) 

 (3) базовый граф вычислений 

 (4) граф вычислений 

 (5) опорный граф вычислений 


Номер 3
К базовым блокам относятся

Ответ:

 (1) блоки входа 

 (2) сигнатуры функций 

 (3) тела всех функций, которые производят основные вычисления 

 (4) тела функций main и ей подобные 

 (5) заголовочные файлы системных библиотек 


Упражнение 9:
Номер 1
Какие из нижеперечисленных утверждений верны?

Ответ:

 (1) утверждение это наименьший независимый элемент языка программирования 

 (2) программа формируется как последовательность утверждений 

 (3) переменная это элементарное утверждение 

 (4) утверждение могут быть упорядочены лексически или в соответствии с графом потока 

 (5) утверждение это дерево утверждений 

 (6) утверждение состоит из выражений 


Номер 2
Какие из нижеперечисленных утверждений верны?

Ответ:

 (1) выражение это дерево выражений с граничными выражениями на конце 

 (2) каждое выражение имеет список предшествующих и последующих выражений 

 (3) выражения упорядочены лексически или в соответствии с графом потока управления 

 (4) граничными выражениями являются переменные и константы 

 (5) несколько выражений формируют утверждение 


Номер 3
Вершинами графа потока управления являются

Ответ:

 (1) выражения 

 (2) утверждения 

 (3) базовые блоки 

 (4) функции и процедуры приложения 

 (5) переменные 


Упражнение 10:
Номер 1
Граф потока управления

Ответ:

 (1) определяет порядок утверждений в исходной программе 

 (2) определяет все пути которые будут пройдены при вычислении утверждения 

 (3) определяет как управление может передаваться от одного базового блока к другому 

 (4) определяет все пути которые могут быть пройдены при выполнении программы 


Номер 2
Базовый блок графа потока управления это

Ответ:

 (1) непрерывная часть программы без переходов потока управления 

 (2) несколько утверждений выполняющихся последовательно 

 (3) несколько утверждений имеющих общего предшественника 

 (4) несколько выражений формирующих одно утверждение 

 (5) несколько утверждений формирующих узел блок-схемы алгоритма приложения 


Номер 3
Вершинами графа определения/использования являются

Ответ:

 (1) базовые блоки, содержащие определение и использование переменной 

 (2) утверждения, содержащие определение и использование переменной 

 (3) выражения, содержащие определения и использование переменной 


Упражнение 11:
Номер 1
Дерево выражений это

Ответ:

 (1) раздел в справочнике по языку 

 (2) сокращенный способ записи синтаксиса 

 (3) сокращение, которое помогает запоминать только значимую часть оператора 

 (4) способ записи вычислений 

 (5) дерево, листы которого – явно выраженные лексемы 


Номер 2
Листы в дереве выражений

Ответ:

 (1) абсолютно не отличаются от других элементов 

 (2) соответствуют лексикографическому порядку 

 (3) должны быть удалены при генерации 

 (4) в отличии от других элементов, могут содержать переменные 

 (5) не существуют 


Номер 3
Константы в дереве выражений 

Ответ:

 (1) могут быть расположены только в листьях 

 (2) не присутствуют 

 (3) могут быть удалены без потери значимости 

 (4) ссылаются на лексикографический порядок 


Упражнение 12:
Номер 1
Операции в дереве выражений

Ответ:

 (1) не присутствуют 

 (2) не могут располагаться в листьях 

 (3) должны быть удалены при генерации 

 (4) предшествуют только полным лексемам 


Номер 2
Плюсы SSA формы:

Ответ:

 (1) программа начинает занимать гораздо меньше места 

 (2) очевидность def-use цепочек 

 (3) используются специальные фунции-интриниксы 

 (4) используются регистры сопроцессора 

 (5) используются векторные регистры, которые ускоряют вычисления 


Номер 3
SSA-форма это:

Ответ:

 (1) возможность получения доступа к SSE 

 (2) форма с однократным присваиванием 

 (3) специальная форма с инструкциями MMX 

 (4) формализованное векторное расширение 


Упражнение 13:
Номер 1
Аббревиатура SSA означает

Ответ:

 (1) SSe Alignment 

 (2) Simple Singles Alignment 

 (3) Static Single Assignment 

 (4) Sign Standard Association 


Номер 2
К скалярным оптимизациям относится:

Ответ:

 (1) удаление излишних ветвлений 

 (2) вынос инвариантов циклов 

 (3) перемещение вычислений за пределы вызова 

 (4) перераспределение регистров 

 (5) скоростной инлайниг (high speed inline) 


Номер 3
"Мертвый код" может являться результатом

Ответ:

 (1) ошибки сегментации 

 (2) оптимизирующих преобразований 

 (3) снижения скорости исполнения 

 (4) использования слишком длинных названий идентификаторов, которые занимают лишнее место 


Упражнение 14:
Номер 1
Для эквивалентности вычислений необходимо выполнение следующих условий

Ответ:

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

 (2) порядок выполнения вычислений не зависит от входных данных 

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

 (4) вычисления используют одни и те же процессорно-зависимые наборы инструкций 


Номер 2
Зависимость это

Ответ:

 (1) связь между утверждениями программы такая, что эти утверждения вычисляют общий результат 

 (2) связь между утверждениями программы такая, что перестановка утверждений изменяет выдаваемый программой результат 

 (3) связь между утверждениями программы такая, что утверждения используют общие данные при вычислениях 

 (4) связь между утверждениями программы такая, что утверждения изменяют одну и ту-же ячейку памяти 


Номер 3
Зависимость между утверждениями S1 и S2 обязательно существует, если

Ответ:

 (1) утверждения S1 и S2 расположены в одном базовом блоке и модифицируют одну и ту же переменную 

 (2) утверждения S1 и S2 расположены в разных базовых блоках и модифицируют одну и ту же переменную 

 (3) бзовый блок с утверждением S1 доминирует базовый блок с утверждением S2 и утверждения пишут в одну и ту же область памяти 

 (4) утверждение S2 следует непосредственно за S1 и оба читают одну и ту же переменную 


Номер 4
Перестановочная оптимизация трансформирует вычисление в эквивалентное если

Ответ:

 (1) оптимизация не добавляет и не удаляет выполняемых утверждений 

 (2) оптимизация не изменяет графа потока управления 

 (3) оптимизация не изменяет порядок зависимых утверждений 

 (4) работает с участками кода не содержащими зависимые утверждения 




Главная / Программирование / Оптимизация приложений с использованием компиляторов Intel / Тест 3