Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
Кафедра ЗІ
/
З В І Т
до лабораторної роботи №3
з курсу: «Архітектура комп’ютерних систем»
на тему:
«КОНКУРЕНТНЕ ВИКОНАННЯ МАШИННИХ ІНСТРУКЦІЙ»
Варіант №3
ЛЬВІВ – 2022
Мета : опанувати техніку паралельного виконання машинних інструкцій на рівні апаратури.
Завдання
Засобами архітектурного симулятора WinMIPS64 дослідити на прикладі фрагментів програмного коду можливості паралельного опрацювання машинних інструкцій на рівні апаратури та позитивні ефекти, що при цьому досягаються. За результатами проведених лабораторних досліджень оформити звіт та захистити його.
Виконання роботи
Дано код програми:
;***************************************
;*** 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
Запустимо цей код у програмі симуляторі WinMips64:
/
Програма виконала - 33 цикли.
Виконала - 6 інструкцій.
На одну інструкцію - 5,5 циклів для її виконання.
Щоб оптимізувати даний код та пришвидшити виконання циклів необхідно змінити послідовність початку виконання функцій :
.text
sub.d f7,f7,f4
div.d f7,f9,f10
ld r1,78(r0)
add.d f4,f5,f6
mul.d f2,f4,f3
halt
/
На сьомому циклі виникає перше пригальмування RAW.
/
Отримали ще два пригальмування RAW, в сумі по завершенню всіх циклів отримали 3 RAW.
Після внесення корективів отримали :
Програма виконала - 29 циклів.
Виконала - 6 інструкцій.
На одну інструкцію – 4, 8 циклів для її виконання.
Висновок: виконуючи дану лабораторну роботу, я опанувала техніку паралельного виконання машинних інструкцій на рівні апаратури та оптимізувала код інструкцій.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!