Procesor grafic

Un procesor grafic , sau GPU (din English Graphics Processing Unit ), numit și coprocesor grafic pe unele sisteme, este o unitate de calcul, care poate fi prezentă sub formă de circuit integrat (sau cip) pe o placă grafică sau placă de bază, sau integrată în același circuit integrat ca și microprocesorul general ( SoC (numit apoi procesor grafic sau GPU ) și APU , numit apoi IGP ) și furnizând funcțiile de calcul al imaginii, pentru a fi afișate pe ecran sau pentru a fi scrise în memoria masei . Un procesor grafic are în general o structură extrem de paralelă (vezi accelerare hardware ) , ceea ce face eficient pentru o gamă largă de sarcini grafice , cum ar fi randare 3D, în Direct3D sau OpenGL , managementul memoriei video, procesare a semnalului video, Mpeg decompresie ,  etc.

Paralelismul lor profund le face interesante, de asemenea, ca procesoare de calcul matricial , procesoare de extragere a criptomonedelor sau pentru ruperea codului „forță brută” a arhivelor criptate. În cele din urmă, raportul lor performanță / preț îi favorizează pentru calcul.

Tipuri de procesoare grafice

Există diferite tipuri de procesoare grafice, numite și procesoare geometrice.

Sarcinile grafice din cadrul primelor sisteme computerizate au fost partajate între un procesor geometric (când exista) și un procesor video (esențial pentru a trimite imaginea care să fie afișată pe ecran). Primul este responsabil pentru efectuarea operațiunilor grafice în memorie, eliberând astfel procesorul general de această sarcină.

Astăzi vorbim și despre procesorul video pentru a desemna un procesor de procesare a semnalului , utilizat pentru decodarea videogramelor, care nu este subiectul abordat aici. Procesoarele video, în funcția lor grafică, permit pe primele sisteme computerizate să modifice imaginea atunci când aceasta este trimisă pe ecran, apoi de obicei un ecran de scanare, folosind un pistol de electroni care traversează ecranul de la stânga la dreapta și în sus și în jos. Acest procesor este sincronizat cu scanarea și, prin urmare, face posibilă gestionarea sincronă a mai mult sau mai puține modificări ale imaginii (poziția de citit în memorie, culoare), evitând astfel procesorul principal și procesorul grafic de sarcini grele, cum ar fi modificări sau transferuri de memorie.

Procesor video

De obicei, acestea au un mod text, în care un tabel conține codurile caracterelor care urmează să fie afișate, în 8 biți, iar un alt tabel face legătura dintre codul caracterului și locația de memorie din sistemul modelului care le reprezintă. Tiparele sunt, în general, prezente în ROM sau EPROM și este apoi posibil să le înlocuim cu un model definit de software în RAM.

Consolele de jocuri 8 și 16 biți și mașinile arcade au, în general, un sistem similar. Un tabel de plăci grafice care trebuie afișat pe ecran, în general mai mare decât ecranul afișat pentru a permite derularea ecranului și un tabel care definește locația lor în memorie.

Sprite este un obiect grafic, suprapus peste imaginea de fundal de către procesorul video. Dacă culoarea sa este transparentă, trimite informațiile de memorie ale imaginii de fundal, dacă este opacă, trimite informațiile itselfpritului în sine. Pe multe sisteme, numărul de sprite a fost limitat în lățime (necesitând parcurgerea memoriei diferitelor sprite atunci când se afișează linia orizontală). În funcție de sistem, această limită este mai flexibilă pe verticală. Este utilizat în principal în domeniul jocurilor video, dar este utilizat și în interfețele grafice, pentru a afișa cursorul .

Planul de imagine este similar cu sprite-ul, dar pe o imagine întreagă, în funcție de sistem este mai mult sau mai puțin limitat. De exemplu, pe un sistem a cărui memorie are o limită de ecran complet de 8 biți, poate afișa 2 planuri de imagine de 4 biți, este, de asemenea, necesar să se ia în considerare limitele în operațiile de amestecare ale acestor planuri, care sunt limitate în timp.

Procesor geometric 2D

