DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Практика роботи з архітектурним симулятором WINMIPS64

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра ЗІ / Звіт до лабораторної роботи №1 з курсу: «Архітектура комп’ютерних систем» на тему: «Практика роботи з архітектурним симулятором WINMIPS64» Мета роботи Опанування технікою роботи з архітектурним симулятором WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64. Завдання Виконати пункти 2 та 3 згідно варіанту поданого нижче. Для операції віднімання використати інструкцію dsub. Варіант Число А Число В Арифметична операція  24 31 2 -   Початок виконання роботи     .data A:  .word 31 B:  .word 2 C:  .word 0     .text main:     ld r4,A(r0)     ld r5,B(r0)     dsub r3,r4,r5     sd r3,C(r0)     halt Код програми мовою асемблера Секція .data містить дані, над якими програма виконує операцію. В даному випадку маємо три змінні зі значеннями 31, 2 та 0. Секція main містить власне виконуваний код: Інструкція LD rt, offset(base) завантажує подвійне машинне слово з пам’яті в вказаний регістр rt значення з пам’яті зі зсувом offset. Інструкція DSUB rd, rs, rt виконує віднімання значень регістрів rs та rt зі збереженням результату в регістр rd. Інструкція SD rt, offset(base) виконує протилежну до LD функцію, тобто зберігає значення регістру в комірку пам’яті зі зсувом offset. Інструкція HALT переводить процесор в стан HALT. Pass 1 completed with 0 errors 00000000              .data 00000000 000000000000001f A:  .word 31 00000008 0000000000000002 B:  .word 2 00000010 0000000000000000 C:  .word 0 00000000              .text 00000000          main: 00000000 dc040000     ld r4,A(r0) 00000004 dc050008     ld r5,B(r0) 00000008 0085182e     dsub r3,r4,r5 0000000c fc030010     sd r3,C(r0) 00000010 04000000     halt Pass 2 completed with 0 errors Code Symbol Table                 main = 00000000 Data Symbol Table                    A = 00000000                    B = 00000008                    C = 00000010 Результат перевірки Бачимо, що програма пройшла процес перевірки без помилок. Відкриваємо симулятор WinMIPS64 та завантажуємо в нього написану програму. Починаємо потактове виконання: Такт 0 / Інструкція за адресою 0000 знаходиться на етапі зчитування. Такт 1 / Інструкція за адресою 0000 знаходиться на етапі декодування, а інструкція за адресою 0004 тільки на етапі зчитування. Такт 2 / Інструкції продовжують рухатися в конвеєрі, інструкція за адресою 0000 перейшла у виконання. Цей процес є послідовним. Такт 3 / Інструкція за адресою 0000 на цьому етапі взаємодіє з основною пам’яттю, а саме виконує зчитування комірки зі зсувом 0000, але запис в регістр R4 відбудеться на наступному такті. Такт 4 / Бачимо, що значення регістру R4 змінилося з 0х00 на 0x1f (31). Друга інструкція LD за адресою 0004 здійснила взаємодію з основною пам’яттю та змінить регістр R5 на наступному такті. Такт 5 / Регістр R5 змінив значення з 0x00 на 0х02 (2), а інструкція DSUB за адресою 0008 перейшла на етап виконання та зупинилася в RAW Stall. Такт 6 / Регістр R3 містить результат роботи інструкції за адресою 0008. Такт 7 / Інструкція LD за адресою 000с отримає доступ до регістру R3 та на наступному такті перенесе значення в комірку пам’яті зі зсувом 0010. Такт 8 / Такт 9 / Виконання інструкції HALT за адресою 0010, виконання програми завершено, процесор переведено в режим HALT. Такт 10 / Конвеєр очищено. Загалом, на виконання програми було використано 10 тактів, програма складалася з 5 операцій та чотирьох інструкцій. Оскільки програма виконувалася з увімкненим випередженням, тобто такти могли виконуватися без затримок, присутніх в реальному процесорі, то час виконання скоротився. З вимкненим випередженням програма виконується за 13 тактів, а діаграма тактів виглядає наступним чином: / Висновок
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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