llatency vs пропускная способность в Intel Intrinsics
Мне кажется, я в целом хорошо понимаю разницу между задержкой и пропускной способностью. Однако влияние задержки на пропускную способность инструкций мне неясно для Intel Intrinsics, особенно при использовании нескольких внутренних вызовов последовательно (или почти последовательно).
Например, давайте рассмотрим:
_mm_cmpestrc
Это имеет задержку 11 и пропускную способность 7 на процессоре Haswell. Если бы я выполнил эту инструкцию в цикле, получу ли я непрерывный вывод за цикл после 11 циклов? Поскольку для этого требуется одновременное выполнение 11 инструкций, а пропускная способность равна 7, у меня заканчиваются «исполнительные блоки»?
Я не уверен, как использовать задержку и пропускную способность, кроме как получить представление о том, сколько времени займет отдельная инструкция относительно другой версии кода.