DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра ЗІ / Звіт до лабораторної роботи №2 з курсу: «Архітектура комп’ютерних систем» на тему: «ДОСЛІДЖЕННЯ ВИКОНАННЯ ЦИКЛІВ НА КОНВЕЄРІ ІНСТРУКЦІЙ» Варіант №3 Мета роботи: опанувати техніку конвеєрного виконання RISC інструкцій. Завдання Засобами архітектурного симулятора WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64 дослідити конвеєрне виконання фрагментів машинних програм, що містять цикли. Виявити наявні залежності (небезпеки) даних і керування, оптимізувати програмний код та дослідити дію запропонованої оптимізації. За результатами проведених лабораторних досліджень оформити звіт та захистити його. Виконання роботи Код програми : ; Program: loop.s ; Sum of 10 integer values .data values: .word 36, 50, 56, 48, 57, 52, 30, 53, 27, 1 ; 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 Відкриємо програму WINMIPS64 і запустимо в ній файл loop.s, який був попередньо створений. Переконуємося, що програма завантажена до пам’яті і симулятор готовий до роботи. У вікні “Code” спостерігаємо код програми. / Основне вікно симулятора з відкритим файлом loop.s / Дозволяємо використання випередження (forwarding) і апаратури передбачення напрямку умовного переходу (branch target buffer). Покроково симулюємо виконання інструкцій. На 7 циклі отримали RAW Stalls (read after write). / При виконанні 10 такту з’являється ще одне пригальмування. / Після 11 тактів симулювання, сталося пригальмування за рахунок виконаного умовного переходу (branch taken stall). / / Завершення програми СРІ = 1.5 середнє число тактових інтервалів. RAW Stalls (read after write) = 20 Branch Taken Stalls (виконаного умовного переходу) = 2 Branch Misprediction Stalls = 2 Виключаємо апаратні механізми випередження даними і прогнозування напрямку умовного переходу за допомогою буфера цільових адрес переходу (branch target buffer, BTB). / СРІ = 1.964 (середнє число тактових інтервалів). RAW Stalls (read after write) = 41 Branch Taken Stalls (виконаного умовного переходу) = 5 Branch Misprediction Stalls (передбаченні напрямку умовного переходу) = 0 Висновок: виконуючи дану лабораторну роботу, я навчилася застосовувати RISC інструкції. З ввімкненими механізми випередження даними і прогнозуванням напрямку умовного переходу за допомогою буфера цільових адрес переходу (branch target buffer, BTB).
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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