Cтраница 1
Статико-динамический анализ включает: фрагментацию программы; однократный статический анализ выделенных фрагментов с учетом архитектуры целевого процессора; использование результатов, полученных в статике, в процессе прогона программы путем подсчета числа исполнений соответствующего фрагмента. [1]
В качестве альтернативы статико-динамическому анализу может рассматриваться методика прямых измерений времени выполнения выделенных фрагментов программ. Основная прагматическая посылка для применения этого подхода заключается в предположении, что отдельные процессоры или процессорные узлы, используемые при создании масштабируемых вычислительных платформ, заранее известны и доступны. Далее, современные процессоры обладают развитым набором специальных средств для оценки временных характеристик программ. Так, начиная с семейства Pentium в процессорах фирмы Intel имеется счетчик Time Stamp-Counter ( TSC), содержимое которого инкрементируется в каждом цикле работы процессора. Кроме счетчика TSC, особенности работы с которым мы рассмотрим чуть позже, в процессорах Pentium предусмотрен еще целый ряд контрольных счетчиков для оценки таких динамических характеристик программ, как число декодируемых команд, прерываний и обращений к кэш-памяти. [2]
Итак, прибегать к статико-динамическому анализу целесообразно, когда недоступна целевая платформа или же осуществляется ее выбор. Основное достоинство статико-динамического анализа - гораздо более высокое быстродействие по сравнению с эмуляцией и практически та же точность оценок. [3]
Еще раз подчеркнем, что к статико-динамическому анализу приходится прибегать тогда, когда по каким-либо причинам не удается осуществить реальные прогоны программы на целевой платформе. [4]
Итак, прибегать к статико-динамическому анализу целесообразно, когда недоступна целевая платформа или же осуществляется ее выбор. Основное достоинство статико-динамического анализа - гораздо более высокое быстродействие по сравнению с эмуляцией и практически та же точность оценок. [5]