В следующем псевдокоде:
if (rdtscp supported by hardware) {
Invoke "rdtscp" instruction
} else {
Invoke "rdtsc" instruction
}
Скажем, CPU не поддерживает инструкцию rdtscp
, поэтому мы отступаем от инструкции else.
Если CPU неправильно предсказывает ветвь, возможно ли, чтобы конвейер команд попытался выполнить rdtscp
и выбросил ошибку Illgal Instruction
?