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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра БІТ  Звіт до лабораторної роботи № 4 Програма ФАКТОРІАЛ З дисципліни “Архітектура комп’ютерних систем” Львів – 2011 Метою роботи є ознайомлення з програмою під назвою факторіал, а також вдосконалення базисної версії програми. Базисна версія програми. ; WINDLX Ex.3: Factorial ; (c) 1991 Guenther Raidl ; Modified: 1992 Maziar Khosravipour ; Program begin at symbol main ; requires module INPUT ; read a number from stdin and calculate the factorial (type: double) ; the result is written to stdout ;--- .data Prompt: .asciiz "An integer value >1 : " PrintfFormat: .asciiz "Factorial = %g\n\n" .align 2 PrintfPar: .word PrintfFormat PrintfValue:.space 8 .text .global main main: ;--- Read value from stdin into R1 addi r1,r0,Prompt jal InputUnsigned ;--- init values movi2fp f10,r1 ;R1 -> D0 D0..Count register cvti2d f0,f10 addi r2,r0,1 ;1 -> D2 D2..result movi2fp f11,r2 cvti2d f2,f11 movd f4,f2 ;1-> D4 D4..Constant 1 ;--- Break loop if D0 = 1 Loop: led f0,f4 ;D0<=1 ? bfpt Finish ;--- Multiplication and next loop multd f2,f2,f0 subd f0,f0,f4 j Loop Finish: ;--- write result to stdout sd PrintfValue,f2 addi r14,r0,PrintfPar trap 5 ;--- end trap 0 Результат виконання базисної програми Протокол роботи конвеєра  Протокол статистики  Як бачимо програма виконується за 145 цикли. Також в програмі присутні затримки конвеєра. Кількість RAW stalls рівна – 17. Усунути ці затримки можна перебудувавши код програми. Моя версія програми факторіал ; WINDLX Ex.3: Factorial ; (c) 1991 Guenther Raidl ; Modified: 1992 Maziar Khosravipour ; Program begin at symbol main ; requires module INPUT ; read a number from stdin and calculate the factorial (type: double) ; the result is written to stdout ;--- .data Prompt: .asciiz "An integer value >1 : " PrintfFormat: .asciiz "Factorial = %g\n\n" .align 2 PrintfPar: .word PrintfFormat PrintfValue:.space 8 .text .global main main: ;--- Read value from stdin into R1 addi r1,r0,Prompt jal InputUnsigned addi r2,r1,#0 subi r1,r1,1 Loop: mult r2,r2,r1 subi r1,r1,1 bnez r1,Loop sw PrintfValue,r2 addi r14,r0,PrintfPar trap 5 ;--- end trap 0 Результат виконання базисної програми Протокол роботи конвеєра  Протокол статистики  Як бачимо програма виконується за 121 цикл. Також в програмі присутні затримки конвеєра. Кількість RAW stalls рівна – 27. Результат виконання програми можна побачити подивившись у регістровому вікну за адресою r2  Висновок У даній лабораторній роботі я ознайомився з програмою під назвою факторіал.
Антиботан аватар за замовчуванням

22.05.2013 18:05-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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