На рисунке 23 показаны все фазы каждой ступени конвейера команд в порядке очереди, слева направо.
Рисунок 23. Все фазы конвейера команд
На следующем рисунке показан пример прохождения выборки последовательных пакетов, которые содержат восемь параллельных операций. В случае, когда конвейер команд полон, все команды выполняются параллельно и переносятся в следующий пакет выполнения.
Рисунок 24. Пример прохождения выборки через конвейер команд
В следующей таблице показаны операции, выполняющиеся в конвейере команд процессоров С62х/С64х при выполнении операций над числами с фиксированной точкой.
Все операции конвейера команд основаны на цикле работы центрального процессора. Цикл работы CPU –это период времени, когда текущий выполняемый пакет находится в текущей фазе конвейера команд.
Таблица 10. Операции, выполняющиеся в конвейере команд
Ступень
Фаза
Символ
Выполнение фазы
Тип выполнения команды
Выборка
Генерация адреса программы
PG
Вычисление адреса пакета выборки
Посылка адреса программы
PS
Посылка адреса пакета выборки в память
Ожидание программы
PW
Предоставление доступа к программной памяти
Посылка данных программы
PR
Пакет выборки попадает в CPU
Декодирование
Организация
DP
Следующий выполняемый пакет из пакета выборки вычислен и отправлен в соответствующий функциональный модуль для декодирования
Декодирование
DC
Команды декодируются в функциональном модуле
Выполнение
Выполнение 1
Е1
Для загрузки и сохранения команд генерируется адрес и проводится его модификация для записи в регистровый файл.
Для одноцикловых команд результат записывается в регистровый файл.
Один цикл
Выполнение 2
Е2
Для загрузки команды адрес посылается в память. Для сохранения команды в память посылаются данные и адрес.
Для единичных 16*16 - умножение команд результат записывается в регистровый файл.
Умножение
Выполнение 3
Е3
Предоставляется доступ к памяти.
Сохранение
Выполнение 4
Выполнение 5
Е4
Е5
Результат записывается в регистровый файл.
Данные для загрузки команды записываются в регистр.
Умножение
Расширение
Загрузка
Операции конвейера команд могут быть разделены на семь основных типов.
Шесть из них показаны в таблице 11.
Таблица 11. Описание типов операций конвейера команд