15
Глава 2.
Отображение параллельных структур алгоритмов и
программ на архитектуру компьютера
2.1.
Определение проблемных точек процесса реализации
программы
Повысить эффективность решения задач на компьютере возможно
следующими способами:
-
улучшить математические модели,
-
разработать новые численные методы,
-
улучшить программу.
Обычно программист не оценивает возможности компилятора и
операционной системы. Влияние этих компонентов на
эффективность
реализации пользовательских программ при создании и исполнении
машинных кодов может быть достаточно велико, но выявить проблемные
места созданного машинного кода и внести соответствующие изменения в
код на языке высокого уровня достаточно затруднительно.
Даже в случае получения такой информации, ею
редко удается
воспользоваться при выборе путей модернизации как самой программы, так
и реализуемых ею алгоритмов.
Системное программное обеспечение компьютера не содержит средств,
позволяющих анализировать структуры программных кодов. Затруднительно
найти информацию об эффективности работы ключевых для программы
конструкций языка высокого уровня. Тем более важно выявить параллельных
структуры алгоритмов и программ и спроецировать их на архитектуру
компьютеров.
Главный
вектор
развития
компьютеров
‒
повышение
производительности, т. е. возможности выполнять большее число операций в
единицу времени.
Решающее влияние на производительность оказывает арифметико
-
логическое устройство. Кроме АЛУ существуют менее значимые устройства,
16
тоже влияющие на производительность компьютера. И часто это влияние
превалирует над влиянием
более значимых устройств, особенно при
возрастании сложности решаемой задачи. В этом случае сбои происходят
чаще. Данная проблема может быть решена путем смены вычислительных
мощностей, что либо приводит к дополнительным расходам, либо
заканчивается неудачей.
Таким образом, предпочтительнее решить проблему на том же
компьютере. Для этого программист должен обладать знаниями о средствах
реализации программы
на низком уровне, таких как:
1.
Арифметико
-
логическое устройство (АЛУ), в составе которого
работают такие устройства, как сумматоры, умножители,
сопроцессоры и т. п. Работа этих устройств не связано
непосредственно с
задачей, реализуемой программой. Текущей
организацией работы производственного отдела занимается сектор
оперативного управления.
2.
Устройство управления (УУ), которое связано с памятью,
устройство которой влияет на производительность. В работе с
данными участвуют регистровая память, кэш
-
память,
оперативная
память, медленная память.
3.
Компилятор, участвующий в формировании машинного кода.
4.
Оборудование, обеспечивающее транспортировку данных
-
различные соединения, шины, каналы и т.д.
5.
Операционная система,
которой принадлежит организационная
роль.
Время решения задачи определяется:
-
мощностью оборудования АЛУ;
-
скоростью
работы
оборудования,
обеспечивающей
транспортировку данных;
-
качество сгенерированного компилятором машинного кода;
17
-
эффективностью работы операционной системы с данными,
перемещаемыми из памяти.
Do'stlaringiz bilan baham: