Simetria procesoruluiEdit

Într-un sistem de multiprocesare, toate procesoarele pot fi egale sau unele pot fi rezervate pentru scopuri speciale. O combinație de considerente de proiectare a hardware-ului și a software-ului sistemului de operare determină simetria (sau lipsa acesteia) într-un anumit sistem. De exemplu, considerente hardware sau software pot impune ca doar o anumită unitate centrală de procesare să răspundă la toate întreruperile hardware, în timp ce toate celelalte activități din sistem pot fi distribuite în mod egal între unitățile centrale de procesare; sau execuția codului în modul kernel poate fi limitată la o singură unitate centrală de procesare, în timp ce codul în modul utilizator poate fi executat în orice combinație de procesoare. Sistemele multiprocesare sunt adesea mai ușor de proiectat dacă sunt impuse astfel de restricții, dar tind să fie mai puțin eficiente decât sistemele în care sunt utilizate toate procesoarele.

Sistemele care tratează toate procesoarele în mod egal se numesc sisteme multiprocesare simetrice (SMP). În sistemele în care toate unitățile centrale de procesare nu sunt egale, resursele sistemului pot fi împărțite în mai multe moduri, inclusiv multiprocesarea asimetrică (ASMP), multiprocesarea cu acces neuniform la memorie (NUMA) și multiprocesarea în clustere.

Sistem multiprocesor master/slaveEdit

Într-un sistem multiprocesor master/slave, unitatea centrală de procesare master controlează calculatorul, iar unitatea (unitățile) centrală(e) de procesare slave execută sarcinile atribuite. CPU-urile pot fi complet diferite din punct de vedere al vitezei și al arhitecturii. Unele (sau toate) dintre unitățile centrale de procesare pot avea un bus comun, fiecare poate avea, de asemenea, un bus privat (pentru resurse private) sau pot fi izolate cu excepția unei căi de comunicații comune. De asemenea, unitățile centrale de procesare pot avea o memorie RAM comună și/sau o memorie RAM privată pe care celălalt (celelalte) procesor(e) nu o (le) poate (pot) accesa. Rolurile de maestru și sclav se pot schimba de la o unitate centrală de procesare la alta.

Un prim exemplu de sistem multiprocesor maestru/sclav este computerul de birou Tandy/Radio Shack TRS-80 Model 16, care a apărut în februarie 1982 și care rula sistemul de operare Xenix multi-utilizator/multi-tasking, versiunea Microsoft a UNIX (numit TRS-XENIX). Modelul 16 are 3 microprocesoare, un procesor Zilog Z80 pe 8 biți care funcționează la 4 MHz, un procesor Motorola 68000 pe 16 biți care funcționează la 6 MHz și un Intel 8021 în tastatură. Când sistemul a fost pornit, Z-80 era master, iar procesul de pornire Xenix a inițializat 68000 sclav, apoi a transferat controlul către 68000, după care procesoarele și-au schimbat rolurile și Z-80 a devenit un procesor sclav care era responsabil pentru toate operațiunile de I/O, inclusiv disc, comunicații, imprimantă și rețea, precum și pentru tastatură și monitor integrat, în timp ce sistemul de operare și aplicațiile rulau pe procesorul 68000. Z-80 putea fi folosit pentru a efectua alte sarcini.

Primul TRS-80 Model II, care a fost lansat în 1979, ar putea fi, de asemenea, considerat un sistem multiprocesor, deoarece avea atât un CPU Z-80, cât și un microprocesor Intel 8021 în tastatură. 8021 a făcut ca Modelul II să fie primul sistem de calculator de birou cu o tastatură ușoară detașabilă separată, conectată cu un singur fir subțire și flexibil și, probabil, prima tastatură care a folosit un microprocesor dedicat, ambele atribute care aveau să fie copiate ani mai târziu de Apple și IBM.

Fluxuri de instrucțiuni și de dateEdit

În multiprocesare, procesoarele pot fi folosite pentru a executa o singură secvență de instrucțiuni în mai multe contexte (single-instruction, multiple-data sau SIMD, adesea folosit în procesarea vectorială), mai multe secvențe de instrucțiuni într-un singur context (multiple-instruction, single-data sau MISD, utilizat pentru redundanță în sistemele de siguranță în caz de defecțiune și aplicat uneori pentru a descrie procesoarele pipeline sau hyper-threading) sau mai multe secvențe de instrucțiuni în mai multe contexte (multiple-instruction, multiple-data sau MIMD), sau mai multe secvențe de instrucțiuni în mai multe contexte (multiple-instruction, multiple-data sau MIMD).

Cuplarea procesoarelorEdit

Sistem multiprocesor strâns cuplatEdit

Sistemele multiprocesor strâns cuplate conțin mai multe unități centrale de procesare care sunt conectate la nivelul magistralei. Aceste unități centrale de procesare pot avea acces la o memorie centrală partajată (SMP sau UMA), sau pot participa la o ierarhie de memorie cu memorie locală și partajată (SM)(NUMA). IBM p690 Regatta de la IBM este un exemplu de sistem SMP high-end. Procesoarele Intel Xeon au dominat piața multiprocesoarelor pentru PC-urile de afaceri și au fost singura opțiune x86 importantă până la lansarea gamei de procesoare Opteron de la AMD în 2004. Ambele game de procesoare aveau propria memorie cache la bord, dar ofereau acces la memoria partajată; procesoarele Xeon prin intermediul unei țevi comune, iar procesoarele Opteron prin intermediul unor căi independente către memoria RAM a sistemului.

Multiprocesoarele pe cip, cunoscute și sub denumirea de calcul multi-core, implică mai mult de un procesor plasat pe un singur cip și pot fi considerate cea mai extremă formă de multiprocesare strâns cuplată. Sistemele mainframe cu mai multe procesoare sunt adesea strâns cuplate.

Sistem multiprocesor slab cuplatEdit

Articolul principal: arhitectură cu nimic partajat

Sistemele multiprocesor slab cuplate (adesea denumite clustere) se bazează pe mai multe calculatoare de bază autonome cu un singur procesor sau cu două procesoare interconectate printr-un sistem de comunicare de mare viteză (Gigabit Ethernet este comun). Un cluster Linux Beowulf este un exemplu de sistem slab cuplat.

Sistemele slab cuplate au performanțe mai bune și sunt mai mici din punct de vedere fizic decât sistemele slab cuplate, dar, din punct de vedere istoric, au necesitat investiții inițiale mai mari și se pot deprecia rapid; nodurile unui sistem slab cuplat sunt, de obicei, calculatoare de bază ieftine și pot fi reciclate ca mașini independente la retragerea din cluster.

Consumul de energie este, de asemenea, un aspect de luat în considerare. Sistemele strâns cuplate tind să fie mult mai eficiente din punct de vedere energetic decât clusterele. Acest lucru se datorează faptului că se poate realiza o economie considerabilă prin proiectarea componentelor pentru a lucra împreună de la început în sistemele strâns cuplate, în timp ce sistemele slab cuplate utilizează componente care nu au fost neapărat destinate în mod special utilizării în astfel de sisteme.

Sistemele slab cuplate au capacitatea de a rula diferite sisteme de operare sau versiuni ale sistemului de operare pe diferite sisteme.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.