"Оптимизация для PENTIUM процессора" - читать интересную книгу автора

много инструкций FXCH. Это замедлит исполнение кода на ранних микропроцессорах,
но не на PentiuPro, поздних Intel и не-Intel процессорах.

Как упомянуто во введении, Intel заявил о создании новых версий процессора
Pentium с набором MMX инструкций, предназначеных для векторных операций. Эти
инструкции будут очень полезны для параллельных расчетов большого числа
целочисленных операций.

Чип PentiumPro во многих отношениях быстрее, чем Pentium, но с другой стороны
кое в чем медленнее. Знание сильных и слабых стороны PentiumPro позволит вам
делать ваш код максимально быстрым для обоих процессоров.

Наиболее важное преимущество PentiumPro то, что он делает большую часть
оптимизаций для вас: переупорядочивание инструкций и разложение сложных
инструкций на более простые. Но отлично оптимизированный код - различается
у обоих процессоров.

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

PentiumPro лучше, чем Pentium в следующих случаях:

- порядок выполнения

- один промах кеша не задерживает последующие инструкции

- разбиение сложных инструкций на меньшие микро-операции

- автоматическое анулирование регистра, для анулирования не необходимых
задержек

- лучший механизм предсказания переходов, чем на Pentium без MMX

- многие неспариваемые или слабо оптимизированные на Pentium инструкции
выполняются лучше на PentiumPro, т.н. целочисленное умножение, MOVZX,
CQD, битовое сканирование, битовый тест, сдвиги CL и загрузка чисел с
плавающей точкой

- числа с плавающей точкой и целые числа операции могут обрабатываться
одновременно

- чтение и запись в память не занимает ALU

- инструкции косвенно обращающиеся к памяти не вызывают остановку AGI

- новые инструкции перемещения данных могут использоваться вместо инструкций
условных переходов