Slides_OEVM_final
.pdfЛекция 4. Конвейерная обработка
машинных команд
Методы решения проблемы условного перехода: предсказание перехода
Автомат с двумя состояниями:
МВП – малая
вероятность перехода;
БВП – большая
вероятность перехода.
© С. Г. Мосин, 2007
Нет перехода
Переход
МВП |
БВП |
Переход |
|
Нет перехода
111
Лекция 4. Конвейерная обработка
машинных команд
Методы решения проблемы условного перехода: предсказание перехода
Автомат с четырьмя состояниями:
ОМВП – очень малая вероятность перехода; МВП – малая вероятность перехода; ОБВП – очень большая
вероятность перехода. БВП – большая вероятность перехода.
© С. Г. Мосин, 2007
переходаНет |
|
Переход |
|
ОМВП |
|
МВП |
|
|
|
||
|
|
Нет перехода |
Переход |
Нет перехода |
Переход |
|
БВП |
ОБВП |
Нет перехода
Переход
112
Лекция 4. Конвейерная обработка
машинных команд
Суперконвейерная обработка
Увеличение количества стадий конвейера за счет добавления новых ступеней и дробления имеющихся на несколько простейших подступеней.
© С. Г. Мосин, 2007
Время |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|||
Команда 1 |
ИК ДК |
АО |
ИО ВК ЗР |
|
|
|
|
|
|
|
|
|
|
||||
Команда 2 |
|
ИК ДК |
АО ИО ВК ЗР |
|
|
|
|
|
|
|
|
||||||
Команда 3 |
|
|
ИК ДК АО ИО ВК ЗР |
|
|
|
|
|
|
|
|||||||
Команда 4 |
|
|
|
ИК ДК |
АО |
ИО |
ВК |
ЗР |
|
|
|
|
|
||||
Команда 5 |
|
|
|
|
ИК ДК |
АО |
ИО |
ВК |
ЗР |
|
|
|
|
||||
Команда 6 |
|
|
|
|
|
ИК |
ДК |
АО |
ИО |
ВК |
ЗР |
|
|
|
|||
Команда 7 |
|
|
|
|
|
|
|
ИК ДК |
АО ИО ВК ЗР |
|
|
||||||
Команда 8 |
|
|
|
|
|
|
|
|
|
ИК |
ДК |
АО |
ИО |
ВК |
ЗР |
|
|
Команда 9 |
|
|
|
|
|
|
|
|
|
|
ИК |
ДК |
АО |
ИО |
ВК |
ЗР |
|
Команда 1 ИК1 ИК2 ДК1 ДК2 АО1 АО2 ИО1ИО2 ВК1 ВК2 |
ЗР1 |
ЗР2 |
|
|
|
|
|
|
|
|
|
|
|||||
Команда 2 |
ИК1 ИК2 ДК1 ДК2 АО1 АО2ИО1 |
ИО2 ВК1 |
ВК2 |
ЗР1 |
ЗР2 |
|
|
|
|
|
|
|
|
|
|||
Команда 3 |
|
ИК1 ИК2 ДК1 ДК2 АО1 АО2 |
ИО1ИО2 ВК1 |
ВК2 ЗР1 |
ЗР2 |
|
|
|
|
|
|
|
|
||||
Команда 4 |
|
ИК1 ИК2 ДК1 ДК2 АО1 |
АО2 ИО1ИО2 ВК1 ВК2 |
ЗР1 |
ЗР2 |
|
|
|
|
|
|
|
|||||
Команда 5 |
|
|
ИК1 ИК2 ДК1 ДК2 |
АО1 АО2 ИО1ИО2 ВК1 ВК2 |
ЗР1 ЗР2 |
|
|
|
|
|
|
|
|||||
Команда 6 |
|
|
ИК1 ИК2 ДК1 |
ДК2 АО1 |
АО2 |
ИО1ИО2 ВК1 ВК2 ЗР1 |
ЗР2 |
|
|
|
|
|
|
||||
Команда 7 |
|
|
|
ИК1 ИК2 |
ДК1 ДК2 |
АО1 |
АО2ИО1ИО2 ВК1 ВК2 |
ЗР1 |
ЗР2 |
|
|
|
|
|
|||
Команда 8 |
|
|
|
ИК1 |
ИК2 ДК1 |
ДК2 |
АО1 АО2ИО1ИО2 ВК1 |
ВК2 |
ЗР1 |
ЗР2 |
|
|
|
113 |
|||
Команда 9 |
|
|
|
|
ИК1 ИК2 |
ДК1 |
ДК2 АО1 АО2 ИО1ИО2 ВК1 ВК2 |
ЗР1 ЗР2 |
|
|
|
||||||
|
|
|
|
|
|
|
|
Лекция 4. Конвейерная обработка
машинных команд
Многоконвейерная обработка
Блок выборки команд извлекает из памяти сразу несколько команд и помещает каждую из них в один из конвейеров. Условие нормальной работы: отсутствие конфликтов.
|
Блок |
Блок |
Блок |
Блок |
|
выборки |
выполнения |
||
|
декодирования |
возврата |
||
|
операндов |
команд |
||
Блок |
|
|
||
|
|
|
|
|
выборки |
|
|
|
|
команд |
|
Блок |
Блок |
|
|
Блок |
Блок |
||
|
выборки |
выполнения |
||
|
декодирования |
возврата |
||
|
операндов |
команд |
||
|
|
|
||
Стадия 1 |
Стадия 2 |
Стадия 3 |
Стадия 4 |
Стадия 5 |
© С. Г. Мосин, 2007 |
|
|
|
114 |
|
|
|
|
Лекция 4. |
Конвейерная обработка |
|
||||
|
машинных команд |
|
|
|||
Суперскалярная обработка |
|
|
|
|||
Основная идея: |
|
|
|
АЛУ |
|
|
один конвейер с |
|
|
|
|
|
|
большим числом |
|
|
|
АЛУ |
|
|
обрабатывающих |
Блок |
|
Блок |
|
|
|
блоков. |
Блок |
Блок |
Блок |
|||
выборки |
выборки |
|||||
декодирования |
загрузки |
возврата |
||||
Стадия 3 |
команд |
|
операндов |
|
|
|
|
|
|
|
|
||
отрабатывает |
|
|
|
Блок |
|
|
|
|
|
сохранения |
|
||
значительно |
|
|
|
Блок с |
|
|
быстрее, чем |
|
|
|
|
||
|
|
|
плавающей |
|
||
стадия 4. |
|
|
|
точкой |
|
|
Стадия 1 |
Стадия 2 |
Стадия 3 |
Стадия 4 |
Стадия 5 |
||
|
||||||
© С. Г. Мосин, 2007 |
|
|
|
|
115 |
|
|
|
|
|
|
Лекция 4. Конвейерная обработка
машинных команд
Структура процессора Pentium MMX
Процессор содержит два командных конвейера (U- и V-конвейер). U-конвейер выполняет
все целочисленные команды и команды с ПТ. V-конвейер – простые
целочисленные команды и FXCH с ПТ.
116
© С. Г. Мосин, 2007
Лекция 4. Конвейерная обработка
машинных команд
Особенности процессора Pentium MMX
• Поддержка выполнения мультимедиа набора команд
(дополнительно 57 команды MMX);
• Удвоение объема кэш-памяти данных и команд
(по 16 кбайт каждый);
•Улучшенная логика предсказания переходов;
•Расширенная конвейеризация.
117
© С. Г. Мосин, 2007
Лекция 5. Параллельные
вычислительные системы
Классификация по Флинну (вычислительные парадигмы):
•Вычислительная система с одним потоком команд и одним потоком данных (SISD, Single Instruction stream over a Single Data stream).
•Вычислительная система с одиночным потоком команд и множественным потоком данных (SIMD, Single Instruction,
Multiple Data).
•Вычислительная система со множественным потоком команд и одиночным потоком данных (MISD, Multiple
Instruction Single Data).
•Вычислительная система со множественным потоком
команд и данных (MIMD, Multiple Instruction Multiple Data). |
118 |
|
© С. Г. Мосин, 2007 |
||
|
Лекция 5. Параллельные
вычислительные системы
Вычислительная система с одним потоком команд и одним потоком данных (SISD)
Единственный процессор выполняет единственный поток команд над единственным потоком данных, хранящемся в единственном блоке памяти.
Представители: однопроцессорные вычислительные системы.
|
поток |
поток |
|
|
команд |
данных |
|
Устройство |
Процессор |
Блок памяти |
|
управления |
|||
|
|
119
© С. Г. Мосин, 2007
Лекция 5. Параллельные |
|
|||
вычислительные системы |
||||
Вычислительная система с одиночным потоком |
||||
команд и множественным потоком данных (SIMD) |
||||
Несколько одина- |
|
поток |
|
|
ковых процес- |
|
данных |
|
|
|
1 |
Блок |
||
соров параллельно |
|
Процессор 1 |
||
|
памяти 1 |
|||
|
|
|||
выполняют одина- |
поток |
поток |
|
|
ковые команды из |
команд |
данных |
|
|
|
|
|||
единственного |
Устройство |
2 |
Блок |
|
Процессор 2 |
||||
управления |
памяти 2 |
|||
потока команд над |
|
|||
|
поток |
|
||
потоками данных |
|
|
||
|
данных |
|
||
из своих блоков |
|
N |
Блок |
|
|
Процессор N |
|||
памяти. |
|
|
памяти N |
|
|
|
|
||
Представители: векторные вычислительные системы. |
120 |
|||
© С. Г. Мосин, 2007 |
|
|
||
|
|
|