Uniform memory access (UMA) is a type of network architecture that enables all processors to equally use memory chips for storage and for processing. While there typically are many processors in a network, each processor is granted the same access as every other processor in the system. Standalone computers can be said to have uniform memory access, because most computers just have one processor, but this term is meant more for networks with two or more users requesting memory at the same time. Each processor also is granted a personal memory cache, which helps speed processing for the individual user.
In a network, there are typically many computers vying for computer memory access at the same time, and there are several computer architectures made to facilitate this issue. With uniform memory access, every processor is able to use available memory. Other methods set the processors to take the nearest memory, but UMA just brings the processor to any available physical memory.
With other networking systems, the processors may only be able to access memory after processors ahead of them have finished accessing memory, or some processors may have a higher authority and they are privy to better memory access. In the uniform memory access system, every computer is granted the same access to the physical memory and each processor can use the same amount of memory. This means less programming is needed, because the processors are not differentiated; this also keeps users that have low authority from waiting to process a task.
Standalone computers, or computers that are not connected to a network, can be considered to have uniform memory access, but the term is redundant in this situation. Most standalone computers only have one main processor, so there would be no other processor to contend with for physical memory. For this reason, UMA typically is used to describe a network in which two or more people are attempting to process tasks and access memory simultaneously.
Along with being granted common memory access, each processor in uniform memory access is outfitted with a personal cache. This tends to take up more memory than network systems that have a shared cache, but it also may be more useful for each individual user. The cache quickly loads recent memory and, because most users will have different tasks within the network, this will serve each user rather than poorly serve the entire network.