Аппаратный разведчик - Hardware scout

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

Вычисления в режиме опережения игнорируются процессором; тем не менее, скаутинг обеспечивает ускорение, потому что параллелизм на уровне памяти (MLP) увеличивается. Строки кэша, внесенные в иерархию кеша, часто снова используются процессором, когда он переключается обратно в нормальный режим.

Скаут-разведчик

Солнце Рок-процессор (позже отменен) использовал форму аппаратного разведчика. Однако любые вычисления в режиме с опережением нет в зависимости от промаха кеша может быть немедленно удален. Это позволяет использовать как предварительную выборку, так и традиционные параллелизм на уровне инструкций.

Скаутинг против SMT

Скаутинг и одновременная многопоточность (SMT) оба используют аппаратные потоки для борьбы с стена памяти. При разведке поток разведки выполняет инструкции из того же потока инструкций, что и инструкция, вызывающая остановку конвейера. В случае SMT поток SMT выполняет инструкцию в другом контексте.

Таким образом, SMT увеличивает пропускную способность процессора, в то время как разведка увеличивает производительность за счет снижения количества промахов кэша.

Смотрите также

Рекомендации