新闻  |   论坛  |   博客  |   在线研讨会
P0973BJ 处理来自单个指令线程的指令
15359029662 | 2023-03-29 18:25:39    阅读:38   发布文章

P0973BJ  处理来自单个指令线程的指令

P0973BJ  处理来自单个指令线程的指令

超标量技术的可用性能改进受到三个关键领域的限制:

  • 指令流中的内在并行度(指令需要来自CPU的相同计算资源)

  • 依赖性检查逻辑的复杂性和时间成本寄存器重命名电路

  • 分支指令处理

现有的二进制可执行程序具有不同程度的内在并行性。在某些情况下,指令并不相互依赖,可以同时执行。在其他情况下,它们是相互依赖的:一个指令影响另一个指令的资源或结果。说明a = b+ c;d = e + f可以并行运行,因为结果都不依赖于其他计算。然而,说明书a = b+ c;b = e + f可能无法并行运行,这取决于指令在单元中移动时的完成顺序。

尽管指令流可能不包含指令间相关性,超标量CPU仍然必须检查这种可能性,因为否则没有保证,并且未能检测到相关性将产生不正确的结果。

不管有多先进半导体工艺或者切换速度有多快,这实际上限制了可以同时调度多少条指令。虽然工艺进步将允许更多数量的执行单元(例如alu),但是检查指令依赖性的负担快速增长,用于减轻一些依赖性的寄存器重命名电路的复杂性也是如此。统称为功率消耗复杂性和门延迟成本限制了可实现的超标量加速。

然而,即使在传统的超标量CPU上给定无限快的依赖性检查逻辑,如果指令流本身具有许多依赖性,这也将限制可能的加速。因此,代码流中的内在并行度形成了第二个限制。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客