DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ / З В І Т до лабораторної роботи №4 з дисципліни: “Архітектура комп’ютерних систем” на тему: «ДОСЛІДЖЕННЯ КОНВЕЄРНОГО ВИКОНАННЯ ІНСТРУКЦІЙ РУХОМОЇ КОМИ» Варіант № 2 Мета роботи Опанування технікою конвеєрного виконання RISC інструкцій для операндів формату рухомої коми. Завдання Засобами архітектурного симулятора WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64 дослідити конвеєрне виконання фрагментів машинних програм, що команди опрацювання операндів в форматі з рухомою комою. Виявити наявні залежності (небезпеки) даних і керування, оптимізувати програмний код та дослідити дію запропонованої оптимізації. За результатами проведених лабораторних досліджень оформити звіт та захистити його. Базовий варіант виконання лабораторної роботи Подамо базовий (прототипний) програмний код, що опрацьовує дані з форматом рухомої коми. ; hail.s ; Hailstone numbers iteration ; If number is odd, multiply by 3 and add 1 ; If number is even, divide it by 2 ; repeat this iteration until number is 1 .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 Початок виконання роботи Виконання програми asm.exe, яка дозволяє перевірити синтаксис програми, ще до її виконання. / Синтаксис є коректним. Відкриваємо програму WinMips64 та запускаємо в ній файл lab4.s Завершення програми / Результат / Оптимізуємо код програми ; hail.s ; Hailstone numbers iteration ; If number is odd, multiply by 3 and add 1 ; If number is even, divide it by 2 ; repeat this iteration until number is 1 .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 beqz r3,loop 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 Виконання програми asm.exe, яка дозволяє перевірити синтаксис програми, ще до її виконання. / Синтаксис є коректним. Відкриваємо програму WinMips64 та запускаємо в ній файл Завершення програми / Результат виконання / Висновок На даній лабораторній роботі, я опанував техніку конвеєрного виконання RISC інструкцій для операндів формату рухомої коми. Завдання було оптимізувати код програми Hailstone numbers iteration. До оптимізації було: 1794 цикли 1028 інструкцій 1,745 циклів на інструкцію 445 RAW Stall Після оптимізації стало: 966 циклів 781 інструкція 1,237 циклів на інструкцію 1 RAW Stall Як бачимо результат став значно кращий.
Антиботан аватар за замовчуванням

08.04.2025 11:54

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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