Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Slides_OEVM_final

.pdf
Скачиваний:
31
Добавлен:
13.03.2015
Размер:
8.93 Mб
Скачать

Лекция 4.

Конвейерная обработка

 

 

 

машинных команд

 

 

Конвейеризация вычислений

 

 

 

 

 

Время (такты конвейера)

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Команда 1 ИК

ДК

АО ИО

ВК

ЗР

 

 

 

 

 

 

 

6 этапов,

Команда 2

ИК

ДК

АО

ИО

ВК

ЗР

 

 

 

 

 

 

Команда 3

 

ИК

ДК АО ИО ВК ЗР

 

 

 

 

 

9 команд:

Команда 4

 

 

ИК ДК

АО

ИО

ВК

ЗР

 

 

 

 

1) 54

Команда 5

 

 

 

ИК ДК

АО

ИО

ВК

ЗР

 

 

 

такта

Команда 6

 

 

 

 

ИК ДК

АО

ИО

ВК

ЗР

 

 

2) 14

Команда 7

 

 

 

 

 

ИК ДК АО ИО ВК ЗР

 

тактов

Команда 8

 

 

 

 

 

 

ИК ДК

АО

ИО

ВК

ЗР

 

Команда 9

 

 

 

 

 

 

 

ИК ДК АО ИО ВК ЗР

ИК извлечение команды; ДК декодирование команды;

АО вычисление адресов операндов; ИО извлечение операндов;

ВК выполнение команды; ЗР запись результатов.

101

© С. Г. Мосин, 2007

 

 

 

 

 

 

 

 

 

 

 

 

Лекция 4. Конвейерная обработка

машинных команд

Конфликты в конвейере

Причины возникновения (риски):

Структурный риск попытка нескольких команд одновременно обратиться к одному и тому же ресурсу ВМ;

Риск по данным взаимосвязь команд по данным;

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

102

© С. Г. Мосин, 2007

Лекция 4.

Конвейерная обработка

 

 

машинных команд

 

 

 

Конфликты в конвейере

 

 

 

 

 

 

 

 

Время (такты конвейера)

 

 

 

 

 

 

Штраф

 

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Команда 1 ИК

ДК АО ИО ВК ЗР

 

 

 

 

 

 

 

 

Команда 2

ИК ДК АО ИО ВК

ЗР

 

 

 

 

 

 

 

Команда 3

 

ИК

ДК

АО

ИО

ВК

ЗР

 

 

 

 

 

 

Команда 4

 

 

ИК

ДК

АО

ИО

 

 

 

 

 

 

 

Команда 5

 

 

 

ИК

ДК

АО

 

 

 

 

 

 

 

Команда 6

 

 

 

 

ИК

ДК

 

 

 

 

 

 

 

Команда 7

 

 

 

 

 

ИК

 

 

 

 

 

 

 

Команда 8

 

 

 

 

 

 

ИК ДК

АО

ИО

ВК

ЗР

 

Команда 9

 

 

 

 

 

 

 

ИК ДК АО ИО ВК

ЗР

3-я команда условный переход, передающий управление 15-й

команде. Загрузка на 8-м такте. С 9 по 12 такты ни одна команда

не вышла из конвейера штраф.

 

 

 

 

 

 

 

103

© С. Г. Мосин, 2007

 

 

 

 

 

 

 

 

 

 

 

 

 

Лекция 4.

Конвейерная обработка

 

машинных команд

Алгоритм управления конвейером

 

 

 

Извлечение

 

 

 

команды

 

 

 

Обновление

 

Извлечение

 

СчАК

 

 

Декодирование

 

операндов

 

 

 

команды

 

 

 

 

 

 

Очистка

 

Выполнение

 

конвейера

 

 

Вычисление

 

команды

 

 

 

адресов

 

 

 

 

 

 

операндов

 

Запись

 

 

 

результата

Нет

 

 

 

Безусловный

 

 

 

переход

Нет

Переход,

Да

 

запрос на

Да

 

 

 

прерывание

 

 

© С. Г. Мосин, 2007

 

 

104

 

 

 

Лекция 4. Конвейерная обработка

машинных команд

Метрики производительности конвейера

Ускорение отношение времени обработки без конвейера и при его использовании (S).

Время обработки потока из N команд на конвейере с K позициями и тактом конвейера τ:

TK = (K + (N −1))τ

Время обработки потока из N команд без конвейера: NKτ

S =

NKτ

=

NK

(K + (N −1))τ

(K + (N −1))

 

105

© С. Г. Мосин, 2007

Лекция 4. Конвейерная обработка

машинных команд

Метрики производительности конвейера

Эффективность доля ускорения, приходящаяся на одну позицию конвейера (Е)

E =

S

=

N

K

K + (N −1)

 

Пропускная способность эффективность, деленная на длительность такта конвейера (Р)

P = ( + (N ))τ

K N 1

106

© С. Г. Мосин, 2007

Лекция 4.

Конвейерная обработка

 

машинных команд

Методы решения проблемы условного перехода:

буферы предвыборки

 

 

 

Основной буфер

 

 

 

 

Остаток конвейера

Память

Ступень выборки

Блок

команд

...

перехода

 

 

 

 

 

Дополнительный буфер

 

© С. Г. Мосин, 2007

 

 

107

 

 

 

Лекция 4.

Конвейерная обработка

 

машинных команд

Методы решения проблемы условного перехода:

множественные потоки

 

 

 

Продолжение

 

 

 

конвейера

 

 

 

...

Остаток конвейера

 

 

 

Память

Ступень выборки

Блок

команд

...

перехода

 

 

 

 

 

...

 

 

 

Продолжение

 

 

 

конвейера

 

© С. Г. Мосин, 2007

 

 

108

 

 

 

Лекция 4. Конвейерная обработка

машинных команд

Методы решения проблемы условного перехода: задержанный переход

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

109

© С. Г. Мосин, 2007

Лекция 4. Конвейерная обработка

машинных команд

Методы решения проблемы условного перехода: предсказание перехода

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

Различают статические, когда прогнозируемое направление перехода не изменяется, и динамические, когда

прогнозируемое направление зависит от истории выполнения программы, способы предсказания.

110

© С. Г. Мосин, 2007

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]