Компьютерная конвейерная обработка
Компьютерная конвейеризация была впервые представлена компанией Intel в чипе 486. Принцип работы трубопровода аналогичен промышленному сборочному конвейеру. Внутри ЦП ряд схемных блоков с различными функциями образует конвейер обработки инструкций; Инструкция x86 разбивается на пять или шесть шагов, которые затем последовательно выполняются этими устройствами. Это позволяет завершить инструкцию за один такт процессора, тем самым увеличивая скорость обработки процессора. В классическом процессоре Pentium каждый целочисленный конвейер состоит из четырех этапов: -предварительная выборка инструкций, декодирование, выполнение и-обратная запись-, а конвейер с плавающей-запятой состоит из восьми этапов.
Конвейерная обработка — ключевая технология, широко используемая в микропроцессорах (ЦП). Он описывает метод выполнения инструкций внутри ЦП; Чтобы понять конвейерную обработку, необходимо сначала понять инструкции и процесс их выполнения.
Компьютерные инструкции
Компьютерная инструкция — это определенный набор двоичных данных, которые сообщают ЦП, что делать. Если ЦП сравнить с производственным предприятием, то инструкция аналогична заказу клиента; он запускает серию действий на «фабрике» ЦП, в конечном итоге получая вычислительный результат-готовый продукт. Как это на самом деле работает? Во-первых, должен быть отдел для получения заказов-блок выборки инструкций ЦП; во-вторых, должна быть мастерская для выполнения заказов-блока выполнения инструкций ЦП. На заводе производство изделия разбивается на несколько этапов производства; аналогичным образом инструкция преобразуется в серию соответствующих микро-операций внутри ЦП. Последовательное выполнение этих микро-операций представляет собой выполнение всей инструкции.
Выполнение инструкций
В процессорах-низкого уровня выполнение инструкций является последовательным; Проще говоря, одна инструкция завершается до начала следующей. Это похоже на вышеупомянутую фабрику в ее первые дни, состоящую только из небольшой мастерской и индивидуального предпринимателя, работающего в одиночку: получив заказ, он будет полностью занят выполнением этого первого заказа и не сможет принять второй. Таким образом, цикл получения и выполнения заказов-или получения и выполнения инструкций-является последовательным процессом. Позже начальник обнаружил, что выполнение заказов не требует много времени. С помощью помощника они могли работать независимо; это позволяло начальнику принять новый заказ и одновременно доделать продукцию по предыдущему. С точки зрения архитектуры ЦП это соответствует отделению блока-выборки инструкций от блока-исполнения инструкций. Следовательно, ЦП может получать следующую инструкцию параллельно, выполняя текущую. Это представляло собой качественный скачок в технологии ЦП, переведя операции с последовательной обработки на параллельную и создав прототип конвейера команд.
После того как ЦП завершил вышеупомянутый этап, остается задача по расширению возможностей параллельной обработки. Черпая вдохновение из фабричных сборочных линий, разработчики процессоров разбили выполнение одной инструкции на несколько отдельных этапов-или "микро-инструкций"-, тем самым значительно снижая сложность инструкций, упрощая логическую структуру и повышая скорость. В процессорах, использующих технологию конвейерной обработки, как только одна инструкция завершает свой первый «этап», следующая инструкция немедленно поступает в конвейер, чтобы начать выполнение. Очевидно, что такой подход к конвейеризации требует наличия нескольких исполнительных блоков-эта функция реализована в чипах x86.
