Sunteți pe pagina 1din 18

Sisteme cu procesoare multiple

Sisteme cu procesoare multiple

1. Obiective – locul, rolul şi principiile de organizare şi de funcţionare a


sistemelor cu procesoare multiple utilizate în conducerea proceselor.

2. Conexiuni cu alte discipline – Sisteme cu microprocesoare, Arhitecturi de


calculatoare, Comunicaţii în sisteme de conducere, Proiectarea aplicaţiilor de
timp real,

3. Domenii de utilizare – sisteme de conducere a roboţilor industriali, comenzi


numerice pentru maşini-unelte, sisteme flexibile de fabricaţie.

4. Structura cursului
Cap.1. Caracterizarea sistemelor cu elemente de prelucrare multiple
Cap.2. Facilităţi de lucru în regim multiprocesor ale µP de uz general
Cap.3. Sisteme multiprocesor cu module funcţionale distribuite
Cap.4. Sisteme multiprocesor cu module funcţionale concentrate
Cap.5. Sistemul de programe de bază al structurilor multiprocesor
Cap.6. Sisteme multiprocesor bazate pe transputere

5. Bibliografie

1. Anderson, D., ISA System Architecture, Prentice Hall Intl., 1996


2. Babuţia, I., ş.a., Conducerea automată a proceselor, Ed. Facla,
Timişoara, 1985
3. Borangiu, Th., ş.a., Conducerea multiprocesor în timp real a structurilor
flexibile de fabricaţie, Ed. Tehnică, Bucureşti, 1989
4. Graham, I., ş.a., The Transputer Handbook, Prentice Hall, 1989
5. Huţanu, C., Postolache, M., Microcontrolerele MCS 51 şi compatibile.
Arhitectură şi programare, Ed. Tehnica-Info, Chişinău, 2002
6. Huţanu, C., Postolache, M., Sisteme cu microprocesoare în conducerea
automată a proceselor, vol.1, ediţia a II-a, Ed. Academica, Iaşi, 2001
7. Toderean, G., ş.a., Transputere şi procesoare de semnal, Ed.
Microinformatica, 1993
8. *** Intel Corp., 80286 Hardware Reference Manual, 1987
9. *** AMD, Inc., Personal Computer Microprocessors Data Book, 1991
10. *** CSA, Inc., Logical Systems Parallel C, 1991

1
Sisteme cu procesoare multiple

Capitolul 1

Caracterizarea sistemelor cu elemente de prelucrare multiple

Exploatarea la maximum a performanţelor unui sistem de conducere cu


microprocesor

Sistem monoprocesor Sistem multiprocesor

Concurenţă aparentă Concurenţă reală

Problema de conducere este împărţită Mai multe task-uri sunt alocate şi


în sarcini (task-uri), care sunt executate în paralel, fiecare pe câte
gestionate, controlate şi sincronizate un procesor.
de nucleul unui executiv de timp real,
care lucrează în timp partajat.

Planificarea în timp a execuţiei Repartiţia task-urilor pe procesoare


task-urilor

Comutaţia task-urilor Comutaţia între procesoare:


determinarea celor mai eficiente
structuri de interconectare a
procesoarelor.

Accesul la resursele comune – Accesul la resursele comune –


dimensiune logică. dimensiune logică + fizică.

Imunitatea la defecte – dimensiune Imunitatea la defecte – dimensiune


logică. logică + fizică.

Concluzie: Funcţiile nucleului executivului de timp real trebuie implementate şi


în hardware.

Soluţie: utilizarea unor tehnici speciale de comunicare, de asignare a


priorităţilor şi de arbitrare între procesoare, implementate atât la nivel
hardware, cât şi prin software.

Criterii de clasificare a sistemelor cu procesoare multiple:


• Structura logică
• Structura fizică
• Modul de intreracţiune
• Modul de prelucrare a informaţiilor

2
Sisteme cu procesoare multiple

1.1. Structura logică

Structura logică - modul în care funcţiile de control sunt distribuite între


elementele sistemului.

Organizarea verticală

EPM Master

Slave
EPS

Organizarea verticală simplă (2 niveluri)

EPM Master

Slave
EPm
Master

Slave
EPS

Organizarea piramidală(>2 niveluri)

Fig.1. Organizarea verticală a sistemelor cu elemente de prelucrare multiple

Caracteristici:
• nu toate elementele sunt echivalente din punct de vedere logic;
• în orice moment, numai un element poate acţiona ca master (fără a fi, în mod
obligatoriu, acelaşi element de fiecare dată);
• hard-ul slave-urilor poate fi identic, caz în care, specializarea funcţională se
realizează numai prin software;
• toate comunicaţiile între elementele de prelucrare se fac prin master sau sunt
iniţiate de el.

3
Sisteme cu procesoare multiple

Organizarea orizontală

Coordonare mai sofisticată, deoarece există un grad mai înalt de integrare logică
a elementelor de prelucrare componente (Fig.2).

EP

Fig.2. Organizarea orizontală a sistemelor cu elemente de prelucrare multiple

Caracteristici:
• nu există relaţii ierarhice între EP (acestea sunt echivalente din punct de
vedere logic);
• coordonarea poate fi făcută cu sau fără master;
• orice element poate comunica cu oricare alt element din sistem;
• este mai flexibilă, dar hard-ul elementelor este identic, ceea ce reduce
eficienţa sistemului datorită limitării specializării doar la cea software.

Flexibilitatea sporită a organizării orizontale este contrabalansată de un efort


de coordonare mai ridicat.

Organizarea hibridă (Fig.3).

EP

EPS

Fig.3. Organizarea hibridă a sistemelor cu elemente de prelucrare multiple

4
Sisteme cu procesoare multiple

1.2. Structura fizică

Structura fizică - ansamblul metodelor, tehnicilor şi strategiilor care stau la baza


transferului informaţiilor între EP.

Tipuri de componente hardware implicate în transferul de informaţie:


• căile de comunicaţie
• elementele de comutaţie

Căile de comunicaţie - mediile fizice prin care circulă informaţia; ele nu intervin
(în mod normal) asupra conţinutului informaţiei (au un rol pasiv): memoriile cu
acces multiplu, magistralele, repetoarele etc.

Elementele de comutaţie - elemente active, care intervin între EP transmiţător şi


EP receptor (unul sau mai multe); acestea afectează, de regulă, conţinutul
informaţiei transferate, prin:
• modificarea adresei de destinaţie;
• modificarea traseului urmat de informaţie etc.

După cum se utilizează sau nu elemente de comutaţie pe căile de comunicaţie,


strategia de comunicaţie poate fi indirectă sau directă.

Utilizarea memoriei drept cale de comunicaţie între EP conduc la o structură


fizică centralizată, iar utilizarea magistralei – la o structură fizică distribuită.

Transferuri mari de date - structuri ineficiente datorită conflictelor sporite pentru


accesul la resursele comune (de exemplu la căile de comunicaţie).

Sistemele de conducere a proceselor - descompunerea aplicaţiei în task-uri se


face cu minimizarea interacţiunilor dintre acestea deci şi a cantităţii de
informaţie vehiculată între procesoare; problema conflictelor pentru accesul la
căile de comunicaţie are o importanţă mai redusă.

În general se utilizează două tipuri de căi de comunicaţie (Fig.4):


• căi de comunicaţie dedicate;
• căi de comunicaţie partajate.

Cale partajată - orice cale de comunicaţie (de obicei bidirecţională) accesibilă din
mai mult de două puncte de acces, de aceea se mai numeşte şi cale multipunct.

Accesul la o astfel de cale ridică probleme de competiţie şi de dispută între EP


conectate la respectiva cale. De asemenea căile multipunct pot fi utilizate şi
5
Sisteme cu procesoare multiple

pentru transferuri speciale de informaţie, cum sunt cele cu difuzare totală sau de
grup. O cale dedicată este accesibilă numai din două puncte de acces (punct-la-
punct) şi poate avea caracter unidirecţional sau bidirecţional.

EP
EP

EM
Căi partajate
EC

EP EP

EC

Căi dedicate

Fig.4. Căi de comunicaţie între elementele de prelucrare

Din punct de vedere al implementării se disting două realizări extreme (Fig.5):

ML
P

P
Schemă de interconectare

MGP - Memorie Globală Partajată Reţea de interconectare

