Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Кафедра ЗІ
/
Лабораторна робота №1
«ПРАКТИКА РОБОТИ З АРХІТЕКТУРНИМ СИМУЛЯТОРОМ WinMIPS64»
з дисципліни «Архітектура комп’ютерних систем»
Львів-2022
Мета роботи: Опанування технікою роботи з архітектурним симулятором WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64.
Завдання
Дослідити симулюванням виконання заданих викладачем машинних окремих
інструкцій і пар інструкцій. За результатами проведених лабораторних досліджень
оформити звіт та захистити його. Симулятор використовує операційну систему
Windows.
Варіант
Число А
Число В
Арифметична операція
16
79
10
+
Виконання роботи
Виконання роботи
1. Завантаження програми
Спершу ми створюємо файл sum:
/
Рисунок 1.1 Файл sum. s
Наступний крок це перевірити синтаксис програми ще до симулювання за допомогою утиліти asm.exe. Для цього потрібно виконати команду операційної системи: > asm sum Рис.1.2
/
Рисунок 1.2. Перевірка синтаксису утилітою asm.
2. Симулювання
Натискаєм клавішу F10, щоб розпочати новий цикл симулювання.
Після чого натискаємо F7
Clock 1
/
Clock 2
/
Clock 3
/
Clock 4
/
Clock 5
Перше пригальмування
/
Clock 6
/
Clock 7
Бачимо, що запис R3 дорівнює 59
/
Clock 8
Натискаєм клавішу F7 можна побачити, що Змінна С набула значення 1с
/
Clock 9 та Clock 10
Програма завершує свою роботу
/
Статистика після виконання програми у режимі із випередженням:
/
Із вікна статистики: витрачено 10 тактових циклів на виконання п’ятьох інструкцій. Значить, отримали середнє число тактових імпульсів CPI = 2 на одну інструкцію. Ще ми мали 1 пригальмування RAW.
Наше кінцеве число = 59 – в шістнадцятковій системі числення.
Якщо ми переведемо число у десяткову систему числення за допомогою конвертора то отримаємо число 89.
/
За умовою ми додавали числа 79 + 10 = 80. Отже програма відпрацювала правильно.
Наступний етап, буде полягати в тому, що потрібно буде виконати симулювання в режимі із забороною випередження, для заборони випередження (forwarding) треба клікнути на Enable Forwarding. Та за допомогою клавіші F4 виконуємо весь код.
/
Статистика після виконання програми у режимі із заборони випередження:
/
Бачимо, що протягом виконання програми у режимі із забороною випередження мали 4 пригальмування RAW. Витратили 13 тактових циклів на виконання п’ятьох інструкцій. Значить, отримали середнє число тактових імпульсів CPI = 2,6 на одну інструкцію.
Висновок
На цій лабораторній роботі я навчився користуватись симулятором WinMips64, виконав програму, що вираховувала суму двох цілих чисел. Числові коди спочатку вибрали з комірок пам’яті за адресами А і В до регістрів, потім додати на регістрах і, нарешті, записати отриману суму до комірки пам’яті за адресою С. Програма виконувалась у двох режимах (із випередженням та без нього). Ми побачили, що продуктивніше виконання було у режимі із випередженням, оскільки у цьому режимі була лише одна затримка, а в режимі без випередження аж 4, циклів також було менше, тому і CPI менше.