Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра ЗІ
/
Звіт
до лабораторної роботи №4
з курсу: «Архітектура комп’ютерних систем»
на тему: «Дослідження конвеєрного виконання інструкцій рухомої коми»
Мета роботи: опанування технікою конвеєрного виконання RISC інструкцій для операндів формату рухомої коми.
Завдання
Засобами архітектурного симулятора WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64 дослідити конвеєрне виконання фрагментів машинних програм, що команди опрацювання операндів в форматі з рухомою комою. Виявити наявні залежності (небезпеки) даних і керування, оптимізувати програмний код та дослідити дію запропонованої оптимізації. За результатами проведених лабораторних досліджень оформити звіт та захистити його.
Виконання завдання
Заданий код:
/
Перевіряємо код за допомогою asm.exe:
/
Розпочинаємо роботу даного коду в симуляторі WinMIPS64:
/
Бачимо, що після виконання роботи отримуємо 1739 циклів.
Оптимізуємо наш код наступним чином:
/
Перевіряємо код за допомогою asm.exe:
/
В результаті отримуємо:
/
Після виконання роботи отримуємо 976 циклів. Отже, можемо замітити що в порівнянні з попередньою симуляціє результат змінився з 1739 циклів до 976 циклів, число інструкцій змінилося з 1028 до 781, СРІ було 1.657 стало 1.250 на виконання однієї інструкції. Також пригальмування RAW змінилось з 445 до 1. Branch Taken Stalls було 116 стало 98 та Branch Misprediction Stalls було 110 стало 92.
Висновки: виконуючи дану лабораторну роботу я опанувала технікою конвеєрного виконання RISC інструкцій для операндів формату рухомої коми, також провела покращення коду і добилась збільшення швидкості виконання і хорошого результату.