Fig.5. Realizări extreme pentru sisteme cu elemente de prelucrare multiple

6
Sisteme cu procesoare multiple

Structuri cu partajare globală de memorie - toate transferurile de informaţie se


fac prin intermediul unei memorii centrale comune – corespunde arhitecturii
clasice a sistemelor multiprocesor; EP nu au legături directe între ele şi nu
posedă memorii locale, deci se reduc la simple procesoare.

Structuri fără partajare globală de memorie – arhitecturi de tip reţea – toate


memoriile din sistem au un caracter pur local.

Structurile cu memorie comună au evoluat către sisteme hibride, care fac apel
într-o măsură mai mică la memorii centrale partajate, în schimb dispun de
memorii locale puternice, ceea ce le conferă o autonomie mai mare de
funcţionare.

Structurile hibride (Fig.6) sunt caracteristice sistemelor multiprocesor şi sunt


adecvate pentru conducere şi prelucrare distribuită, ceea ce nu se poate face cu
structurile clasice de tip multiprocesor.

ML

Schemă de interconectare

MGP

Fig.6. Structura hibridă a sistemelor multiprocesor

Topologia de interconectare - se referă atât la schema de interconectare a N


elemente de prelucrare, cât şi la gradul de conectivitate fizică al acestora.
Alegerea unei topologii de interconectare este influenţată şi de particularităţile de
transmitere printr-un anumit mediu de comunicaţie, precum şi de cerinţele
traficului din sistem.

Cerinţele de conectivitate rezultă din atributele specifice aplicaţiilor: se urmăreşte


o corespondenţă structurală avantajoasă între aplicaţii şi arhitectura sistemului
pe care aceasta urmează să ruleze.

7
Sisteme cu procesoare multiple

Din acest punct de vedere există:


• topologii cu conectare totală (permit transferuri directe între oricare două
procesoare);
• topologii cu conectivitate parţială (nu există comunicaţii directe între toate
elementele sistemului); este importantă conectivitatea minimală.

Gradul de simetrie permis în realizarea transferurilor directe între EP ale


sistemului este strâns legat de conectivitatea topologiei acestuia. O topologie
asigură o conectivitate simetrică dacă ea permite comunicaţii bidirecţionale între
toate elementele conectate fizic. În caz contrar, topologia se spune că realizează
o conectivitate asimetrică.

Topologiile care s-au impus (Fig.7) au corespuns unor criterii cum sunt
simplitate, fiabilitate, strategia eficientă de control a comunicaţiilor.

Topologia de tip stea – conectivitate fizică parţială, dar simetrică. Se utilizează


doar căi de comunicaţii dedicate, bidirecţionale între fiecare EP şi elementul
central de comunicaţie.

Topologia de tip magistrală comună – asigură o conectivitate fizică totală şi


simetrică, folosind o cale de comunicaţie liniară, partajată şi unitară.

Topologia de tip inel – asigură o conectivitate minimală şi nesimetrică, fiecare EP


comunică prin căi de comunicaţie unidirecţională şi dedicate numai vecinii săi
imediaţi (2).

EP

EP
EC

EP

Fig.7. Topologii uzuale de interconectare (stea, magistrală, inel)


8
Sisteme cu procesoare multiple

Topologia de tip plasă – este mai complexă decât celelalte, putând lua forme de
la o conectivitate totală (obţinută cu căi de comunicaţie dedicate) – la o
conectivitate parţială (dar minimală).

Existenţa căilor de comunicaţie între două elemente şi caracterul simetric sau


asimetric al acestora este decis pe baza analizei atente a mai multor factori (de
ex. eficienţă, flexibilitate, costuri).

Strategia de control a comunicaţiilor este strâns legată de topologia de


interconectare. În funcţie de gradul de distribuire a controlului între procesoare,
sunt întâlnite două tipuri de strategii de control:
• strategii centralizate, compatibile doar cu organizări logice verticale;
• strategii descentralizate - compatibile cu organizările logice orizontale.

1.3. Modul de interacţiune

Modul de interacţiune - este caracterizat în principal de gradul de cuplare şi de


natura informaţiilor vehiculate.

Cuplarea se referă la posibilitatea EP de a partaja resursele comune. Rezultă


