Как работает конвейер центрального процессора

Как работает конвейер центрального процессора

Как работает конвейер центрального процессораЦентральный процессор построен на базе архитектуры конвейеризации.

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

■  Выборка команды из ОЗУ.

■  Дешифрация команды.

■  Адресация операнда в ОЗУ.

■  Выборка операнда из ОЗУ.

■  Выполнение команды.

■  Запись кодов состояний в регистры процессора.

■  Запись результата в ОЗУ.

Для работы микропроцессоров поколения Р5 и Р6 характерны следующие основные стадии, каждая из которых представляет ступень конвейера.

Т1. Выборка команды из оперативной памяти (стадия Fetch).

Т2. Декодирование команды (стадия Decode).

Т3. Выборка операндов, которые хранятся в регистрах микропроцессора, устройствах ввода-вывода или в ОЗУ (стадия Operands).

Т4. Выполнение арифметических или логических операций с операндами. Этот процесс выполняется под управлением арифметико-логического блока и микропрограммного аппарата процессора (стадия Execution).

Т5. Адресация и выборка операнда из ОЗУ, а также сохранение результата операции, загрузка регистров процессора (стадия Memory access, Store, Register Write).

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

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

Этапы конвейерной обработки команд в процессорах поколении Р5 и Р6

Этапы конвейерной обработки команд в процессорах поколении Р5 и Р6

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

Яндекс.Метрика