Міністерство освіти і науки, молоді та спорту України
Національний університет „Львівська політехніка”
Звіт
з Лабораторної роботи №5
з дисципліни: «Архітектура комп’ютера Ч.2»
на тему:
«Програма ЦИКЛ»
Львів 2014
Мета: Опанувати техніку конвеєрного виконання RISC інструкцій.
Завдання: Засобами архітектурного симулятора WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64 дослідити конвеєрне виконання фрагментів машинних програм, що містять цикли. Виявити наявні залежності (небезпеки) даних і керування, оптимізувати програмний код та дослідити дію запропонованої оптимізації. За результатами проведених лабораторних досліджень оформити звіт та захистити його.
Завдання: Масив 8-и чисел, знайти суму цього масиву.
1+…+8 = 3610 = 2416
Код програми:
.data
ARRAY: .word 1,2,3,4,5,6,7,8
N: .word 8
I: .word 1
.text
ld r2,N(r0)
ld r5,I(r0)
Loop:
ld r3,ARRAY(r1)
dsub r2,r2,r5
daddi r1,r1,8
dadd r4,r3,r4
bnez r2,Loop
sd r4,0x60(r0)
halt
Симулювання програми:
/
Рис.1. Дозволити випередження
/
Рис.2. Вікно часової діаграми
/
Рис.3. Вікно даних
/
Рис.4. Вікно регістрів
/
Рис.5. Вікно статистики
Симулювання програми:
/
Рис.6. Заборонене використання випередження
/
Рис.7. Вікно часової діаграми
/
Рис.8. Вікно статистики
Код програми:
.data
ARRAY: .word 1,2,3,4,5,6,7,8
N: .word 8
I: .word 1
.text
ld r2,N(r0)
ld r5,I(r0)
nop
Loop:
ld r3,ARRAY(r1)
dsub r2,r2,r5
daddi r1,r1,8
dadd r4,r3,r4
bnez r2,Loop
nop
sd r4,0x60(r0)
halt
/
Рис.9. Вікно часової діаграми
/
Рис.10. Вікно статистики
Висновок: В цій лабораторній роботі було розроблено цикл, який обраховує суму 10 елементів масиву які задаються користувачем. Під час виконання лабораторної роботи опанував технікою конвеєрного виконання RISC інструкцій.