două organizări extreme: cuplare strânsă, şi respectiv slabă. Există o legătură
directă între structura fizică şi gradul de cuplare.

Sistemele strâns cuplate - caracterizate de necesităţi frecvente de comunicaţie


şi sincronizare, ca mijloace tipice de interacţiune/cooperare între EP.

Necesităţile de cooperare rezultă din faptul că EP execută în paralel task-uri


aparţinând unei aceleiaşi aplicaţii partiţionate. Aceste sisteme sunt în mod
tradiţional cu structuri interconectate bazate pe partajarea unei memorii globale
şi sunt cunoscute sub numele de sisteme multiprocesor (sisteme cu procesoare
multiple).

Principalele caracteristici ale acestor sisteme:


1. Dispun de o memorie comună accesibilă tuturor procesoarelor din sistem. În
plus, fiecare procesor poate avea memorie locală.
2. Dispun de un sistem de operare comun, care asigură un control integrat la
nivel logic. Acesta controlează şi coordonează toate interacţiunile dintre
procesoare (fizice) şi procese (logice), alocând în mod dinamic sarcini de
prelucrare pe măsură ce acestea sunt primite de sistem.
3. Dispun de resurse partajate (facilităţi I/E), anumite resurse putând fi totuşi
gestionate de procesoare dedicate.

9
Sisteme cu procesoare multiple

4. Conţin procesoare de uz general, configurate simetric şi cu posibilităţi de


prelucrare comparabile.
5. Încărcarea sistemului este uzual partajată între toate procesoarele din sistem
prin redistribuirea dinamică a sarcinilor unui procesor supraîncărcat către alte
procesoare.
6. Fiecare dintre procesoarele sistemului are o anumită autonomie, care îi
permite să execute individual prelucrări semnificative (task-uri).
7. Partajarea resurselor şi comunicaţia interprocesor se realizează printr-o
sincronizare absolut necesară.

Limitare majoră - posibilitatea de apariţie a conflictelor de acces la memoria


globală partajată, care introduce în sisteme o “gâtuire” (bottleneck) odată cu
creşterea transferului, deci şi a numărului de procesoare.

Se utilizează trei scheme clasice de interconectare:


• magistrală comună;
• comutator matricial;
• memorie multiport.
M1 Mk

Magistrală comună

PE1 PEn I/E1 I/En

Fig.8. Interconectare printr-o magistrală comună

EM1 EM2 EMk

EP1
I/E1

EP2
I/E2

EPm
I/En

Fig.9. Interconectare printr-un comutator matricial


10
Sisteme cu procesoare multiple

EP1 EPm

EM1 EM2 EM3 EMk

I/E1 I/En

Fig.10. Interconectare cu ajutorul memoriei multiport

Sistemele slab cuplate - asociate cu structuri de interconectare de tip reţea,


bazate pe elemente de prelucrare independente.

Acestea nu partajează memorie în mod direct, ci comunică între ele prin mesaje.
În acest caz, noţiunea de element de prelucrare este sinonimă cu cea de sistem
cu microprocesor sau chiar calculator.

Comunicaţiile din sistem au un caracter ocazional: o cantitate limitată de date


este partajată, iar actualizările au o frecvenţă redusă.

Principalele caracteristici ale sistemelor slab cuplate:


1. Sunt constituite din subsisteme autonome, eterogene, dispersate geografic pe
arii largi.
2. Comunicaţia este separată de prelucrare, într-un sistem numit subreţea de
comunicaţie.
3. Căile de comunicaţie sunt partajate, din considerente economice şi datorită
caracterului ocazional al comunicaţiei.
4. Fiecare subsistem rulează un sistem de operare local, independent de reţea,
deci nu există un control global, unic, la nivelul sistemului. Modulele software
adăugate pentru comunicaţie şi partajare resurse formează aşa zisul sistem
de operare de reţea, care nu are decât rolul de a ascunde diferenţele dintre
sistemele de operare locale.
5. Fiecare subsistem are ataşat o interfaţă de comunicaţie, care implementează
un protocol de comunicaţie standard.

11
Sisteme cu procesoare multiple

Sisteme moderat cuplate - combină cele mai bune calităţi la fiecărei categorii.
Aceste structuri mai sunt cunoscute şi sub numele de sisteme cu
microprocesoare cu inteligenţă distribuită.

