Лабораторная работа № 1. Производительность HDD. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Лабораторная работа № 1. Производительность HDD.



СОДЕРЖАНИЕ

 

Лабораторная работа № 1. Производительность HDD. 5

Алгоритм определения производительности. 5

Программная реализация. 5

Реализация на основе функции GetTickCount() 6

Реализация на основе таймера высокого разрешения. 8

Ход работы.. 10

Лабораторная работа № 2. Определение производительности CPU.. 11

Определение производительности на операции регистр-регистр. 11

Алгоритм определения количества тактов на выполнение операции регистр-регистр 12

Программная реализация. 13

Определение производительности на нескольких операциях регистр-регистр. 13

Определение производительности на операциях регистр-память. 15

Определение тактовой частоты процессора. 16

Определение производительности на арифметических и тригонометрических операциях 17

Лабораторная работа № 3. Определение производительности сети. 19

Лабораторная работа № 4. Определение производительности графического процессора. 21

 

 


Общие сведения

 

Основные задачи данного цикла лабораторных работ:

— разработать программное обеспечение (ПО) позволяющее определить производительность жесткого диска;

— разработать ПО позволяющее определить производительность центрального процессора;

— разработать ПО позволяющее определить производительность локальной вычислительной сети;

— разработать ПО позволяющее определить производительность графического процессора;

— провести при помощи разработанного ПО тестирование различных персональных компьютеров (ПК);

— выбрать из множества протестированных ПК наиболее близкий по характеристикам к заданному ПК, используя метод анализа иерархий (МАИ).

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

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

Отдельные элементы практикума непосредственно связаны с курсовой работой по дисциплине «Современные технологии программирования». Так, например, в лабораторной работе №3 объясняется механизм связи программных модулей по сети.

 

 


Лабораторная работа № 1. Производительность HDD.

 

Цель работы: разработать ПО для определения производительности жесткого диска.

 

Задачи:

— разработать алгоритм определения производительности жесткого диска;

— реализовать алгоритм в программном коде, используя различные методы измерения интервалов времени;

— используя разработанное ПО провести исследование производительности различных жестких дисков.

 

Алгоритм определения производительности

 

В качестве критерия производительности примем среднюю скорость записи информации на диск, которая определяется как отношение общего объёма информации записанного на диск, к времени записи.

 

Алгоритм определения скорости записи на жёсткий диск

 

1. Получить текущее время.

2. Произвести запись данных заданного объёма на диск.

3. Получить текущее время и вычесть из него время начала записи на диск (это будет время длительности записи на диск).

4. Вычислить отношение объёма записанных данных к времени записи.

 

Программная реализация

 

Создайте новый проект «HDDTest» на основе диалогового окна. Перейдите в окно ResourceView и раскройте элемент дерева Dialog. Откройте шаблон диалога IDD_HDDTEST_DIALOG в окне редактора. Не забудьте установить для шаблона русский язык.

Вставьте в панель диалога элементы управления так, как это показано на рис. 1.

Элементам управления присвойте следующие идентификаторы. Элементу редактирования текста (Edit Box): IDC_ESIZE. Списку (List Box): IDC_LPROTO. Кнопке (Button): IDC_BSTART. Выключите у списка свойство «Sort».

Введите в класс CHDDTestDlg переменные, позволяющие управлять содержимым диалогового окна.

Идентификатор Тип Имя переменной
IDC_ESIZE int m_nSize
IDC_LPROTO CListBox m_Proto

 

 

Рис.1. — Вид шаблона диалога

 

Создайте заготовку для обработчика функции OnBstart().

Далее мы рассмотрим два варианта реализации алгоритма определения скорости записи на жесткий диск: с использованием функции GetTickCount() и с использованием таймера высокого разрешения (функции QueryPerformanceСounter() и QueryPerformanceFrequency()).

 

Ход работы

 

1. Разработать пользовательский интерфейс.

2. Реализовать алгоритм тестирования на основе функции GetTickCount().

3. Реализовать алгоритм тестирования на основе таймера высокого разрешения.

4. Определить производительность произвольного компьютера и сравнить ее с известными данными.

5. Реализовать функции тестирования во внешнем h-файле.

6. Реализовать функции тестирования во внешних h- и срр- файлах.

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

8. Оформить протокол.

 

 


 

Лабораторная работа № 2.
Определение производительности CPU

 

Цель работы: определение производительности процессора на элементарных операциях.

 

Задачи:

— разработать программный код для определения тактовой частоты процессора;

— разработать программный код для определения времени затрачиваемого на выполнение 1000000 арифметических операций сложения, деления, а также на выполнение 1000000 тригонометрических операций;

— используя разработанное ПО провести исследование производительности различных CPU.

 

 

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

Элементарным циклом работы процессора является машинный такт. Каждый машинный такт выполняется за строго определённый интервал времени. Такая периодичность обеспечивается тактовым генератором. Количество тактов в единицу времени называется тактовой частотой процессора.

Рассмотрим х86 (32-х разрядную) архитектуру процессора. Для копирования данных используется мнемоническая инструкция ассемблера:

 

mov приемник, источник

 

