Accesul uniform la memorie (UMA) este un tip de arhitectură de rețea care permite tuturor procesoarelor să utilizeze în mod egal cipurile de memorie pentru stocare și procesare. Deși în mod obișnuit există multe procesoare într-o rețea, fiecărui procesor i se acordă același acces ca orice alt procesor din sistem. Se poate spune că computerele de sine stătătoare au acces uniform la memorie, deoarece majoritatea computerelor au doar un procesor, dar acest termen se referă mai mult la rețelele cu doi sau mai mulți utilizatori care solicită memorie în același timp. Fiecărui procesor i se acordă, de asemenea, o memorie cache personală, care ajută la accelerarea procesării pentru utilizatorul individual.
Într-o rețea, există de obicei multe computere care luptă pentru acces la memoria computerului în același timp și există mai multe arhitecturi de computere create pentru a facilita această problemă. Cu acces uniform la memorie, fiecare procesor este capabil să utilizeze memoria disponibilă. Alte metode setează procesoarele să ia cea mai apropiată memorie, dar UMA doar aduce procesorul la orice memorie fizică disponibilă.
Cu alte sisteme de rețea, procesoarele pot avea acces la memorie numai după ce procesoarele dinaintea lor au terminat de accesat memoria, sau unele procesoare pot avea o autoritate mai mare și au acces la memorie mai bună. În sistemul uniform de acces la memorie, fiecărui computer i se acordă același acces la memoria fizică și fiecare procesor poate folosi aceeași cantitate de memorie. Aceasta înseamnă că este nevoie de mai puțină programare, deoarece procesoarele nu sunt diferențiate; acest lucru împiedică, de asemenea, utilizatorii care au autoritate scăzută să aștepte să proceseze o sarcină.
Calculatoarele autonome sau computerele care nu sunt conectate la o rețea pot fi considerate a avea acces uniform la memorie, dar termenul este redundant în această situație. Majoritatea computerelor de sine stătătoare au un singur procesor principal, așa că nu ar exista un alt procesor cu care să se lupte pentru memoria fizică. Din acest motiv, UMA este de obicei folosit pentru a descrie o rețea în care două sau mai multe persoane încearcă să proceseze sarcini și să acceseze memoria simultan.
Pe lângă faptul că i se acordă acces comun la memorie, fiecare procesor cu acces uniform la memorie este echipat cu un cache personal. Acest lucru tinde să ocupe mai multă memorie decât sistemele de rețea care au un cache partajat, dar poate fi și mai util pentru fiecare utilizator în parte. Cache-ul încarcă rapid memoria recentă și, deoarece majoritatea utilizatorilor vor avea sarcini diferite în cadrul rețelei, acest lucru va servi fiecărui utilizator mai degrabă decât să servească prost întreaga rețea.