Ele pot fi, din perspectiva sistemelor multiprocesor, calculatoare distribuite, iar
din perspectiva reţelelor de calculatoare – reţele locale cu control distribuit.

Principalele caracteristici ale sistemelor moderat cuplate:


1. Fiecare subsistem constă dintr-o unitate centrală (microprocesor), memorie
locală RAM, ROM şi, eventual, poate utiliza sau controla periferice.
2. În mod ideal, fiecare subsistem este dedicat unui task specific (procesoare
dedicate pe task).
3. Structura sistemului nu este, în mod necesar, simetrică, deoarece
procesoarele sunt de complexităţi diferite.
4. Fiecare element hardware şi software este optimizat pentru sarcina pe care o
are de îndeplinit.
5. Comunicaţia între procesoare se realizează mai ales prin date şi mai puţin
prin comenzi. În anumite situaţii datele pot conţine comenzi sau răspunsuri la
comenzi.
6. În general, fiecare subsistem gestionează atât comanda perifericelor cât şi
comunicaţiile sistemului. În cazul unui trafic intens, sarcinile de comunicaţie
pot fi încredinţate unui alt procesor.

1.4. Modul de prelucrare a informaţiei

A) Sisteme cu prelucrare serie:


- Single Instruction - Single Data Stream (SISD) - sistemul clasic, von
Neumann, care execută instrucţiunile secvenţial, câte una odată, o
instrucţiune acţionând numai asupra unei singure date elementare.

B) Sisteme cu prelucrare paralelă:


- Multiple Instruction - Single Data Stream (MISD) – practic irealizabile.
- Single Instruction - Multiple Data Stream (SIMD) – care include procesoarele
matriciale şi cele asociative. Ele au o singură unitate de control care aduce şi
decodifică instrucţiunile şi care apoi difuzează controlul elementelor de
prelucrare.
- Multiple Instruction - Multiple Data Stream (MIMD) – multiprocesoarele
propriu-zise. Clasa MIMD, cea mai generală, cuprinde sisteme cu mai multe
procesoare, fiecare cu propria sa unitate de comandă.

12
Sisteme cu procesoare multiple

Această clasificare ia în considerare numai execuţia la nivelul instrucţiunii şi este


mult prea restrictivă pentru a include şi tendinţele actuale. Ultimele clasificări
(Fig.11) cuprind doar categoriile SIMD, pipe-line şi MIMD, ultima categorie având
la rândul ei trei direcţii, care reflectă gradul de interacţiune dintre procesoare.

Sisteme de prelucrare

SERIE PARALELĂ

SISD
SIMD MIMD
Maşini Procesoare
von pipe-line Procesoare
Neumann - matriciale
- asociative Strâns Moderat Slab
- ortogonale cuplate cuplate cuplate

Sisteme MTMD MJMD


multiprocesor Sisteme Reţele de
distribuite calculatoare

Magistrală Memorie Comutator


unică multiport matricial

Fig.11. Clasificarea sistemelor în funcţie de modul de prelucrare a informaţiei

Sistemele moderat cuplate - Multiple Task - Multiple Data Stream (MTMD).


Sistemele slab cuplate - Multiple Job - Multiple Data Stream (MJMD).

Sisteme SIMD

Sisteme cu procesor paralel – dispun de o singură unitate de comandă care


extrage şi decodifică instrucţiunile.

Execuţia unei instrucţiuni este realizată fie chiar de unitatea de comandă


(instrucţiuni de ramificare), sau este difuzată către alte elemente de prelucrare. O

13
Sisteme cu procesoare multiple

instrucţiune este executată de un vector de procesoare, care acţionează asupra


asupra unui vector de date (Fig.12).

EP
Procesor
1

Memorie
1
Procesor
de Procesor Subsistem
control 2 de comunicaţie
interprocesor
Memorie
2

Procesor
n

Memorie
Date şi n Magistrala memorie
instrucţiuni către I/E

Fig.12. Structura unui sistem SIMD

La rândul lor, sistemele SIMD se împart în mai multe subclase:


