NVIDIA- ja AMD Gaming GPU: n arkkitehtuuri ja organisaatio

NVIDIA- ja AMD Gaming GPU: n arkkitehtuuri ja organisaatio

GPU: t, kuten suorittimet, ovat eräänlainen prosessori, mutta ne on optimoitu rinnakkaislaskentaan ja reaaliaikaiseen grafiikan tuottamiseen. Huolimatta siitä, että meillä on erityyppisiä arkkitehtuureja, jokaisella GPU: lla on organisaatio ja siksi ne jakavat. Mitä aiomme selittää tässä artikkelissa yksityiskohtaisesti ja yksityiskohtaisesti.

Tässä artikkelissa emme käsittele tiettyä GPU arkkitehtuuri, mutta ne kaikki yleensä, ja siksi kun näet kaavion, jonka valmistajat yleensä julkaisevat seuraavan GPU: nsa organisaatiosta, voit ymmärtää sen ongelmitta. Riippumatta siitä, onko kyseessä integroitu vai omistettu GPU, ja niiden tehosta.

Organisaatio nykyaikainen GPU

Muñeca Rusa

GPU: n organisoinnin ymmärtämiseksi meidän on ajateltava venäläinen nukke tai matrioshka, joka koostuu useista sisällä olevista nukkeista. Voisimme myös puhua joukosta, joka tallentaa sarjaa osajoukkoja asteittain. Toisin sanoen, GPU: t on järjestetty siten, että ne muodostavat eri sarjat ovat monissa tapauksissa toistensa sisällä.

Tämän jaon ansiosta ymmärrämme jotain niin monimutkaista kuin GPU paljon paremmin, koska yksinkertaisesta voimme rakentaa kompleksin. Sanottu, aloitetaan ensimmäisestä komponentista.

Aseta A GPU: n organisaatiossa: varjostinyksiköt

Anatomia GPU -organisointi

Ensimmäiset sarjoista ovat varjostinyksiköt. Itse asiassa ne ovat prosessoreita, mutta toisin kuin prosessorit, niitä ei ole suunniteltu rinnakkaistaviksi ohjeiden, ILP: n, vaan suorituslankojen, TLP: n, avulla. Riippumatta siitä, puhumme GPU: ista AMD, NVIDIA, Intel tai mikä tahansa muu merkki, kaikki nykyaikaiset grafiikkasuorittimet koostuvat:

  • SIMD-yksiköt ja niiden tietueet
  • Skalaariyksiköt ja niiden rekisterit.
  • Suunnittelija
  • Jaettu paikallinen muisti
  • Rakenteen suodatusyksikkö
  • Huippuluokan data- ja / tai tekstuurivälimuisti
  • Lataa / säilytä asemia siirtääksesi tietoja välimuistiin ja jaettuun muistiin.
  • Salaman risteysyksikkö.
  • Systoliset ryhmät tai tensoriyksiköt
  • Vie väylä, joka vie tietoja sarjasta A sarjan B eri osiin.

Aseta B GPU: n organisaatiossa : Shader Array / Shader Engine / GPC

Anatomia GPU -organisointi

Sarja B sisältää sarjan A sisätiloissaan, mutta lisää ensin ohjeet ja jatkuvat välimuistit. Ensimmäisen tason välimuisti on GPU: issa ja suorittimissa jaettu kahteen osaan, yksi tietoja varten ja toinen ohjeiksi. Ero on siinä, että GPU: iden tapauksessa käskyvälimuisti on varjostinyksiköiden ulkopuolella ja siksi ne ovat joukossa B.

Sarja B GPU: n organisaatiossa sisältää siten sarjan varjostinyksiköitä, jotka kommunikoivat keskenään niiden välisen yhteisen tiedonsiirtoliitännän kautta, jolloin ne voivat kommunikoida keskenään. Toisaalta eri varjostinyksiköt eivät ole yksin joukossa B, koska tässä on useita kiinteitä toimintoyksiköitä grafiikan renderoimiseksi, kuten nyt.

  • Alkuperäinen yksikkö: Tähän vedotaan maailman avaruusputken tai geometrisen putken aikana, se vastaa kohtauksen geometrian tesselloinnista.
  • Rasterointiyksikkö: Se suorittaa primitiivien rasteroinnin muuntamalla kolmiot pikselifragmenteiksi ja sen vaihe on se, joka alkaa ns. näytön avaruusputkesta tai rasterointivaiheesta.
  • ROPS: Kuvapuskurit kirjoittavat yksiköt toimivat kahden vaiheen aikana. Rasterointivaiheessa ennen teksturointivaihetta ne tuottavat syvyyspuskurin (Z-puskuri), kun taas teksturointivaiheen jälkeisessä vaiheessa he saavat tämän vaiheen tuloksen väripuskurin tai erilaisten renderöintikohteiden (viivästetty renderointi) luomiseksi. .

