DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

ПРАКТИКА РОБОТИ З АРХІТЕКТУРНИМ СИМУЛЯТОРОМ WINMIPS64

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2025
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Архітектура комп ютерних систем

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра БІТ / З В І Т до лабораторної роботи №1 з курсу: “ Архітектура комп'ютерних систем” на тему: «ПРАКТИКА РОБОТИ З АРХІТЕКТУРНИМ СИМУЛЯТОРОМ WINMIPS64» Варіант № 11 Мета роботи Опанування технікою роботи з архітектурним симулятором WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64. Завдання / Завантаження програми Код для виконання програми: / Хід роботи / Clock 1 Натиснути Execute/Single Cycle (або натиснути F7). Симулятор виконає перший цикл (тактовий інтервал) програми. Увага! Не першу інструкцію, а лише перший цикл, що для п’ятисходинкового конвеєра відповідає виконанню 1/5 першої інструкції в найкращому випадку, коли нема вимушених затримок конвеєра. / Clock 2 Наступний натиск на F7 змінює забарвленість в вікні Code через уведення червоного кольору для третьої сходинки EX конвеєра. До конвеєра увійшла інструкція dadd r3, r4, r5. / Clock 3 Третій натиск на F7 знову змінює забарвленість вікна Code, уводячи зелену забарвленість для четвертої сходинки MEM конвеєра. До конвеєру входить інструкція sd r3, C(r0). / Clock 4 Знову натискаємо F7. Кожна сходинка конвеєра отримує нову інструкцію. Регістр r4 має завантажуватися з комірки пам’яті даних. Проте оновлене вмістиме регістра можна отримати завчасно (кажуть – з випередженням в часі, прямо з виходу пам’яті даних, тобто, з виходу сходинки МЕМ (for forwarding from the MEM stage). Отже, прямо з виходу пам’яті забираємо новий, ще не записаний до регістру призначення операнд (це і є випередження), а далі паралельно виконуємо додавання цього нового операнду і в той самий час пишемо цей операнд до регістру регістрового файлу. Добре, що в конвеєрі водночас знаходиться черга з п’ятьох інструкцій, тобто, всі ці інструкції є «під рукою». Можна бачити, що r4 забарвлюється зеленим (колір сходинки MEM) у вікні Registers. Зауважимо, що остання інструкція програми halt (симулятор не має навіть примітивної програми монітора, що вже казати про операційну систему; отже, програміст мусить вручну гальмувати виконання програми саме такою інструкцією) вже уведена до конвеєра. / Clock 5 Натискаємо F7. Тут відбуваються цікаві події. Значення, призначене для r5, стає доступним для пересилання. Однак саме значення для r5 не було доступне вчасно для виконання інструкції dadd r3, r4, r5 у EX. Таким чином воно залишається в EX. У рядку стану написано "RAW зупинка в EX (R5)", вказуючи, де сталася зупинка, і відсутність якого регістру була причиною цього. Фігури в вікнах Clock Cycle Diagram і Pipeline чітко вказують на те, що інструкція dadd “застрягла” в сходинці EX, і що всі інструкції за нею також неспроможні пересуватися конвеєром далі. У вікні Clock Cycle Diagram інструкцію dadd підсвічено блакитним, а інструкції, що розташовані за нею “посіріли”. / Clock 6 Натискаємо F7. Інструкція dadd r3,r4,r5 нарешті виконується, а щойно отримана сума, призначена для запису до r3, паралельно стає досяжною для виконання випередження (зі сходинки execute). Отримано значення 0х12, що є сумою 10 + 8 = 18 в десятковій. Це і є відповідь програми. / Clock 7 Натискаємо F7. Інструкція halt, вже уведена до конвеєра, спричинює ефект “закриття” конвеєра. По ній вже жодна інша інструкція не уводиться до конвеєра, а сам конвеєр поступово спорожнюється, він сходинки IF до сходинки WB. / Clock 8 Натискаємо F7. Перевіряємо пам’ять даних Data , де фіксуємо, що змінна C набула значення 0х12. Інструкція sd r3,C(r0) записала це значення до пам’яті на сходинці MEM конвеєра, використовуючи випереджені дані з виходу IF, які вже нормально, без випередження записуються до регістра r3. Clock 9 та Clock 10 Натискаємо F7 двічі. Програма фінішує./ / Висновок: здобув знання в роботі з технікою роботи з архітектурним симулятором WinMIPS64, машини з 64-розрядною RISC архітектурою MIPS64.
Антиботан аватар за замовчуванням

08.04.2025 11:56

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!