Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Кафедра БІТ
/
Лабораторна робота №2
«ДОСЛІДЖЕННЯ ВИКОНАННЯ ЦИКЛІВ НА КОНВЕЄРІ ІНСТРУКЦІЙ»
з дисципліни
«Архітектура комп'ютерних систем»
Варіант - 9
Мета роботи – опанувати техніку конвеєрного виконання RISC інструкцій.
Завдання
Засобами архітектурного симулятора WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64 дослідити конвеєрне виконання фрагментів машинних програм, що містять цикли. Виявити наявні залежності (небезпеки) даних і керування, оптимізувати програмний код та дослідити дію запропонованої оптимізації.
/
Асемблерні інструкції
.data
values: .word 58, 47, 44, 14, 38, 27, 60, 5, 7, 27
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
Стан програми перед початком виконання інструкцій з увімкненими функціями випередження(forwarding) та передбачення напрямку умовного переходу(branch target buffer)
/
На циклі 11 отримали першу затримку за рахунок виконаного умовного переходу
/
На циклі 12 отримали ще одну затримку за рахунок виконаного умовного переходу
/
На 76 циклі отримали помилку в передбаченні напрямку умовного переходу
/
На 77 циклі ще одна така помилка
/
Кінцевий стан програми
/
Вікно статистики
/
Згідно вікна статистики маємо такі дані:
Виконано 84 циклів;
Число циклів на інструкцію (CPI) – 1.5;
Зроблено 20 зупинок RAW;
2 затримки внаслідок виконаного умовного переходу;
2 помилки в передбаченні напрямку умовного переходу;
Для порівняння звіримо вікна статистики при вимкненій функції передбачення напрямку умовного переходу.
/
Як бачимо кількість циклів та середнє число тактових інтервалів на інструкцію збільшилося на 1.589 – 1.5 = 0.089. Хоча це і не велика різниця, виконання усіх інструкцій при ввімкненій функції передбачення відбувається швидше, навіть при умові виникнення затримок за рахунок виконаного умовного переходу та помилок в передбаченні напрямку умовного переходу.
Висновок: виконавши дану лабораторну роботу, я опанував техніку конвеєрного виконання RISC інструкцій.