Освоение практических методов определения времени выполнения арифметических и логических операций в процессоре.
Важнейшие характеристики ЭВМ:
· производительность ЭВМ;
· емкость ОЗУ и ВЗУ;
· система команд;
· программное обеспечение;
· надежность;
· стоимость.
Вышеперечисленные характеристики в общем случае связаны между собой сложными функциональными зависимостями, которые определяются принятыми способами организации, элементной базой, технологией производства и т.д. Характеристики ЭВМ являются в большинстве случаев векторными величинами, каждая компонента которых определяет отдельные свойства ЭВМ.
Производительность ЭВМ - характеристика вычислительной мощности, определяющая количество вычислительной работы, выполняемой ЭВМ в единицу времени.
Данное определение не является конструктивным, так как в настоящее время отсутствует четко сформулированное понятие единицы вычислительной работы, которое для каждого конкретного пользователя интуитивно понятно. По этой причине на практике пользуются различными наборами чисел, характеризующими производительность ЭВМ.
Номинальная производительность - вектор V = ( V1, V2, ..., Vn ), состоящий из быстродействий устройств, входящих в ЭВМ. Например, быстродействие процессора, оперативной памяти, каналов, накопителей на магнитном диске, печатающих устройств, устройств ввода с перфокарт и т.д. Под быстродействием понимается количество операций, выполняемых в единицу времени. Понятие номинальной производительности удобно для производителей ЭВМ и характеризует потенциальные возможности ЭВМ в смысле скорости обработки данных.
Наличие общих ресурсов в ЭВМ не позволяет полностью использовать ее номинальную производительность. Например, наличие в структуре одного селекторного канала не позволяет считывать ( или записывать ) информацию с двух ( или большего числа ) накопителей на магнитных дисках одновременно. Поэтому иногда вводится понятие комплексной производительности ЭВМ , которая характеризует не только быстродействие устройств, но и структуру связей между ними, возможность параллельной работы части устройств.
Сложность структуры современных ЭВМ привела к необходимости создания и постоянной эксплуатации комплекса программ, осуществляющих управление вычислительным процессом и реализующих наиболее общие алгоритмы обработки информации. Этот комплекс программ известен под названием “операционная система”. Структура технических средств ЭВМ и порядок прохождения задачи пользователя через ЭВМ, определяемый операционной системой, характеризует системную производительность ЭВМ.
Учет параметров задач пользователя ( трудоемкость алгоритма, количество обращений к устройствам ввода-вывода, необходимая емкость ОЗУ и т.д. ) приводят к понятию производительности на рабочей нагрузке. Последняя характеризуется числом задач пользователя, решаемых в единицу времени. Производительность на рабочей нагрузке важна для пользователя, но малоактуальна для разработчиков и производителей универсальных ЭВМ.
Известно, что важнейшим параметром производительности ЭВМ является ее быстродействие, определяющее возможную скорость обработки информации. Чаще всего под быстродействием ЭВМ понимают скорость или время выполнения только процессорных операций. Скорость и время выполнения операций связаны между собой соотношением:
где V - скорость выполнения операций, измеряемая количеством операций в секунду;
t - время выполнения одной операции.
Быстродействие ЭВМ складывается из быстродействия процессора и времени обращения к ОЗУ. В общем случае быстродействие ЭВМ существенно различно для разных процессорных операций, которые различаются между собой числом обращений к ОЗУ или регистрам общего назначения, алгоритмами обработки, исходными данными. Поэтому для характеристики быстродействия ЭВМ можно ввести понятие номинального быстродействия ЭВМ, которое определяется вектором значений V1,V2,...,VM или t1, t2,..., tM, где М - число операций, выполняемых ЭВМ, Vi ( i = 1,2,..., M) - среднее число операций i-го типа, выполняемых за секунду, ti (i = 1,2,...,M) - среднее время выполнения i-й операции.
Сравнение различных ЭВМ по номинальному быстродействию затруднительно из-за большого числа операций и их различного состава. Для пользователя более простой величиной является среднее быстродействие ЭВМ, которое определяется следующим образом:
где pi ( i = 1,2,....М) - вероятность выполнения i-й операции.
Очевидно, что
Тогда в знаменателе выражения стоит математическое ожидание длительности операции.
Но в свою очередь величина вероятности выполнения операции pi определяется решаемой задачей. В настоящее время для сравнения различных ЭВМ используют так называемые смеси Гибсона, которые задают вероятность использования операций для различных классов решаемых задач.
Практические значения Vi или ti (i = 1,2,...,M) для конкретной ЭВМ и при известной нагрузке могут быть определены несколькими способами.
Первый способ. Использовать знание алгоритма выполнения i-й операции в ЭВМ. На основе технической документации составляется граф-схема микропрогораммы заданной операции и для конкретных исходных данных определяется число тактирующих импульсов. Период следования тактирующих импульсов измеряется непосредственно на ЭВМ ( с помощью осциллографа, частотомера или других приборов ).
Второй способ. В процессоре заблокировать наращивание счетчика адреса команд( если это предусмотрено конструкцией ЭВМ ) и запустить ЭВМ на выполнение заданной операции в автоматическом режиме. С помощью осциллографа либо частотомера определить период выполнения операции. Следует отметить, что данный способ может иногда дать неверный результат для тех команд, которые применяют значение одного или нескольких операндов в ходе своего выполнения.
Третий способ. Большинство современных ЭВМ имеют таймеры - устройства для измерения временных интервалов с достаточно высокой точностью. Идея способа заключается в следующем. Запускается на счет некоторая программа и оценивается время ее выполнения по показаниям таймера. Запускается на счет вторая программа, которая отличается от предыдущей только наличием операции, время выполнения которой исследуется. Оценивается время выполнения второй операции. Очевидно, что разность времен выполнения первой и второй программ позволяет определить искомое значение.
Порядок выполнения работы
1. В соответствии с номером варианта из табл.1 выбирается команда ЭВМ , время выполнения которой следует определить с помощью третьего способа.
2. Разрабатываются схемы алгоритмов первой и второй программы, отличающихся друг от друга наличием или отсутствием исследуемой команды. Программы должны быть циклическими, чтобы разность времених выполнения была ощутимой и фиксировалась операционной системой. Программы следует написать на языке Ассемблер ( или другом по согласованию с преподавателем ), предусмотрев в них задание различных исходных данных. При разработке программ на языках высокого уровня следует учесть, что компиляторы могут быть оптимизирующими.
3. Разработанные программы пропускаются через одну и ту же ЭВМ для трех вариантов исходных данных. Желательно, чтобы исходные данные были “легкими”, “средними” и “тяжелыми” для выполнения заданной операции в ЭВМ. Например для операции суммирования двоичных чисел с плавающей запятой исходные данные будут “легкими”, если порядки чисел будут одинаковыми, “тяжелыми” - для чисел с максимально возможной разностью порядков, “сркдними” - для промежуточных случаев. Здесь под трудностью выполнения операции подразумевается время ее выполнения для конкретных исходных данных. Для подбора исходных данных надо ознакомиться с алгоритмом выполнения операции в ЭВМ. Желательно проверить повторяемость результатов.
4. Оформляется отчет о лабораторной работе, где приводятся распечатки программ, анализ полученных результатов, сравнение полученных результатов с техническими данными из справочной литературы.
Таблица 1 - Варианты заданий
Вариант
Команда
Ассемблера
Операция
ЯВУ
Тип
операндов
Тип
результата
DIV
сложение
Ц
Ц
MUL
сложение
ВО
ВО
AND
сложение
ВД
ВД
OR
сложение
Д
Д
XOR
вычитание
Ц
Ц
NOT
вычитание
ВО
ВО
SUB
вычитание
ВД
ВД
ADD
вычитание
Д
Д
ADC
умножение
Ц
Ц
INC
умножение
ВО
ВО
DEC
умножение
ВД
ВД
CMP
умножение
Д
Д
MOV
деление
Ц
Ц
XCHG
деление
ВО
ВО
PUSH
деление
ВД
ВД
POP
деление
Д
Д
MOVSB
пересылка
Ц
Ц
MOVSW
пересылка
ВО
ВО
LODSB
пересылка
ВД
ВД
LODSW
пересылка
Д
Д
CMPSB
пересылка
Ц
ВО
CMPSW
пересылка
Ц
ВД
SCASB
пересылка
ВО
Ц
SCASW
пересылка
ВД
Ц
NEG
логическая
операция
Ц - целые числа ;
ВО - вещественные числа одинарной точности ;
ВД - вещественные числа двойной точности ;
Д - десятичные числа.
Контрольные вопросы
1. Дать определение быстродействия.
2. Что такое производительность ЭВМ ?
3. Что такое номинальная производительность ?
4. Определить быстродействие устройства вывода на перфокарты.
5. Определить быстродействие дисплея.
6. Дать определение комплексной производительности и привести примеры.
7. Привести примеры комплексных ресурсов в ЭВМ.
8. Дать определение системной производительности ЭВМ и привести примеры.
9. Дать определение производительности на рабочей нагрузке, привести примеры.
10.Какие ЭВМ называются проблемно-ориентированными ?
11.Какие ЭВМ относятся к классу специализированных ?
12.Что такое операционная система и ее основное назначение ?
13.Что такое быстродействие ЭВМ ?
14.Что такое смеси Гибсона и зачем они нужны ?
15.В каких случаях второй способ определения быстродействия даст ошибочный результат ? Привести примеры.
16.Предложите отличные от изложенных способы оценки быстродействия ЭВМ.
17.Что такое оптимизирующий транслятор с языков высокого уровня ? Привести примеры оптимизации программ.
18.Почему рекомендуется двухшаговый режим выполнения программы ?