Aseta C GPU: n arkkitehtuurissa :

NVIDIA-Ampere-GA102

Meillä on jo melkein täydellinen GPU tai GPU ilman kiihdyttimiä, se koostuu seuraavista komponenteista:

  • Sisällä useita B-sarjoja.
  • Jaettu globaali muisti : Scratchpad ja siten välimuistihierarkian ulkopuolella kommunikoida B-setit keskenään.
  • Geometrinen yksikkö: Sillä on kyky lukea RAM-muistiin osoittimet, jotka osoittavat kohtauksen geometriaan, tämän avulla on mahdollista poistaa näkymätön tai tarpeeton geometria niin, että sitä ei tehdä hyödyttömästi kehyksessä.
  • Komentoprosessorit (grafiikka ja tietojenkäsittely)
  • Viimeisen tason välimuisti: Kaikki GPU: n elementit ovat tämän välimuistin asiakkaita, joten sillä on oltava valtava tiedonsiirtorengas, kaikilla ryhmän B komponenteilla on suora yhteys L2-välimuistiin sekä itse ryhmän C kaikkiin osiin.

Viimeisen tason välimuisti (LLC) on tärkeä, koska se on välimuisti, joka antaa meille johdonmukaisuuden sarjan C kaikkien elementtien välillä keskenään, mukaan lukien tietysti joukot B sen sisällä. Paitsi että, se sallii ulkoisen muistiohjaimen ylikuormittamattomuuden, koska tällöin LLC ja GPU: n MMU-yksiköt ovat itse vastuussa ohjeiden ja tietojen sieppaamisesta RAM. Ajattele viimeisen tason välimuistia eräänlaisena logistiikkavarastona, jossa kaikki sarjan C elementit lähettävät ja / tai vastaanottavat pakettinsa ja logistiikkaansa ohjaa MMU, joka on vastuussa siitä.

Viimeinen sarja, täydellinen GPU

NVIDIA-näytönohjain

Kaiken tämän jälkeen meillä on jo täydellinen GPU, sarja D sisältää pääyksikön, joka on GPU, joka vastaa suosikkipelien grafiikan renderoinnista, mutta se ei ole GPU: n korkein taso, koska puuttuu joukko rinnakkaisprosessoreita tuki. Nämä eivät toimi grafiikan renderoimiseksi suoraan, mutta ilman niitä GPU ei pystyisi toimimaan. Nämä elementit ovat yleensä:

  • GFX-yksikkö ja sen ylätason välimuisti
  • GPU: n Pohjoinen silta tai Northbridge, jos tämä on heterogeenisessä SoC: ssä (prosessorilla), mutta jaetulla muistilla, he käyttävät yhteistä Northbridgeä. Sarjan D kaikki elementit on kytketty Northbridgeyn
  • Kiihdyttimet: Videokooderit, näyttösovittimet, on kytketty Northbridgeyn. Näyttösovittimen tapauksessa se lähettää videosignaalin DisplayPort- tai HDMI-porttiin
  • DMA-asemat: Jos RAM-osoitetiloja on kaksi (jopa samalla fyysisellä kaivolla), DMA-asema sallii tietojen siirtämisen yhdestä RAM-tilasta toiseen. Erillisen GPU: n tapauksessa DMA-yksiköt toimivat tiedonsiirrona suorittimen tai muiden GPU: iden kanssa.
  • Ohjain ja muistiliitäntä: Se mahdollistaa tiedonsiirron sarjan D elementeistä ulkoisen RAM-muistin kanssa. Ne ovat yhteydessä Northbridgeyn ja se on ainoa polku ulkoiseen RAM-muistiin.

Kaiken tämän ansiosta sinulla on jo täydellinen GPU-organisaatio, jolla voit lukea GPU: n kaavion paljon paremmin ja ymmärtää, miten se on organisoitu sisäisesti.