X86 什么';SIMD和SSE的区别是什么?

X86 什么';SIMD和SSE的区别是什么?,x86,simd,X86,Simd,我很困惑,SIMD和SSE、SSE2、SSE3、AVX等有什么区别 根据我的知识和研究,SIMD是一种允许单个指令对多个数据进行操作的体系结构,SSE、AVX是实现SIMD体系结构的指令集 每个架构的向量大小是否也有差异,比如SSE有128位,AVX有256位?如果基础SIMD体系结构相同(我认为),那么不同的ISA如何具有不同的向量大小 我不确定这是不是真的,有人能详细解释一下到底发生了什么吗?维基百科页面()很好地解释了SIMD以及实现它的指令集 单指令多数据(SIMD)是Flynn分类法

我很困惑,SIMD和SSE、SSE2、SSE3、AVX等有什么区别

根据我的知识和研究,SIMD是一种允许单个指令对多个数据进行操作的体系结构,SSE、AVX是实现SIMD体系结构的指令集

每个架构的向量大小是否也有差异,比如SSE有128位,AVX有256位?如果基础SIMD体系结构相同(我认为),那么不同的ISA如何具有不同的向量大小

我不确定这是不是真的,有人能详细解释一下到底发生了什么吗?

维基百科页面()很好地解释了SIMD以及实现它的指令集

单指令多数据(SIMD)是Flynn分类法中的一类并行计算机。它描述了具有多个处理元件的计算机,这些处理元件在多个数据点上同时执行相同的操作。


SIMD是“概念”,SSE/AVX是该概念的实现。所有SIMD指令集都是CPU可以在多个数据点上执行的一组指令。只要CPU支持执行指令,那么无论数据大小如何,多个SIMD指令集共存都是可行的。

我不确定这个问题是否完全是关于这个主题的,因为您似乎是指概念本身,而不是问一个编程问题。同样,“灰色是一种颜色”,“SSE是SIMD“.SIMD是一种编程范例,其中多个数据元素由同一条指令处理。SSE和AVX都是x86指令集的扩展,是此SIMD概念的实现。SIMD的定义中没有一项要求一次处理128位或256位,而且不多也不少。此外,SSE和AVX可以共存。支持不同ISA的不同处理器的cpu体系结构是否不同?如支持SSE2的x86处理器的cpu体系结构与支持AVX或MIC的基于x86的cpu体系结构是否不同?一般来说,很难回答这个问题(这有点离题),这取决于您对CPU体系结构的定义。SIMD可能只是一个附加协处理器,这意味着“基本”CPU可能与ARM cortex A8和Neon(可选)完全相同。请参阅特定的芯片文档