2010-06-02 14 views
12

J'essaie d'optimiser une partie de l'arithmétique en utilisant les jeux d'instructions MMX et SSE avec l'assemblage en ligne. Cependant, j'ai été incapable de trouver de bonnes références pour les temps et les utilisations de ces ensembles d'instructions améliorés. Pourriez-vous m'aider s'il vous plaît à trouver des références qui contiennent des informations sur le débit, la latence, les opérandes, et peut-être de courtes descriptions des instructions?Référence d'instruction concise SSE et MMX avec des latences et un débit

, j'ai trouvé jusqu'à présent:

Intel Instruction Références Intel 64 and IA-32 Architectures Developer's Manual: Vol. 2A et Intel 64 and IA-32 Architectures Developer's Manual: Vol. 2B

Intel Guide d'optimisation http://www.intel.com/Assets/PDF/manual/248966.pdf

Les synchronisations des opérations entières http://gmplib.org/~tege/x86-timing.pdf

Répondre

10

Intel Instruction Autre référence devrait prov Si je devais penser à un guide adéquat de ce que ces instructions font réellement, j'aurais pensé? Il a un pseudocode pour chacun, une description de son fonctionnement, et dans certains cas même un petit diagramme d'un cas représentatif.

Pour les horaires, il n'y a pas de guide officiel que je connaisse. La page de Agner Fog est la référence standard:

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

+0

Le guide Agner est génial. Exactement ce dont j'ai besoin. – Joe

7

Le Intel's Intrinsic Guide (en bas à gauche de la page AVX), est un outil interrogeable bien organisé, où vous pouvez affiner par la version SSE et/ou de l'instruction type, par exemple, arithmétique FP ou Integer Logical.

Pour chaque instruction, il affiche également une table de latence/débit par CPU et par paramètres.

+2

C'est le meilleur que j'ai trouvé pour voir quelles instructions pourraient faire ce que vous voulez. D'autres guides sont parfaits pour détailler exactement ce que chaque instruction ASM fait, mais cela prend tellement d'espace que vous ne pouvez pas obtenir une vue d'ensemble. J'espérais qu'il y aurait quelque chose de similaire au guide intrinsèques, mais pour asm directement. Pourtant, c'est surtout une cartographie 1: 1. –

1

Les temps sont dans le "Guide d'optimisation Intel"; Voir Annexe C pour le débit et les latences pour chaque instruction par architecture de CPU.