Unified Memory Architecture (UMA) es un paradigma de diseño de hardware en el que la unidad central de procesamiento (CPU) y la unidad de procesamiento gráfico (GPU) acceden y operan sobre un único pool de memoria física. A diferencia de las arquitecturas con memoria discreta (dGPU), donde la CPU y la GPU tienen sus propias memorias dedicadas y separadas, UMA permite que ambos procesadores compartan el mismo espacio de direcciones de memoria. Esto elimina la sobrecarga de copiar datos explícitamente entre la memoria del sistema (RAM) y la memoria de video (VRAM), lo que reduce la latencia, el consumo de energía y simplifica el modelo de programación.

La implementación de UMA es prevalente en sistemas con gráficos integrados (iGPU), como los procesadores de AMD con sus APUs (Accelerated Processing Units) y los procesadores de Intel con sus Iris Xe Graphics. Apple ha adoptado UMA de manera central en sus chips de la serie Apple Silicon (M1, M2, M3, etc.), donde la CPU, GPU, Neural Engine y otros componentes del SoC acceden a un pool de memoria unificado de alta velocidad. Esto permite que las aplicaciones de edición de video, renderizado 3D y machine learning se beneficien enormemente al evitar las costosas transferencias de datos entre subsistemas de memoria, mejorando la eficiencia y el rendimiento general del sistema.

Para un arquitecto de sistemas, UMA es crucial por varias razones estratégicas. Primero, simplifica el modelo de programación al eliminar la necesidad de gestionar explícitamente la coherencia y transferencia de datos entre memorias separadas, lo que puede reducir la complejidad del código y los errores. Segundo, optimiza el uso de la memoria, ya que el tamaño del pool de memoria disponible para gráficos puede ajustarse dinámicamente según las necesidades de la aplicación, en lugar de estar fijo como en las dGPU. Sin embargo, un trade-off importante es que la CPU y la GPU compiten por el ancho de banda de la misma memoria, lo que puede convertirse en un cuello de botella en cargas de trabajo intensivas en memoria. La decisión de adoptar UMA o una arquitectura de memoria discreta depende de los requisitos de rendimiento, eficiencia energética, costo y el perfil de carga de trabajo esperado del sistema, siendo UMA ideal para sistemas con restricciones de espacio, energía y costo, o donde la latencia de transferencia de datos es crítica.