Arkitektur och organisation av en NVIDIA och AMD Gaming GPU

0 Shares

I den hÀr artikeln kommer vi inte att ta itu med en specifik GPU-arkitektur, utan den för dem alla i allmÀnhet och dÀrför kan du förstÄ det utan problem nÀr du ser diagrammet som tillverkarna brukar lansera om organisationen av deras nÀsta GPU. Oavsett om detta Àr en integrerad eller dedikerad GPU och graden av kraft de har.

Organisation av en samtida GPU

Muñeca Rusa

För att förstÄ hur en GPU Àr organiserad mÄste vi tÀnka pÄ en rysk docka eller matrioshka, som bestÄr av flera dockor inuti. Vilket vi ocksÄ skulle kunna tala om en uppsÀttning som lagrar en serie delmÀngder progressivt. Med andra ord Àr GPU:er organiserade pÄ ett sÄdant sÀtt att de olika uppsÀttningarna som sammanstÀller dem i mÄnga fall Àr en i varandra.

Tack vare denna uppdelning kommer vi att förstÄ nÄgot sÄ komplext som en GPU mycket bÀttre, eftersom vi frÄn det enkla kan bygga komplexet. Med det sagt, lÄt oss börja med den första komponenten.

SĂ€tt A i organisationen av en GPU: shader-enheterna

AnatomĂ­a GPU Organisation

Den första av uppsÀttningarna Àr shader-enheterna. I sig Àr de processorer, men till skillnad frÄn CPU:er Àr de inte designade för parallellism frÄn instruktioner, ILP, utan frÄn exekveringstrÄdar, TLP. Oavsett om vi pratar om GPU:er frÄn AMD, NVIDIA, Intel eller nÄgot annat mÀrke, sÄ bestÄr alla samtida GPU:er av:

  • SIMD-enheter och deras register
  • SkalĂ€ra enheter och deras register.
  • Planerare
  • Delat lokalt minne
  • Texturfiltreringsenhet
  • Top-notch data och/eller texturcache
  • Ladda / Lagra enheter för att flytta data till och frĂ„n cache och delat minne.
  • Lightning Intersection Unit.
  • Systoliska matriser eller tensorenheter
  • Exportbuss som exporterar data frĂ„n set A och till de olika komponenterna i set B.

Set B i organisationen av en GPU : Shader Array / Shader Engine / GPC

AnatomĂ­a GPU Organisation

UppsÀttning B inkluderar uppsÀttning A i dess inre, men lÀgger initialt till instruktionen och konstanta cacher. I GPU:er, sÄvÀl som processorer, Àr cachen pÄ första nivÄn uppdelad i tvÄ delar, en för data och den andra för instruktioner. Skillnaden Àr att i fallet med GPU:er Àr instruktionscachen utanför shader-enheterna och dÀrför finns de i set B.

UppsĂ€ttning B i organisationen av en GPU inkluderar dĂ€rför en serie shader-enheter, som kommunicerar med varandra genom det gemensamma kommunikationsgrĂ€nssnittet mellan dem, vilket gör att de kan kommunicera med varandra. Å andra sidan Ă€r de olika shader-enheterna inte ensamma i Set B, eftersom det Ă€r dĂ€r det finns flera fasta funktionsenheter för att rendera grafik, som nu.

  • Primitiv enhet: Detta Ă„beropas under World Space Pipeline eller Geometric Pipeline, det Ă€r ansvarig för tessellation av scenens geometri.
  • Rasteriseringsenhet: It utför rastreringen av primitiva, omvandlar trianglarna till pixelfragment och dess stadium Ă€r det som börjar den sĂ„ kallade Screen Space Pipeline eller Rasterization Phase.
  • ROPS: Enheter som skriver bildbuffertarna verkar under tvĂ„ steg. I rasterfasen före textureringsfasen genererar de djupbufferten (Z-buffert) medan de i fasen efter textureringsfasen fĂ„r resultatet av detta steg för att generera fĂ€rgbufferten eller de olika renderingsmĂ„len (fördröjd rendering) .

Set C i arkitekturen för en GPU :

NVIDIA-Ampere-GA102

Vi har redan nÀstan hela GPU:n eller GPU:n utan acceleratorerna, den bestÄr av följande komponenter:

  • Flera B-set inuti.
  • Delat globalt minne : En Scratchpad och dĂ€rför utanför cachehierarkin för att kommunicera B-Sets med varandra.
  • Geometrisk enhet: Den har förmĂ„gan att lĂ€sa pekarna till RAM-minnet som pekar pĂ„ scenens geometri, med detta Ă€r det möjligt att eliminera icke-synlig eller överflödig geometri sĂ„ att den inte renderas vĂ€rdelöst i ramen.
  • Kommandoprocessorer (grafik och datorer)
  • Senaste nivĂ„ns cache: Alla element i GPU:n Ă€r klienter till denna cache sĂ„ den mĂ„ste ha en enorm kommunikationsring, alla komponenter i Set B har direkt kontakt med L2-cachen sĂ„vĂ€l som alla komponenter i Set C sjĂ€lv.

Last Level Cache (LLC) Àr viktig eftersom det Àr cachen som ger oss koherens mellan alla element i Set C med varandra, uppenbarligen inklusive set B i den. Inte bara det, men det tillÄter inte att övermÀtta den externa minneskontrollern eftersom det med detta Àr LLC sjÀlv, tillsammans med MMU-enheterna i GPU:n, som Àr ansvariga för att fÄnga instruktioner och data frÄn RAM. TÀnk pÄ Last Level Cache som ett slags logistiklager dÀr alla element i Set C skickar och/eller tar emot sina paket och deras logistik styrs av MMU, som Àr den enhet som ansvarar för att göra det.

Slutsats, full GPU

NVIDIA GPU

Med allt detta har vi redan den fullstÀndiga GPU:n, set D innehÄller huvudenheten som Àr GPU:n som ansvarar för att Äterge grafiken i vÄra favoritspel, men det Àr inte den högsta nivÄn av en GPU, eftersom vi saknar en serie medprocessorer Stöd. Dessa fungerar inte för att rendera grafik direkt, men utan dem skulle GPU:n inte kunna fungera. Dessa element Àr i allmÀnhet:

  • GFX-enheten inklusive dess toppnivĂ„cache
  • North Bridge eller Northbridge av GPU:n, om detta Ă€r i en heterogen SoC (med en CPU) men med en delad minnesbrunn kommer de att anvĂ€nda en gemensam Northbridge. Alla delar av set D Ă€r anslutna till Northbridge
  • Acceleratorer: Videokodare, bildskĂ€rmsadaptrar, Ă€r anslutna till Northbridge. NĂ€r det gĂ€ller Display Adapter Ă€r det den som skickar videosignalen till DisplayPort- eller HDMI-porten
  • DMA-enheter: Om det finns tvĂ„ RAM-adresseringsutrymmen (Ă€ven med samma fysiska brunn) tillĂ„ter DMA-enheten att data överförs frĂ„n ett RAM-utrymme till ett annat. I fallet med en separat GPU fungerar DMA-enheterna som kommunikation med CPU eller andra GPU:er.
  • Styrenhet och minnesgrĂ€nssnitt: It gör det möjligt att kommunicera elementen i set D med det externa RAM-minnet. De Ă€r anslutna till Northbridge och det Ă€r den enda vĂ€gen till det yttre RAM-minnet.

Med allt detta har du redan den fullstÀndiga organisationen av en GPU, med vilken du kan lÀsa diagrammet över en GPU mycket bÀttre och förstÄ hur den Àr organiserad internt.

0 Shares