Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
Національний університет «Львівська політехніка»
ІКТА
Кафедра ЗІ
Лабораторна робота №1
з дисципліни: «Архітектура комп’ютерних систем»
на тему: «ПРАКТИКА РОБОТИ З АРХІТЕКТУРНИМ СИМУЛЯТОРОМ WinMIPS64»
Варіант - 24
Мета роботи – опанування технікою роботи з архітектурним симулятором WinMIPS64 машини з 64-розрядною RISC архітектурою MIPS64.
Завдання: Дослідити симулюванням виконання заданих викладачем машинних окремих інструкцій і пар інструкцій. За результатами проведених лабораторних досліджень оформити звіт та захистити його.
Асемблерні інструкції
.data
A: .word 14
B: .word 36
C: .word 0
.text
main:
ld r4,A(r0)
ld r5,B(r0)
dadd r3,r4,r5
sd r3,C(r0)
halt
Перед виконанням роботи перевіряємо коректність програми за допомогою asm.exe
Виконання програми:
Виконануємо програму у WinMIPS64. Ось так виглядає головна сторінка програми після відкриття файлу sum.s:
Для початку виконання першого циклу програминатискаємо F7:
При натисканні на F7 ще раз, бачимо, як змінюється забарвленість у вікні Code через введення червоного кольору для третьої сходинки EX конвеєра. Через це до конвеєра увійшла інструкція dadd r3,r4,r5:
Натискаємо на на F7 втретє, змінюється забарвленість вікна Code, уводячи зелену
забарвленість для четвертої сходинки MEM конвеєра. До конвеєра увійшла інструкція sd r3, C(r0):
Повторивши цю дію до 10 циклу, останній натиск завершить виконання програми:
Ми витратили 10 тактових циклів на виконання п’ятьох інструкцій. Значить, отримали середнє число тактових імпульсів CPI = 2 на одну інструкцію.
Як видно з часової діаграми на 6 такті при виконанні інструкції dadd r3,r4,r5 стоїть позначка RAW(read after write) це прискорене передання даних, на цей такт ця інструкція затримується в EX тому наступні інструкції затримуються на своїх місцях.
Часова діаграма виконання цієї програми без використання випередження:
По виконанню нашої програми, але вже без випередження, проаналізуємо вміст вікна статистики (Statistics). Зауважимо, що маємо аж 4 пригальмування класу RAW (додатково втрачено 4 – 1 = 3 такти). Отже програма “з’їла” 10 + 3 = 13 тактових циклів на виконання п’ятьох інструкцій, а середнє число тактів на виконання інструкції погіршилося і становить CPI = 2.600. Отже, продуктивність спрощеної версії процесора є нижчою. Повторимо поетапне виконання програми, переглянемо вікно статистики та порівняємо результати. Зауважимо, що є більше зупинок, оскільки інструкції затримуються в ID, очікуючи на реєстр, а отже, очікуючи більш ранньої інструкції для завершення WB.
Висновок: Під час виконання даної лабораторної роботи я навчилась працювати в навчальному стимуляторі WinMIPS64 з 64-розрядною RISC архітектурою. Дослідила роботу конвеєрного процесора, ознайомилась з затримками які виникають при виконанні певних команд.