Флинова подела

Из Википедије, слободне енциклопедије
Флинова подела
  Једноструке инструкције Вишеструке инструкције
Једноструки подаци SISD MISD
Вишеструки подаци SIMD MIMD

Флинова подела је класификација рачунарских архитектура, коју је предложио Мајкл Џ. Флин (Michael J. Flynn) 1996.[1][2]

Класификације[уреди]

Четири класификације, које је дефинисао Флин, су базиране на броју конкурентрних инструкција (или контроле) и стримова података који су доступни у архитектури:

Једноструке инструкције, једноструки стримови података (SISD)
Секвенцијалан рачунар који не експлоатише паралелизам било у инструкцијском или стриму података. Једна контролна јединица (енгл single control unit, CU) хвата један стрим инструкција (енгл. instruction stream, IS) из меморије. CU онда генерише одговарајуће сигнале да би детектовао елемент обраде (енгл. processing element, PE) да би обрађивао стрим података (енгл. data stream, DS), тј. да би обрађивао једну по једну операцију.
Примери SISD архитектуре су традиционалне унипроцесорске машине као што је персонални рачунар (енгл. Personal Computer, PC; данашњи PC-јеви имају више процесора) или старији мејнфрејм рачунари (енгл. mainframe computer).
Једноструке инструкције, вишеструки стримови података (SIMD)
Компајлер који експлоатише вишеструке стримове података, у односу на једноструки стрим инструкција, да би извршио операције које могу бити природно паралелизоване. На пример процесорски низ или GPU.
Вишеструке инструкције, једноструки стримови података (MISD)
Вишеструке инструкције оперишу над једноструким стримовима података. Неуобичајена архитектура која се углавном користи за толерисање грешака. Хетерогени системи оперишу над истим стримовима података али морају да се задовоље резултатом. Примери укључују рачунар за контролу лета спејс шатлова[тражи се извор од 12. 2013.]
Вишеструке инструкције, випеструки стримови података (MIMD)
Вишеструки аутономни процесори истовремено извршавају различите инструкције над различитим подацима. Дистрибуирани системи се обично препознају по MIMD архитектурама, било експлоатисањем једног простора за дељену меморију или једног простора за дистрибуирану меморију. Вишејезгарни суперскаларни процесор је MIMD процесор.

Дијаграм поређења класификација[уреди]

Визуелно, ове 4 архитектуре су приказане испод где је сваки "PU" централна процесорска јединица:

SISD MISD
SISD.svg MISD.svg
SIMD MIMD
SIMD.svg MIMD.svg

Даља подела[уреди]

Од 2006., сви од најбољих 10 и већина најбољих 500 суперрачунара су базирани на MIMD архитектури.

Неке даље поделе деле MIMD категорију у две категорије испод,[3][4]

SPMD[уреди]

Vista-xmag.png За више информација погледајте чланак SPMD

Један програм, вишеструки подаци (енгл. Single Program, Multiple Data): вишеструки аутономни процесори истовремено извршавају један програм (али у независним тренуцима пре него у локстепу (енгл. lockstep) који SIMD предлаже) над различитим подацима. Такође се односи на 'једноструке инструкције, вишеструки стримови података'[5] - корист ове терминологије за SPMD је погрешна и треба се избећи, јер је SPMD модел паралелног извешавања и претпоставља да вишеструки кооперативни процеси извршавају програм. SPMD је најчешћи стил паралелног програмирања.[6] SPMD модел и термин је предложила Фредерика Дарема (Frederica Darema).[7] Грегори Ф. Фистер (Gregory F. Pfister) је био менаџер RP3 пројекта, а Дарема је била део RP3 тима.

MPMD[уреди]

Више програма, вишеструки подаци (енгл. Multiple Program, Multiple Data): вишеструки аутономни процесори истовремено извршавају најмање 2 независна програма. Типично, овакви системи бирају један чвор који ће бити „домаћин“ ("експлицитан домаћин/модел програмирања чворова“, енгл. host) или менаџер ("менаџер/радник“ стратегија), који покраће један програм који скупља податке у све остале чворове који покраћу други програм. Ти други чворови онда враћају своје резултате директно менаџеру. Један пример овога би била игразка конзола Sony PlayStation 3, са својом SPU/PPU архитектуром процесора.

Референце[уреди]

  1. ^ doi:10.1109/TC.1972.5009071
    This citation will be automatically completed in the next few minutes. You can jump the queue or expand by hand
  2. ^ doi:10.1109/2.44900
    This citation will be automatically completed in the next few minutes. You can jump the queue or expand by hand
  3. ^ „Single Program Multiple Data stream (SPMD)“. Llnl.gov Приступљено 9. 12. 2013.. 
  4. ^ „CTC Virtual Workshop“. Web0.tc.cornell.edu Приступљено 9. 12. 2013.. 
  5. ^ Грешка цитирања Лоша ознака <ref>; нема текста за ref-ове под именом autogenerated1.; $2
  6. ^ „Single program multiple data“. Nist.gov. 17. 12. 2004. Приступљено 9. 12. 2013.. 
  7. ^ doi:10.1016/0167-8191(88)90094-4
    This citation will be automatically completed in the next few minutes. You can jump the queue or expand by hand

Спољашње везе[уреди]