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

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

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

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

Лабораторна робота №1. Програма цикл

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра електронних обчислювальних машин

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

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Архітектура комп’ютерів та комп’ютерних систем
Група:
БІ
Коротко про документ

Про що ця робота

У роботі досліджено виконання програм-циклів на симуляторі універсального процесора. Оцінено вплив затримок конвеєра та запропоновано оптимізацію коду.

У роботі розглядаються

  • Архітектура комп'ютерів
  • Конвеєр процесора
  • Залежність даних
  • Симулятор процесора
  • Оптимізація коду
  • Апаратні засоби

Зміст і розділи

  1. Базова частина
  2. Текст програми
  3. Циклове вікно
  4. Вікно статистики
  5. Експериментальна частина
  6. Модифікований текст програми
  7. Висновки
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Мельник В. А.

Ключові поняття

інструкціязатримка конвеєрапам'ятьциклоптимізаціямікроархітектура

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” / Лабораторна робота №1 Програма Цикл Львів 2016 Базова частина Мета: опанування студентом технологій обробки потоку інструкцій конвеєром універсальних процесорів (на прикладі обробки програм певних типів) та отримання навичок з кількісного оцінювання ефективності мікроархітектур цих процесорів. Завдання: Завантажити базисну версію програми до симулятора. Спланувати використаня комірок головної пам’яті та записати до них вихідні дані. Виконати програму у кроковому режимі. Перевірити результат виконання програми. Пояснити подані вікнами (циклове вікно, вікно статистик) симулятора протоколи виконання програми. Зробити висновки за результатами симуляції виконання програми. Текст програми: Loop: Lw r2,0(r1) ;get next A value Lw r3,20(r1) ;get next B value Add r2,r2,r3 ;update A Sw 40(r1),r2 ;store new A Addi r1,r1,#4 ;update counter Subi r4,r1,#16 ;check to see if done Bnez r4,Loop ;repeat loop if not done Trap 0 ;end Циклове Вікно: / З рисунку наведеного вище, який представляє циклове вікно стимулятора видно, що на виконання 3-ї, 4-ї і 7-ї інструкції витрачено по 6 циклів на кожну замість 5-ти. Це пояснюється затримкою конвеєра (R-Stall) через RAW-залежність даних між інструкціями 2 і 3 та 5 і 6 , і автоматично спричиненою цим затримкою Stall на 1 цикл інструкції 4. З рисунка чітко видно випереджувальне пересилання даних до виконавчої сходинки інструкції додавання, що позначено стрілками. Тут дані пересилають не з регістрового файла, а з відповідних полів конвеєрних регістрів. Вікно статистики: / На виконання програми витрачено 44 цикли, виникло 8 затримок R-Stalls. Експериментальна частина Мета: опанування студентом технології обробки потоку інструкцій конвеєром універсальних процесорів (на прикладі обробки програм певних типів) та отримання навичок з кількісного оцінювання ефективності мікроархітектур цих процесорів. Завдання: 1. Запропонувати заходи з покращення ефективності використання апаратних засобів процесора та скласти відповідну експериментальну версію базової програми. 2. Виконати експериментальну програму у кроковому режимі. Перевірити результат виконання програми. 3. Пояснити подані вікнами (циклове вікно, вікно статистик) симулятора протоколи виконання програми. 4. Подати кількісні значення тих характеристик, які доводять зростання ефективності роботи апаратних засобів. 5. Зробити висновки за результатами виконання експерименту. Модифікований текст програми: / Циклове вікно: / Як видно з рисунка наведеного вище затримок конвеєра, які виникали через залежність даних між інструкціями вдалось уникнути за допомогою переміщення інструкцій. Вікно статистики: / На виконання програми витрачено 36 циклів, немає жодної затримки R-Stalls. Отже, запропонований варіант програми ефективніший від попереднього. Висновки: в ході лабораторної роботи було досліджено 2 програми додавання масивів чисел. Перша програма викликала затримки конвеєра через залежність даних між інструкціями. Цю проблему було вирішено другою програмою, переміщенням інструкцій. Отже, переміщення інструкцій дає можливість позбавитись затримок конвеєра.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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