Источниками и приёмниками могут быть как внутренние регистры, так и ячейки во внешней памяти. Если выполняется операция копирование из одного регистра в другой — то эта операция называется регистр-регистр, если из регистра во внешнюю память, то регистр-память и из памяти в регистр — память-регистр. Необходимо определить количество тактов затрачиваемых на выполнение такой инструкции.

Существует инструкция процессора, которая возвращает кол-во тактов от начала работы процессора — rdtsc в виде 64-х разрядного целого. Результат заносится в регистры EDX (старшие 4-е байта) и EAX (младшие). Ёмкость 32-х разрядного числа позволяет хранить значение до 232, то есть, например процессор с частотой 1 ГГц будет инкрементировать младшее число 4.2 секунды, а только потом инкрементировать старшее число, которое переполнится только за 572 года.

 

Ход работы

 

1. Разработать пользовательский интерфейс.

2. Разработать программный код для определения тактовой частоты процессора.

3. Разработать программный код для определения времени затрачиваемого на выполнение 1000000 арифметических операций сложения, деления, а также на выполнение 1000000 тригонометрических операций;

4. Используя разработанное ПО, провести исследование производительности различных CPU.

5. Оформить протокол.

 


Лабораторная работа № 3.
Определение производительности сети

 

Цель работы: определение скорости обмена данными по сети.

 

Задачи:

— Разработать программный код для определения скорости передачи данных по сети.

 

СОДЕРЖАНИЕ

 

Лабораторная работа № 1. Производительность HDD. 5

Алгоритм определения производительности. 5

Программная реализация. 5

Реализация на основе функции GetTickCount() 6

Реализация на основе таймера высокого разрешения. 8

Ход работы.. 10

Лабораторная работа № 2. Определение производительности CPU.. 11

Определение производительности на операции регистр-регистр. 11

Алгоритм определения количества тактов на выполнение операции регистр-регистр 12

Программная реализация. 13

Определение производительности на нескольких операциях регистр-регистр. 13

Определение производительности на операциях регистр-память. 15

Определение тактовой частоты процессора. 16

Определение производительности на арифметических и тригонометрических операциях 17

Лабораторная работа № 3. Определение производительности сети. 19

Лабораторная работа № 4. Определение производительности графического процессора. 21

 

 


Общие сведения

 

Основные задачи данного цикла лабораторных работ:

— разработать программное обеспечение (ПО) позволяющее определить производительность жесткого диска;

— разработать ПО позволяющее определить производительность центрального процессора;

— разработать ПО позволяющее определить производительность локальной вычислительной сети;

— разработать ПО позволяющее определить производительность графического процессора;

— провести при помощи разработанного ПО тестирование различных персональных компьютеров (ПК);

— выбрать из множества протестированных ПК наиболее близкий по характеристикам к заданному ПК, используя метод анализа иерархий (МАИ).

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

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

Отдельные элементы практикума непосредственно связаны с курсовой работой по дисциплине «Современные технологии программирования». Так, например, в лабораторной работе №3 объясняется механизм связи программных модулей по сети.

 

 


Лабораторная работа № 1. Производительность HDD.

 

Цель работы: разработать ПО для определения производительности жесткого диска.

 

Задачи:

— разработать алгоритм определения производительности жесткого диска;

— реализовать алгоритм в программном коде, используя различные методы измерения интервалов времени;

— используя разработанное ПО провести исследование производительности различных жестких дисков.

 

Алгоритм определения производительности

 

В качестве критерия производительности примем среднюю скорость записи информации на диск, которая определяется как отношение общего объёма информации записанного на диск, к времени записи.

 

Алгоритм определения скорости записи на жёсткий диск

 

1. Получить текущее время.

2. Произвести запись данных заданного объёма на диск.

3. Получить текущее время и вычесть из него время начала записи на диск (это будет время длительности записи на диск).

4. Вычислить отношение объёма записанных данных к времени записи.

 

Программная реализация

 

Создайте новый проект «HDDTest» на основе диалогового окна. Перейдите в окно ResourceView и раскройте элемент дерева Dialog. Откройте шаблон диалога IDD_HDDTEST_DIALOG в окне редактора. Не забудьте установить для шаблона русский язык.

Вставьте в панель диалога элементы управления так, как это показано на рис. 1.

Элементам управления присвойте следующие идентификаторы. Элементу редактирования текста (Edit Box): IDC_ESIZE. Списку (List Box): IDC_LPROTO. Кнопке (Button): IDC_BSTART. Выключите у списка свойство «Sort».

Введите в класс CHDDTestDlg переменные, позволяющие управлять содержимым диалогового окна.

Идентификатор Тип Имя переменной
IDC_ESIZE int m_nSize
IDC_LPROTO CListBox m_Proto

 

 

Рис.1. — Вид шаблона диалога

 

Создайте заготовку для обработчика функции OnBstart().

Далее мы рассмотрим два варианта реализации алгоритма определения скорости записи на жесткий диск: с использованием функции GetTickCount() и с использованием таймера высокого разрешения (функции QueryPerformanceСounter() и QueryPerformanceFrequency()).

 



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 217; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.189.85 (0.05 с.)