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

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

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

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

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

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

Міністерство освіти та науки України Національний університет «Львівська політехніка» ІКТА Кафедра ЗІ / Лабораторна робота №2 з дисципліни: «Архітектура комп’ютерних систем» на тему: «ДОСЛІДЖЕННЯ ВИКОНАННЯ ЦИКЛІВ НА КОНВЕЄРІ ІНСТРУКЦІЙ» Варіант - 24 Мета роботи - опанувати техніку конвеєрного виконання RISC інструкцій. Завдання Засобами архітектурного симулятора WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64 дослідити конвеєрне виконання фрагментів машинних програм, що містять цикли. Виявити наявні залежності (небезпеки) даних і керування, оптимізувати програмний код та дослідити дію запропонованої оптимізації. За результатами проведених лабораторних досліджень оформити звіт та захистити його. / Виконання роботи Асемблерний код програми ; Program: loop.s ; Sum of 10 integer values .data values: .word 59, 30, 36, 9, 58, 15, 17, 52, 47, 15 ; 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 Перед виконанням роботи перевіряємо коректність програми за допомогою asm.exe / Виконання програми у WinMIPS64. Ось так виглядає головна сторінка програми після відкриття файлу lab2.s: / Перед початком виконання покрокової симуляції виконання інструкцій, увімкнемо апаратні механізми випередження даними і прогнозування напрямку умовного переходу за допомогою буфера цільових адрес переходу (branch target buffer, BTB) у Configure – Enable Forwarding і Enable Branch Target Buffer та натиснемо F7: / На 7 циклі було отримано RAW (read after write), що показано на скріншоті: / Було отримано 2 RAW на 10 циклі: / Після 11 циклів симуляції виконання інструкцій, утворилося перше пригальмування за рахунок виконаного умовного переходу (branch taken stall). / За 40 циклів було отримано 10 RAW та 2 BTS (branch taken stall): / На 76 циклі симуляції виконання інструкцій, трапилася помилка передбачення напрямку умовного переходу (Branch misprediction stall у вікні статистики): / І на 84 циклі була завершена програма з такими результатами: / Проте вимкнувши апаратні механізми випередження даними і прогнозування напрямку умовного переходу за допомогою буфера цільових адрес переходу, отримаємо ось такі результати: / Результат виконання програми сумування 10 чисел з механізмами випередження та прогнозування: Загальне число виконаних циклів становить 84. СРІ = 1.500 – середнє число циклів (cycles per instruction), що припало на виконання кожної інструкції програми. • RAW Stalls (read after write) = 20; • Branch Taken Stalls (виконаного умовного переходу) = 2; • Branch Misprediction Stalls (передбачені напрямку умовного переходу)= 2; Результат виконання програми сумування 10 чисел без механізмів випередження та прогнозування: Загальне число виконаних циклів становить 110. СРІ = 1.964 – середнє число циклів (cycles per instruction), що припало на виконання кожної інструкції програми. • RAW Stalls (read after write) = 41; • Branch Taken Stalls (виконаного умовного переходу) = 9; • Branch Misprediction Stalls (передбачені напрямку умовного переходу)= 0; Висновок: Виконавши дану лабораторну роботу, я навчилась виконувати певні RISC інструкції. Слід зазначити, що при вимкнених механізмах випередження та прогнозування не було помилки в передбаченні напрямку умовного переходу (Branch misprediction stall).
Антиботан аватар за замовчуванням

08.04.2025 12:34

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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