在Streaming SIMD Extensions (SSE)中,Streaming代表什么意思?

6

我已经到处查找,但仍然无法弄清楚。我知道流可以与两个关联:

  • 包装用作消费者和供应商之间的抽象层的后备数据存储
  • 数据随时间而变得可用,而不是一次性全部提供

SIMD代表单指令,多数据; 在文献中,这些指令通常被称为来自流。这对应于第二个关联。

我不太明白为什么在Streaming SIMD扩展(或Streaming Multiprocessor)中有流式处理这个词。指令来自流,但它们可以来自其他地方吗?我们是否或者可以只有SIMD扩展或只有多处理器?

Tl;dr:CPU指令可以是非流式的,即不来自流吗?

1个回答

10

SSE被引入为一种指令集,旨在提高多媒体应用程序的性能。这个指令集的目标是快速流入一些数据 (例如从DVD解码的某个位),使用SIMD快速处理它,然后将结果流式传输到输出(例如图形RAM)。几乎所有SSE指令都有一个变体,允许它从内存中读取16字节。该指令集还包含控制CPU缓存和硬件预取器的指令。它基本上只是一个营销术语。


6
在SSE1中,用于绕过缓存的NT存储指令(movntps)在Intrinsics中实际上被称为_mm_stream_ps()。但我认为这个名字更多地是因为“流式SIMD扩展”,而不是反过来。完全同意认为这只是营销手段,对理解SSE没有太大意义或帮助。 - Peter Cordes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接