Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
/
Звіт
до лабораторної роботи №3
з дисципліни "Архітектура комп’ютера"
Мета: опанування технологій обробки потоку інструкцій конвеєром універсальних процесорів та отримання навичок з кількісного оцінювання ефективності мікроархітектур цих процесорів.
Завдання: Скласти асемблерну програму обчислення виразу
res = (a+b)*2 “Рухома кома”. Дослідити виконання цієї програми симулятором DLX. Пояснити та проаналізувати інформацію, отриману в результаті виконання обчислень за програмою.
Хід роботи:
Текст базисної версії асемблерної програми:
.data(0x10) .float 5.125 .float 4.5 .float 2.0 .text lf f2,0x10(r1) ;get A value lf f3,0x14(r1) ;get B value lf f4,0x18(r1) addf f5,f2,f3 ;update A=A+B multf f5,f5,f4 ;update A=(A+B)*2 sf 0x10(r1),f5 ;store new A trap 0 ;end
В результаті виконання базисної програми виникла затримка конвеєра через операцію множення, оскільки вона займає багато тактів(рис.1). Спробуємо усунути ці затримки.
/
Рис.1 Протокол роботи конвеєра базисної програми
/
Рис.2 Результат в пам’яті
Текст удосконаленої базисної версії асемблерної програми:
.data(0x10) .float 5.125 .float 4.5 .float 2.0 .text lf f2,0x10(r1) ;get A value nop lf f3,0x14(r1) ;get B value nop lf f4,0x18(r1) nop nop addf f5,f2,f3 ;update A=8A+B nop nop multf f5,f5,f4 ;update A=8A+B nop nop nop nop nop nop sf 0x10(r1),f5 ;store new A trap 0 ;end
Після удосконалення базисної програми видно, що усі конвеєрні затримки зникли. (рис.3).
/
Рис.3 Протокол роботи конвеєра після удосконалення базисної програми
Висновок: Під час виконання даної лабораторної роботи, я опанував технології обробки потоку інструкцій конвеєром універсальних процесорів та отримав навички з кількісного оцінювання ефективності мікроархітектур цих процесорів.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!