【发布时间】:2016-08-12 06:50:28
【问题描述】:
我正在阅读http://www.realworldtech.com/sandy-bridge/,我在理解一些问题时遇到了一些问题:
加载缓冲区增长了 33%,并且可以跟踪 64 μop 运行中。 Sandy Bridge 略微增加至 36 个存储,总共 100 个同时内存操作,大约是运行中 μop 总数的三分之二。
什么是微操作飞行中?什么是加载缓冲区?
【问题讨论】:
-
当他们说“uop”时,他们可能是指微操作的“μop”。您可以将加载缓冲区视为保存加载指令结果的缓存(对于存储缓冲区也是如此)。更多详情请参见答案here。
-
飞行中的微操作被记录在重新排序缓冲区中(Sandy Bridge 中的 168 个条目)。当一个操作重命名了它的操作数并插入到调度器中时,它就进入了ROB;当操作被提交(按顺序)时,ROB 条目被释放并且操作不再“进行中”。加载缓冲区跟踪加载地址及其顺序以支持存储转发(以及检测加载不依赖于早期未解析存储的错误预测)。
标签: x86 intel cpu-architecture