Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
/
З В І Т
до лабораторної роботи №1
з курсу: « Архітектура комп'ютерних систем »
на тему: « Практика роботи з архітектурним симулятором WinMIPS64»
Варіант № 22
Львів 2022
Мета роботи - опанування технікою роботи з архітектурним симулятором WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64.
Завдання
Дослідити симулюванням виконання заданих викладачем машинних окремих інструкцій і пар інструкцій. Виконати пункти 2 та 3 методичних вказівок до роботи згідно з варіантом поданим у таблиці:
Варіант
Число А
Число В
Арифметична операція
22
22
8
+
Виконання завдання
Використовуючи середовище розробки Visual Studio Code, створив програмний файл sum_sadovskyi.s, який містить код для MIPS64, що вираховує різницю двох чисел A і B. Код програми на мові асемблер :
;*** winMIPS64 //sum_sadovskyi.s// C=A+B *****
.data
A: .word 22
B: .word 8
C: .word 0
.text
main:
ld r4,A(r0)
ld r5,B(r0)
dadd r3,r4,r5
sd r3,C(r0)
halt
Ще до симулювання перевіряємо синтаксис програми з допомогою утиліти asm.exe, прописуючи команду операційній системі :
/
Завантажуємо до пам’яті симулятора синтаксично перевірену програму через меню File/Open.
/
Далі виконується покрокове симулювання, натискаючи Execute/Single Cycle (або F7).
У вікні Code забарвлення першої інструкції змінюється на блакитну і вже друга інструкція забарвлена жовтим. /
Наступний натиск на F7 змінює забарвленість в вікні Code через уведення червоного кольору для третьої сходинки EX конвеєра. До конвеєра увійшла інструкція dadd r3, r4, r5. /
Третій натиск на F7 вводить зелену забарвленість для четвертої сходинки MEM конвеєра. До конвеєру входить інструкція sd r3, C(r0). /
Регістр r4 має завантажуватися з комірки пам’яті даних. r4 забарвлюється зеленим (колір сходинки MEM) у вікні Registers. /
Значення, призначене для r5, стає доступним для пересилання. Однак саме значення для r5 не було доступне вчасно для виконання інструкції dadd r3, r4, r5 у EX. Таким чином воно залишається в EX. У рядку стану написано "RAW зупинка в EX (R5)". /
Інструкція dadd r3,r4,r5 виконується, а щойно отримана сума, призначена для запису до r3, паралельно стає досяжною для виконання випередження (зі сходинки execute). /
Інструкція halt, вже уведена до конвеєра, спричинює ефект “закриття” конвеєра. /
Перевіряємо пам’ять даних Data , де фіксуємо, що змінна C набула значення 0х1e, що переводиться як 30 в десятковій системі. Інструкція sd r3,C(r0) записала це значення до пам’яті на сходинці MEM конвеєра. /
Завершення роботи програми. /
Висновок : під час виконання першої лабораторної роботи я опановував техніку роботи з архітектурним симулятором WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64 та дослідив симулюванням завдання, надане викладачем.