stringtranslate.com

Длина пути инструкции

В производительности компьютера длина пути инструкции — это количество инструкций машинного кода , необходимых для выполнения раздела компьютерной программы . Общую длину пути для всей программы можно считать мерой производительности алгоритма на конкретном компьютерном оборудовании . Длина пути простой условной инструкции обычно считается равной 2, одна инструкция выполняет сравнение, а другая — выполняет переход, если определенное условие удовлетворено. Время выполнения каждой инструкции обычно не учитывается при определении длины пути, поэтому длина пути является просто показателем относительной производительности, а не абсолютной в каком-либо смысле.

При выполнении тестовой программы большая часть пути инструкции обычно находится внутри внутреннего цикла программы .

До появления кешей длина пути была приближением времени выполнения, но в современных процессорах с кешем это может быть гораздо худшее приближение: некоторые инструкции загрузки выполняли сотни циклов, когда данных нет в кеше, или порядка в кеше (даже та же инструкция в другом раунде цикла).

Программы сборки

Поскольку между ассемблерными инструкциями и машинными инструкциями обычно существует связь «один к одному» , длину пути инструкции часто принимают за количество ассемблерных инструкций, необходимых для выполнения функции или определенного раздела кода. Выполнение простого поиска в таблице в несортированном списке из 1000 записей может потребовать около 2000 машинных инструкций (в среднем, при условии равномерного распределения входных значений), тогда как выполнение того же поиска в отсортированном списке с использованием алгоритма двоичного поиска может потребовать всего около 40 . машинные инструкции, очень значительная экономия. Выраженный в терминах длины пути инструкции, этот показатель будет уменьшен в этом случае в 50 раз — причина, по которой фактическое время выполнения инструкций может быть второстепенным фактором по сравнению с хорошим выбором алгоритма , требующего более короткой длины пути.

Длина пути инструкции программы на языке ассемблера обычно сильно отличается от количества исходных строк кода для этой программы, поскольку длина пути инструкции включает только код в исполняемом потоке управления для данного ввода и не включает код, который не является актуально для конкретного ввода или недостижимого кода .

Программы языка высокого уровня (HLL)

Поскольку один оператор, написанный на языке высокого уровня, может создавать несколько машинных инструкций с переменным числом, не всегда возможно определить длину пути инструкции, например, без симулятора набора команд, который  может подсчитывать количество «выполненных» инструкций во время выполнения. моделирование. Если язык высокого уровня поддерживает и при необходимости создает «список ассемблеров», иногда можно оценить длину пути инструкции, исследуя этот список.

Факторы, определяющие длину пути инструкции

Использование длины пути инструкции

Из вышесказанного можно понять, что можно использовать знание длин путей команд:

Внешние ссылки