- •Конвейер команд
- •В конструкцию процессора вносят изменения:
- •Конвейер
- •Пятиступенчатая схема конвейера
- •Суперконвейер
- •Задержки конвейера
- •Задержка работы устройств
- •Задержка чтения
- •Этап декодирования и извлечения операндов также может затянуться.
- •Выполнение арифметических операций в устройстве Е тоже происходит за разное время. Умножение, а
- •На время работы устройств F,D,W большое влияние оказывает эффективное использование кэш памяти.
- •Другие методы:
- •Конфликты по ресурсам
- •Конфликт при одновременном обращении к регистрам возникает из-за того, что доступ ко всем
- •Явный конфликт по данным
- ••«Чтение после записи» можно распознать на этапе трансляции программы и предотвратить их.
- •Использование команды NOP
- •Процессоры распознают конфликт по данным и блокируют работу следующей команды конвейера.
- ••Предположим, команда 1 вычисляет значение переменной, которая должна быть в 2. Устройство D
- •Продвижение операндов
- •Скрытые конфликты по данным.
- •Некоторые команды могут изменять или использовать содержимое регистров по умолчанию, без явного указания
- •Передача управления
- ••Простейший метод работы с условными переходами заключается в приостановке конвейера как только обнаружена
- ••Предположим, 1 – команда условной передачи управления. После неё или 2, или N.
- ••В конвейер загружаются и начинают выполняться команды 2, 3, 4. После 4 выясняется
- •Для уменьшения числа слотов задержки используется приём, аналогичный продвижению операндов: целевой адрес передаётся
- •Безусловный переход
- •Branch Target Buffer
- •Условный переход
- •Как только команда условного перехода встретилась, то начинает работать вторая ветвь. Одновременно в
- •Исполнение команд на конвейере с параллельными ветвями
- •Недостатки
- •2 группа методов снижения потерь
- •Основные направления развития систем команд
Конвейер команд
В конструкцию процессора вносят изменения:
1.Обработка команды разделяется на отдельные независимые шаги. Обрабатывающее устройство, прежде выполнявшее эти шаги, разделяется на отдельные, действующие согласованно блоки, каждый и которых выполняет один из шагов.
2.Вводятся специальные буферные запоминающие устройства в качестве посредников между блоками. Это позволяет блоку, закончившему свой шаг, передать результаты в буфер и приступить к следующему заданию.
Конвейер
Буферы
Пятиступенчатая схема конвейера
•Конвейеризация увеличивает пропускную способность процессора (количество команд, завершающихся в единицу времени), но она не сокращает время выполнения отдельной команды. Имеются некоторые накладные расходы на конвейеризацию, возникающие в результате несбалансированности задержки на каждой его ступени. Частота синхронизации (такт синхронизации) не может быть выше, чем время, необходимое для работы наиболее медленной ступени конвейера. Конвейер не всегда представляет собой линейную цепочку этапов. В ряде ситуаций оказывается выгодным, когда функциональные блоки соединены между собой не последовательно, а в соответствии с логикой обработки. Отдельные блоки в цепочке могут пропускаться, а другие - образовывать циклические процедуры. Это позволяет с помощью одного конвейера вычислять более одной функции.
• |
Поток команд - естественная последовательность команд, |
|
проходящая по конвейеру процессора. Процессор может |
|
поддерживать несколько потоков команд (суперпроцессоры 5 |
|
и 6 поколения), если для каждого потока и каждого этапа есть |
|
исполнительные элементы. |
• |
Суперконвейер команд - разбиение каждой ступени на |
|
подступени при одновременном увеличении тактовой частоты |
|
внутри конвейера; включение в состав процессора многих |
|
конвейеров, работающих с перекрытием. Дробление ступеней |
|
позволяет поднять тактовые частоты процессора. К |
|
суперконвейерным относятся процессоры, в которых число |
|
ступеней больше шести (см. таблицу). |
|
• |