În inima fiecărui computer, veți găsi CPU. The Unități centrale de procesare este hardware critic. Rulează sistemul de operare și toate programele de pe computer. CPU-urile sunt proiectate ca procesoare de uz general. Prin însăși natura lor, ar trebui să fie capabili să se ocupe de totul.
Cu toate acestea, procesoarele nu sunt foarte bune la anumite tipuri de sarcini de lucru, deoarece hardware-ul lor de uz general nu poate fi optimizat pentru sarcini specifice fără a-și pierde natura de uz general. Sau să devină iremediabil de mare, complex și scump. În plus, orice CPU va fi capabil să gestioneze atât de multe date și să proceseze simultan. Un coprocesor este o a doua unitate de procesare concepută în mod explicit pentru a prelua unul sau ambele dintre aceste scenarii.
Un coprocesor este pur și simplu o a doua unitate de procesare într-un computer. În unele scenarii, acestea pot fi un procesor fizic dublu pe aceeași placă de bază ca la unele servere. În scenariile de calcul de înaltă performanță și de supercomputare, aceste coprocesoare de uz general pot fi găsite și pe plăcile suplimentare PCIe. Coprocesorul este adesea concentrat pe o sarcină specifică, mai degrabă decât pe un procesor de uz general. Aceste procesoare specifice sarcinii pot fi atașate direct la placa de bază sau incluse pe o placă fiică separată, cum ar fi o placă suplimentară PCIe.
Primii coprocesoare
Primele coprocesoare au fost relativ simple. Au fost concepute pentru a gestiona I/O sau Intrare și Ieșire pentru computerele mainframe. Problema a fost că procesarea I/O era o sarcină foarte consumatoare de timp pentru procesor. Sarcina reală de procesare a fost însă relativ simplă. Deci a fost suficient de ieftin pentru a face un procesor care să se ocupe de el. În timp ce coprocesorul a preluat I/O eficient, procesorul a trebuit să emită parametri simpli I/O, a eliberat timp procesorului și a crescut performanța sistemului.
PC-ul IBM original includea un coprocesor aritmetic în virgulă mobilă opțional. Procesoarele din acea zi efectuau acest tip de matematică în software, care era lent, dar suficient de funcțional pentru cazurile rare în care era necesar pentru majoritatea utilizatorilor. Cu toate acestea, proiectarea asistată de calculator sau sistemele CAD au folosit acest tip de matematică în mod constant. Prin separarea aritmeticii în virgulă mobilă pe un coprocesor, nu numai că vitezele au fost mărite atunci când a fost nevoie, datorită la accelerarea hardware, dar utilizatorii care nu aveau nevoie de ea puteau economisi bani cumpărând un sistem fără coprocesor.
În cele din urmă, aceste coprocesoare simple aveau funcțiile lor integrate în arhitectura CPU. Acesta este parțial un rezultat natural al dezvoltării continue a procesorului, dar este, de asemenea, legat de dificultățile în continuarea sincronizării simple pe măsură ce crește viteza de ceas a procesorului. În timp ce aceste procesoare și coprocesoare au funcționat suficient de bine la 75MHz, ar exista o întârziere masivă, consumul de energie și probleme de interferență cu frecvența radio la frecvențele GHz de astăzi. Aceste probleme au necesitat sisteme de semnalizare mai complexe între procesoare și coprocesoare moderne.
GPU
Unitatea de procesare grafică sau GPU este probabil cea mai cunoscută formă a coprocesorului. Sunt proiectate pentru a fi optimizate pentru volumul de lucru extrem de paralelizabil al randării grafice. CPU-urile pot îndeplini această sarcină în software sau cu un cip grafic integrat. Pentru a oferi performanța înaltă a GPU-urilor moderne, totuși, ar trebui să integreze întregul GPU în matrița CPU.
Acest lucru ar crește masiv costul și complexitatea unui procesor și ar crește semnificativ și producția de căldură. Cipurile grafice integrate ocupă deja o cantitate destul de mare de spațiu pe matrița procesorului. Ele pot reduce viteza totală a procesorului datorită producției de căldură.
Placa de sunet
Din punct de vedere istoric, procesoarele puteau procesa semnale audio, dar nu erau fantastice la asta. Artefactele audio și statica rezultate au dus la crearea plăcilor de sunet. Acestea ar oferi porturi de intrare și ieșire audio și ar efectua procesarea audio reală pe placa de sunet în sine. Acest lucru a crescut semnificativ izolarea semnalului și calitatea sunetului. În timp ce unele plăci de sunet există încă, ele sunt complet inutile în computerele moderne, deoarece procesarea sunetului integrată direct pe plăcile de bază. Procesoarele sunt mult mai bune decât în perioada de glorie a plăcilor de sunet.
NPU
Un tip relativ recent de coprocesor este NPU sau Neural Processing Unit. Acestea sunt concepute pentru a efectua sau accelera sarcinile de lucru AI. NPU-urile la un nivel înalt sunt destul de asemănătoare cu GPU-urile, doar cu optimizări specifice sarcinilor de lucru AI. Pe măsură ce performanța sarcinii de lucru AI devine mai mult un lucru pe care utilizatorii obișnuiți îl folosesc pe smartphone-uri și computere, acestea vor deveni probabil mai frecvente.
Coprocesoare integrate
CPU-urile moderne integrează multe forme de coprocesor direct în matrița sau arhitectura generală a procesorului. Acest lucru poate fi văzut cu ușurință cu cipurile grafice integrate gravate în același siliciu ca și restul procesorului. Cu toate acestea, procesarea efectivă nu este efectuată de nucleele procesorului. În procesoarele Ryzen de la AMD, există și o matriță I/O separată care se ocupă de comunicarea dintre chipleturi și restul computerului. Unele dispozitive mobile moderne vin și cu NPU pentru procesarea AI.
Concluzie
Un coprocesor este un procesor secundar, terțiar, cuaternar etc. într-un dispozitiv de calcul unde CPU este procesorul primar. Nu există limită pentru numărul de coprocesoare dintr-un sistem. Cu toate acestea, suportul software/hardware, disiparea căldurii, spațiul fizic și costul vor juca toate un rol.
Un coprocesor gestionează sarcini pentru CPU care măresc performanța generală atât în sarcina specifică, realizând-o într-un mod optimizat. modă și în alte sarcini, prin anularea necesității ca procesorul să-și irosească puterea de procesare executând sarcina într-un mod neoptimizat. Modă. De-a lungul timpului, multe coprocesoare sunt integrate în procesoare pe măsură ce tehnologia avansează. Cu toate acestea, limitele de putere și termice limitează acest lucru în unele scenarii.