a) Procesoare matriceale – instrucţiunile prelucrează simultan vectori de date,
iar capacitatea unităţii de comandă este limitată.
Acestea sunt cele mai eficiente sisteme SIMD dacă avem în vedere raportul
cost / performanţă. Viteza de execuţie a acestui tip de organizare este foarte
mare datorită paralelismului operaţiilor pe diferite fluxuri de date. Pentru a
obţine această eficienţă sunt necesare trei condiţii:
1) prelucrarea datelor trebuie să poată fi descrisă printr-o instrucţiune
vectorială, care să efectueze aceeaşi operaţie asupra unui vector de date;
2) o viteză foarte mare de circulaţie a datelor între procesoare;
3) datele prelucrate în paralel să poată fi căutate în paralel.
Dacă cel puţin una din aceste condiţii nu este îndeplinită, prelucrarea va
decurge în serie.
14
Sisteme cu procesoare multiple

Elementele de prelucrare (EP) sunt independente între ele, fiecare dispune de


memorie şi registre proprii, dar lucrează sub controlul unei singure unităţi de
comandă.
Aplicaţii:
- rezolvarea ecuaţiilor diferenţiale;
- rezolvarea sistemelor liniare;
- calculul vectorial;
- prelucrarea semnalelor radar .

b) Ansamblu de procesoare – unitatea de comandă este un calculator central, iar


elementele de prelucrare comunică între ele trecându-şi mesajele prin el.
c) Procesoare asociative – accesează şi operează asupra datelor nu prin
adresă, ci prin conţinutul lor.
Acestea sunt un tip de procesoare matriciale în care elementele de prelucrare
nu sunt adresate direct. Ele sunt activate automat atunci când este satisfăcută
o anumită relaţie (<, = , >) între conţinutul unui registru încărcat de unitatea de
comandă şi datele conţinute în registrele asociative din elementele de
prelucrare.
Procesoarele selectate astfel de unitatea de comandă pornesc şi execută
următoarea instrucţiune, în timp ce celelalte rămân inactive (Fig.13).

Unitate de
control Registru

Registru EP Registru EP
asociativ asociativ

Fig.13. Tehnica de adresare prin conţinut

Aceste procesoare utilizează tehnica de adresare prin conţinut: datele nu sunt


citite de la o adresă de memorie, ci prelucrarea lor se face printr-o comparare cu
o valoare dată. Aceasta se poate referi la întregul cuvânt sau la părţi ale lui. Ca
şi la procesoarele matriciale, se efectuează operaţii aritmetice sau logice pe un
întreg şir de date. În schimb, în acest caz se elimină dezavantajul timpilor lungi
de căutare, accesul la date fiind direct.

O subdiviziune a procesoarelor asociative este cea a procesoarelor ortogonale.


Blocul de memorie poate fi adresat atât orizontal (cuvânt cu cuvânt) cât şi

15
Sisteme cu procesoare multiple

vertical (pe felii de câte un octet pentru mai multe elemente de prelucrare.
Adresarea verticală se realizează asociativ.

Microprocesoarele bipolare “bit-slice” sunt procesoare matriceale.

Procesoarele pipe-line – o variantă multiplexată în timp a procesoarelor


matriceale.

Ele conţin un număr de unităţi funcţionale specializate pe o anumită funcţie.


Aceste unităţi sunt aranjate ca într-o linie de asamblare. Fiecare job este divizat
în task-uri care vor fi executate simultan de diverse unităţi, cu date diferite.

Fiecare unitate primeşte noi date la intervale de timp ∆t. Când există n unităţi,
execuţia întregului job necesită n*∆t unităţi de timp. Totuşi, având n procesoare
funcţionând în paralel, fiecare constituind una din cele n etape prin care
evoluează job-ul pentru o execuţie completă, rezultă că pentru a rezolva k job-uri
sunt necesare n + (k − 1) unităţi de timp.

Procesoarele pipe-line au apărut datorită faptului că încărcarea în timp a


componentelor la procesoarele convenţionale este foarte redusă. Se poate
realiza pipe-line la două niveluri:
- la nivel de sistem: executarea unei instrucţiuni se face în patru etape:
1. extragere;
2. decodificare;
3. aducerea operandului;
4. execuţia propriu-zisă;
Prin repartizarea logicii corespunzătoare pe patru unităţi se pot realiza operaţii
legate de patru instrucţiuni simultan.
- la nivel de subsistem: în acest caz se utilizează unităţi pipe-line pentru
anumite operaţii (adunare în virgulă mobilă, înmulţire în virgulă mobilă etc).

Ambele procedee sunt utilizate pe scară largă în practică.

Procesoarele pipe-line îşi ating eficienţa dacă:


1) în timpul execuţiei instrucţiunilor apar cât mai puţine salturi;
2) există o dependenţă slabă între datele prelucrate.

