The dawn of the Intel SSE technology

The dawn of the Intel SSE technology

Ritratto di Sergey Kostrov

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!

AllegatoDimensione
Scarica emmintrin.h12.71 KB
Scarica mmintrin.h5.55 KB
Scarica xmmintrin.h17.72 KB
4 post / 0 new
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
Ritratto di Sergey Kostrov

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.

Allegati: 

AllegatoDimensione
Scarica mm3dnow.h1.51 KB
Ritratto di iliyapolak

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...

Ritratto di iliyapolak

>>>@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.

Accedere per lasciare un commento.