mto*_*ssi 11 assembly x86-64 cpu-architecture branch-prediction
在以下伪代码中:
if (rdtscp supported by hardware) {
Invoke "rdtscp" instruction
} else {
Invoke "rdtsc" instruction
}
Run Code Online (Sandbox Code Playgroud)
假设CPU不支持该rdtscp指令,因此我们回退到else语句.
如果CPU错误预测分支,指令管道是否可能尝试执行rdtscp并抛出Illgal Instruction错误?
Han*_*ant 15
在英特尔处理器手册第3A卷第6.15章中明确记录了#UD陷阱(无效操作码执行):
在实现无序执行微体系结构的Intel 64和IA-32处理器中,在尝试退出执行无效指令的结果之前,不会生成此异常.也就是说,解码和推测性地尝试执行无效操作码不会产生此异常.同样,在奔腾处理器和早期的IA-32处理器中,由于对无效指令进行预取和初步解码,因此不会生成此异常.
| 归档时间: |
|
| 查看次数: |
542 次 |
| 最近记录: |