Конкурентне виконання машинних інструкцій

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

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

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

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Архітектура комп'ютерів
Група:
БІ

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра БІТ / З В І Т До лабораторної роботи №3 з курсу: «Архітектура комп'ютерних систем» на тему: «Конкурентне виконання машинних інструкцій» Мета виконання роботи: Опанувати техніку розпаралелення виконання машинних інструкцій на рівні апаратури. Вступ Інструкції рухомої коми можуть переходити із сходинки ID виконання до сходинки EX у власному конвеєрі виконання операції рухомої коми, або бути призупиненими через неготовність операндів. Для зменшення часових втрат, що є наслідком призупинення, можна використовувати стратегію невпорядкованого завершення виконання (анг. out-of-order completion), але вона може спричинити небезпеку WAR (write after read) конвеєрного виконання. Також тут може допомогти техніка зміни назв (перепризначення) регістрів (register renaming). Завдання Засобами архітектурного симулятора WinMIPS64 дослідити на прикладі фрагментів програмного коду можливості паралельного опрацювання машинних інструкцій на рівні апаратури та позитивні ефекти, що при цьому досягаються. За результатами проведених лабораторних досліджень оформити звіт та захистити його. Виконання Аналіз першого фрагменту коду: .text add.d f7,f7,f3 add.d f7,f7,f4 mul.d f4,f5,f6 ; WAR через спільний регістр f4 / Рис. 1 – Результат аналізу першого фрагменту коду. Аналіз другого фрагменту коду: ;*************************************** ;*** 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 / Рис. 2 – Результат аналізу другого фрагменту коду. Як показує діаграма стану конвеєра в процесі роботи виникають затримки типу RAW, що збільшують роботу процесора. Дана затримка виникає тому що процесор чекає на виконання команди ділення, яка є надзвичайно довгою, і тому решта команд простоює. Для покращення ситуації введемо деякі зміни в код: Код після оптимізації: ;*************************************** ;*** winMIPS64 //hazard3.s// ***** ;*** (c) 2003 CA226, DCU ***** ;*************************************** .text div.d f7,f9,f10 mul.d f2,f4,f3 ld r1,78(r0) add.d f4,f5,f6 sub.d f7,f7,f4 halt Після чого отримуємо такі результати: / Рис. 3 – Результат після зміни коду. Висновок: Як видно по статистиці та діаграмах для покращення роботи процесора необхідно розділити та грамотно розставити операції, для того, щоб процесор міг їх виконати фактично паралельно, оскільки він має можливості паралельної обробки різнотипних операцій.
Антиботан аватар за замовчуванням

24.01.2018 11:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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