Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки, молоді та спорту України
Національний універститет «Львівська Політехніка»
Звіт
про виконання лабораторної роботи №1
з курсу «Архітектура комп’ютерних систем»
на тему «Цикл»
Мета: опанування технологіями обробки потоку інструкцій конвеєром універсальних процесорів на прикладі обробки програми «цикл» та отримання навичок з кількісного оцінювання ефективності мікроархітектур цих процесорів.
Базисна версія програми.
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
Модифікована версія програми:
Loop:
lw r2,0(r1) ;get next A value
lw r3,20(r1) ;get next B value
addi r1,r1,#4 ;update counter
add r2,r2,r3 ;update A
sw 36(r1),r2 ;store new A
nop
subi r4,r1,#16 ;check to see if done
nop
bnez r4,Loop ;repeat loop if not done
trap 0 ;end
Статистика роботи базової програми | Статистика модифікованої програми
Висновок: мені вдалося виключити 8 простоїв в роботі конвеєра, додавши 2 інструкції nop, щоб скасувати RAW–залежності даних. Крім того, оновлення лічильника тепер відбувається апріорно, в той час, поки готується операція додавання. Таким чином я уникнув зайвої (третьої) операції nop.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!