Краткая ссылка на инструкции SSE и MMX с задержкой и пропускной способностью
Вопрос
Я пытаюсь оптимизировать некоторую арифметику, используя наборы инструкций MMX и SSE с встроенной сборкой. Тем не менее, я не смог найти хорошие ссылки на время и использование этих улучшенных наборов инструкций. Не могли бы вы помочь мне найти ссылки, которые содержат информацию о пропускной способности, задержке, операндах и, возможно, коротких описаниях инструкций?
Пока что я нашел:
Ссылки на инструкции IntelIntel 64 и IA-32 Architectures's Developer Руководство разработчика: Vol. 2A а такжеIntel 64 и IA-32 Architectures's Developer Руководство разработчика: Vol. 2B
Руководство по оптимизации Intelhttp://www.intel.com/assets/pdf/manual/248966.pdf
Время целочисленных операцийhttp://gmplib.org/~tege/x86-timing.pdf
Решение
Ссылка на инструкции Intel должна предоставить адекватное руководство о том, что на самом деле делают эти инструкции, я бы подумал? Он имеет псевдокод для каждого из них, описание своей работы, а в некоторых случаях даже небольшая диаграмма репрезентативного случая.
Для времени я знаю официального гида, о котором я знаю. Страница Agner Fog является стандартной ссылкой:
Другие советы
А Внутренний гид Intel (В нижней части левой части страницы AVX) находится хорошо организованный инструмент для поиска, где вы можете сузить по версии SSE и/или типу инструкции, например, FP-арифметическая или целочисленная логика.
Для каждой инструкции она также показывает таблицу задержки/пропускной способности CPU и по параметрам.
Время находится в «Руководстве по оптимизации Intel»; См. Приложение C для пропускной способности и задержек для каждой инструкции по архитектуре процессора.