Topologityper för intern kommunikation på CPU och GPU

Topologityper för intern kommunikation på CPU och GPU

Varje flerkärnig arkitektur kräver intern kommunikation för att kommunicera sina olika komponenter med varandra, men det finns olika typer av samtrafiktopologier med olika resultat för intern kommunikation av en CPU, en GPU eller någon annan typ av processor som består av flera element som behöver kommunicera med varandra. Vad är den vanligaste typen av topologi?

De flesta processorer idag är extremt komplexa delar som består av andra, men i allmänhet tenderar alla att ha en central kommunikation som ansvarar för att kommunicera de olika elementen som ingår i processorn. Det finns dock olika topologier i det vi känner till som Northbridge och det är därför vi kommer att lista dem och förklara de mest använda i de olika processorerna i vårt system, oavsett om det är processorer, APU: er och till och med GPU: er.

Delad bussinfrastruktur

Delad busstyg

Den första typen av topologi som vi måste tänka på är den så kallade delade bussinfrastrukturen eller Shared Bus Fabric. Dessa typer av gränssnitt har hög hastighet och används för att kommunicera de olika kärnorna med varandra och deras cachar. Men det är också ansvarigt för att ge åtkomst till utsidan till CPU-kärnorna och därmed ge åtkomst till minne och kringutrustning på ett konsekvent sätt.

Detta innebär att den delade bussinfrastrukturen måste ha en serie mekanismer integrerade för att säkerställa överensstämmelse med minnet hos komponenterna i processorn. Här måste vi klargöra att vi kan hitta att en CPU och en GPU inte delar samma adressering, så de kommer inte att vara sammanhängande med varandra, men internt i samma processor är det normalt att alla komponenter är sammanhängande eller maximala möjlig konsistens. Även om det i APU-apparater vanligtvis inte uppnås.

cache

Den delade bussinfrastrukturen är därför det vi känner till som Northbridge eller North Bridge, som har olika typer av topologier. Detta måste förstås som det sätt på vilket de olika komponenterna kommuniceras med varandra, vilket påverkar latens, implementeringskostnad, energiförbrukning och andra faktorer.

Många gånger finns det konstruktioner som inte har den bästa typen av infrastruktur för att få ut mesta möjliga av sina processorer, men det har valts på grund av tillhörande kostnader, antingen på grund av antalet transistorer som är nödvändiga för dess implementering och på grund av den fysiska kostnader som den energi som överförs för att kommunicera eller släppas ut i form av temperatur.

Tvärstångsbrytaren

Tvärstångsbrytare

En tvärstångsbrytare är den enklaste typen av topologi att visualisera. Det är en typ av nätgränssnitt där var och en av komponenterna har en direkt anslutning till resten av systemets komponenter. Om vi ​​till exempel har en processor med fyra komponenter inuti kommer vi att ha en tvärstångsbrytare på 4 x 4 enheter.

Det är den mest använda typen av topologi och den största fördelen är att den gör det möjligt att utföra flera kommunikationer parallellt. Dess största nackdel? Eftersom vi har fler och fler komponenter anslutna till Crossbar Switch, tar mer och mer storlek detta inuti chipet, vilket gör att den centrala kommunikationsinfrastrukturen växer mer och mer och ögonblicket når att datarörelsen slutar ta mer utrymme än databehandling.

Det är därför Crossbar Switches trots att de är mest använda inte är den enda typen av topologi som vi kan hitta inom en processor, deras enorma komplexitet gör att designers tar andra typer av topologier.

Ringtopologi

Topologia Anillo

Den andra typen av topologi är ringarna, för att förstå hur de fungerar måste vi göra en likhet med verkligheten, såsom radiella motorvägar i vissa städer. Varje utgång till ett grannskap eller distrikt från den radiella motorvägen i vår processor är in- och utdata av data till en komponent i processorn och de fordon som cirkulerar är begäran om data från och till samma komponenter.

I ringinfrastrukturen cirkulerar data runt den centrala ringen. Därför är kommunikationen inte direkt och data lämnar bara ringen när den passerar framför den bestämda komponenten. Ett automatiskt system i ringen extraherar data- och instruktionspaketen till nämnda komponent och cirkulerar resten. Problemet med denna typ av topologi är den hastighet med vilken data färdas. Vanligtvis för varje cykel av den delade bussinfrastrukturen avanceras en underavdelning av ringen, så antalet underavsnitt av en ring kommer att motsvara antalet komponenter, vilket gör det svårt att skala för att skapa mönster med mer eller mer. färre komponenter.

Ringar är den enklaste typen av infrastruktur att implementera på en processor och också den billigaste att implementera på kostnadsnivån. Men i en sådan infrastruktur är varje nod endast ansluten till sina två närmaste grannar, en per adress. Detta innebär att kommunikation med avlägsna komponenter kommer att ha högre latens.

Toroidal topologi

Topología Toroide

Toroidala infrastrukturer används i stor utsträckning i superdatorvärlden för att på det snabbaste och mest effektiva sättet ansluta de olika processorerna som distribueras i olika blad runt infrastrukturen på ett så effektivt sätt som möjligt. Även där de har uppnått sin största popularitet de senaste åren har varit inför processorer utformade för att påskynda algoritmer för artificiell intelligens. Antingen på nivå med att kommunicera flera ALU med varandra eller olika processorer.

Vid första anblicken kan det påminna om en tvärstångsbrytare, men när det gäller en 2-dimensionell torus kan en komponent kommunicera med 4 andra komponenter samtidigt istället för 2 jämfört med en ring och om vi talar om en 3-dimensionell torus då har vi att varje komponent kommer att ha en kommunikation med andra 6 komponenter. För att visualisera det måste vi komma ihåg att varje dimension i en toroidal topologi möjliggör kommunikation med en annan komponent, en för varje dimension. Så på ett förenklat sätt är en ring en endimensionell toroidinfrastruktur.

Trädtopologi

Topologia Arbol

Trädtopologin kommunicerar komponenterna i en organiserad hierarkisk infrastruktur, på ett sådant sätt att för att få åtkomst till en komponent är det nödvändigt att kommunicera med den som är tidigare i hierarkin. Det är ett koncept som mycket liknar toroidal topologi och så har det en mycket låg latens när komponenterna är nära varandra. Därför beror latensen på antalet nivåer som en komponent är i förhållande till en annan inom hierarkin.

Organisationen av en trädtopologi behöver inte ha ett fast antal noder i var och en av dess nivåer och kan vara helt oregelbunden i den aspekten från en nivå av hierarkin till en annan. Så i den aspekten har den större mångsidighet än den toroidala topologin som vi har diskuterat i föregående avsnitt.