The dawn of the Intel SSE technology

The dawn of the Intel SSE technology

This is a brief historical outlook of the Intel SSE technology and how SEE is supported by different versions
of Microsoft's Visual Studios.

First of all:

SSE - Streaming SIMD Extensions

and

SIMD - Single Instruction Multiple Data

SSE was introduced in 1999, or so,for Intel Pentium III series processors as a response to AMD's 3DNow! technology.

Some time in 1999 Microsoft added a support for SSE inVisual C++ 6.0 ( released in 1998 ) with
a special addon called as Visual C++ 6.0 Processor Pack.

How didsome core SSE header fileslook like13 years ago?

Please take a look at enclosed header files from Visual C++ 6.0 Processor Pack:

emmintrin.h
mmintrin.h
xmmintrin.h

How did a support for SSE evolve over the years?

The following comparison table shows how SEE is supported by different versions of Microsoft's
Visual Studios:

------------------------------------------------------------------------------------------------------------------------------------------------------------
| Header/IDE | VS98 | VS2005 | VS2008 | VS2010 | Notes |
------------------------------------------------------------------------------------------------------------------------------------------------------------
| intrin.h |- | + | + | + | Declarations of platform specific intrinsic functions|
| emmintrin.h|+ | + | + | + | Principal header file |
| mmintrin.h |+ | + | + | + | Definitions and declarations for use with compiler intrinsics |
| xmmintrin.h|+ | + | + | + | Principal header file for SIMD Extensions intrinsics |
| pmmintrin.h| - | - | + | + | Declarations for SSE3 intrinsics |
| smmintrin.h|- | - | + | + | Declarations for SSE4.1 intrinsics |
| nmmintrin.h| - | - | + | + | Declarations for SSE4.2 intrinsics |
| tmmintrin.h| - | - | + | + | Declarations for intrinsic functions ( horizonally packed types ) |
| wmmintrin.h| - | - | + | + | Principal header file for AES and PCLMULQDQ intrinsics |
| immintrin.h| - | - | - | + | Declarations for AVX intrinsics |
-------------------------------------------------------------------------------------------------------------------------------------------------------------

Happy birthday SSE!

Fichier attachéTaille
Télécharger emmintrin.h12.71 Ko
Télécharger mmintrin.h5.55 Ko
Télécharger xmmintrin.h17.72 Ko
4 posts / 0 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.

For the sake of afairness I also attached another file that Visual C++ Processor Pack installs.
This is a 'mm3dnow.h' header file to support AMD's 3DNow! technology.

Fichiers joints: 

Fichier attachéTaille
Télécharger mm3dnow.h1.51 Ko

IIRC in late sixties soviet engineers developed the concept of superscalar processing engine.From the other source I know that the first was Burroughs with its superscalar architecture.Sadly there is no information regarding who pioneered SIMD-like vector units .

@Sergey
If you are interested here is a link http://www.theregister.co.uk/1999/06/07/intel_uses_russia_military_techn...

>>>@Sergey
If you are interested here is a link http://www.theregister.co.uk/1999/06/07/intel_uses_russia_military_techn...

Good article in russian about the Vladimir Pentkovsky and his work on Elbrus processors :http://www.ixbt.com/cpu/e2k-spec.html
He could be regarded as a "father" of Pentium architecture and designer of SIMD unit by bringing to Intel his vast knowledge from his previous work.

Laisser un commentaire

Veuillez ouvrir une session pour ajouter un commentaire. Pas encore membre ? Rejoignez-nous dès aujourd’hui