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