Разделы презентаций


Конвейер команд

Содержание

В конструкцию процессора вносят изменения: Обработка команды разделяется на отдельные независимые шаги. Обрабатывающее устройство, прежде выполнявшее эти шаги, разделяется на отдельные, действующие согласованно блоки, каждый и которых выполняет один из шагов.Вводятся

Слайды и текст этой презентации

Слайд 1Конвейер команд

Конвейер команд

Слайд 2В конструкцию процессора вносят изменения:
Обработка команды разделяется на отдельные

независимые шаги. Обрабатывающее устройство, прежде выполнявшее эти шаги, разделяется на

отдельные, действующие согласованно блоки, каждый и которых выполняет один из шагов.
Вводятся специальные буферные запоминающие устройства в качестве посредников между блоками. Это позволяет блоку, закончившему свой шаг, передать результаты в буфер и приступить к следующему заданию.
В конструкцию процессора вносят изменения: Обработка команды разделяется на отдельные независимые шаги. Обрабатывающее устройство, прежде выполнявшее эти

Слайд 3Конвейер





Буферы

КонвейерБуферы

Слайд 5Пятиступенчатая схема конвейера
Конвейеризация увеличивает пропускную способность процессора (количество команд, завершающихся

в единицу времени), но она не сокращает время выполнения отдельной

команды. Имеются некоторые накладные расходы на конвейеризацию, возникающие в результате несбалансированности задержки на каждой его ступени. Частота синхронизации (такт синхронизации) не может быть выше, чем время, необходимое для работы наиболее медленной ступени конвейера. Конвейер не всегда представляет собой линейную цепочку этапов. В ряде ситуаций оказывается выгодным, когда функциональные блоки соединены между собой не последовательно, а в соответствии с логикой обработки. Отдельные блоки в цепочке могут пропускаться, а другие - образовывать циклические процедуры. Это позволяет с помощью одного конвейера вычислять более одной функции.

Пятиступенчатая схема конвейера Конвейеризация увеличивает пропускную способность процессора (количество команд, завершающихся в единицу времени), но она не

Слайд 11Поток команд - естественная последовательность команд, проходящая по конвейеру процессора.

Процессор может поддерживать несколько потоков команд (суперпроцессоры 5 и 6

поколения), если для каждого потока и каждого этапа есть исполнительные элементы.
Суперконвейер команд - разбиение каждой ступени на подступени при одновременном увеличении тактовой частоты внутри конвейера; включение в состав процессора многих конвейеров, работающих с перекрытием. Дробление ступеней позволяет поднять тактовые частоты процессора. К суперконвейерным относятся процессоры, в которых число ступеней больше шести (см. таблицу).


