预测现代超标量处理器上的操作延迟需要考虑哪些因素,我该如何手动计算它们? [英] What considerations go into predicting latency for operations on modern superscalar processors and how can I calculate them by hand?

查看:91
本文介绍了预测现代超标量处理器上的操作延迟需要考虑哪些因素,我该如何手动计算它们?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望能够手动预测任意算术运算(即没有分支或内存,尽管这也很好),但考虑到指令重新排序,x86-64汇编代码在给定的特定架构下将采用多长时间,超标量,延迟,CPI等.

I want to be able to predict, by hand, exactly how long arbitrary arithmetical (i.e. no branching or memory, though that would be nice too) x86-64 assembly code will take given a particular architecture, taking into account instruction reordering, superscalarity, latencies, CPIs, etc.

要实现此目标,必须遵循什么/描述规则?

What / describe the rules must be followed to achieve this?

我认为我已经弄清了一些初步规则,但是在将任何示例代码分解到如此详细的级别时,我还找不到任何参考,因此我不得不做出一些猜测. (例如,英特尔优化手册几乎没有对提及指令进行重新排序.)

I think I've got some preliminary rules figured out, but I haven't been able to find any references on breaking down any example code to this level of detail, so I've had to take some guesses. (For example, the Intel optimization manual barely even mentions instruction reordering.)

至少,我正在寻找(1)确认每条规则正确还是对每条规则的正确陈述,以及(2)我可能忘记的任何规则的列表.

At minimum, I'm looking for (1) confirmation that each rule is correct or else a correct statement of each rule, and (2) a list of any rules that I may have forgotten.

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