Procesoarele pipe-line sunt dificil de încadrat într-o categorie (SIMD, MIMD).


Astfel, în cazul în care există mai multe subsisteme care implementează pipe-
line şi care funcţionează simultan, dacă considerăm că ele lucrează pe seturi
multiple de date atunci se poate vorbi de un sistem MIMD.
16
Sisteme cu procesoare multiple

Realizarea practică a sistemelor SIMD ridică mai multe probleme dificil de


rezolvat, una fiind comunicaţia între procesoare.

O altă problemă este cea a neconcordanţei între dimensiunea operandului


vectorial şi cea a vectorului de procesoare.
Dacă primul are dimensiunea m şi există n elemente de prelucrare în procesorul
matricial, cea mai eficientă funcţionare se obţine atunci când m este submultiplu
al lui n.

Dacă m >>n, scăderea eficienţei este neglijabilă.

În execuţia unui program există şi instrucţiuni care nu au un caracter vectorial, ci


doar pregătesc operaţiile vectoriale propriu-zise. Pentru a reduce scăderea
eficienţei datorate acestor instrucţiuni, se încearcă suprapunerea (cel puţin
parţială) execuţiei lor cu cea a instrucţiunilor vectoriale.

Sistemele SIMD permit o exploatare deosebit de eficientă a resurselor hardware,


datorită faptului că la un moment dat toate elementele de prelucrare execută
aceeaşi instrucţiune.

Sistemele SIMD conduc şi la dificultăţi în implementarea sistemelor de operare


care să le pună în valoare facilităţile specifice.

Sistemele MIMD

Acestea nu sunt destinate calculelor iterative sau vectoriale. În Fig.14 se prezintă


structura internă specifică acestor sisteme.

Paralelismul este realizat prin lucrul concurent la task-uri diferite, asupra unor
date diferite, combinând apoi rezultatul execuţiei task-urilor independente.

Pentru atingerea unei eficienţe ridicate este necesară o sincronizare riguroasă a


proceselor, precum şi o alocare raţională a task-urilor cu scopul echilibrării
încărcării procesoarelor.

SIMD - sincronizarea se realizează automat la nivelul fiecărei instrucţiuni şi unde


nu se pune problema alocării task-urilor, căci toate procesoarele execută
aceleaşi instrucţiuni (dar pe date diferite).

Sistemele MIMD se împart în două clase:


- sisteme distribuite;
- sisteme multiprocesor propriu-zise;

17
Sisteme cu procesoare multiple

Cerere externă Unitate de alocare task-uri Cerere internă


şi arbitrare
Magistrala de control

UCP1 I/E UCP1 I/E UCP1 I/E

ML P1 ML Pi ML Pn

Magistrala de date

Memorie partajată

Fig.14. Structura unui sistem MIMD

Sistemele distribuite - mai multe procesoare ce îndeplinesc funcţii dedicate, ca


părţi ale unui job partajat.

Procesoarele pot fi distribuite local sau geografic.

Task-urile şi acţiunile lor trebuie să fie complet cunoscute dinainte, astfel încât
funcţiile sistemului să poată să fie repartizate între elementele individuale de
prelucrare.

Sistemele multiprocesor propriu-zise - utilizează un sistem de operare unic


pentru a aloca dinamic sarcinile primite.

Sistemul de operare poate controla fiecare element de prelucrare sau există un


procesor de alocare a resurselor (MASTER), care poate aloca task-uri celorlalte
sisteme (SLAVES).

Elementele de prelucrare pot fi identice şi capabile să execute orice task (EP


simetrice) sau pot fi specializate pentru anumite funcţii (EP asimetrice).

18

S-ar putea să vă placă și