Поток команд - естественная последовательность команд, проходящая по конвейеру процессора. Процессор может поддерживать несколько потоков команд (суперпроцессоры

Слайд 12Суперконвейер
Cуперконвейер ведет не только к увеличению скорости вычислений, но и

к возникновению дополнительных сложностей. Возрастает вероятность конфликтов. Дороже встает ошибка

предсказания перехода - приходится сбрасывать весь длинный конвейер, на что требуется дополнительное время. Усложняется логика взаимодействия ступеней. Однако за счет использования новых архитектур удается справиться с большинством проблем.

Суперконвейер Cуперконвейер ведет не только к увеличению скорости вычислений, но и к возникновению дополнительных сложностей. Возрастает вероятность

Слайд 13Задержки конвейера
Задержка работы устройств – выполнение некоторых шагов более чем

за один такт
Конфликт по ресурсам
Явный конфликт по данным
Скрытый конфликт по

данным (побочные эффекты)
Задержки конвейераЗадержка работы устройств – выполнение некоторых шагов более чем за один тактКонфликт по ресурсамЯвный конфликт по

Слайд 14Задержка работы устройств
Выполнение любого из шагов четырёхступенчатого конвейера может затянуться

и тогда одна команда задерживает все остальные.

Задержка работы устройствВыполнение любого из шагов четырёхступенчатого конвейера может затянуться и тогда одна команда задерживает все остальные.

Слайд 15Задержка чтения
Показан случай, когда на чтение уходит более 1 такта

(нужной команды не оказалось в кэше)

Задержка чтенияПоказан случай, когда на чтение уходит более 1 такта (нужной команды не оказалось в кэше)

Слайд 16Этап декодирования и извлечения операндов также может затянуться.


Шаг D второй

команды выполняется в течение трёх тактов… В конвейере образуется «пузырь»
Задержка

на втором шаге
Этап декодирования и извлечения операндов также может затянуться.Шаг D второй команды выполняется в течение трёх тактов… В

Слайд 17Выполнение арифметических операций в устройстве Е тоже происходит за разное

время. Умножение, а тем более деление требуют нескольких тактов. «Пузырь»

продвигается сверху вниз.

Задержка на третьем шаге

Выполнение арифметических операций в устройстве Е тоже происходит за разное время. Умножение, а тем более деление требуют

Слайд 18На время работы устройств F,D,W большое влияние оказывает эффективное использование

кэш памяти.
Очень полезное усовершенствование конвейера – увеличение размеров буфера и

организация в нём очереди команд. Устройство F, может не считаться с тем, что следующее устройство ещё не закончило работу и не освободило буфер. F вызывает следующую команду и записывает её в конец очереди – упреждающая выборка.
На время работы устройств F,D,W большое влияние оказывает эффективное использование кэш памяти.Очень полезное усовершенствование конвейера – увеличение

Слайд 19Другие методы:
Разработка процессоров с несколькими конвейерами команд
Разработка процессоров с такой

системой команд, в которой все операции выполняются за равное число

тактов (RISC-процессоры) или процессоров с RISC-ядром.
Другие методы:Разработка процессоров с несколькими конвейерами командРазработка процессоров с такой системой команд, в которой все операции выполняются

Слайд 20Конфликты по ресурсам
Схема конвейера с указанием ресурсов

Конфликты по ресурсамСхема конвейера с указанием ресурсов

Слайд 21Конфликт при одновременном обращении к регистрам возникает из-за того, что

доступ ко всем регистрам происходит через один общий порт
Меры по

уменьшению:
Введение раздельных кэшей данных и команд
В процессорах с двумя портами регистров можно одновременно обращаться к двум регистрам
Расслоение памяти создаёт возможность одновременного обращения к ячейкам из разных блоков.

Конфликт при одновременном обращении к регистрам возникает из-за того, что доступ ко всем регистрам происходит через один

Слайд 22Явный конфликт по данным
Чтение после записи.
Программа пишется в расчете на

последовательное выполнение команд, при котором сначала должна производиться запись, а

потом – чтение. Конвейер подвёл
Явный конфликт по даннымЧтение после записи.Программа пишется в расчете на последовательное выполнение команд, при котором сначала должна

Слайд 23«Чтение после записи» можно распознать на этапе трансляции программы и

предотвратить их.
Существует два приёма предотвращения конфликтов по данным:
Изменение следования команд

на такой, при котором команды, имеющие зависимость по данным, не стоят рядом.
Вставляет между зависимыми командами одну или более команд NOP – не делающие ничего.
После двух команд NOP команда 2 (шаг D4), будет выбирать данные, уже записанные на шаге W1. Этот приём приводит к задержке конвейера на два такта. На две команды удлиняется программа (затраты памяти).
«Чтение после записи» можно распознать на этапе трансляции программы и предотвратить их.Существует два приёма предотвращения конфликтов по

Слайд 24Использование команды NOP

Использование команды NOP

Слайд 25Процессоры распознают конфликт по данным и блокируют работу следующей команды

конвейера.
«Пузырь»

Процессоры распознают конфликт по данным и блокируют работу следующей команды конвейера. «Пузырь»

Слайд 26Предположим, команда 1 вычисляет значение переменной, которая должна быть в

2. Устройство D на на третьем такте начинает обрабатывать вторую

команду – дешифровать её, формировать адреса и извлекать операнды (D2Н), однако закончить свою работу не может, пока один из операндов не будет записан в память – пока не закончится W1. Поэтому на тракте 4 устройство D простаивает и лишь на 5 заканчивает работу (D2k). Это вызывает появление «пузыря» в команде 3 и задержку остальных команд на 2 такта.
Предположим, команда 1 вычисляет значение переменной, которая должна быть в 2. Устройство D на на третьем такте

Слайд 27Продвижение операндов
От устройства Е результат операции передаётся не только в

буфер В3, но и в буфер В2, где он на

следующем такте будет использован устройством Е.
Продвижение операндовОт устройства Е результат операции передаётся не только в буфер В3, но и в буфер В2,

Слайд 28Скрытые конфликты по данным.
Пошаговый конвейер

Скрытые конфликты по данным.Пошаговый конвейер

Слайд 29Некоторые команды могут изменять или использовать содержимое регистров по умолчанию,

без явного указания адреса.
Может возникнуть скрытый конфликт по данным. Обычно

«запись после чтения» или «запись после записи». Они возникают в многоступенчатых конвейерах.
Для предотвращения:
Отказаться от команд с автоинкрементом/декрементом
Отказаться от сложных способов адресации
Ввести в команды специальный признак, разрешающий запись в регистр флагов

Некоторые команды могут изменять или использовать содержимое регистров по умолчанию, без явного указания адреса.Может возникнуть скрытый конфликт

Слайд 30Передача управления
Конфликты по управлению могут вызывать даже большие потери производительности

конвейера, чем конфликты по данным. Когда выполняется команда условного перехода,

она может либо изменить, либо не изменить значение счетчика команд. Если команда условного перехода заменяет счетчик команд значением адреса, вычисленного в команде, то переход называется выполняемым; в противном случае, он называется невыполняемым
Передача управленияКонфликты по управлению могут вызывать даже большие потери производительности конвейера, чем конфликты по данным. Когда выполняется

Слайд 31Простейший метод работы с условными переходами заключается в приостановке конвейера

как только обнаружена команда условного перехода до тех пор, пока

она не достигнет ступени конвейера, которая вычисляет новое значение счетчика команд. Такие приостановки конвейера из-за конфликтов по управлению должны реализовываться иначе, чем при остановки из-за конфликтов по данным, поскольку выборка команды, следующей за командой условного перехода, должна быть выполнена как можно быстрее, как только мы узнаем окончательное направление команды условного перехода.

Простейший метод работы с условными переходами заключается в приостановке конвейера как только обнаружена команда условного перехода до

Слайд 32Предположим, 1 – команда условной передачи управления. После неё или

2, или N.

Предположим, 1 – команда условной передачи управления. После неё или 2, или N.

Слайд 33В конвейер загружаются и начинают выполняться команды 2, 3, 4.

После 4 выясняется надо ли 5, 6 или N, N+1.

Если переход не произойдёт, - конвейер не потеряет такты, произойдёт – потеряет 3 такта. Уже начавшиеся выполнятся команды 2, 3, 4 из ковейера удаляются.
В более простых вариантах процессора используется технология «отложенного перехода». 2,3,4 – не удаляются (слоты задержки перехода), и за правильность отвечает компилятор. Далее как и в случае конфликтов по данным.
В длинных конвейерах слотов задержки больше.
В конвейер загружаются и начинают выполняться команды 2, 3, 4. После 4 выясняется надо ли 5, 6

Слайд 34Для уменьшения числа слотов задержки используется приём, аналогичный продвижению операндов:

целевой адрес передаётся непосредственно в указатель команд.
Передача адреса перехода в

указатель команд
Для уменьшения числа слотов задержки используется приём, аналогичный продвижению операндов: целевой адрес передаётся непосредственно в указатель команд.Передача

Слайд 35Безусловный переход

Устройство Е определяет, нужен ли переход, но сам адрес

перехода вычисляется в D. В случае безусловного перехода целевой адрес

передаётся уже из D, вследствие чего теряется только один такт.

Конвейер при безусловном переходе

Безусловный переходУстройство Е определяет, нужен ли переход, но сам адрес перехода вычисляется в D. В случае безусловного

Слайд 36Branch Target Buffer
Ещё более дорогой вариант процессора имеет в своём

составе буфер адресов перехода (Branch Target Buffer, BTB). Это небольшая

кэш-память, хранящая таблицу последних переходов вида:

Устройство F, прежде чем выбрать команду, ищет её адрес в левой части таблицы и, если находит, выбирает команду по адресу из правой части таблицы. Это позволяет для 4-х ступенчатого контейнера вообще не терять ни одного такта.
В (Branch Target Instruction Cache) –BTIC хранятся хранятся и команды из этих адресов.
Branch Target BufferЕщё более дорогой вариант процессора имеет в своём составе буфер адресов перехода (Branch Target Buffer,

Слайд 37Условный переход
Существуют две группы методов борьбы с задержками.
Параллельное исполнение обеих

ветвей алгоритма. Для этого дублируется часть устройств конвейера.
Память
. . .
Начало
конвейера
Ветвь

1

. . .

Ветвь 2

. . .

Окончание конвейера

Ковейер с параллельными ветвями

Условный переходСуществуют две группы методов борьбы с задержками.Параллельное исполнение обеих ветвей алгоритма. Для этого дублируется часть устройств

Слайд 38Как только команда условного перехода встретилась, то начинает работать вторая

ветвь. Одновременно в первой – следующие за командой перехода. Команды,

пришедшие в первой, выталкиваются в общую часть контейнера.
F- вызов команды
D- декодирование команды
Общая часть:

O- вызов операндов
E- вычисление
W- запись результата

Как только команда условного перехода встретилась, то начинает работать вторая ветвь. Одновременно в первой – следующие за

Слайд 39Исполнение команд на конвейере с параллельными ветвями

Исполнение команд на конвейере с параллельными ветвями

Слайд 40Недостатки
Дорого
Если две команды условного перехода идут подряд или очень близко,

они попадают в одну из ветвей и конвейер останавливается ,

пока не решится вопрос с первой командой.
НедостаткиДорогоЕсли две команды условного перехода идут подряд или очень близко, они попадают в одну из ветвей и

Слайд 412 группа методов снижения потерь
Предсказание переходов:
Статические
Динамические


2 группа методов снижения потерьПредсказание переходов:СтатическиеДинамические

Слайд 42Основные направления развития систем команд

Основные направления развития систем команд

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

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