Jer*_*emy 4 c x86 pipeline switch-statement
在C中命中switch语句(假设它使用跳转表)是否清空了x86处理器的管道?我想它可能是因为它需要表查找的结果来知道接下来要执行的指令.它能否尽早将结果转发回管道不会完全清空?
跳转表不一定清空管道.在现代处理器上预测间接分支,并且分支预测器比您预期的更好.显然,正确预测的间接分支不会导致失速.
根本不支持分支是优选的,但通常是不可能的(或引入如此多的开销以至于净损失).用一系列条件分支替换跳转表有时是有益的,但前提是替换序列中的分支数量相当小.
| 归档时间: |
|
| 查看次数: |
363 次 |
| 最近记录: |