26
конвейерность. В компьютере обычно реализуются все основные типы команд:
скалярные, векторные и конвейерные. Команда, у которой все аргументы
скалярные величины, называется скалярной командой. Если хотя бы один
аргумент вектор, команда называется векторной.
Соответственно в составе
компьютера могут быть скалярные, векторные и конвейерные устройства.
Введем необходимые определения и предположения, касающиеся оценки
производительности вычислительных систем.
Предполагается, что система состоит из набора функциональных
устройств (ФУ). Результат предыдущего срабатывания ФУ
может сохраняться в
нем только до момента очередного срабатывания. ФУ не может одновременно
выполнять операцию и сохранять результат, т.е. не имеет собственной памяти.
ФУ называется простым, если никакая последующая операция не может
начаться раньше, чем предыдущая. Конвейерное ФУ состоит из цепочки
простых ФУ, которые называют элементарными. Очередная операция считается
выполненной после прохождения всех элементарных ФУ (ступеней конвейера).
Пусть время выполнения одной операции τ. Тогда за время
Т
может быть
выполнено приблизительно
Т
/τ операций (здесь и во многих случаях далее для
простоты мы не учитываем, что следует брать только
целую часть результата
деления). Время τ реализации одной операции называют стоимостью операции,
а сумму стоимостей всех операций
T
- стоимостью работы. Минимально
возможное время выполнения алгоритма определяется длиной критического
пути. Загруженностью устройства - p называют отношение стоимости
реально
выполненной работы к максимально возможной стоимости. Показатель
эффективности одного процессора - количество операций, запускаемых за один
такт процессора - IPC (instructions per sycle). Общая вычислительная мощность
многопроцессорной системы оценивается
пиковой производительностью,
определяемой как максимальное количество операций, которое может быть
выполнено системой за единицу времени при отсутствии потерь времени на
27
связи между ФУ. Единица измерения производительности - Flops (одна
вещественная операция в секунду).
Пиковая производительность многопроцессорной системы определяется
как количество функциональных устройств, предназначенных для выполнения
операций с плавающей точкой (равное числу IPC),
умноженное на частоту
работы процессора и на число процессоров. Например, для компьютера с двумя
устройствами с плавающей точкой и частотой 500 МГц пиковая
производительность равна 1000 Mflops (1 Gflops). Эффективность
использования других функциональных устройств (целочисленная арифметика,
обращение к памяти и др.) выявляется путем сравнения реально достижимой на
тестах производительности с пиковой.
Реальная производительность
- это количество операций, реально
выполняемых в среднем в единицу времени. Реальная производительность
обычно
существенно
меньше
пиковой.
Превышение
пиковой
производительности над реальной характеризует, насколько данная
архитектура приспособлена к решению конкретной задачи. Отношение
реальной производительности к пиковой
называется эффективностью
реализации задачи на данном конкретном компьютере.
Эффективность реализации программы повышается в том случае, когда
возрастает относительная загруженность АЛУ. Для этого необходимо
устранять узкие места, которые обычно связаны с
временем обращения к
памяти и временем пересылки данных. Если на большинстве задач
эффективность работы компьютера более 0,5, ситуацию можно считать
хорошей [2].
Do'stlaringiz bilan baham: