自1996年的MMX指令集以来,Intel和AMD不断为x86体系添加新的SIMD指令集。时至2012年,Intel的Ivy Bridge即将发布,这16年来SIMD指令集有了哪些发展呢?于是我决定整理一份SIMD指令集的发展历程表。
通过阅读Intel和AMD的手册,以及搜索网上资料,我初步完成了这项工作。表格如下——
指令集 | 条 | Date | ICPU | IDate | ACPU | ADate | Memo |
MMX | 57 | 1996-10-12 | Pentium MMX(P55C) | 1996-10-12 | K6 | 1997-4-1 | MultiMedia eXtension |
SSE | 70 | 1999-5-1 | Pentium III(Katmai) | 1999-5-1 | Athlon XP | 2001-10-9 | Streaming SIMD Extensions |
SSE2 | 144 | 2000-11-1 | Pentium 4(Willamette) | 2000-11-1 | Opteron | 2003-4-22 | |
SSE3 | 13 | 2004-2-1 | Pentium 4(Prescott) | 2004-2-1 | Athlon 64 | 2005-4-1 | |
SSSE3 | 16 | 2006-1-1 | Core | 2006-1-1 | Fusion(Bobcat) | 2011-1-5 | 最早出现在Tejas核心(功耗过高而取消) |
SSE4.1 | 47 | 2006-9-27 | Penryn | 2007-11-1 | Bulldozer | 2011-9-7 | |
SSE4.2 | 7 | 2008-11-17 | Nehalem | 2008-11-17 | Bulldozer | 2011-9-7 | |
SSE4a | 4 | 2007-11-11 | K10 | 2007-11-11 | K10还加了 POPCNT 与 LZCNT 指令 | ||
SSE5 | 2007-8-30 | 被AVX搅局。后来XOP/FAM4/CVT16 | |||||
AVX | 2008-3-1 | Sandy Bridge | 2011-1-9 | Bulldozer | 2011-9-7 | Advanced Vector Extensions | |
AVX2 | 2011-6-13 | Haswell | 2013-4-1 | ||||
AES | 7 | 2008-3-1 | Westmere | 2010-1-7 | Bulldozer | 2011-9-7 | Advanced Encryption Standard |
3DNowPrefetch | 2 | 2010-8-1 | K6-2 | 1998-5-28 | 2010年8月放弃3DNow!,仅保留2条预取 | ||
3DNow! | 21 | 1998-1-1 | K6-2 | 1998-5-28 | |||
3DNow!+ | 1999-6-23 | Athlon | 1999-6-23 | Enhanced 3DNow!. 共52条? | |||
MmxExt | Athlon | 1999-6-23 | Extensions MMX | ||||
3DNow! Pro | Athlon XP | 2001-10-9 | 3DNow! Professional.兼容SSE | ||||
POPCNT | 1 | 2007-11-11 | K10 | 2007-11-11 | |||
ABM | 1 | 2007-11-11 | K10 | 2007-11-11 | advanced bit manipulation. LZCNT | ||
CLMUL | 5 | 2008-5-1 | Westmere | 2010-1-7 | Bulldozer | 2011-9-7 | PCLMULQDQ等 |
F16C | 2009-5-1 | Ivy Bridge | 2012-4-1 | Bulldozer | 2011-9-7 | CVT16 | |
FAM4 | 2009-5-1 | Bulldozer | 2011-9-7 | ||||
XOP | 2009-5-1 | Bulldozer | 2011-9-7 |
字段说明——
指令集:指令集名。
条:指令条数。
Date:公布日期。
ICPU:Intel最早支持该指令集的CPU。
IDate:ICPU的发售日期。
ACPU:AMD最早支持该指令集的CPU。
ADate:ACPU的发售日期。
Memo:备注。