RAM-minnesorganisation: UMA, NUMA och skillnader

Datorsystem kan klassificeras efter hur organisationen av deras RAM minnet är utformat och därför i två olika grupper: UMA-system och NUMA-system. Vi förklarar de grundläggande skillnaderna mellan dessa sätt att organisera ett system enligt minnesorganisation och vad är fördelarna och nackdelarna med varje typ.

När man designar ett system är en av de första sakerna som placeras på designbordet hur RAM kommer att organiseras, eftersom detta inte bara kommer att indikera hur systemarkitekturen kommer att se ut, utan också dess prestanda, dess tillverkningskostnad och dess expanderbarhet.

RAM-minnesorganisation

RAM-minnesorganisation: UMA

Organisation Memoria UMA

UMA är förkortningen för Uniform Memory Access och hänvisar till alla system där RAM är en gemensam delad brunn när det gäller åtkomst av CPU och resten av systemets processorer. Denna typ av konfiguration används särskilt i SoCs idag, där de olika komponenterna delar tillgång till minne.

UMA-systemet är också det som används i videospelkonsoler, i allmänhet är det minnessystemet som används i varje system där dess komponenter är monterade på ett gemensamt kort, där dirigering av två olika typer av minnesbrunnar är en komplikation på vägarna och kommunikationslinjer som passerar plattan.

Det är därför det enklaste sättet att bygga ett minnessystem i vilken typ av dator som helst, men det medför en rad problem som att dela minnesåtkomst slutar skapa en konflikteffekt, där det skapas en ”väntelista ”För att få åtkomst till data, som bara kan lindras med användning av RAM-minnestyper med olika åtkomstkanaler.

RAM-minnesorganisation: NUMA

Organisación memoria NUMA

NUMA eller icke-enhetligt minnesåtkomst minne organisation. Avser system där flera olika minnesbrunnar används i samma system. Detta är fallet med datorn där vi till exempel kan se hur grafikkort har ett eget minne som skiljer sig från systemets huvudsakliga RAM.

NUMA-system lider inte av konfliktproblemet i minnesåtkomst för UMA-system, men för att kommunicera de olika komponenterna i systemet med varandra, resulterar det i ett mycket komplext system. Anledningen till detta är att var och en av komponenterna måste ha åtkomstmekanismer till RAM-minnet för kommunikation med CPU, till exempel har GPU: er DMA-enheter som gör att de kan komma åt systemets RAM-minne och göra kopior av vissa data från RAM till VRAM.

Denna typ av minnesorganisation används när vi vill skapa ett system med expansionsfunktioner, för dem är det nödvändigt att skapa så kallade expansionsportar, som används för att kommunicera systemets CPU med RAM-minnessystemen i systemet. varje komponent som ingår i systemet.

Adressering mot fysisk organisation

CPU -RAM

Ett av idealen i PC är det helt sammanhängande minnessystemet, där adressering av de olika komponenterna i det är vanligt i dem alla. Det betyder att om vi ändrar adressen, säg till exempel F4. Sedan måste alla komponenter när de går till minnesadressen F4, alla andra komponenter på datorn hänvisa till samma minnesadress.

Man kan från början tänka att eftersom UMA-system alltid har sitt minne delat på den fysiska nivån kommer det att vara detsamma på adressnivån, eftersom vi talar om samma minnespool på den fysiska nivån. Verkligheten är helt annorlunda, eftersom det är nödvändigt att de olika komponenterna är sammanhängande när det gäller minne, vilket innebär att man tar det föregående exemplet om vi skriver värdet 30 i adressen F4 så vet alla komponenter att det finns ett värde 30 där.

CoreLink-Cache-nätverk

Sättet att få alla komponenter i en SoC att vara helt sammanhängande är därför inte att använda samma minneskontroll, utan att lägga till en sista cache-nivå strax före nämnda styrenhet, vilket skulle vara bortom CPU, GPU. och andra komponenter och skulle ses av dem alla som en sista nivå av cache.

Det faktum att man lägger till en cache på sista nivån före minneskontrollern är typiskt för PostPC-system, eftersom alla var designade för SoC från början, det finns inga program som gör kopior av data från ett utrymme till ett annat. På PC är detta dock inte vanligt och dock Intel och AMD har lanserat SoC i flera år där alla komponenter är enhetliga i ett enda chip, tillgång till de olika elementen inom SoC är inte och delar av RAM-minnet isoleras exklusivt för en specifik komponent. När vi till exempel har en integrerad grafik och vi tilldelar en mängd minne till nämnda grafik, berättar vi för CPU: n att dess utrymme inte kan röra vid det, eftersom det inte är tilldelat.