Una dintre funcțiile principale ale unui procesor geometric 2D este blitter. Se utilizează pentru copierea imaginilor pe ambele părți ale RAM (principal sau video în funcție de sistem), cu sau fără gestionarea transparenței pentru amestecare. Transparența poate fi gestionată printr-o mască de transparență (care conține o versiune a imaginii în care 0 înseamnă transparent și 1 sau o altă valoare în funcție de capacități, înseamnă opac sau translucid) sau printr-o valoare din imagine dedicată transparenței. Acest lucru face posibilă completarea prezenței sau compensarea absenței unui procesor video care gestionează sprite sau mai multe planuri de biți. Această funcție poate fi găsită de exemplu în Denise (Amiga) sau G2D (unele procesoare ARM, în special Samsung și AllWinner ).

Unele procesoare vectoriale 2D, precum cel din consola de jocuri Vectrex pe 8 biți , gestionează numai obiecte vectoriale, cum ar fi segmentele de linie.

Procesor geometric 3D

Este responsabil pentru efectuarea de calcule în trei dimensiuni, adică reprezentarea obiectelor geometrice în spațiu.

Silicon Graphics în 1992, este un pionier în domeniu, lăsând stații de lucru echipate cu procesoare grafice specializate în 3D. De asemenea, creează limbajul OpenGL , care va deveni apoi un standard deschis, administrat de consorțiul industrial Khronos Group , care îl transformă în Vulkan .

În funcție de procesoare, acesta are funcții mai mult sau mai puțin avansate. liniile drepte, poligoanele, modificarea geometrică a imaginii pentru texturi, anti-aliasing , sunt funcții de bază.

GPGPU

Deoarece funcțiile de procesare a imaginilor procesorelor geometrice 3d folosesc din ce în ce mai multe instrucțiuni ca un procesor vector , cele două funcții au fost reunite în ceea ce se numește un GPGPU (care înseamnă literalmente procesor grafic cu scop general). Acest lucru a făcut posibilă democratizarea acestuia din urmă.

De asemenea, permite efectuarea de operații geometrice 2D și 3D, operații liniare complexe de algebră și cu un nivel bun de paralelism. Este utilizat în principal în calculul de înaltă performanță , fie în redarea avansată a imaginilor, fie în calculul științific ( analiza digitală ).

Integrarea procesorului într-un sistem

Aceste procesoare pot fi integrate în diferite moduri într-un sistem computerizat  :

Operațiune

În nodurile de poliedre (în limba engleză vârf ) constituie datele elementare ale geometriei în trei dimensiuni și , prin urmare , de procesoare grafice. Acestea sunt punctele între care vor fi trasate marginile unui obiect și prin care procesorul construiește obiecte multidimensionale. Dacă obiectele sunt bidimensionale sau sunt videoclipuri, datele sunt trimise direct la fereastra de afișare.

Pentru a accelera calculul, procesorul calculează vârfurile invizibile (ascunse de alte vârfuri, de fețele unui obiect sau altfel) și le îndepărtează pentru a nu fi nevoite să le gestioneze.

Procesorul grafic aplică apoi texturile preluate de pe hard disk pe fețele obiectelor folosind software-ul grafic ( Pixel Pipeline ). Motorul grafic trimite apoi date despre iluminarea poligoanelor către procesor, pe care acesta din urmă este responsabil de implementarea pentru iluminarea scenei. Apoi, cipul grafic aplică diferitele filtre ( antialiasing sau filtrare anizotropă ) imaginii și trimite rezultatul la fereastra de afișare, care „aplatizează” imaginea pentru ao afișa pe ecran .

Implementări hardware

Există diferite organizații de arhitecturi de computere în care sunt utilizate procesoare grafice.

Chip pe placa de bază

La primele microcomputere , procesorul grafic era un circuit integrat (sau cip), situat pe placa de bază a computerului. Acest lucru este valabil și în general pe consolele de jocuri sau chiar și astăzi pe computerele cu o singură placă .

Placă grafică dedicată

Acesta este cel mai puternic tip de procesor grafic. Procesorul este, în general, amplasat pe un card interfațat cu placa de bază a computerului printr-un port PCI Express pentru mașinile recente AGP sau PCI pentru mașinile mai vechi; în ceea ce privește laptopurile , unele au o versiune specifică a portului PCI Expres}, MXM sau Mobile PCI-Express Module ). Aceste carduri au propria RAM .

