gpt4 book ai didi

parallel-processing - 术语 'Instruction Stream' 和 'Data Stream' 在 Flynn 分类法的上下文中意味着什么?

转载 作者:行者123 更新时间:2023-12-04 03:14:56 25 4
gpt4 key购买 nike

我最初在试图弄清楚流水线/超标量 CPU 是 SISD、SIMD、MISD 还是 MIMD 时遇到了这个疑问。我后来确实从维基百科(SISD 文章)中读到:

"According to Michael J. Flynn, SISD can have concurrent processing characteristics. Pipelined processors and superscalar processors are common examples found in most modern SISD computers."

同样来自维基百科(MISD 文章):

"Pipeline architectures belong to this [MISD] type, though a purist might say that the data is different after processing by each stage in the pipeline."

因此,是否可以得出以下结论:

1) “单指令流”处理的要求是只有一个高级执行线程。

2) 仅仅因为利用了线程中的指令级并行性,不能将其视为“多指令流”处理。

术语“单一数据流”怎么样?

谁能说出以下 MIPS 汇编代码的数据流是什么:

  addi $s1,$s0,4
lw $t0,0($s0)
add $s2,$s0,$s1

它是“单一数据流”吗?如果系统利用指令级并行性,这种情况会改变吗?

最佳答案

将流视为“东西”的数组。如果我们查看 SISD,则只有一个指令数组和一个数据数组。您从指令数组中选择一条指令,然后对数据数组进行操作。如果我们要使用 SIMD,那么只有一个指令数组,但您会得到多个数据数组。因此,只需查看您的案例中提供的指令流,我们就无法判断它是 SISD 还是 SIMD。如果底层架构有复制的管道,并且每个都有一个专用的数据流(与我们的数据数组相同),那么提供给该管道的指令将对该管道的专用数据流进行操作。所有这些管道都复制了所有内容,注册等。因此,addi $si,$s0,4 将在每个管道中添加不同的值。

当我们谈论 ILP 时,我们基本上是在单个线程内寻找并行性,这与 SISD 或 SIMD 正交,因为我们想在这两种情况下都利用 ILP。

关于parallel-processing - 术语 'Instruction Stream' 和 'Data Stream' 在 Flynn 分类法的上下文中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41940570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com