Streaming SIMD Extensions: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Hgfernan (discussão | contribs)
m {{fusão | SSE}}
Hgfernan (discussão | contribs)
m Pequena edição
Linha 12:
A Intel ficou desapontada com o [[MMX]], sua primeira iniciativa de desenvolvimento SIMD para [[IA-32]]. O MMX tinha dois grandes problemas: ele reusava [[registrador]]es de [[ponto flutuante]], o que fazia com que a [[CPU]] ficasse impossibilitada de trabalhar simultaneamente com instruções de ponto flutuante e SIMD. Por isso, o paralelismo só era conseguido com instruções de aritmética com [[inteiro]]s.
 
O '''SSE''' adiciona oito novos registros 128-bits, conhecidos como ''XMM0'' até ''XMM7''. Cada registro pode armazenar quatro números 32-bit de ponto flutuante ao mesmo tempo ([[single-precision]]). As extensãos de [[64 bits]], tanto na Intel quanto da AMD, acrescentam mais 8 registros '''XMM8''' até '''XMM15'''. Além deles foi também adicionado um novo registrador, de controle e de status, chamado MXCSR.
 
Because these 128-bit registers are additional program states that the [[operating system]] must preserve across task switches, they are disabled by default until the operating system explicitly enables them. This means that the OS must know how to use the FXSAVE and FXRSTR instructions, which is the extended pair of instructions which can save all [[x87]] and SSE register states all at once. This support was quickly added to all major IA-32 operating systems.