![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Причины рисков:
- попытка нескольких команд одновременно обратиться к одному и тому же ресурсу компьютера (структурный риск);
- взаимосвязь команд по данным (риск по данным);
- неоднозначность при выборке следующей команды в случае команд перехода (риск по управлению).
Структурный риск: Конфликт по ресурсам: несколько команд, находящихся на разных ступенях конвейера, пытаются одновременно использовать один и тот же ресурс (чаще всего память). Конвейер приостанавливает выполнение одной из команд до тех пор, пока не станет доступным требуемое ФУ. Источники:
- машины с не полностью конвейерными ФУ:
=время работы такого устройства может составлять несколько тактов синхронизации конвейера;
=последовательные команды, использующие данное ФУ, не могут поступать в него в каждом такте;
- недостаточное дублирование некоторых ресурсов, (только один порт записи в регистровый файл и т.п.);
- единственный конвейер памяти для команд и данных.
Риск по данным: Две команды в конвейере (i и j) предусматривают обращение к одной и той же переменной х, причем команда i предшествует команде j. Конфликт возникает, если имеет место зависимость между командами, и они расположены по отношению друг к другу достаточно близко. Следствие: совмещение операций может привести к изменению порядка обращения к операндам. В общем случае между i и j ожидаемы три типа конфликтов:
- «Чтение после записи» (RAW);
- «Запись после чтения» (WAR);
- «Запись после записи» (WAW).
Условие отсутствия конфликта по данным: условия Бернстайна:
где О(m) – множество ячеек, изменяемых командой m;
I(n) – множество ячеек, читаемых командой n.
Конфликт по управлению. Факторы:
- выборка команды из точки перехода для любой команды перехода;
- выполнение команд условного перехода.
Дата публикования: 2015-01-24; Прочитано: 645 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!