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 з курсу: «Архітектура комп’ютерних систем» на тему: «ДОСЛІДЖЕННЯ ВИКОНАННЯ ЦИКЛІВ НА КОНВЕЄРІ ІНСТРУКЦІЙ» Варіант – 7 ЛЬВІВ – 2022 Мета роботи: опанувати техніку конвеєрного виконання RISC інструкцій. Завдання Засобами архітектурного симулятора WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64 дослідити конвеєрне виконання фрагментів машинних програм, що містять цикли. Виявити наявні залежності (небезпеки) даних і керування, оптимізувати програмний код та дослідити дію запропонованої оптимізації. За результатами проведених лабораторних досліджень оформити звіт та захистити його. Початок виконання роботи На Рис. 1 зображено виконання програми asm.exe, яка дозволяє перевірити синтаксис програми, ще до її виконання. / Рис. 1. Результат виконання програми Як бачимо з Рис. 1 синтаксис є коректним. Далі відкриємо програму WINMIPS64 і запустимо в ній файл loop.s, яким ми попередньо створили. Переконався, що програма завантажена до пам’яті і симулятор готовий до роботи. У вікні “Code” спостерігаємо код програми. 1/ Рис. 2. Відкритий файл loop.s у програмі WINMIPS64 Використав апаратні механізми випередження даними і прогнозування напрямку умовного переходу за допомогою буфера цільових адрес переходу (branch target buffer, BTB). / Рис. 3. Дозволено використання випередження (forwarding) і апаратури передбачення напрямку умовного переходу (branch target buffer). Покроково симулюємо виконання інструкцій. На 7 циклі отримали RAW (read after write). / Рис. 4. Виконано 7 циклів симулювання. Є перше RAW (read after write) При виконанні 10 такту бачимо ще 1 пригальмування / Рис. 5. Друге пригальмування Виконано 11 тактів симулювання, сталося перше пригальмування за рахунок виконаного умовного переходу (branch taken stall). / Рис. 6. Виконання 11-ти тактів На 76 циклі виконання отримали першу помилку передбачення напрямку умовного переходу. / Рис. 7. Стан виникнення першої gомилки в передбаченні напрямку умовного переходу (Branch misprediction stall) Головне вікно симулятора по завершенню симулювання програми зображено на Рис. 8. / Рис. 8. Завершення програми Виключаємо апаратні механізми випередження даними і прогнозування напрямку умовного переходу за допомогою буфера цільових адрес переходу (branch target buffer, BTB). / Рис. 9. Головне вікно стимулятора по завершенню симулювання програми loop.s з вимкненими механізмами випередження та прогнозування. Результати: Результат виконання програми сумування 10 чисел показав нам правильний результат 0x37. Загальне число виконаних циклів становить 84. СРІ = 1.500 – це середнє число тактових інтервалів (cycles per instruction), що припало на виконання кожної інструкції програми. • RAW Stalls (read after write) = 20 • Branch Taken Stalls (виконаного умовного переходу) = 2 • Branch Misprediction Stalls(передбаченні напрямку умовного переходу)= 2 Результат виконання програми без механізмів випередження та прогнозування сумування 10 чисел показав нам такий самий результат 0x37. Загальне число виконаних циклів становить 110. СРІ = 1.964 – це середнє число тактових інтервалів (cycles per instruction), що припало на виконання кожної інструкції програми. • RAW Stalls (read after write) = 41 • Branch Taken Stalls (виконаного умовного переходу) = 9 • Branch Misprediction Stalls (передбаченні напрямку умовного переходу)= 0 Висновок: на лабораторій роботі, я навчився виконувати певні RISC інструкції. З ввімкненими механізми випередження даними і прогнозування напрямку умовного переходу за допомогою буфера цільових адрес переходу (branch target buffer, BTB) програма виконалася за 84 цикли, що на 26 менше ніж з вимкненими механізмами. Середнє число тактових інтервалів без механізмів також виросло на 0.464. При вимкнених механізмах не було помилки в передбаченні напрямку умовного переходу (Branch misprediction stall).
Антиботан аватар за замовчуванням

08.04.2025 12:14

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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