Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Методы устранения негативных влияний конфликтов




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

Программные методы нацелены на устранение самой возможности конфликтов еще на стадии компиляции программ. Оптимизирующий компилятор пытается создать такой объектный код, чтобы между конфликтующими командами находилось достаточное количество нейтральных в плане конфликтов команд. Если также не удается, то между конфликтующими командами компилятор вставляет необходимое количество пустых команд типа “Нет операции”, что ведет, естественно, к замедлению работы процессора. Поэтому наряду с программными используют также и аппаратные методы устранения конфликтов. Естественным методом устранения конфликтов является приостановка выполнения команды j на несколько тактов для того, чтобы предшествующая команда i успела миновать этап конвейера, вызвавший конфликт. Очевидно такая приостановка ведет к задержке выполнения команд, следующих в конвейере за j -ой командой. Такую ситуацию называют “пузырьком” в конвейере. За счет усложнения конвейера можно сделать так, чтобы задержать выполнение только j -ой команды, не задерживая остальных, следующих за ней. Это более эффективное решение проблемы устранения конфликтов, которое достигается ценой определенных аппаратных затрат. Например, для борьбы с ЧПЗ наибольшее распространение получил прием ускоренного продвижения информации (forwarding). Обычно между двумя соседними ступенями конвейера располагается буферный регистр, через который предшествующая ступень передает результат своей работы на последующую ступень, то есть передача информации возможна лишь между соседними ступенями конвейера. При ускоренном продвижении, когда для выполнения команды требуется операнд, уже вычисленный предыдущей командой, этот операнд может быть получен непосредственно из соответствующего буферного регистра, минуя все промежуточные ступени конвейера. С данной целью в конвейере предусматриваются дополнительные тракты пересылки информации, такие как тракты опережения, тракты обхода, снабженные средствами мультиплексирования:

ИК – этап исполнения команды.

Таким образом, при forwarding операнд читается не из ячейки памяти, а выбирается из буферного регистра АЛУ при выполнении команды j.

 

 




Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 458; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.