ОЧИСТКА СЕГМЕНТИРОВАННОГО КОНВЕЙЕРА ДЛЯ НЕВЕРНО ПРЕДСКАЗАННЫХ ПЕРЕХОДОВ

1. Способ выполнения команд в конвейерном процессоре, который позволяет выполнение не по порядку, содержащий этапы, на которых
после обнаружения неверного предсказания команды перехода очищают верхний конвейер до более ранней точки, в которой команды могут быть не в программном порядке, и
после фиксации команды неверно предсказанного перехода для выполнения очищают все незафиксированные команды из нижнего конвейера за точкой, в которой команды могут быть не в программном порядке.
2. Способ по п.1, дополнительно содержащий этап, на котором указывают команду неверно предсказанного перехода, как таковую, в механизме упорядочивания команд после ее подтверждения.
3. Способ по п.2, в котором этап, на котором очищают все незафиксированные команды из нижнего конвейера, содержит этап, на котором очищают команды в ответ на указатель команды неверно предсказанного перехода в механизме упорядочивания команд, когда команда неверно предсказанного перехода является самой новой зафиксированной командой.
4. Способ по п.2, в котором процессор включает в себя два или более конвейеров, и в котором каждый конвейер, осуществляющий выполнение команды перехода, включает в себя ступень подтверждения, действующую для установки указателя команды неверно предсказанного перехода в механизме упорядочивания команд.
5. Способ по п.1, дополнительно содержащий этап, на котором после очистки верхнего конвейера выбирают команды из целевого адреса команды верного перехода.
6. Способ по п.5, дополнительно содержащий этап, на котором после очистки верхнего конвейера останавливают верхний конвейер в точке или до точки, в которой команды могут идти не по порядку, до тех пор, пока незафиксированные команды не будут очищены из нижнего конвейера.
7. Способ по п.6, в котором спекулятивно назначенные ресурсы включают в себя ресурсы переименования регистров.
8. Способ по п.1, дополнительно содержащий этап, на котором после очистки незафиксированных команд из нижнего конвейера отменяют назначение ресурсов, спекулятивно назначенных незафиксированным командам.
9. Способ по п.8, в котором отмена назначения ресурсов, спекулятивно назначенных незафиксированным командам, включает в себя этап, на котором копируют содержимое таблицы зафиксированного переименования регистра в таблицу спекулятивного переименования регистра.
10. Процессор, содержащий
управляющую логику и
сегментированный конвейер выполнения команд, содержащий верхний конвейер до точки, в которой команды могут быть не в программном порядке, и один или более нижних конвейеров после точки, в которой команды могут быть не в программном порядке,
причем управляющая логика действует для очистки всех команд из верхнего конвейера после обнаружения неверно предсказанного перехода и дополнительно действует для очистки всех незафиксированных команд из нижних конвейеров после фиксации команды неверно предсказанного перехода для выполнения.
11. Процессор по п.10, в котором управляющая логика дополнительно действует для выбора команд из целевого адреса верного перехода в цикле после очистки верхнего конвейера.
12. Процессор по п.11, в котором управляющая логика дополнительно действует для размещения блокировки в конце верхнего конвейера после очистки верхнего конвейера и удаления блокировки после очистки незафиксированных команд из нижнего конвейера.
13. Процессор по п.10, в котором управляющая логика включает в себя механизм упорядочивания команд, действующий для отслеживания подтвержденного и зафиксированного статуса команд и дополнительно действующий для очистки незафиксированных команд из нижних конвейеров, когда команда неверно предсказанного перехода является самой новой подтвержденной командой.
14. Процессор по п.13, в котором каждый элемент в механизме упорядочивания команд включает в себя указатель того, является ли связанная команда командой неверно предсказанного перехода.
15. Процессор по п.14, в котором каждый нижний конвейер, который выполняет команды перехода, включает в себя состояние подтверждения, действующее для установки указателя неверно предсказанного перехода в механизме упорядочивания команд, когда определяют, что команда перехода неверно предсказана.
16. Процессор по п.10, дополнительно содержащий
файл регистра общего назначения (GPR), действующий для динамического связывания логических идентификаторов GRP с физическими регистрами, содержащий
множество физических регистров,
таблицу спекулятивного переименования (SRT), содержащую отображения всех текущих логических идентификаторов GPR в физические регистры, и
таблицу зафиксированного переименования (CRT), содержащую отображения логических идентификаторов GPR в физические регистры только для команд, которые зафиксированы,
причем управляющая логика действует для копирования содержимого CRT в SRT после очистки всех незафиксированных команд из нижних конвейеров.