Система воспроизведения - Replay system

В система воспроизведения подсистема внутри Intel Pentium 4 процессор.[1] Его основная функция - перехватывать операции, которые были ошибочно отправлены на выполнение процессором. планировщик. Операции, обнаруженные системой воспроизведения, затем повторно выполняются в цикле до тех пор, пока не будут выполнены условия, необходимые для их правильного выполнения.[2]

Обзор

Система воспроизведения появилась в результате стремления Intel к постоянно растущие тактовые частоты. Эти более высокие тактовые частоты потребовали очень длительного трубопроводы (до 31 ступени в Прескотт основной). Из-за этого между планировщиком и исполнительные единицы в ядре Прескотта. В попытке сохранить приемлемую производительность инженерам Intel пришлось разработать планировщик с большим оптимизмом.[2]

Планировщик в процессоре Pentium 4 настолько агрессивен, что отправляет операции на выполнение без гарантии их успешного выполнения. (Среди прочего, планировщик предполагает, что все данные находятся на уровне 1 "кеш трассировки " Кэш процессора.) Самая распространенная причина сбоя выполнения заключается в том, что необходимые данные недоступны, что, скорее всего, связано с промахом в кэше. Когда это происходит, система воспроизведения сигнализирует планировщику об остановке, а затем повторно выполняет неудачную строку зависимых операций, пока они не завершатся успешно.[2][3]

Соображения производительности

Неудивительно, что в некоторых случаях система воспроизведения может очень плохо сказаться на производительности. В нормальных условиях исполнительные блоки Pentium 4 используются примерно 33% времени. Когда система воспроизведения запущена, она будет занимать исполнительные единицы почти в каждом доступном цикле. Это расходует энергию, которая становится все более важной метрикой архитектурного проектирования, но не снижает производительности, потому что исполнительные блоки все равно будут бездействовать. Однако если Hyper Threading используется, система воспроизведения не позволит другому потоку использовать исполнительные блоки. Это истинная причина любого снижения производительности, связанного с гиперпоточностью. В Prescott Pentium 4 получил очередь воспроизведения, которая сокращает время, в течение которого система воспроизведения будет занимать исполнительные блоки.[2]

В других случаях, когда каждый поток обрабатывает разные типы операций, система воспроизведения не будет мешать, и может появиться повышение производительности. Это объясняет, почему производительность с гиперпоточностью зависит от приложения.[2]

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

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

  1. ^ https://web.archive.org/web/20180419120455_/https://pdfs.semanticscholar.org/presentation/cfcc/9d5a7480c4ea87e77084386d74aaff9a1ee1.pdf
  2. ^ а б c d е Повтор: неизвестные особенности ядра NetBurst (2005-06-06). «Повтор: неизвестные особенности ядра NetBurst». X-bit labs. Архивировано из оригинал на 2014-04-08. Получено 2014-04-07.
  3. ^ Антонио Гонсалес; Фернандо Латорре; Григориос Магклис (01.07.2010). «Микроархитектура процессора: перспективы внедрения». Books.google.com. Издательство Morgan & Claypool. Получено 2014-04-07.