Конвейеризация вычислений. Дисциплина «Структура компьютерных средств» Тема №7 «Процессоры». Занятие №1

Содержание

Слайд 2

Дисциплина «Структура компьютерных средств» Тема №7 «Процессоры» Занятие №1 «Конвейеризация вычислений»

Дисциплина
«Структура компьютерных средств»
Тема №7
«Процессоры»
Занятие №1
«Конвейеризация вычислений»

Слайд 3

Учебные вопросы: Виды конвейеров. Конфликты в конвейере команд. Выборка команды из

Учебные вопросы:
Виды конвейеров.
Конфликты в конвейере команд.
Выборка команды из точки перехода.
Предсказания

переходов.
Цели занятия:
Знать принципы конвейеризации вычислений;
Иметь представление о выборке команды из точки перехода.
Слайд 4

Учебный вопрос №1. «Виды конвейеров» Рис. 7.1. Обработка информации: а -

Учебный вопрос №1. «Виды конвейеров»

Рис. 7.1. Обработка информации:
а - в

одиночном блоке; б - в конвейере с регистрами;
в - в конвейере с буферной памятью.
Слайд 5

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

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

Для традиционных ВМ характерны синхронные конвейеры.

Вопрос №1. «Виды конвейеров»

Слайд 6

Рис. 7.2. Нелинейный конвейер Вопрос №1. «Виды конвейеров»

Рис. 7.2. Нелинейный конвейер

Вопрос №1. «Виды конвейеров»

Слайд 7

Выделим в цикле команды шесть этапов: Выборка команды (ВК). Чтение очередной

Выделим в цикле команды шесть этапов:
Выборка команды (ВК). Чтение очередной команды

из памяти и занесение ее в регистр команды.
Декодирование команды (ДК). Определение кода операции и способов адресации операндов.
Вычисление адресов операндов (ВА). Вычисление исполнительных адресов каждого из операндов в соответствии с указанным в команде способом их адресации.
Выборка операндов (ВО). Извлечение операндов из памяти. Эта операция не нужна для операндов, находящихся в регистрах.
Исполнение команды (ИК). Исполнение указанной операции.
Запись результата (ЗР). Занесение результата в память.

Вопрос №1. «Виды конвейеров»

Слайд 8

Рис. 7.3. Логика работы конвейера команд Вопрос №1. «Виды конвейеров»

Рис. 7.3. Логика работы конвейера команд

Вопрос №1. «Виды конвейеров»

Слайд 9

Контрольные вопросы: Варианты обработки информации. По способу синхронизации работы ступеней конвейеры

Контрольные вопросы:
Варианты обработки информации.
По способу синхронизации работы ступеней конвейеры могут быть?
Конвейер

команд.

Вопрос №1. «Виды конвейеров»

Слайд 10

Учебный вопрос №2. «Конфликты в конвейере команд» Конфликтные ситуации в конвейере

Учебный вопрос №2.
«Конфликты в конвейере команд»

Конфликтные ситуации в конвейере принято

обозначать термином риск (hazard), а обусловлены они могут быть тремя причинами:
попыткой нескольких команд одновременно обратиться к одному и тому же ресурсу ВМ (структурный риск);
взаимосвязью команд по данным (риск по данным);
неоднозначностью при выборке следующей команды в случае команд перехода (риск по управлению).
Слайд 11

Структурный риск (конфликт по ресурсам) имеет место, когда несколько команд, находящихся

Структурный риск (конфликт по ресурсам) имеет место, когда несколько команд, находящихся

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

Вопрос №2. «Конфликты в конвейере команд»

Слайд 12

Рис. 7.4. Конфликты по данным: а - «Чтение после записи»; б

Рис. 7.4. Конфликты по данным: а - «Чтение после записи»;
б

- «Запись после чтения»; в - «Запись после записи»

Вопрос №2. «Конфликты в конвейере команд»

Слайд 13

В общем случае между i и j ожидаемы три типа конфликтов

В общем случае между i и j ожидаемы три типа конфликтов

по данным:
«Чтение после записи» (ЧПЗ): команда j читает до того, как команда i успела записать новое значение х, то есть j ошибочно получит старое значение х вместо нового.
«Запись после чтения» (ЗПЧ): команда j записывает новое значение х до того, как команда i успела прочитать х, то есть команда i ошибочно получит новое значение х вместо старого.
«Запись после записи» (ЗПЗ): команда j записывает новое значение х прежде чем команда i успела записать в качестве х свое значение, то есть х ошибочно содержит i-e значение х вместо j-го.

Вопрос №2. «Конфликты в конвейере команд»

Слайд 14

В борьбе с конфликтами по данным выделяют два аспекта: своевременное обнаружение

В борьбе с конфликтами по данным выделяют два аспекта: своевременное обнаружение

потенциального конфликта и его устранение. Признаком возникновения конфликта по данным между двумя командами i и j служит невыполнение хотя бы одного из трех условий Бернстейна (Bernstein's Conditions):

Вопрос №2. «Конфликты в конвейере команд»

Слайд 15

Где O(k) - множество ячеек, изменяемых командой k; I(l) - множество

Где O(k) - множество ячеек, изменяемых командой k; I(l) - множество

ячеек, читаемых командой l; Ø - пустое множество; ∩ - операция пересечения множеств.

Вопрос №2. «Конфликты в конвейере команд»

Слайд 16

Для борьбы с конфликтами по данным применяются как программные, так и

Для борьбы с конфликтами по данным применяются как программные, так и

аппаратные методы.
Программные методы ориентированы на устранение самой возможности конфликтов еще на стадии компиляции программы. Оптимизирующий компилятор пытается создать такой объектный код, чтобы между командами, склонными к конфликтам, находилось достаточное количество нейтральных в этом плане команд. Если такое не удается, то между конфликтующими командами компилятор вставляет необходимое количество команд типа «Нет операции».

Вопрос №2. «Конфликты в конвейере команд»

Слайд 17

Фактическое разрешение конфликтов возлагается на аппаратные методы. Наиболее очевидным решением является

Фактическое разрешение конфликтов возлагается на аппаратные методы. Наиболее очевидным решением является

остановка команды j на несколько тактов с тем, чтобы команда i успела завершиться или, по крайней мере, миновать ступень конвейера, вызвавшую конфликт. Соответственно задерживаются и команды, следующие в конвейере за j-й командой. Данную ситуацию называют «пузырьком» в конвейере.

Вопрос №2. «Конфликты в конвейере команд»

Слайд 18

Поскольку наиболее частые конфликты по данным - это ЧПЗ, основные усилия

Поскольку наиболее частые конфликты по данным - это ЧПЗ, основные усилия

тратятся на противодействие именно этому типу конфликтов. Среди известных методов борьбы с ЧПЗ наибольшее распространение получил прием ускоренного продвижения информации (forwarding).

Вопрос №2. «Конфликты в конвейере команд»