Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
Лабораторна робота №1
Програма Цикл
Львів 2016
Базова частина
Мета: опанування студентом технологій обробки потоку інструкцій конвеєром універсальних процесорів (на прикладі обробки програм певних типів) та отримання навичок з кількісного оцінювання ефективності мікроархітектур цих процесорів.
Завдання:
Завантажити базисну версію програми до симулятора. Спланувати використаня комірок головної пам’яті та записати до них вихідні дані.
Виконати програму у кроковому режимі. Перевірити результат виконання програми.
Пояснити подані вікнами (циклове вікно, вікно статистик) симулятора протоколи виконання програми.
Зробити висновки за результатами симуляції виконання програми.
Текст програми:
Loop:
Lw r2,0(r1) ;get next A value
Lw r3,20(r1) ;get next B value
Add r2,r2,r3 ;update A
Sw 40(r1),r2 ;store new A
Addi r1,r1,#4 ;update counter
Subi r4,r1,#16 ;check to see if done
Bnez r4,Loop ;repeat loop if not done
Trap 0 ;end
Циклове Вікно:
/
З рисунку наведеного вище, який представляє циклове вікно стимулятора видно, що на виконання 3-ї, 4-ї і 7-ї інструкції витрачено по 6 циклів на кожну замість 5-ти. Це пояснюється затримкою конвеєра (R-Stall) через RAW-залежність даних між інструкціями 2 і 3 та 5 і 6 , і автоматично спричиненою цим затримкою Stall на 1 цикл інструкції 4. З рисунка чітко видно випереджувальне пересилання даних до виконавчої сходинки інструкції додавання, що позначено стрілками. Тут дані пересилають не з регістрового файла, а з відповідних полів конвеєрних регістрів.
Вікно статистики:
/
На виконання програми витрачено 44 цикли, виникло 8 затримок R-Stalls.
Експериментальна частина
Мета: опанування студентом технології обробки потоку інструкцій конвеєром універсальних процесорів (на прикладі обробки програм певних типів) та отримання навичок з кількісного оцінювання ефективності мікроархітектур цих процесорів.
Завдання:
1. Запропонувати заходи з покращення ефективності використання апаратних засобів
процесора та скласти відповідну експериментальну версію базової програми.
2. Виконати експериментальну програму у кроковому режимі. Перевірити результат виконання програми.
3. Пояснити подані вікнами (циклове вікно, вікно статистик) симулятора протоколи виконання програми.
4. Подати кількісні значення тих характеристик, які доводять зростання ефективності роботи апаратних засобів.
5. Зробити висновки за результатами виконання експерименту.
Модифікований текст програми:
/
Циклове вікно:
/
Як видно з рисунка наведеного вище затримок конвеєра, які виникали через залежність даних між інструкціями вдалось уникнути за допомогою переміщення інструкцій.
Вікно статистики:
/
На виконання програми витрачено 36 циклів, немає жодної затримки R-Stalls. Отже, запропонований варіант програми ефективніший від попереднього.
Висновки: в ході лабораторної роботи було досліджено 2 програми додавання масивів чисел. Перша програма викликала затримки конвеєра через залежність даних між інструкціями. Цю проблему було вирішено другою програмою, переміщенням інструкцій. Отже, переміщення інструкцій дає можливість позбавитись затримок конвеєра.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!