Дослідження виконання циклів на конвеєрі інструкцій

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра ЗІ / Звіт до лабораторної роботи №2 з курсу: «Архітектура комп’ютерних систем» на тему: «Дослідження виконання циклів на конвеєрі інструкцій» Львів 2023 Мета роботи Опанування технікою конвеєрного виконання RISC інструкцій. Завдання Дослідити конвеєрне виконання фрагментів машинних програм, що містять цикли. Виявити наявні залежності (небезпеки) даних і керування, оптимізувати програмний код та дослідити дію запропонованої оптимізації. За результатами проведених лабораторних досліджень оформити звіт та захистити його. Варіант Числа  2 3, 55, 17, 7, 56, 23, 29, 58, 52, 51   Код програми ; Program: loop.s ; Sum of 10 integer values .data values: .word 3, 55, 17, 7, 56, 23, 29, 58, 52, 51 ; 64-bit integers result: .space 8 .text MAIN: daddui R1,R0,10 ; R1 <- 10 dadd R2,R0,R0 ; R2 <- 0 POINTER REG dadd R3,R0,R0 ; R3 <- 0 RESULT REG LOOP: ld R4,values(R2) ;GET A VALUE IN R4 dadd R3,R3,R4 ; R3 <- R3 + R4 daddi R2,R2,8 ; R2 <- R2 + 8 POINTER INCREMENT daddi R1,R1,-1 ; R1 <- R1 - 1 DECREMENT COUNTER bnez R1,LOOP nop sd R3,result(R0) ; Result in R3 HALT ; the end  Виконання завдання Перед виконанням задіюємо апаратні механізми випередження даними і прогнозування напрямку умовного переходу за допомогою буфера цільових адрес переходу (branch target buffer, BTB) Рис 1. Основне вікно симулятора зі завантаженою програмою Після виконання семи циклів симулювання, отримуємо перше RAW (Рис. 2).Після виконання 10 тактів виникає друге RAW пригальмування(Рис.3). А вже після 11 тактів виникає пригальмування за рахунок виконаного умовного переходу(Рис.4). / Рис 2. Основне вікно симулятора, виконано 7 циклів симулювання Рис 3. Виникнення 2 RAW пригальмування. /Рис. 4.Пригальмування за рахунок виконаного умовного переходу. По завершення програми, маємо такі результати у вікні симулятора (Рис.5). Результатом виконання програми було обчислення суми десяти чисел, яку було збережено в змінній R3=351. / Рис 5. Вікно симулятора по завершенню виконання програми. Проаналізуємо вміст вікна статистики (Statistics) по виконанню з оптимізованою апаратурою і зауважимо, що Витратили 84 тактових циклів на виконання 56 інструкцій. Значить, отримали середнє число тактових імпульсів CPI=1.5 на одну інструкцію втрати конвеєра інструкцій склали 20 RAW-пригальмувань, 2 пригальмування під час виконання виконаних взятих, виконаних умовних переходів (Branch taken) і ще 2 пригальмування через помилками передбачення напрямку умовного переходу апаратними засобами Рис. 6. / Рис 6. Вікно статистики Заборонимо випередження, на вкладці «configure» Enable Forwarding а також використання буфера цільових адрес переходів, тим самим заборонимо передбачення напрямку умовних переходів апаратним засобом. Виконаємо програму знову (Рис 7 і Рис 8): / Рис 7. Виконана програма без випередження і прогнозування напрямку умовного переходу / Рис 8. Вікно статистики По виконанню нашої програми, але вже без оптимізації, проаналізуємо вмістиме вікна статистики. Зауважимо, що маємо 41 пригальмування RAW. Збільшилась загальна кількість циклів їх стало 110. Середнє число число тактових інтервалів становить CPI=1.964. Branch Taken Stalls (виконаного умовного переходу) = 9. Branch Misprediction Stalls(передбаченні напрямку умовного переходу)= 0 Висновок Під час виконання даної лабораторної роботи я навчився виконувати RISC інструкції. Відповідно до даних наданих програмою можна зробити висновок, що з ввімкненими механізмами випередження даними і прогнозування напрямку умовного переходу за допомогою буфера цільових адрес переходу (branch target buffer, BTB) програма виконалася на 26 менше ніж з вимкненими. Середнє число тактових інтервалів з вимкненими механізмами збільшилося на 0.464, також при вимкнених механізмах не було помилок в передбаченні напрямку умовного переходу.
Антиботан аватар за замовчуванням

08.04.2025 11:04-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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