Частина тексту файла (без зображень, графіків і формул):
Національний університет «Львівська політехніка»
ІКТА кафедра БІТ
/
ЗВІТ
до лабораторної роботи №1
КОНКУРЕНТНЕ ВИКОНАННЯ МАШИННИХ ІНСТРУКЦІЙ
Мета роботи: Опанувати техніку розпаралелення виконання машинних інструкцій на рівні апаратури.
Вказівки до роботи: Дослідити симулюванням виконання заданих викладачем машинних окремих інструкцій і пар інструкцій. За результатами проведених лабораторних досліджень оформити звіт та захистити його. Симулятор використовує операційну систему Windows.
Варіант 3
/
Хід роботи
Виконання програми asm.exe. Вона дозволяє перевірити синтаксис програми, ще до її виконання.
/
Відкриємо програму WINMIPS64 і запустимо в ній файл Sum.s.
/
Відкритий файл loop.s у програмі WINMIPS64
Натиснемо F7 і симулятор виконає перший цикл програми.
/
Виконання першого циклу програми
Якщо ще раз натиснути на F7, змінюється забарвленість в вікні Code через уведення червоного кольору для третьої сходинки EX конвеєра. До конвеєра увійшла інструкція dadd r3,r4,r5.
/
Виконання другого циклу програми
Далі натискаємо F7 ще 8 разів і виконуємо пункти завдання з clock 3 по clock 10. Після натискання останнього F7 програма фінішує.
/
Виконана програма з включеним режимом Enable Forwarding
Проаналізувавши вміст вікна статистики (Statistics), бачимо, що ми мали 1 пригальмування RAW. Витратили 10 тактових циклів на виконання п’яти інструкцій. Значить, отримали середнє число тактових імпульсів CPI=2 на одну інструкцію.
/
Вікно статистики
Заборонимо випередження, на вкладці «configure» Enable Forwarding
Виконаємо програму знову:
/
Виконана програма без випередження
/
Вікно статистики
По виконанню нашої програми, але вже без випередження, проаналізуємо вмістиме вікна статистики. Зауважимо, що маємо аж 4 пригальмування RAW. Середнє число тактів на виконання інструкції погіршилося і становить CPI=2.600.
Висновок: на цій лабораторній роботі я опанував техніку розпаралелення виконання машинних інструкцій на рівні апаратури.