0

在计算机体系结构主题中乱序和动态调度的背景下,为什么存储指令必须等到它们被提交(退休)才能修改内存?

我找到了一篇文章(http://users.ece.cmu.edu/~schen1/18-741_final_report.pdf),其中提到了以下内容:

最初,存储一发出就完成,但它们的缓存访问是在完成时按顺序完成的。基线模拟器通过暂停它们的高速缓存访​​问直到指令被提交来确保存储按程序顺序执行。不幸的是,这也保证了存储在它们提交之前会保留它们的 LSQ 条目,这在它们完成之后很长时间。

我从上面的引用中得出的结论是,我们需要让存储尊重原始程序指令的顺序,并让它们在提交后对内存进行更改,这尊重原始程序的指令顺序。

在这种情况下,提交或退出指令意味着写入其目标寄存器,这发生在指令位于重新排序缓冲区中时。

4

0 回答 0