Слипстрим (информатика)
Эта статья нуждается в дополнительных цитатах для проверки . ( апрель 2021 г. ) |
Процессор скользящего потока — это архитектура, предназначенная для сокращения длины работающей программы за счет удаления несущественных инструкций. Это форма спекулятивных вычислений .
Второстепенные инструкции включают в себя такие вещи, как результаты, которые не записываются в память, или операции сравнения, которые всегда возвращают значение true. Кроме того, поскольку статистически будет выполняться большинство инструкций перехода, имеет смысл предположить, что так будет всегда.
Из-за спекуляций процессоры вспомогательного потока обычно описываются как имеющие два параллельных потока выполнения. Один из них — оптимизированный и более быстрый A-поток (расширенный поток), выполняющий сокращенный код, другой — более медленный R-поток (избыточный поток), который работает за A-потоком и выполняет полный код. R-поток работает быстрее, чем если бы это был одиночный поток, благодаря предварительной выборке данных A-потоком, эффективно скрывающей задержку памяти, а также благодаря помощи A-потока в предсказании ветвей . Оба потока завершаются быстрее, чем один поток. По состоянию на 2005 год теоретические исследования [ который? ] показали, что эта конфигурация может привести к ускорению примерно на 20%. [ нужна ссылка ]
Основная проблема этого подхода — точность: по мере того, как A-поток становится более точным и менее спекулятивным, вся система работает медленнее. [ нужна ссылка ] . Кроме того, между A-потоком и R-потоком необходимо достаточно большое расстояние, чтобы промахи в кэше, генерируемые A-потоком, не замедляли R-поток.
Ссылки
[ редактировать ]- З. Персер, К. Сундамурти и Э. Ротенберг, « Исследование скользящих процессоров », Proc. 33-я Анна. Международный симп. Микроархитектура, Монтерей, Калифорния, декабрь 2000 г.