360 likes | 422 Views
Проточност. Појам проточности Хазарди проточности Суперскаларност. Појам проточности. Боље перформансе могу се постићи коришћењем боље технологије, али и побољшањима у организацији. Један од распрострањених начина да се побољшају перформансе јесте проточност инструкција. Појам проточности.
E N D
Проточност Појам проточности Хазарди проточности Суперскаларност
Појам проточности • Боље перформансе могу се постићи коришћењем боље технологије, али и побољшањима у организацији. • Један од распрострањених начина да се побољшају перформансе јесте проточност инструкција.
Појам проточности • Проточност инструкција је слична монтажној траци у фабрици где производ пролази кроз различите фазе производње.
Појам проточности • Замислимо да се инструкција дели у две фазе: • Припрема инструкције. • Извршење инструкције.
Инструкција Инструкција Резултат Припрема Извршење Појам проточности • Постоји време током извршења инструкције када се не приступа меморији. • То време се може искористити за прибављање наредне инструкције паралелно са извршењем текуће.
Појам проточности • Двостепени проточни систем убрзава извршење инструкције. • Ако су фазе припреме и извршења једнаког трајања, циклус инструкције биће преполовљен.
Појам проточности • Међутим, ово удвостручење брзине није вероватно из два разлога: • Време извршења је у општем случају дуже од времена припреме. • Инструкције условног гранања чине да је адреса инструкције која ће се наредна прибавити у ствари непозната.
Нова адреса чекање чекање Резултат Инструкција Инструкција Припрема Извршење Одбаци Појам проточности
Појам проточности • Ако претпоставимо да неће бити гранања, и ако се то испостави као тачно, нема губитка времена.
Појам проточности • Поменути фактори редукују потенцијал-ну ефикасност двостепеног проточног система, али се ипак јавља извесно убрзање. • Да би се добило веће убрзање проточни систем мора да има више проточних степени.
Појам проточности • ЗАКЉУЧАК: Проточност је имплементациона техника код које се извршење више инструкција преклапа. Циљ проточности је да се повећа пропусна моћ процесора а тиме и брзина извршења инструкција.
Појам проточности • Процесор MIPS спада у RISC процесоре код којих је једна од главних карактеристика управо проточност.
Појам проточности • MIPS инструкције се обично састоје од пет фаза: • Прибављање инструкције из меморије. • Читање регистара истовремено са декодирањем инструкција (формат MIPS инструкција омогућава да се ово ради истовремено).
Појам проточности • Извршење операције или израчунавање адресе. • Приступ операндима у меморији за податке. • Упис резултата у регистар.
Појам проточности • Проточни систем који се састоји од пет степени (за сваку од фаза) могао би да преклапа извршење инструкција. • Оно што погодује проточности код MIPS-a je: • Иста дужина инструкција. • Мали број формата инструкција. • Меморијски операнди само код loadи store.
Појам проточности • Идеално убрзање које се добија једнако је броју проточних степени. • Међутим, у пракси се оно не постиже! Зашто?
Хазарди проточности • Постоје ситуације у проточном систему када наредна инструкција не може да се изврши у наредном тактном периоду. • Овакви догађаји називају се хазардима и један су од основих узрока што се не може достићи идеално убрзање.
Хазарди проточности • Следеће врсте хазарда постоје: • Структурни хазарди. • Управљачки хазарди. • Хазарди (зависности) по подацима.
Хазарди проточности • Структурни хазарди се јављају када у систему не постоји довољно хардверских ресурса па се различите фазе инструкција не могу извршити истовремено. • Таква врста хазарда би се често јављала ако меморија за податке и меморија за инструкције не би биле одвојене.
Хазарди проточности • Управљачки хазарди се јављају услед инструкција условног гранања, јер се не може одмах знати да ли ће се гранање заиста извршити или не. • Оваква ситуација може се разрешити привременим застојем (док се не комплетира друга фаза) у проточномм систему док се не израчуна услов гранања (појава мехура).
Хазарди проточности • Застој лоше утиче на перформансе проточног система па се често користи предвиђање гранања. • Још једна техника која се користи за разрешење управљачких хазарда назива се закашњено гранање (користи се код MIPS-а).
Хазарди проточности • Код ове технике асемблер преуређује инструкције тако да инструкција пре инструкције гранања дође иза, а уколико гранање треба да се деси оно се одлаже док се не заврши наредна инструкција. add $s4,$s5,$s6 beq $s1,$s2,40 beq $s1,$s2,40 add $s4,$s5,$s6 lw $s3,300($zero) lw $s3,300($zero)
Хазарди проточности • Хазарди података јављају се када нека инструкција зависи од резултата друге инструкције која је још увек у проточном систему. add $s0,$t0,$t1 sub $t2,$s0,$t3
Хазарди проточности • Ова секвенца инструкција крије у себи такву врсту хазарда обзиром да инструкција add уписује свој резултат тек у петој фази а он је потребан за инструкцију sub.
Хазарди проточности • У овом случају потребан су три “мехура” и проточном систему. • Компилатори могу преуређењем инструкција да покушају избегавање таквих хазарда, али ни то неће помоћи ако се овакве зависности јављају исувише често.
Хазарди проточности • Основно решење овог проблема заснива се на запажању да не морамо да чекамо да се инструкција комплетира да би се побринули за решење хазарда.
Хазарди проточности • Преузимање потребног податка пре него се он упише на одредиште назива се прослеђивање или премошћавање. • Ако регистарска инструкција зависи од претходне инструкције типа load ипак мора да се јави мехур.
Хазарди проточности • Преуређењем инструкција могу се избећи мехурови. • Посматрајмо секвенцу lw $t0,0($t1) lw $t2,4($t1) sw $t2,0($t1) sw $t0,4($t1) • Уочимо зависности по подацима и преуредимо инструкције тако да се избегну застоји у проточном систему.
Хазарди проточности • Хазард се јавља у вези регистра $t2 између друге lw инструкције и прве sw инструкције. • Заменом места двема sw инструкцијама можемо избећи хазард. lw $t0,0($t1) lw $t2,4($t1) sw $t0,4($t1) sw $t2,0($t1)
Инструкција 1 упис Инструкција 2 читање Инструкција 1 Инструкција 1 упис читање Инструкција 2 Инструкција 2 упис упис Хазарди проточности • У општем случају јављају се три врсте зависности по подацима: • Read-after-write (RAW). • Write-after-read (WAR). • Write-after-write (WAW).
Суперскаларност • Суперскаларност значи да постоји могућност иницирања већег броја инструкција у истом тактном периоду. • Ово је омогућено на тај начин што постоји више примерака проточних степени.
Регистри за целобројне вредности Регистри за вредности у покретном зарезу Проточне функционалне јединице Меморија Сл. 1. Општа суперскаларна организација. Суперскаларност
EI IF ID WB Сукцесивне инструкције Време у основним циклусима 0 1 2 3 4 5 6 7 8 9 Сл. 2. Основна проточност. Суперскаларност
EI IF ID WB Сукцесивне инструкције Време у основним циклусима 0 1 2 3 4 5 6 7 8 9 Сл. 4. Суперскаларна обрада. Суперскаларност
Суперскаларност • Код суперскларних процесора карак-теристично је да се извршавају оне инструкције за које су спремни операнди, тј. не морају се инструкције извршавати у редоследу у ком су написане све док то не утиче на коректност програма.