SSE3

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

As extensões SSE3 (Streaming SIMD Extensions 3) permitem um alargamento das capacidades SIMD disponibilizadas pelas extensões SSE e SSE2. Permitem um aumento do desempenho no processamento de dados em diversas áreas como por exemplo a aritmética de números complexos e na descodificação de vídeo. A maioria das instruções SSE e SSE2 que implementam operações aritméticas são vocacionadas para o processamento paralelo de dados num modelo vertical. Neste modelo, todos os elementos dos operandos de entrada são tratados uniformemente pela mesma operação. A utilização eficiente destas instruções vocacionadas para o processamento vertical obriga à organização dos dados em conjuntos perfeitamente homogéneos o que por vezes implica um esforço adicional de organização. A tecnologia SSE3 apresenta algumas novas instruções que permitem um processamento mais rápido de conjuntos de dados que têm de ser operados de forma assimétrica ou não homogénia. Dois exemplos de instruções deste tipo são as novas instruções ADDSUBPS e HADDPD.

A instrução ADDSUBPS permite efectuar operações aritméticas assimétricas. Dois pares de valores de vírgula flutuante de precisão simples são adicionados e dois pares de valores do mesmo tipo são subtraídos simultaneamente. Esta funcionalidade permite implementações mais directas de algumas operações básicas da álgebra de números complexos.

A instrução HADDPD é um exemplo de uma instrução que permite efectuar operações aritméticas em conjuntos de elementos que se encontram organizados de forma não compatível com o modelo de computação vertical. Esta instrução realiza uma soma horizontal de elementos adjacentes do mesmo operando. As somas e subtrações horizontais podem ser úteis para a determinação de produtos escalares e produtos vectoriais.

Ligações externas[editar | editar código-fonte]

Instruções x86
FPU: FDIV
SIMD: MMXEMMX3DNow!3DNow!+SSE (MMX+) – SSE2SSE3SSSE3SSE4