31
При возрастании числа входных данных реальная производительность
E конвейерного устройства приближается к пиковой (рис.6).
-
время такта
работы компьютера.
Рассмотрим оптимизацию распределения данных. Одним из способов
такой оптимизации является иерархическая организация памяти. Часто
используемые данные оптимально хранить на регистрах. Скорость работы
процессора всегда согласуется со временем выполнения операций на
регистрах. Но в случае увеличения объемов
данных привлекается уровень
кэш-памяти. Далее, в случае повторения ситуации, привлекаются следующие
уровни памяти (разные уровни кэш-памяти, оперативная, дисковая и т. д.). В
связи с высокой стоимостью, объем высших уровней иерархии ограничен.
Выполнение стандартных вычислений зависит от времени обращения к
запоминающему устройству. Использование сверхбыстродействующей
дополнительной памяти небольшой емкости позволяет уменьшить это время.
Например, цикл с телом из одного оператора и большим числом итераций
является фрагментом программы с высокой локальностью вычислений. В
этой связи тело цикла помещается в более быструю память. Такой шаг
Рис. 6. Кривая зависимости производительности конвейерного устройства от длины
входных данных
32
становится возможным, так как каждая итерация
выполняет одни и те же
команды.
Помимо цикла существуют следующие причины снижения степени
локальности (данных и вычислений) в программах:
- вызов подпрограмм и функций,
- косвенную адресацию массивов,
- неудачную работу с многомерными массивами
- сложные структуры данных,
- использование условных операторов и т.п.
Использование
иерархии
памяти
позволяет
повысить
производительность вычислительных устройств.
Еще одним способом повышения производительности современных
компьютеров является организация параллельной работы нескольких машин.
Подобная возможность обеспечивается общим дополнительным устройством
управления и передачей кодов чисел с одной машины на другую. В
вычислительной системе существует
общая основная память, в которой
хранятся числа и команды, обеспечивающие решение задачи. Данная
информация поступает на ряд сверхбыстродействующих запоминающих
устройств небольшой емкости. Каждое устройство имеет свое АЛУ и
индивидуальное управление.
При расчете производительности следует
учитывать необходимость
согласования скорости работы процессора со временем выборки данных из
памяти. В качестве решения проблемы использовалось расслоение памяти,
развитая регистровая структура, многоуровневая память, кэш-память и т.д.
Для оценки времени выполнения программ используют свойства
локальности вычислений и локальности использования данных.
Таким образом, использование иерархии памяти является одним из
способов повышения производительности. В
целом производительность
программы зависит от:
33
-
поддержки параллелизма в аппаратно-программной среде
вычислительной системы, а именно от его использования в
операционной системе, компиляторе;
-
технологии параллельного программирования и системы времени
исполнения программ, поддержке параллелизма в процессоре и
особенности работы с памятью.
Do'stlaringiz bilan baham: