Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
/
З В І Т
до лабораторної роботи № 3
з курсу «Архітектура комп’ютерних систем»
Варіант № 26
Львів 2022
Мета роботи: Опанувати техніку розпаралелення виконання машинних інструкцій на рівні апаратури.
Завдання:
Засобами архітектурного симулятора WinMIPS64 дослідити на прикладі фрагментів програмного коду можливості паралельного опрацювання машинних інструкцій на рівні апаратури та позитивні ефекти, що при цьому досягаються. За результатами проведених лабораторних досліджень оформити звіт та захистити його.
Варіант №26
Виконавши на симуляторі наступний фрагмент коду:
/
Можемо зауважити, що якщо вчасно, без затримок, почати виконання інструкції mul.d, тоді вона (за певних умов) «пережене» другу інструкцію add.d і першою запише результат до f4. щоб уникнути цього, мусимо затримати mul.d на сходинці ID.
Виконавши на симуляторі наступний фрагмент коду:
/
/
Рис. 1. Неконвеєрний повільний виконавчий вузол ділення з рухомою комою розпочав роботу першим
/
Рис. 2. Неконвеєрний виконавчий вузол ділення рухомої коми (24 такти затримки) завантажено
/
Рис. 3. Паралельно виконуються чотири інструкції
/
Рис. 4. Сходинки МЕМ жодна інструкція ще не досягла
/
Рис. 5. Перша інструкція ділення ще виконується, а третя від кінця ld майже завершилася
/
Рис. 6. Невпорядковане/хаотичне завершення виконання інструкцій потоку
На рис. 7 показано, що утворилася небезпека WAW, тому пригальмовані add.d та halt.
/
Рис. 7. sub.d має ту саму мету, що і div.d.
/
Рис. 8. Пригальмована на першій з чотирьох виконавчих сходинок sub.d гальмує наступну за нею add.d
/
Рис. 9. Завершення div.d розблокувало конвеєр. На виконанні знаходяться віднімання і додавання
/
Рис. 10. Хаотично завершуються спочатку halt, потім рухомі віднімання та додавання
/
Рис. 11. Хаотичне завершення виконання інструкцій потоку
/
Рис. 12. Програму виконано, отримано програмні статистики
Завдання полягає у дослідженні можливості оптимізації коду програми вище та поданні рішення, яке гарантуватиме вірний порядок виконання інструкцій програми.
Висновок: Опанував техніку розпаралелення виконання машинних інструкцій на рівні апаратури.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!