弗林瓶颈 - 最大加速 2

Flynn's Bottleneck - maximum speedup 2

根据 Flynn's Bottleneck,指令级并行 (ILP) 带来的加速最多可达 2。为什么会这样?

Flynn's Bottleneck 的那个版本起源于 Detection and Parallel Execution of Independent Instructions,作者根据经验得出结论,大多数程序的 ILP 小于 2。那是 1970 年的技术,那是实证结论。您可以将其与 Fisher's Optimism 进行对比,后者表示那里有很多 ILP,并建议跟踪调度和 VLIW 来利用它。

所以你问题的字面答案是因为那是他们当时在基本块内测量的

ILP 小于 2 的意思实际上不再使用了,因为超标量和更好的编译器已经超过了数字 2。因此,随着时间的推移 Flynn 的瓶颈 已经意味着 You cannot retire more than you fetch which stems from his earlier paper Some Computer Organizations and Their Effectiveness

The execution bandwidth of a system is usually referred to as being the maximum number of operations that can be performed per unit time by the execution area. Notice that due to bottlenecks in issuing instructions, for example, the execution bandwidth is usually substantially in excess of the maximum performance of a system.