In the NUMA architecture, each processor may use a private cache. Peripherals are also shared in some fashion.
Within the NUMA framework, individual processors can access their own private memory space (cache), while peripherals are also allocated and utilized by multiple processors to some extent.