Каково влияние принципов локальности на методы конвейерной обработки?

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

Как принципы локальности могут повлиять на методы конвейерной обработки?


person emarkk    schedule 24.06.2017    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что это не вопрос программирования. Это вопрос дизайна процессора.   -  person Raymond Chen    schedule 25.06.2017
comment
Не закрывайте его, это вопрос архитектуры ЦП, для него есть тег в SO, и вопрос помечен соответствующим образом.   -  person Isuru H    schedule 25.06.2017
comment
@IsuruH, это может быть по теме, но слишком широко, и в настоящее время - без ответа. В общем, такие вопросы, как «Какова связь между А и Б», как правило, проблематичны.   -  person Leeor    schedule 27.06.2017
comment
Если вы просто имеете в виду, как конвейеризировать, учитывая, что промахи кеша возможны, то буфер/очередь между выборкой инструкций и декодированием может предотвратить появление пузырей из-за промахов I-кэша. Точно так же буфер хранилища скрывает задержку хранилищ с промахом кеша.   -  person Peter Cordes    schedule 10.07.2017


Ответы (1)


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

person Isuru H    schedule 24.06.2017
comment
Ни один из этих аргументов не относится к конвейерной обработке. То же самое относится к выборке инструкций в неконвейерном ЦП. Вы также не указали, что вы бы сделали по-другому при разработке конвейерного процессора, если бы локальность не была проблемой. (Вопрос слишком широкий. Неясно, просто ли он спрашивает об учете возможности промахов кеша или что-то более конкретное. Если первое, то поместите буфер между выборкой и декодированием, чтобы остановы выборки не могли создавать пузыри в остальная часть трубопровода.) - person Peter Cordes; 10.07.2017