Что это значит под штрафом за ветку? - PullRequest
0 голосов
/ 02 июня 2019

Штраф ветвления в конвейере является результатом ненулевого расстояния между ALU и ЕСЛИ.

Что это значит под этим утверждением?

Ответы [ 2 ]

3 голосов
/ 02 июня 2019

Без (правильного) ответвления предсказание , выборка не знает, что следует выбирать дальше, пока ALU не решит, в каком направлении будет идти условная или косвенная ветвь. Таким образом, он останавливается, пока ветвь не выполняется в ALU.

Или с неправильным прогнозом извлеченные / декодированные инструкции с неправильного пути бесполезны, поэтому мы называем это ветвью mispredict наказание; предсказание ветвлений скрывает это в обычном случае.


(В MIPS первого поколения, классическом 5-ступенчатом RISC, даже условные ветви разрешались на этапе декодирования (ID) перед ALU (EX). Это уменьшало штраф за переход до 1 цикла, который был скрыт ISA, включая слот задержки ветвления: инструкция после ветки всегда выполняется, независимо от того, была ли ветвь взята или нет.)

1 голос
/ 02 июня 2019

Значит, у вас был штраф между циклами процессора.Каждый процессор имеет циклы работы, каждая задержка в цикле приведет к штрафу, поскольку он ожидает, пока ветвь не выполнится в ALU, или:

Штраф ветвления в конвейере является результатом ненулевого расстояния междуALU и IF.

Существует замечательная, но длинная книга под названием Архитектура компьютера с параллельными процессами и параллельный процессор .

В ней подробно объясняется проблема.

...