Краткий справочник инструкций SSE и MMX с задержками и пропускной способностью - PullRequest
12 голосов
/ 03 июня 2010

Я пытаюсь оптимизировать некоторую арифметику, используя наборы команд MMX и SSE со встроенной сборкой. Тем не менее, я не смог найти хорошие ссылки для времени и использования этих расширенных наборов команд. Не могли бы вы помочь мне найти ссылки, содержащие информацию о пропускной способности, задержке, операндах и, возможно, краткие описания инструкций?

Пока что я нашел:

Ссылки на инструкцию Intel Intel 64 и IA-32 Архитектура. Руководство разработчика. Вып. 2А и Архитектура Intel 64 и IA-32. Руководство разработчика. Вып. 2B

Руководство по оптимизации Intel http://www.intel.com/Assets/PDF/manual/248966.pdf

Сроки целочисленных операций http://gmplib.org/~tege/x86-timing.pdf

Ответы [ 3 ]

10 голосов
/ 03 июня 2010

Справочник по инструкциям Intel должен предоставить адекватное руководство к тому, что на самом деле делают эти инструкции, я бы подумал? У него есть псевдокод для каждого, описание его работы, а в некоторых случаях даже небольшая диаграмма типичного случая.

Что касается времени, я не знаю ни одного официального руководства. Страница Agner Fog является стандартной ссылкой:

http://www.agner.org/optimize/

7 голосов
/ 13 июля 2011

Внутреннее руководство Intel (в левом нижнем углу страницы AVX) - это хорошо организованный инструмент поиска, в котором можно сузить версию SSE и / или тип инструкции, например, арифметику FPили Integer Logical.

Для каждой команды также показана таблица задержки / пропускной способности по процессору и по параметрам.

1 голос
/ 13 июля 2011

Время указано в «Руководстве по оптимизации Intel»; см. Приложение C для определения пропускной способности и задержек для каждой инструкции на архитектуру ЦП.

...