РГЗ 2. Определить параметры кэш-памяти




Цели освоения дисциплины

 

Освоение бакалаврами дисциплины «Архитектура ЭВМ и вычислительных систем » преследует следующие цели:

· систематизация теоретических знаний о системной организации современной ЭВМ;

· изучение особенностей архитектур ЭВМ и их влияния на производительность на заданном классе задач;

· формирование минимальных практических навыков оптимизации прикладных программ под заданную архитектуру ЭВМ (навыки учета особенностей архитектуры целевой ЭВМ в прикладной программе);

 

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

Темы расчетно-графических заданий

1. Использование влияния оптимизирующего компилятора на время выполнения программы простых алгоритмов.

2. Определить параметры кэш-памяти

2.1. Сравнение способов обхода данных в памяти.

2.2. Изучение способов отображения данных в кэш-память.

2.3. Изучение аппаратной предвыборки данных.

2.4. Изучение работы TLB.

3. Функционирование процессора

3.1. Изучение архитектуры x86/x86-64.

3.2. Разбор ассемблерного листинга.

Введение в параллельную обработку

4.1. Использование векторных расширений.

 

1. Изучение влияния опций компилятора на время выполнения программы.

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

3. Исследование влияния параметров иерархии памяти на время выполнения программы.

4. Изучение SIMD-расширений архитектуры x86. Использование SIMD-расширений при написании программ.

 

 

РГЗ 1. Использование влияния оптимизирующего компилятора на время выполнения программы простых алгоритмов.

Для выполнения данной работы необходимо изучить

· функции замера времени.

· Написать программу, вычисляющую заданную функцию, в зависимости от выбранного варианта и определить время ее выполнения.

· Для каждого доступного компилятора следует сравнить различные уровни оптимизации (например, ключи –O0, –O1, –O2, –O3 для компилятора gcc) и оптимизацию под архитектуру процессора (например, ключи –O3 –march=core2 для компилятора gcc).

· Исследовать зависимость времени работы программы от компилятора и используемых ключей оптимизации компилятора.

Варианты заданий:

· Вычисление числа Пи с помощью разложения в ряд.

· Вычисление определенного интеграла сложной функции методом трапеций.

· Вычисление квадратного корня с помощью алгоритма Ньютона.

· Сортировка методом пузырька.

· Вычисление числа Пи метом Монте-Карло.

РГЗ 2. Определить параметры кэш-памяти

1. Определить параметры кэш-памяти: латентность, пропускная способность, объем. Сравнить времена для различных способов обхода массива: прямой обход, обратный обход, обход в случайном порядке.

Для выполнения задания требуется написать программу, выполняющую чтение элементов массива заданного размера в заданном порядке. Процедура обхода массива x[] должна выглядеть следующим образом:

for (i=0, j=0; j<N; j++) i = x[i];

где элементы массива x[] представляют собой связный список, заполненный различным образом в зависимости от способа обхода массива. Например:

· Для прямого обхода:

· Для обратного обхода:

· Для обхода в случайном порядке:

Необходимо построить графики зависимости среднего времени обращения к элементу массива от размера обрабатываемого массива для трех видов обхода. На основании полученных результатов необходимо:

· определить объем и латентность различных уровней кэш-памяти,

· сделать вывод о скорости различных способов обхода массива.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: