Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

Программы сборки [ править ]

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

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

Программы на языке высокого уровня (HLL) [ править ]

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

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

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

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

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

Внешние ссылки [ править ]

  • [1] Компьютерная архитектура Авторы: Джон Л. Хеннесси, Дэвид А. Паттерсон, Дэвид Голдберг, Крсте Асанович.
  • [2] IBM - Глоссарий терминов производительности