ДОСЛІДЖЕННЯ КОНВЕЄРНОГО ВИКОНАННЯ ІНСТРУКЦІЙ РУХОМОЇ КОМИ

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

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

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

Рік:
2022
Тип роботи:
Лабораторна робота
Предмет:
Архітектура комп ютерних систем

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра ЗІ / Лабораторна робота №4 з дисципліни: «Архітектура комп’ютерних систем» на тему: «ДОСЛІДЖЕННЯ КОНВЕЄРНОГО ВИКОНАННЯ ІНСТРУКЦІЙ РУХОМОЇ КОМИ» Львів 2022 Мета роботи: опанування технікою конвеєрного виконання RISC інструкцій для операндів формату рухомої коми. Завдання Засобами архітектурного симулятора WinMIPS64 дослідити на прикладі фрагментів програмного коду можливості паралельного опрацювання машинних інструкцій на рівні апаратури та позитивні ефекти, що при цьому досягаються. За результатами проведених лабораторних досліджень оформити звіт та захистити його. Асемблерні інструкції .data number: .word 13 max: .word 0 .text start: ld r1,number(r0) loop: andi r3,r1,1 beqz r3,even odd: dadd r2,r1,r1 dadd r1,r2,r1 daddi r1,r1,1 j over even: dsrl r1,r1,1 over: ld r4,max(r0) slt r3,r4,r1 beqz r3,skip sd r1,max(r0) skip: slti r3,r1,2 beqz r3,loop halt Результат виконання програми до оптимізації / Вікно статистики / Шляхи оптимізації коду: Forwarding Branch target buffer Асинхронне виконання команд. У даному випадку це пов’язано із заміною інструкцій в залежності від використання регістрів пам’яті. Асинхронне виконання команд Оптимізовані асемблерні інструкції: .data number: .word 13 max: .word 0 ; max number so far .text start: ld r1,number(r0) ; program start andi r5,r1,1 ; test odd or even loop: dadd r2,r1,r1 ; times 2 beqz r5,even odd: dadd r1,r2,r1 ; times 3 ld r4,max(r0) daddi r1,r1,1 ; plus 1 slt r3,r4,r1 ; compare with max andi r5,r1,1 beqz r3,even sd r1,max(r0) ; new max j loop even: dsrl r1,r1,1 ;divide by 2 slti r3,r1,2 ; test for finished andi r5, r1,1 beqz r3,loop halt Оптимізація відбулась за рахунок перенесення інструкції andi (логічне І), виконання якого тривало 2 цикла. Враховуючи це, переставлено команди, щоб не було «простою» в 1 цикл, поки наступна інструкція чекає на результат виконання попередньої. Після оптимізування коду число циклів значно зменшилося. Результат виконання програми після оптимізації асемблерних інструкцій / Вікно статистики / Результат виконання програми з Enable Forwarding (випередження) / Вікно статистики / Кількість тактів відчутно зменшилась. Це пов’язано з тим, що потреба у очікуванні проходженні усіх етапів виконання операції та завантаження даних, які поміщені у регістр відсутня, оскільки операції ld/sd (завантаження у/з пам’яті) виконуються не очікуючи кінця інструкцій. Результат виконання програми з Enable Branch Target Buffer (випередження) / Вікно статистики / Кількість тактів знову зменшилася. Це пов’язано з передбаченням операцій, зокрема коли потрібно обрати логіку із парним або непарним числом. У даному випадку відбулось 8 успішних передбачень та 4 невдалих. Висновок: у ході виконання лабораторної роботи засобами архітектурного симулятора WinMIPS64 досліджено на прикладі фрагментів програмного коду можливості паралельного опрацювання машинних інструкцій на рівні апаратури та позитивні ефекти, що при цьому досягаються. Опановано техніку конвеєрного виконання RISC інструкцій для операндів формату рухомої коми. Проведено оптимізацію коду за допомогою Forwarding та Branch Target Buffer.
Антиботан аватар за замовчуванням

08.04.2025 12:04-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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