Topologityper til intern kommunikation på CPU og GPU

Topologityper til intern kommunikation på CPU og GPU

Enhver multicore-arkitektur kræver intern kommunikation for at kommunikere dens forskellige komponenter med hinanden, men der er forskellige typer samtrafiktopologier med forskellige resultater til intern kommunikation af en CPU, en GPU eller enhver anden type processor sammensat af flere elementer, der skal kommunikere med hinanden. Hvad er den mest anvendte type topologi?

De fleste processorer i dag er ekstremt komplekse stykker, der består af andre, men generelt har alle en tendens til at have en central kommunikation, der er ansvarlig for at kommunikere de forskellige elementer, der er en del af processoren. Der er dog forskellige topologier i det, vi kender som Northbridge, og det er derfor, vi vil liste dem og forklare de mest anvendte i de forskellige processorer i vores system, hvad enten de er CPU'er, APU'er og endda GPU'er.

Delt businfrastruktur

Delt busstof

Den første type topologi, som vi skal overveje, er den såkaldte delte businfrastruktur eller Shared Bus Fabric. Disse typer grænseflader har stor hastighed og bruges til at kommunikere de forskellige kerner med hinanden og deres cacher. Men det er også ansvarligt for at give adgang til ydersiden til CPU-kernerne og derfor give adgang til hukommelse og perifert udstyr på en ensartet måde.

Dette betyder, at den delte businfrastruktur skal have en række mekanismer integreret for at sikre sammenhæng med hukommelsen af ​​komponenterne i processoren. Her skal vi præcisere, at vi kan finde ud af, at en CPU og en GPU ikke deler den samme adressering, så de ikke vil være sammenhængende med hinanden, men internt i den samme processor er det normalt, at alle komponenterne er sammenhængende eller maksimale mulig konsistens. Selvom det i APU'er normalt ikke opnås.

Cache

Den delte businfrastruktur er derfor det, vi kender som Northbridge eller nordbroen, som har forskellige typer topologier. Dette skal forstås som den måde, hvorpå de forskellige komponenter kommunikeres med hinanden, hvilket vil påvirke ventetid, omkostninger til implementering, energiforbrug og andre faktorer.

Mange gange er der designs, der ikke har den bedste type infrastruktur for at få mest muligt ud af deres processorer, men det er valgt af grunde til de dermed forbundne omkostninger, enten på grund af antallet af transistorer, der er nødvendige for dens implementering, og på grund af omkostninger såsom den energi, der overføres til at kommunikere eller udsendes i form af temperatur.

Tværstangsafbryderen

Tværstangsafbryder

En tværstangsafbryder er den nemmeste type topologi at visualisere. Det er en type netgrænseflade, hvor hver af komponenterne har en direkte forbindelse til resten af ​​systemets komponenter. For eksempel, hvis vi har en processor med 4 komponenter indeni, vil vi have en tværstangsafbryder på 4 x 4 enheder.

Det er den mest anvendte type topologi, og den største fordel er, at det gør det muligt at udføre flere kommunikationer parallelt. Dens største ulempe? Da vi har flere og flere komponenter tilsluttet Crossbar Switch, tager mere og mere størrelse dette inde i chippen, hvilket får den centrale kommunikationsinfrastruktur til at vokse mere og mere, og det øjeblik er nået, når dataflytning ender med at tage mere plads end databehandling.

Det er grunden til, at Crossbar Switches på trods af at være den mest anvendte ikke er den eneste type topologi, som vi kan finde i en processor, deres enorme kompleksitet får designere til at tage andre typer topologier.

Ringtopologi

Topologia Anillo

Den anden type topologi er ringene for at forstå, hvordan de fungerer, skal vi lave en lignelse med virkeligheden, såsom radiale motorveje i nogle byer. Hver udgang til et kvarter eller distrikt fra den radiale motorvej i vores processor er et input og output af data til en komponent i processoren, og de køretøjer, der cirkulerer, er anmodninger om data fra og til de samme komponenter.

I ringinfrastrukturen cirkulerer data omkring den centrale ring. Derfor er kommunikationen ikke direkte, og dataene forlader kun ringen, når den passerer foran den bestemte komponent. Et automatiseret system i ringen ekstraherer data- og instruktionspakkerne til komponenten og cirkulerer resten. Problemet med denne type topologi er den hastighed, hvormed dataene bevæger sig. For hver cyklus af den delte businfrastruktur fremføres typisk et underafsnit af ringen, så antallet af underafsnit af en ring svarer til antallet af komponenter, hvilket gør det vanskeligt at skalere for at skabe designs med mere eller mere. færre komponenter.

Ringe er den enkleste type infrastruktur, der skal implementeres på en processor, og også den billigste at implementere på omkostningsniveau. Men i en infrastruktur af denne type er hver knude kun forbundet med sine 2 nærmeste naboer, en pr. Adresse. Dette betyder, at kommunikation med fjernere komponenter vil have højere ventetid.

Toroidal topologi

Topología Toroide

Toroidale infrastrukturer bruges i vid udstrækning i verdenen af ​​supercomputere til at forbinde på den hurtigste og mest effektive måde de forskellige processorer fordelt i de forskellige blade rundt om infrastrukturen på den mest effektive måde. Skønt hvor de har opnået deres største popularitet i de senere år, har det været over for processorer designet til at fremskynde kunstig intelligens algoritmer. Enten på niveauet med at kommunikere flere ALU'er med hinanden eller forskellige processorer.

Ved første øjekast kan det minder om en Crossbar Switch, men i tilfælde af en 2-dimensionel torus kan en komponent kommunikere med 4 andre komponenter på samme tid i stedet for 2 sammenlignet med en ring, og hvis vi taler om en 3-dimensionel torus så har vi, at hver komponent vil have en kommunikation med andre 6 komponenter. For at visualisere det skal vi huske på, at hver dimension af en toroidetopologi tillader kommunikation med en anden komponent, en for hver dimension. Så på en forenklet måde er en ring en endimensionel toroidinfrastruktur.

Træ topologi

Topologia Arbol

Trætopologien kommunikerer komponenterne i en organiseret hierarkisk infrastruktur på en sådan måde, at det er nødvendigt at kommunikere med den, der er tidligere i hierarkiet, for at få adgang til en komponent. Det er et koncept, der minder meget om toroidetopologi, og som dette har det en meget lav ventetid, når komponenterne er tæt på hinanden. Derfor vil latensen afhænge af antallet af niveauer, som en komponent er i forhold til en anden inden for hierarkiet.

Organiseringen af ​​en trætopologi behøver ikke at have et fast antal noder i hvert af dens niveauer og kan være totalt uregelmæssigt i dette aspekt fra et niveau af hierarkiet til et andet. Så i det aspekt har den større alsidighed end den toroidetopologi, som vi har diskuteret i det foregående afsnit.