SoC

În System On Chip (SoC), procesorul grafic este situat în același circuit integrat ca procesorul principal , procesorul de sunet și alte componente majore ale sistemului. O magistrală internă a circuitului integrat face posibilă schimbul de informații între diferitele sale componente.

Procesor grafic integrat (IGP)

Aceste procesoare grafice sunt integrate în Northbridge pe placa de bază a computerului sau direct în procesorul central (din familia de procesoare Westmere de la Intel) și își utilizează memoria RAM sau mai rar o cantitate mică de memorie dedicată. Aceste procesoare grafice sunt mai puțin eficiente decât cele ale plăcilor grafice dedicate, dar sunt mai puțin costisitoare, mai ușor de integrat și mai puțin consumatoare de energie. Laptopurile mai vechi și / sau entry-level folosesc această metodă pentru a reduce costurile.

IGP-urile sunt suficiente dacă hardware-ul nu este utilizat de jocurile sau programele moderne care utilizează cantități mari de resurse grafice. Plăcile de bază mai vechi au adesea un procesor grafic integrat și unul (sau mai multe) port pentru adăugarea unei plăci grafice dedicate. Cu toate acestea, acest tip de IGP tinde să dispară în favoarea procesoarelor grafice integrate direct în procesoare mai recente. Dezavantajul major al acestora este că ansamblul CPU / GPU este limitat de puterea maximă care poate fi primită prin priză. Prin urmare, CPU și GPU nu pot funcționa împreună la maximul frecvențelor respective dacă suma puterilor necesare depășește puterea maximă reală care poate fi admisă. Prin urmare, acest lucru necesită o strângere a unuia pentru a obține rezultate mai bune cu celălalt. Cu alte cuvinte, atunci când unul este la maxim, celălalt trebuie să treacă la economie. Jocurile mai noi vor deveni imposibil de jucat, iar software-ul care utilizează în esență o mulțime de elemente grafice va fi limitat dacă procesorul este tensionat în detrimentul GPU-ului. Și invers, software-ul de compresie a datelor sau software-ul care are nevoie în principal de procesor va fi mai lent dacă acesta din urmă este restricționat în favoarea GPU-ului. Pe de altă parte, este posibil să se joace fără probleme jocuri mai vechi care nu necesită o mulțime de resurse în ceea ce privește perechea CPU / GPU sau dezactivând o cantitate bună de opțiuni grafice.

Deși acest tip de configurație devine din ce în ce mai democratizat, un procesor mai tradițional și o configurație suplimentară a plăcii grafice rămân mai eficiente, deoarece lățimea de bandă dedicată utilizată de placa grafică ameliorează procesorul, lăsând astfel pe acesta din urmă cu toată puterea. O placă grafică, chiar și low-end, va obține rezultate mai bune decât un IGP deoarece nu este restricționată de un circuit de partajare cu CPU. Astfel, pentru un jucător ocazional sau cineva care lucrează în domeniul multimedia, un card low-end se va dovedi util, chiar aproape esențial, pentru a profita de rezultate mai bune fără a cheltui mulți bani. Cu toate acestea, această investiție suplimentară nu este interesantă pentru un utilizator care limitează utilizarea mașinii sale la automatizarea biroului sau cercetarea pe internet, deoarece necesită puține resurse. Atunci va fi mai avantajos pentru el să fie mulțumit de un IGP. În plus, îmbunătățirile cu fiecare nouă generație de procesoare care integrează o parte grafică pot suplini uneori acest decalaj de putere cu plăcile grafice low-end sau chiar le pot depăși în unele cazuri.

De asemenea, este posibil ca un utilizator cu un „CPU / IGP / placă grafică” setat să activeze GPU-ul integrat în procesorul principal și, prin urmare, prin programe furnizate sau prezente pe site-urile producătorilor acestor componente, să facă acest lucru. tranziția între procesorul GPU și placa grafică atașată la sistem și astfel optimizați consumul de energie. De exemplu, o placă grafică de înaltă performanță destinată jocurilor și care consumă multă energie poate fi dezactivată în timpul unei sesiuni de automatizare de birou de către un driver care permite fiecărui program instalat să i se atribuie un GPU specific.

