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
Тип роботи:
Лабораторна робота
Предмет:
Архітектура комп ютерних систем

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

Міністерство освіти та науки України Національний університет «Львівська політехніка» Кафедра ЗІ / Лабораторна робота №2 «ДОСЛІДЖЕННЯ ВИКОНАННЯ ЦИКЛІВ НА КОНВЕЄРІ ІНСТРУКЦІЙ» з дисципліни «Архітектура комп'ютерних систем» Варіант - 4 Мета роботи - опанувати техніку конвеєрного виконання RISC інструкцій. Завдання Засобами архітектурного симулятора WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64 дослідити конвеєрне виконання фрагментів машинних програм, що містять цикли. Виявити наявні залежності (небезпеки) даних і керування, оптимізувати програмний код та дослідити дію запропонованої оптимізації. За результатами проведених лабораторних досліджень оформити звіт та захистити його. Текст асемблерної програми .data values: .word 24, 30, 39, 49, 22, 24, 53, 28, 44, 22 result: .space 8 .text MAIN: daddui R1,R0,10 dadd R2,R0,R0 dadd R3,R0,R0 LOOP: ld R4,values(R2) dadd R3,R3,R4 daddi R2,R2,8 daddi R1,R1,-1 bnez R1,LOOP nop sd R3,result(R0) HALT Виконання роботи Програма при запуску WinMIPS64. / Перед початком виконання покрокової симуляції виконання інструкцій, увімкнемо апаратні механізми випередження даними і прогнозування напрямку умовного переходу за допомогою буфера цільових адрес переходу (branch target buffer, BTB) у Configure – Enable Forwarding і Enable Branch Target Buffer та натиснемо F7: / На 11 циклі вперше утворилося пригальмування за рахунок виконаного умовного переходу (branch taken stall). / На 76 циклі симуляції виконання інструкцій, трапилася помилка передбачення напрямку умовного переходу (Branch misprediction stall у вікні статистики): / На 77 циклі симуляції виконання інструкцій, трапилася помилка знову: / І на 84 циклі була завершена програма з такими результатами: / Результат виконання програми 000000000000014f у шістнадцятковій системі числення, після переведення у десяткову систему числення отримуємо 335. Перевіримо розрахунки завдяки калькулятору: / Значення співпадають, отже програма спрацювала вірно. Повторно запускаємо програму вимкнувши апаратні механізми випередження даними і прогнозування напрямку умовного переходу за допомогою буфера цільових адрес переходу, отримаємо ось такі результати: / Порівняння вікон статистики З увімкненим / Без увімкнення / Висновок: Виконавши дану лабораторну роботу, я навчився виконувати певні RISC інструкції. Слід зазначити, що при вимкнених механізмах випередження та прогнозування не було помилки в передбаченні напрямку умовного переходу (Branch misprediction stall).
Антиботан аватар за замовчуванням

08.04.2025 11:53

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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