Как определить штраф за неправильное предсказание? (ЦП) - PullRequest
0 голосов
/ 12 июля 2020

Я читал учебник, в котором говорится:

Предположим, что вероятность неверного предсказания равна p, время выполнения кода без неверного предсказания равно T OK , а штраф за неверное предсказание равен Т МП . Тогда среднее время выполнения кода в зависимости от p равно:

T avg (p) = (1− p) T OK + p (T OK + T MP )

Я немного запутался, не так ли:

T avg (p) = (1− p) T OK + pT MP

например, скажем, p равно 0.5, требуется 10 тактовых циклов для ЦП, когда предсказание ветвления правильное, и 20 тактовых циклов для ЦП, когда предсказание ветвления неверно, не является ли среднее тактовое значение 0,5 (10 + 20) = 15 тактов?

1 Ответ

1 голос
/ 12 июля 2020

T MP определяется как штраф за неправильное предсказание, или количество времени, чтобы распознать, что процессор выбрал ошибочный путь, и вернуться на путь выполнения правильного пути, которое не включает время, необходимое чтобы выполнить правильный путь, ie T OK . Вот почему, когда есть ошибочное предсказание, для завершения выполнения требуется T MP + T OK , а не просто T MP .

...