Alegerea unui procesor grafic

Funcția principală a unui procesor grafic este de a procesa calcule grafice complexe pentru a scuti CPU de aceste sarcini. Cu toate acestea, acest lucru nu înseamnă că aceste două componente sunt complet independente. Acest lucru se datorează faptului că există mai multe probleme care pot rămâne dacă există un echilibru defect între procesorul central și procesorul grafic. Astfel, nu are rost să optezi pentru o placă grafică de înaltă performanță dacă este constrânsă de performanța procesorului. Se folosește apoi termenul „  CPU limitat  ” . Dimpotrivă, dacă utilizatorul obține un procesor de înaltă performanță, dar alege o placă grafică cu performanță sau conținut redus cu IGP, nu va putea obține o grafică fluidă bună dacă acestea necesită calcule mari. Prin urmare, trebuie să fim capabili să echilibrăm performanța cât mai mult posibil pentru a obține cele mai bune rezultate din aceasta.

Pentru o persoană care lucrează la automatizarea biroului, care face cercetări pe Internet sau utilizări de uz general, este suficient un IGP sau o placă grafică entry-level . Pentru utilizare în domeniul 3D, indiferent dacă este vorba de jocuri video sau de modelare 3D simplă, este mai bine să aveți un IGP high-end sau o placă grafică dedicată. În cele din urmă, în cazul editării video, a modelării 3D complexe sau a dorinței de a folosi cele mai noi jocuri video complexe, la performanța maximă a acestora, poate fi necesară una sau mai multe plăci grafice dedicate high-end. În orice caz, este adesea posibil să adăugați una sau mai multe plăci grafice suplimentare în cazul în care puterea de bază este insuficientă pentru utilizarea care se face din sistemul computerizat. Acest lucru este valabil mai ales pentru jucătorii care solicită grafică sau profesioniști în editare foto / video la nivel înalt sau CAD / CAM.

Producătorii

Puține companii proiectează astfel de procesoare: cele mai cunoscute sunt NVIDIA , AMD (fostul ATI ) și Intel . Există, de asemenea, alți producători acum mai puțin importanți sau mai puțin cunoscuți publicului larg, cum ar fi Qualcomm , S3 Graphics , Matrox , 3DLabs  (en) , ARM XGI  (en) . Aceste companii sunt numite „  fabless  ”, adică proiectează circuitele grafice, dar nu le fabrică în serie.

Cazul plăcilor grafice

Alte companii ( Asus , MSI , PNY ...) se ocupă apoi de oferirea de plăci grafice care încorporează aceste procesoare. Acestea sunt companiile de construcții. Acestea au, în general, o anumită libertate de a modifica frecvențele de operare ale GPU-urilor în comparație cu frecvențele de bază recomandate de designeri. Acesta este principiul overclockării . Desigur, aceste modificări necesită o alegere atentă în sistemul de răcire, deoarece foarte des, creșterea frecvențelor provoacă, de asemenea, o creștere a temperaturii, cum ar fi CPU. Aceste frecvențe variază între producători și în funcție de modelele și sistemele de răcire oferite de aceste companii. Decalajul de performanță dintre modelele de referință (furnizate de designeri) și producători variază, iar unele GPU-uri personalizate pot chiar să arate un câștig semnificativ față de GPU-ul de referință.

Note și referințe

  1. "Puteți sparge o parolă cu o placă grafică?" " , Tom's Hardware ,18 iulie 2011.
  2. ZDNet, august 2016  : „Este mult mai interesant în zilele noastre să lăsați GPU-urile să se ocupe de aceste sarcini, mai degrabă decât să lăsați totul în sarcina procesorului, care are un raport calitate / preț / putere mult mai puțin interesant (exemplul cel mai evident este 3D randare care este mult mai rapidă cu un GPU decât un CPU la un preț echivalent, raport 10 la 50). "
  3. Canard PC Harware nr .  1 la 28: consultați sfaturile de selecție a materialelor actualizate la fiecare versiune trimestrială.

Vezi și tu

Articole similare