小智 16
通常,如果参数位于流水线各个阶段的寄存器中,则这些操作中的每一个都需要一个时钟周期来执行。
你说的延迟是什么意思?一个操作在 ALU 中花费了多少个周期?
您可能会发现此表很有用:http : //www.agner.org/optimize/instruction_tables.pdf
由于现代处理器是超标量并且可以乱序执行,因此每个周期的总指令数通常会超过 1。宏命令的参数是最重要的,但操作也很重要,因为除法比 XOR (<1周期延迟)。
许多 x86 指令可能需要多个周期才能完成某些复杂的阶段(例如,REP 命令或更糟的 MWAIT)。
在乱序执行超标量管道的这些日子里,计算汇编代码的效率并不是最好的方法。它会因处理器类型而异。它会因之前和之后的指令而异(您可以添加额外的代码并使其有时运行得更快!)。一些操作(特别是除法)甚至在更老的更可预测的芯片上也可以有一定的执行时间范围。实际上,大量迭代的时间安排是唯一的出路。
| 归档时间: |
|
| 查看次数: |
37652 次 |
| 最近记录: |