1 / 36

Проточност

Проточност. Појам проточности Хазарди проточности Суперскаларност. Појам проточности. Боље перформансе могу се постићи коришћењем боље технологије, али и побољшањима у организацији. Један од распрострањених начина да се побољшају перформансе јесте проточност инструкција. Појам проточности.

Télécharger la présentation

Проточност

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Проточност Појам проточности Хазарди проточности Суперскаларност

  2. Појам проточности • Боље перформансе могу се постићи коришћењем боље технологије, али и побољшањима у организацији. • Један од распрострањених начина да се побољшају перформансе јесте проточност инструкција.

  3. Појам проточности • Проточност инструкција је слична монтажној траци у фабрици где производ пролази кроз различите фазе производње.

  4. Појам проточности • Замислимо да се инструкција дели у две фазе: • Припрема инструкције. • Извршење инструкције.

  5. Инструкција Инструкција Резултат Припрема Извршење Појам проточности • Постоји време током извршења инструкције када се не приступа меморији. • То време се може искористити за прибављање наредне инструкције паралелно са извршењем текуће.

  6. Појам проточности • Двостепени проточни систем убрзава извршење инструкције. • Ако су фазе припреме и извршења једнаког трајања, циклус инструкције биће преполовљен.

  7. Појам проточности • Међутим, ово удвостручење брзине није вероватно из два разлога: • Време извршења је у општем случају дуже од времена припреме. • Инструкције условног гранања чине да је адреса инструкције која ће се наредна прибавити у ствари непозната.

  8. Нова адреса чекање чекање Резултат Инструкција Инструкција Припрема Извршење Одбаци Појам проточности

  9. Појам проточности • Ако претпоставимо да неће бити гранања, и ако се то испостави као тачно, нема губитка времена.

  10. Појам проточности • Поменути фактори редукују потенцијал-ну ефикасност двостепеног проточног система, али се ипак јавља извесно убрзање. • Да би се добило веће убрзање проточни систем мора да има више проточних степени.

  11. Појам проточности • ЗАКЉУЧАК: Проточност је имплементациона техника код које се извршење више инструкција преклапа. Циљ проточности је да се повећа пропусна моћ процесора а тиме и брзина извршења инструкција.

  12. Појам проточности • Процесор MIPS спада у RISC процесоре код којих је једна од главних карактеристика управо проточност.

  13. Појам проточности • MIPS инструкције се обично састоје од пет фаза: • Прибављање инструкције из меморије. • Читање регистара истовремено са декодирањем инструкција (формат MIPS инструкција омогућава да се ово ради истовремено).

  14. Појам проточности • Извршење операције или израчунавање адресе. • Приступ операндима у меморији за податке. • Упис резултата у регистар.

  15. Појам проточности • Проточни систем који се састоји од пет степени (за сваку од фаза) могао би да преклапа извршење инструкција. • Оно што погодује проточности код MIPS-a je: • Иста дужина инструкција. • Мали број формата инструкција. • Меморијски операнди само код loadи store.

  16. Појам проточности

  17. Појам проточности • Идеално убрзање које се добија једнако је броју проточних степени. • Међутим, у пракси се оно не постиже! Зашто?

  18. Хазарди проточности • Постоје ситуације у проточном систему када наредна инструкција не може да се изврши у наредном тактном периоду. • Овакви догађаји називају се хазардима и један су од основих узрока што се не може достићи идеално убрзање.

  19. Хазарди проточности • Следеће врсте хазарда постоје: • Структурни хазарди. • Управљачки хазарди. • Хазарди (зависности) по подацима.

  20. Хазарди проточности • Структурни хазарди се јављају када у систему не постоји довољно хардверских ресурса па се различите фазе инструкција не могу извршити истовремено. • Таква врста хазарда би се често јављала ако меморија за податке и меморија за инструкције не би биле одвојене.

  21. Хазарди проточности • Управљачки хазарди се јављају услед инструкција условног гранања, јер се не може одмах знати да ли ће се гранање заиста извршити или не. • Оваква ситуација може се разрешити привременим застојем (док се не комплетира друга фаза) у проточномм систему док се не израчуна услов гранања (појава мехура).

  22. Хазарди проточности • Застој лоше утиче на перформансе проточног система па се често користи предвиђање гранања. • Још једна техника која се користи за разрешење управљачких хазарда назива се закашњено гранање (користи се код MIPS-а).

  23. Хазарди проточности • Код ове технике асемблер преуређује инструкције тако да инструкција пре инструкције гранања дође иза, а уколико гранање треба да се деси оно се одлаже док се не заврши наредна инструкција. add $s4,$s5,$s6 beq $s1,$s2,40 beq $s1,$s2,40 add $s4,$s5,$s6 lw $s3,300($zero) lw $s3,300($zero)

  24. Хазарди проточности • Хазарди података јављају се када нека инструкција зависи од резултата друге инструкције која је још увек у проточном систему. add $s0,$t0,$t1 sub $t2,$s0,$t3

  25. Хазарди проточности • Ова секвенца инструкција крије у себи такву врсту хазарда обзиром да инструкција add уписује свој резултат тек у петој фази а он је потребан за инструкцију sub.

  26. Хазарди проточности • У овом случају потребан су три “мехура” и проточном систему. • Компилатори могу преуређењем инструкција да покушају избегавање таквих хазарда, али ни то неће помоћи ако се овакве зависности јављају исувише често.

  27. Хазарди проточности • Основно решење овог проблема заснива се на запажању да не морамо да чекамо да се инструкција комплетира да би се побринули за решење хазарда.

  28. Хазарди проточности • Преузимање потребног податка пре него се он упише на одредиште назива се прослеђивање или премошћавање. • Ако регистарска инструкција зависи од претходне инструкције типа load ипак мора да се јави мехур.

  29. Хазарди проточности • Преуређењем инструкција могу се избећи мехурови. • Посматрајмо секвенцу lw $t0,0($t1) lw $t2,4($t1) sw $t2,0($t1) sw $t0,4($t1) • Уочимо зависности по подацима и преуредимо инструкције тако да се избегну застоји у проточном систему.

  30. Хазарди проточности • Хазард се јавља у вези регистра $t2 између друге lw инструкције и прве sw инструкције. • Заменом места двема sw инструкцијама можемо избећи хазард. lw $t0,0($t1) lw $t2,4($t1) sw $t0,4($t1) sw $t2,0($t1)

  31. Инструкција 1 упис Инструкција 2 читање Инструкција 1 Инструкција 1 упис читање Инструкција 2 Инструкција 2 упис упис Хазарди проточности • У општем случају јављају се три врсте зависности по подацима: • Read-after-write (RAW). • Write-after-read (WAR). • Write-after-write (WAW).

  32. Суперскаларност • Суперскаларност значи да постоји могућност иницирања већег броја инструкција у истом тактном периоду. • Ово је омогућено на тај начин што постоји више примерака проточних степени.

  33. Регистри за целобројне вредности Регистри за вредности у покретном зарезу Проточне функционалне јединице Меморија Сл. 1. Општа суперскаларна организација. Суперскаларност

  34. EI IF ID WB Сукцесивне инструкције Време у основним циклусима 0 1 2 3 4 5 6 7 8 9 Сл. 2. Основна проточност. Суперскаларност

  35. EI IF ID WB Сукцесивне инструкције Време у основним циклусима 0 1 2 3 4 5 6 7 8 9 Сл. 4. Суперскаларна обрада. Суперскаларност

  36. Суперскаларност • Код суперскларних процесора карак-теристично је да се извршавају оне инструкције за које су спремни операнди, тј. не морају се инструкције извршавати у редоследу у ком су написане све док то не утиче на коректност програма.

More Related