КОНКУРЕНТНЕ ВИКОНАННЯ МАШИННИХ ІНСТРУКЦІЙ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра ЕОМ Лабораторна робота №3 КОНКУРЕНТНЕ ВИКОНАННЯ МАШИННИХ ІНСТРУКЦІЙ Мета: дослідження конкурентного виконання машинних інструкцій Ми дозволимо випускати на виконання інструкції рухомої коми зі сходинки ID тоді, коли це стає можливим. Така інструкція може продовжити виконання у власному конвеєрі виконання операції рухомої коми або призупинитися через неготовність її операндів. Обрана нами стратегія дозволяє продемонструвати переваги невпорядкованого завершення виконання (out-of-order completion), але вона також може спричинити небезпеку WAR конвеєрного виконання. Тут може допомогти техніка переназв регістрів (register renaming), яку треба досконально розуміти. Наприклад, таке може статися в наступному фрагменті коду: .text add.d f7,f7,f3 add.d f7,f7,f4 mul.d f4,f5,f6 ; WAR через спільний регістр f4 Коли випустити mul.d, тоді ця інструкція (за певних умов) «пережене» другу інструкцію add.d і першої запише до f4. Отже, mul.d мусимо затримати на ID. Structural hazards arise at the MEM stage bottleneck, as instructions attempt to exit more than one of the execute stage piplelines at the same time. Просте правило запобігання небезпек звучить так: довгі інструкції виконують першими. Нехай маємо фрагмент коду: ;*************************************** ;*** winMIPS64 //hazard3.s// ***** ;*** (c) 2003 CA226, DCU ***** ;*************************************** .text div.d f7,f9,f10 mul.d f2,f4,f3 sub.d f7,f7,f4 ld r1,78(r0) add.d f4,f5,f6 halt Результати його синтаксичного контролю. Pass 1 completed with 0 errors ;*************************************** ;*** winMIPS64 //hazard3.s// ***** ;*** (c) 2005 CA226, DCU ***** ;*************************************** 00000000 .text 00000000 462a49c3 div.d f7,f9,f10 00000004 46232082 mul.d f2,f4,f3 00000008 462439c1 sub.d f7,f7,f4 0000000c dc01004e ld r1,78(r0) 00000010 46262900 add.d f4,f5,f6 ; WAR on f4 00000014 04000000 halt Pass 2 completed with 0 errors Code Symbol Table Data Symbol Table  Рис. – Неконвеєрний повільний виконавчий вузол ділення з рухомою комою розпочав роботу першим  Рис. – Неконвеєрний виконавчий вузол ділення рухомої коми ( 24 такти затримки) завантажено  Рис. – Паралельно виконуються чотири інструкції (ясно, що з невпорядкованим завершенням)  Рис. – Паралельне виконання продовжується, сходинки МЕМ жодна інструкція ще не досягла  Рис. – Перша інструкція ділення ще виконується, а третя від кінця ld майже завершилася  Рис. – Невпорядковане (кажуть, хаотичне) завершення виконання інструкцій потоку  Рис. – sub.d має ту саму мету, що і div.d. Утворилася ситуація WAW, тому пригальмовані add.d та halt Рис. – Пригальмована на першій з чотирьох виконавчих сходинок sub.d гальмує наступнуза нею add.d hh  Рис. – Завершення div.d розблокувало конвеєр. На виконанні знаходяться віднімання і додавання  Рис. – Хаотично завершуються спочатку halt, потім рухомі віднімання та додавання  Рис. - Хаотичне завершення виконання інструкцій потоку (передтеча методу динамічного виконання)  Рис. – Програму виконано, отримано програмні статистики
Антиботан аватар за замовчуванням

30.04.2013 23:04-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!