Сколько времени отходит на пенсию на станции резервирования, чтобы удалить инструкцию?

Я отправился на поиски в руководстве по оптимизации Intel, и для Skylake я не смог найти, сколько времени потребуется, чтобы удалить инструкцию после того, как она покинула порт выполнения, не предполагая задержек.

Может кто-нибудь предоставить эту информацию или дать ссылку, где я могу найти ответ. Кроме того, была бы очень признательна ссылка на любой документ / документ, в котором подробно рассказывается о том, как работает отдел / процесс выбытия, и о его задержках.

Благодарю.

1 ответ

Комментарии к этому вопросу уже охватывают коэффициент выбытия, то есть пропускную способность, с которой инструкции могут выходить на пенсию, как только они являются самыми старыми неиспользованными инструкциями. Похоже, что для последних Intel ( Skylake) и AMD ( Ryzen) это по меньшей мере 8 инструкций за цикл, хотя детали нечеткие1. Этот показатель значительно шире, чем у других узких мест, таких как переименование (4 для недавних Intel, 5 или 6 для недавних AMD), что он редко является узким местом и его трудно измерить напрямую, так как большинство тестов будут узкими местами по чему-то еще до того, как вы достигнете максимума. Коэффициент выхода на пенсию.

Похоже, что это не ваш вопрос, так как вы написали:

сколько времени требуется, чтобы удалить инструкцию после того, как она покинула свой порт выполнения, при условии отсутствия задержек

Непонятно, что вы подразумеваете под "без задержек", но это совершенно другой вопрос - сколько времени это займет, зависит от того, сколько инструкций находится перед ним, ожидающих выхода на пенсию, и сколько времени они занимают для выхода на пенсию. Я полагаю, что в худшем случае самая старая инструкция останавливается (например, из-за большой задержки в DRAM), и тогда отмена любых более ранних инструкций может занять 100 нс или более. Может быть, это нарушает ваше правило "без задержек"? В общем случае инструкция должна ждать, пока все более ранние инструкции будут отменены, что может быть много циклов, даже когда все идет гладко.


1 Например, это 8 всего по гиперпотокам, или максимум 4 по потоку, или даже по 8 за поток?

Другие вопросы по тегам