Что такое конвейер в процессоре? Узнайте о преимуществах сегментации инструкций —

Как лучшие предложения,
хвост не застрял

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

Процессор Intel Core 2 Duo T7200, процессор с двумя ядрами и микроархитектурой Merom, с 14 этапами в конвейере (Изображение: Everton Favretto/)

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

Как конвейер работает на процессоре?

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

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

Как конвейер с неупорядоченным выполнением инструкций влияет на выполнение задачи (Изображение: Vitor Pádua/)

Задачи, которые выполняет чип, представляют собой последовательности инструкций. Реализация конвейера позволяет процессору работать с инструкцией 1 на одном этапе, с инструкцией 2 на другом этапе и так далее. Количество инструкций, выполняемых параллельно, зависит от размера конвейера и эффективности архитектуры.

По аналогии с рестораном быстрого питания, один повар может готовить ингредиенты на прилавке (инструкция 1), в то время как другой собирает бутерброд (инструкция 2), а третий кладет закуски в пакет (инструкция 3). Когда такой параллелизм происходит, пища готовится быстрее и эффективнее.

Одним из возможных преимуществ конвейера является выполнение инструкций вне очереди (выполнение вне очереди, или OoOE). Когда чип может обрабатывать инструкции только в порядке их выполнения, замедление одной инструкции приводит к задержке всех последующих инструкций.

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

Что такое упорядоченное и неупорядоченное выполнение инструкций в конвейере?

Оперативное выполнение инструкций это метод, при котором инструкции выполняются процессором в том же порядке, в котором они появляются в коде программы.

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

Какие процессоры конвейеризированы с внеочередным выполнением (OoO)?

  • Intel Core: основная линейка процессоров Intel для ПК, включающая в себя от самых простых процессоров (таких как Core 3) до самых продвинутых (таких как Core Ultra 9);
  • AMD Райзен: семейство чипов AMD для ПК на основе микроархитектуры Zen, состоящее из процессоров начального и высокого класса (Ryzen 3, Ryzen 5, Ryzen 7 и Ryzen 9) и использующее неупорядоченное выполнение для оптимизации производительности;
  • Яблочный кремний: название, данное чипам на основе архитектуры Arm, разработанной Apple. Он в основном используется на Mac и iPad;
  • Qualcomm Львиный зев: Торговая марка System-on-a-Chip (SoC) от Qualcomm, одного из ведущих производителей чипов для телефонов Android. Более мощные ядра, такие как ядра Kryo, представленные в серии 8, имеют исполнение OoO для максимальной производительности;
  • Самсунг Эксино: это основная альтернатива процессорам Snapdragon в смартфонах и планшетах линейки Galaxy. Он также имеет неупорядоченные конвейеры, работающие на более мощных ядрах ЦП.

Процессор Intel Core 2 Duo T7200, выпущенный в июле 2006 г. (Изображение: Everton Favretto/)

Исполнение не по порядку быстрее, чем по порядку?

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

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

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

Каковы наиболее распространенные этапы конвейера?

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

инструкция квест

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

декодирование инструкций

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

выполнение инструкции

на стадии выполнение инструкции, выполняется операция, определенная на предыдущем шаге. Например, математический расчет выполняется логическим и арифметическим блоком (ALU) процессора. Операция с памятью, с другой стороны, включает в себя перемещение данных по регистрам микросхемы. После выполнения процессор выбирает следующую команду и перезапускает цикл.

доступ к памяти

доступ к памяти этап, на котором инструкция загружает (загружает) или сохраняет (хранит) данные в памяти, которая может быть ОЗУ или кэш-памятью (L1, L2 и L3).

Обратная запись

Обратная запись этап, на котором результат выполнения инструкции записывается (записывается) в регистры процессора.

Сколько этапов конвейера имеет современный процессор?

Количество шагов зависит от чипа.

Архитектуры на основе RISC имеют классическую стадию из пяти шагов: выборка, декодирование, выполнение, доступ к памяти и обратная запись. Однако реализация меняется внутри самой архитектуры: ЦП Arm Cortex-A57 имеет более 15 стадий конвейера, а ядро ​​Arm Cortex-M0+ имеет только 2 стадии.

Такие процессоры, как Intel Pentium 4 на базе микроархитектуры Prescott, выпущенные в 2004 году, имели конвейер из 31 этапа, что считалось слишком длинным. Одной из целей обширного конвейера было создание процессоров с более высокой тактовой частотой, но проблемы с тепловым дросселированием помешали планам производителя.

Intel Pentium D, двухъядерный процессор с архитектурой CISC x86; модель имела конвейер из 31 этапа (Изображение: Everton Favretto/)

Чем больше конвейер, тем быстрее процессор?

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

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

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

Существует три типа опасностей:

  • опасность данных: когда оператор зависит от результатов другого исполняемого оператора. Это может произойти, когда процессор складывает два числа, и следующая инструкция зависит от результата этого сложения;
  • структурная опасность: когда более чем одна исполняемая инструкция нуждается в одном и том же ресурсе. Происходит, когда две инструкции хотят получить доступ к памяти одновременно, но, например, есть только одна дверь доступа к памяти;
  • Опасность управления: когда изменяется поток команд программы. Бывает, например, когда в конвейере начинают обрабатываться очередные инструкции до того, как процессор сообразит, что эти инструкции следует пропустить из-за условной операции.

Что такое предсказание переходов в процессоре?

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

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

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

Spectre был уязвимостью в системе безопасности, которая использовала спекулятивное выполнение конвейера процессора (Изображение: Paulo Higa/)

В целом, механизмы прогнозирования ветвлений и спекулятивного выполнения достаточно точны на современных процессорах с неупорядоченными конвейерами выполнения, поэтому выигрыш в производительности перевешивает потери. Однако в этой технологии могут быть уязвимости, такие как обнаруженный в 2018 году Spectre, затронувший практически все процессоры в мире.

ПроцессорМикропроцессорСистема-на-чипе (SoC)Intel CoreIntelRyzenAppleСистема Apple на чипеSnapdragonQualcommMemoria RAM

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *