Shared Memory Multiprocessors in Computer Architecture YASH PAL, March 7, 2026March 7, 2026 Shared Memory Multiprocessors in Computer Architecture – A shared-memory multiprocessor is a computer system composed of multiple independent processors that execute different instruction streams. Using Flynn’s classification, an Shared Memory Multiprocessors is a multiple-instruction multiple-data (MIMD) architecture. The processors share a common memory address space and communicate with each other via memory. A typical shared-memory multiprocessor, as shown in the image below, includes a number of processors with local caches, all interconnected with each other and with common memory via an interconnection (e.g., a bus). Shared Memory Multiprocessor In a multiprocessor system, all processes on the various CPUs share a unique logical address space, which is mapped to a physical memory that can be distributed among the processors. Each process can read and write a data item simply using load and store operations, and process communication is through shared memory. It is the hardware that makes all CPUs access and use the same main memory. A shared-memory multiprocessor is an architecture consisting of a modest number of processors, all of which have direct (hardware) access to all the main memory in the system (Fig. 5.37). This permits any of the system processors to access data that any of the other processors has created or will use. The key to this form of multiprocessor architecture is the interconnection network that directly connects all the processors to the memories. This is complicated by the need to retain cache coherence across all caches of all processors in the system. Shared Memory Multiprocessor Memory hierarchies in multi-processors fall into the following four categories. Shared cache and bus-based memory Dance Hall and Distributed Memory Types of Architecture There are three types of architecture: Uniform Memory Access (UMA) Non-Uniform Memory Access (NUMA) Cache Only Memory Access (COMA) Uniform Memory Access (UMA): The name of this type of architecture hints at the fact that all processors share a unique centralized primary memory, so each CPU has the same memory access time. Owing to this architecture, these systems are also called Symmetric Shared-memory Multiprocessors (SMP). Uniform Memory Access Non-Uniform Memory Access (NUMA): These systems have a shared logical address space, but physical memory is distributed among CPUs, so that access time to data depends on data position, either local or in a remote memory (thus the NUMA denomination). These systems are also called Distributed Shared Memory (DSM) architectures. Non-Uniform Memory Access Cache Only Memory Access (COMA): In this, data have no specific “permanent” location (no specific memory address) where they stay and whence they can be read (copied into local caches) and/or modified (first in the cache and then updated at their “permanent” location). Data can migrate and/or can be replicated in the various memory banks of the central main memory. Cache Only Memory Access Computer System Architecture engineering subjects Computer System Architecture