Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра БІТ
Звіт до лабораторної роботи № 1
Програма цикл
З дисципліни
“Архітектура комп’ютерних систем”
Львів – 2011
Метою роботи є ознайомлення з програмою під назвою цикл, а також вдоско-налення базисної версії програми.
Базисна версія програми.
Loop:
lw r2,0(r1) ;get next A value
lw r3,20(r1) ;get next B value
add r2,r2,r3 ;update A
sw 40(r1),r2 ;store new A
addi r1,r1,#4 ;update counter
subi r4,r1,#16 ;check to see if done
bnez r4,Loop ;repeat loop if not done
trap 0 ;end
Результат виконання базисної програми
Протокол роботи конвеєра
Протокол вмістимого комірок головної пам’яті
Протокол статистики
Як бачимо програма виконується за 44 цикли. Також в програмі присутні затримки конвеєра. Усунути ці затримки можна за допомогою інструкції nop, але ця інструкція є неефективною оскільки забиває операнди будь-якими значеннями. Іншим способом усунення затримок є перебудова коду програми.
Вдосконалена версія програми.
Loop:
Lw r2,0(r1)
Lw r3,20(r1)
Addi r1,r1,#4
Subi r4,r1,#16
Add r2,r2,r3
Sw 36(r1),r2
Bnez r4,Loop
Trap 0
Результат виконання вдосконаленої програми
Протокол роботи конвеєра
Протокол вмістимого комірок головної пам’яті
Протокол статистики
Після перебудови коду затримки зникли і програма виконується за меншу кількість циклів – 36.
Висновок
У даній лабораторній роботі я ознайомився з програмою під назвою цикл, а також вдосконалив код базисної версії програми.