Shared memory architecture

HSA defines a special case of memory sharing, where the MMU of the CPU and the IOMMU of the GPU have the an identical pagable virtual adress space.

In computer architecture, shared memory architecture (SMA) refers to a multiprocessing design where several processors access globally shared memory.[1]

Shared memory architectures may use:[1]

In a SMA system processors communicate by reading and writing memory locations.[1] The two key problems in scaling an SMA system are:[1]

  • performance degradation due to "contention" when several processors try to access the same memory location.
  • lack of "coherence" if memory is cached and goes out of synch with the original values as modifications take place.

In case different types of processors like e.g. a CPU and a GPU have a shared memory architecture, the MMU of the CPU and the IOMMU of the GPU have to share certain characteristics, like e.g. a common adress space.

See also

References

  1. ^ a b c d Advanced computer architecture and parallel processing by Hesham El-Rewini et al. 2005 ISBN 978-0-471-46740-3 pages 77-80