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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра БІТ / З В І Т до лабораторної роботи №4 з курсу: «Архітектура комп’ютерних систем» на тему: «ДОСЛІДЖЕННЯ КОНВЕЄРНОГО ВИКОНАННЯ ІНСТРУКЦІЙ РУХОМОЇ КОМИ» Варіант №18 Львів 2022 Мета роботи - опанування технікою конвеєрного виконання RISC інструкцій для операндів формату рухомої коми. Завдання Засобами архітектурного симулятора WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64 дослідити конвеєрне виконання фрагментів машинних програм, що команди опрацювання операндів в форматі з рухомою комою. Виявити наявні залежності (небезпеки) даних і керування, оптимізувати програмний код та дослідити дію запропонованої оптимізації. За результатами проведених лабораторних досліджень оформити звіт та захистити його. ВИКОНАННЯ: Вміст файлу hail.s; .data number: .word 27 ; this is input number - change it! max: .word 0 ; max number so far .text start: ld r1,number(r0) ; program start loop: andi r3,r1,1 ; test odd or even beqz r3,even odd: dadd r2,r1,r1 ; times 2 dadd r1,r2,r1 ; times 3 daddi r1,r1,1 ; plus 1 j over even: dsrl r1,r1,1 ; divide by 2 over: ld r4,max(r0) slt r3,r4,r1 ; compare with max beqz r3,skip sd r1,max(r0) ; new max skip: slti r3,r1,2 ; test for finished beqz r3,loop halt / Рис. 1. Фініш програми / Рис. 2. Вікно статистики (Statistics) після завершення симулювання По виконанню роботи за допомогою вікна статистики (рис.2) можна охарактеризувати роботу симулятора. Відбулось 445 RAW-пригальмувань, 317 гальмувань під час виконання умовних переходів (Branch taken). Витратив 1794 цикли для виконання 1028 інструкцій. Отже, отримав середнє число тактових імпульсів CPI=1.745 на одну інструкцію. У даному коді є проблеми, які не дозволяють паралельно виконувати всі потрібні функції, тому я спробував відкоригувати даний код змінивши послідовність виконання функцій. Новий вміст файлу hail.s; .data number: .word 27 ; this is input number - change it! 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 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 / Рис. 3. Фініш програми / Рис. 2. Вікно статистики (Statistics) після завершення симулювання Відбулось 1 RAW-пригальмування, 180 гальмувань під час виконання умовних переходів (Branch taken). Витратив 977 циклів для виконання 792 інструкцій і середнє число тактових імпульсів CPI=1,243 на одну інструкцію. Результат кращий, ніж попередній. ВИСНОВКИ: Під час виконання лабораторної роботи я опанував техніку конвеєрного виконання RISC-інструкцій для операндів формату рухомої коми. Також виконав оптимізацію коду, для покращення виконання роботи програми. Було 1794 цикли - стало 977; Було CPI = 1,745 - стало 1,234; Було 445 RAW-гальмувань - стало 1.
Антиботан аватар за замовчуванням

08.04.2025 12:04-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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