МІНІСТЕРСТВО ОСВІТИ, НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Лабораторна робота № 4
з дисципліни
"Архітектура комп’ютерів ч.2"
Львів – 2013
Тема: Дослідження конвеєрного виконання інструкцій рухомої коми
Мета : Опанувати техніку конвеєрного виконання інструкцій рухомої коми
Хід роботи
У даній лабораторній роботі використовується симулятор WinDLX
Базисна версія програми, що буде симулюватися (програма знаходить суму двох добутків: (A*B)+(C*D)lw r1,100(r0) ;load A
lw r2,200(r0) ;load B
lw r3,300(r0) ;load C
lw r4,400(r0) ;load D
movi2fp f1,r1 ;convert A into floating pt
movi2fp f2,r2 ;convert B to fp
movi2fp f3,r3 ;convert C to fp
movi2fp f4,r4 ;convert D to fp
multf f5,f1,f2 ;A*B is stored into f1
movfp2I r1,f5 ;move f1 to r1
multf f6,f3,f4 ;C*D is stored into f3
movfp2I r3,f6 ;move f3 to r3
add r1,r1,r3 ;(A*B)+(C*D)
sw 500(r0), r1 ;store result at mem[500]
trap 0 ;end
Рис.1 Вікно статистики
Рис.2 Вікно конвеєра
Як бачимо, було виконано 15 інструкцій, на що пішло 27 циклів (CPI=1.8).
Відбулося 8 RAW пригальмовувань конвеєра і 3 пригальмовування зупинки (trap stalls)
Всього зупинок конвеєра 11
Модифікована (оптимізована) версія програмиlw r1,100(r0)
lw r2,200(r0)
movi2fp f1,r1
movi2fp f2,r2
multf f5,f1,f2
lw r3,300(r0)
lw r4,400(r0)
movi2fp f3,r3
movi2fp f4,r4
multf f6,f3,f4
nop
movfp2I r1,f5
nop
movfp2I r3,f6
add r1,r1,r3
sw 500(r0), r1
trap 0
Рис.3 Вікно статистики
Рис.4 Вікно конвеєра
Було виконано 17 інструкцій, на що пішло 22 цикли (CPI=1.3)
Відбулося 1 RAW пригальмовуваня конвеєра і 3 пригальмовування зупинки (trap stalls)
Всього зупинок конвеєра 4
Для оптимізації було введено 2 “порожніх” інструкції nop та змінено порядок виконання деяких інструкцій
Висновок: На лабораторній роботі я опанувала техніку конвеєрного виконання інструкцій рухомої коми