【问题标题】:Do store instructions create a hazard the same way loads do?存储指令是否会像加载一样产生危险?
【发布时间】:2018-06-02 21:11:02
【问题描述】:

我认为没有危险,但想确认一下。

我知道如果有加载字,那么我应该假设一个危险,但是对于存储字是否一样?

sw $t4,8($t0)
add $t3,$t4,$t0

【问题讨论】:

  • sw 不写任何寄存器,所以不,没有危险。
  • @IRTFM - 我认为 [cpu-architecture] 是解决有关微架构危害问题的好标签。 ([computer-architecture] 是它的同义词。我可能应该更新标签用法以包括一般计算机架构方面,而不仅仅是有关 Skylake 等特定现实世界微架构的问题。) OTOH,有一个 [cpu- hazard] 标签可能有助于自动完成并减少错误标记的问题。我们可以将其设为 [cpu-architecture] 的同义词,或者我想就留下它,因为我们确实有几个专门针对危险和停滞的问答,不需要很多其他标签。
  • @PeterCordes:谢谢。我的领域是生存分析,我创建它是为了“捍卫”[危险]标签的使用,但我认为自己没有资格在标签描述中进行适当的撰写。我只将它添加到明确与微码问题有关的问题中,并在以非常笼统的方式使用它来描述“编程错误的来源”的问题中将其删除。
  • @IRTFM:是的,这听起来很合理。 (但请注意,微代码 与微架构不同。“微代码”的现代用法不包括像早期 MIPS 这样的简单 CPU 如何直接使用指令的机器代码位作为内部控制信号。微码是指一条指令通过多个内部步骤运行时,例如让 CPU 从内部 ROM 运行微码,而不是直接运行该指令。我会尽快修复 [cpu-hazard] 的标签使用。)
  • @PeterCordes 随时编辑我的工作。

标签: assembly mips cpu-architecture cpu-hazard


【解决方案1】:

存储字中没有寄存器受到影响。您只是从寄存器中获取值并将其存储在内存位置中。因此没有危险

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-24
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 2014-11-14
    • 1970-01-01
    相关资源
    最近更新 更多