С точки зрения Pentium, число процессоров было легко найти для процессоров Intel и AMD (и большинства конкурентов). Однако, начиная с Pentium Pro и AMD K5, центральный процессор перешел на динамическую модель исполнения, в которой инструкции могут выполняться не по порядку. В этом случае время, затрачиваемое на выполнение инструкции, в значительной степени зависит от данных, которые она использует, и от того, зависит ли (например) от данных из предыдущей инструкции (в этом случае она должна ждать завершения этой инструкции, прежде чем она сможет это сделать). выполнение).
Существуют также ограничения на такие вещи, как то, сколько инструкций может быть декодировано за цикл (например, по крайней мере одна, плюс еще две, если они «простые») и сколько может быть удалено за цикл (обычно около трех или четыре).
В результате на современном процессоре практически бессмысленно говорить о циклах для данной инструкции изолированно. Значимые результаты требуют потока инструкций, так что вы смотрите не только на эту инструкцию, но и на то, что происходит до и после нее. Инструкция, которая является серьезным узким местом в одном потоке команд, может быть по существу свободной в другом потоке (например, если у вас есть одно умножение, смешанное с большим количеством добавлений, умножение может быть почти бесплатным - но если оно окружено множеством других умножений , это может быть относительно дорого).