SoC Architecture: Hur heterogena processorer fungerar

SoC-arkitektur

Idag har vi alla en enhet som åtminstone har en SoC som huvudprocessor, vare sig det är en smartphone, en videospelkonsol eller till och med en dator. Visste du att de alla har en gemensam struktur mellan sig? I den här artikeln presenterar vi dig för den arkitektur som SoC: erna har gemensamt.

Även om de används i olika enheter, för olika applikationer, kör de olika binära filer och det finns punkter som skiljer dem åt, alla SoC har en gemensam arkitektur, vilket påverkar deras prestanda och deras natur som helhet.

Vad är en SoC?

PS5 SoCs

Idag är varje processor en SoC, men vi kallar SoC de som samlar en CPU och en GPU i samma utrymme, för att skilja dem från de SoC som bara fungerar som centrala processorer eller grafikchips som fortfarande kallas CPU respektive GPU.

SoC finns idag i alla typer av datorer och har den ekonomiska fördelen att de kombinerar flera komponenter på ett enda chip. Anledningen är att processen sparar inte bara tillverkningen av flera marker genom att förenkla till ett utan också motsvarande tester.

Så SoC: erna är inget annat än en produkt av den kontinuerliga integrationen av komponenterna tack vare Moores lag, där små och små antalet komponenter på moderkortet har minskat eftersom de integreras i varandra. Sådan integration har dock ett antal avvägningar som påverkar dess prestanda och får en SoC-baserad design att prestera mindre med ett separat chip.

Allmän arkitektur för en SoC

SoC Arquitectura General

Oavsett vilken typ av SoC vi pratar om, har de alla en rad element gemensamt med avseende på deras organisation. Vad menar vi med det? Organisationen eller arkitekturen är det sätt som komponenterna i en processor är sammankopplade med varandra i ett integrerat chip.

I SoC: er delar alla element en gemensam åtkomst till samma minnesbrunn, det betyder att i alla SoC: er görs åtkomst till minnet via en enda komponent. Som i alla arkitekturer är Northbridge eller north bridge, som kommunicerar alla komponenter i CPU: n mellan dem och med RAM minne.

sammankopplingar

Northbridge kör inte riktigt några program, men det organiserar sändning och mottagning av data, så internt bearbetar SoC kontinuerligt en stor mängd data och är den viktigaste delen vid utformningen. en SoC.

Det finns en myt bland användarna att skapa en SoC limma samman de olika delarna. Verkligheten är väldigt annorlunda, eftersom sammankopplingen mellan komponenter kräver konstruktion av en specifik interkommunikationsinfrastruktur som är olika för varje SoC.

Arkitektur i en SoC och minnesåtkomst

ASCII

I SoC: erna delar alla komponenter åtkomst till RAM-minnet, detta medför konfliktproblem. Vad är ett inneslutningsproblem? Det är när minnesförfrågningarna är så höga att det slutar lägga till mer latens än normalt och därmed gör prestandan för varje element i SoC sämre än för varje element som har sin egen typ av minne.

Det bästa sättet att lindra detta är att använda flera minneskanaler samtidigt, det är vanligt att datorer använder två minneskanaler per SoC, 4 arbetsstationer och 8 servrar. Varje minneskanal kan användas av en hårdvarukomponent samtidigt, men på grund av det stora antalet objekt som åtkomst samtidigt räcker det inte.

Vidare komplicerar hanteringen av ett flerkanaligt minnesgränssnitt Northbridge ytterligare och ökar därmed dess SoC-storlek. Det är därför som SoC: erna för servrar har störst storlek, inte bara på grund av ett större antal kärnor, utan för att det större utrymmet för Northbridge gör att de kan lägga till större komplexitet inför minnesgränssnitt.

Sammanhängande minne kontra icke-sammanhängande minne

I en SoC, även om åtkomst till minne är enhetlig på den fysiska nivån, är den inte på adresseringsnivån. När vi pratar om att en komponent i SoC är sammanhängande när det gäller minne menar vi att de alla pekar på samma minnesadresser och när en förändring görs i varje del av RAM-minnet är resten av elementen medvetna.

Konsistens inträffar med avseende på CPU, men det finns komponenter i SoC som kan fungera utan att ha en konsistensmekanism. Detta tvingar att det med avseende på externt minne finns en del som tilldelas den sammanhängande delen och andra till de icke-sammanhängande delarna. När Northbridge i SoC tar emot en minnesförfrågan i en SoC som har båda typerna, är vad den gör att dela upp minnesadresseringen, på ett sådant sätt att komponenterna som överensstämmer med CPU: n får åtkomst till en del av minnet och andra till en annan del. av minnet.

Det bästa sättet att uppnå minneskoherens är att lägga till en extra cache-nivå, som inte finns i var och en av komponenterna utan i Northbridge, ett element där de alla kommunicerar gemensamt. Denna metod är vanlig bland SoC-apparater för smartphones och är den enklaste att implementera för att uppnå minneskonsistens.

Termisk drunkning i SoC

Arquitectura SoC ahogamiento termal

Ett annat problem i SoCs är det faktum att komponenterna är mycket nära varandra, vilket innebär att de kan uppnå lägre temperatur än om de skulle monteras som separata komponenter. Detta innebär att klockhastigheterna som varje komponent kan uppnå är lägre än separat, vilket påverkar prestanda.

Så i en SoC om du vill att en komponent ska nå maximal hastighet gör den det i skada på resten av komponenterna. Även på SoC med flerkärniga processorer inträffar detta mellan olika kärnor, där vissa konstruktioner tillåter en enda kärna att springa snabbare än resten.

Det är också därför många SoC-enheter har möjlighet att ansluta och koppla bort olika delar av GPU när de inte används, men detta måste implementeras i själva SoC-arkitekturen och därför i dess design.