Lygiagretus vs. Serijinis procesorius

CPU pagrindinėje plokštėje

Kompiuterio pagrindinės plokštės procesoriaus lusto vaizdas iš arti

Vaizdo kreditas: Riccardo_Mojana/iStock/Getty Images

Lygiagretusis ir nuoseklusis apdorojimas apibūdina, ar kompiuterinė sistema gali suskaidyti skaičiavimo užduotis keli procesoriai ar branduoliai vienu metu arba jei tai priklauso nuo užduočių atlikimo vienu procesoriumi šerdis. Visi atskiri vartotojų kompiuterių procesoriai buvo serijiniai procesoriai iki 2005 m. vidurio, kai „Intel“ pristatė pirmąjį vartotojų dviejų branduolių procesorių. Keli vieno branduolio procesoriai gali dirbti kartu, kad apdorotų nuoseklųjį procesą per tinkle sujungtas lygiagrečias kompiuterių grupes arba vienoje pagrindinėje plokštėje paleisti kelis procesorius.

Kompiuteriai yra daugiafunkcinės mašinos

Įprastas šiuolaikinis kompiuteris bet kuriuo metu atlieka nuo dešimtys iki šimtų užduočių; tačiau kiekvienas branduolys vienu metu dirba tik su vienu procesu. Procesorius nuolat šokinėja tarp skirtingų apdorojimo „gijų“ arba „instrukcijų srautų“, kad paleistų kelias vienu metu vykstančias programas realiojo laiko iliuzijoje, vadinamoje lygiagrečiu. Kompiuteris baigia eikvoti procesoriaus ciklus perjungdamas užduotis ir neveikia optimaliai, kai atlieka kelias užduotis.

Dienos vaizdo įrašas

Lygiagretus užduočių vykdymas

Lygiagrečio apdorojimo aplinka gali greičiau apdoroti užduotis, kai programos yra skirtos lygiagrečiam apdorojimui. Serijinės programos išrikiuoja visas instrukcijas nuosekliai ir susieja su procesoriumi naudodamos vieną giją. Lygiagrečios programos veikia suskaidydamos užduotis į atskiras dalis, kurias galima padalyti tarp kelių procesoriaus branduolių ir iš naujo surinkti kaip atliktas užduotis. Lygiagretūs procesoriai gali padauginti panašiai veikiančių serijinių procesorių apdorojimo galią tinkamai parašytu kodu. Tačiau nuoseklusis procesorius su didesniu taktiniu dažniu gali pranokti lygiagrečius procesorius, kai dirba su viena gija.

Serijinis apdorojimas veikia

Programos, sukurtos nuosekliam apdorojimui, vienu metu naudoja tik vieną branduolį ir apdoroja užduotis nuoseklia tvarka. Serijinis procesorius veikia panašiai kaip tuzinas atvirų atsiskaitymo takų bakalėjos parduotuvėje, o vienas kasininkas dirba tarp skirtingų juostų ir visus tikrina vienu metu. Kasininkas arba centrinis procesorius peršoka iš vienos juostos į juostą ir vienu metu patikrina keletą prekių, o tada pereina prie kitos, kad visi užsakymai būtų įvykdyti vienu metu.

Lygiagretus apdorojimas veikia

Lygiagrečių procesorių idėja yra ta, kad daugiau branduolių, kurie veikia kartu, pagerins našumą. Lygiagretus procesorius elgiasi taip, lyg turėtų daugiau nei vienas kasininkas, valdantis keliolika kasos juostų. Jei programa yra sukurta taip, kad pasinaudotų lygiagrečiu apdorojimu, „klientas“ galėtų suskirstyti savo užsakymą į mažesnes grupes ir vienu metu naudoti kelias atsiskaitymo juostas.

Lygiagretūs procesoriai išplečia galimybes

2007 m. „Nvidia“ pirmą kartą panaudojo lygiagretų apdorojimą, kad patobulintų grafikos technologijas. Grafikos apdorojimo įrenginiai naudoja lygiagretų apdorojimą tokiu lygiu, kuris sumažina serijinio apdorojimo našumą atliekant nedidelius skaičiavimus. Nors CPU paprastai turi lengvai suskaičiuojamą branduolių skaičių, GPU gali turėti tūkstančius mažesnės galios branduolių, kurie geriau tinka paprastesniems skaičiavimams vienu metu. GPU dažniausiai naudojami grafikai, tačiau gali atlikti kitus skaičiavimus, pvz., rūšiavimą ir matricos algebrą.