|
Multiprotsessorsüsteemid Flynni klassifikatsioon
|
bet | 5/11 | Sana | 25.09.2020 | Hajmi | 0,86 Mb. | | #11657 |
Multiprotsessorsüsteemid Flynni klassifikatsioon
SISD (single instruction - single data) on kõige tavalisem ühe protsessoriga arvuti (von Neumanni arvuti).
MIMD (multiple instruction - multiple data) on kõige üldotstarbelisem multiprotsessorsüsteem, kus kõik protsessorid (protsessorelemendid) töötavad samaaegselt erinevate andmetega ja täidavad erinevaid käske
SIMD (single instruction - multiple data) on multiprotsessorsüsteem, kus kõik protsessorid täidavad samu käske kuid erinevate andmetega.
SIMD arvutid
SIMD arvutit kutsutatakse ka vektorarvutiks, sest sama operatsiooni täidetakse erinevate andmetega (andmete vektoriga). SIMD arvutil on üks programmimälu, kus hoitakse kõikide protsessorite poolt korraga täidetavaid käske. Samuti on tal üks keskne juhtseade, mis tagab programmi järjestikulise täitmise. Andmete jaoks võib igal protsessoril olla lokaalne mälu, kuid protsessoritel võib olla ligipääs ka ühisele globaalmälule. Kõik protsessorelemendid (PE) töötavad sünkroonselt, nad alustavad ja lõpetavad käsu täitmise samal ajal. Igal PEl on tavaliselt mõned registrid ja aritmeetika-loogikaseade. Hargnemiskäsud täidetakse juhtseadme poolt.
MIMD arvutid
MIMD arvuti puhul protsessorid täidavad samaaegselt erinevaid käske erinevate andmetega. Seetõttu on igal protsessorelemendil oma programmimälu või juurdepääs ühisele programmimälule. Samuti on tal ka lokaalmälu andmetele või juurdepääs ühisele andmemälule. Kuna kõik PEd töötavad koos mingi ühise ülesande lahendamiseks, on vaja mehanismi informatsiooni vahetamiseks PEde vahel. MIMD multiprotsessorsüsteemid saab jaotada kahte suurde rühma sõltuvalt sellest, kuidas toimub info vahetus PEde vahel:
ühismäluga multiprotsessorsüsteemid;
ilma ühismäluta multiprotsessorsüsteemid (message-passing systems).
Esimesed neid kasutavad ühist globaalset mälu, mis teeb võimalikuks kõikide PEde ligipääsu kõikidele andmetele. Teist liiki multiprotsessorsüsteemide puhul on protsessorid üksteisega ühendatud ja saavad omavahel infot vahetada.
Paralleelsed protsessid
Protsessi all mõistetakse tavaliselt ühte käsku või käskude jada. Protsessil on sisendid ja väljundid (tulemused). Paralleelsete protsesside puhul räägitakse kahte liiki paralleelsusest:
ilmutatud paralleelsus (explicit parallelism). Siin määrab programmeerija ise kindlaks, millised programmi osad täidetakse paralleelselt ja millised järjestikku.
ilmutamata paralleelsus (implicit parallelism). Kompilaator määrab ära, millised programmi osad on võimalik täita paralleelselt ja koostab sellele vastavalt algoritmi.
Ilmutatud paralleelsus
Programmeerija poolt defineeritud parallelismi toetavad spetsiaalsed programmeerimiskeeled:
Hargnemised defineeritakse käsuga FORK ja ühinemised käsuga JOIN.
|
| |