Skip to content
The Computer Science
TheCScience
  • Engineering Subjects
    • Human Values
    • Computer System Architecture
    • Digital Communication
    • Internet of Things
  • NCERT Solutions
    • Class 12
    • Class 11
  • HackerRank solutions
    • HackerRank Algorithms Problems Solutions
    • HackerRank C solutions
    • HackerRank C++ problems solutions
    • HackerRank Java problems solutions
    • HackerRank Python problems solutions
The Computer Science
TheCScience

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
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
Shared Memory Multiprocessor

Memory hierarchies in multi-processors fall into the following four categories.

Shared cache and bus based memory
Shared cache and bus-based memory
Dance hall and Distributed Memory
Dance Hall and Distributed Memory

Types of Architecture

There are three types of architecture:

  1. Uniform Memory Access (UMA)
  2. Non-Uniform Memory Access (NUMA)
  3. 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
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
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
Cache Only Memory Access
Computer System Architecture engineering subjects Computer System Architecture

Post navigation

Previous post

Computer Architecture fundamentals
Basic structure of a computer
Functional Units of Computer
Development of Computers
Von Neuman and Harvard machine Architecture
Flynn Classification
Computer Structure Architecture
Interfacing Logic Devices
Levels of Design abstraction
Performance Metrics

Register Transfer Language
Memory Transfer
Arithmetic Micro-operations
Arithmetic Complements
Logic Micro-operations
Shift Micro-operations
Bus Architecture
Data Transfer
Central Processing Unit
CPU Bus Architecture

Computer Register and Types
Common Bus System
Instruction Format
Instruction Types
Instruction Cycle
Addressing Modes
Design of a basic computer

Basic function of a Computer
General register organization
Stack organization
Infix to Reverse Polish Notation Conversion
Instruction Types and their classifications
Data transfer and manipulation
Program control
RISC characteristics
CISC characteristics

Pipeline
Types of Pipeline
Arithmetic Pipeline
Instruction Pipeline
Hazards
Vector Processing

Data Representation
Addition and Subtraction
Adder Circuits
Shift and Add Multiplication Method
Booth's Algorithm
Restoring Division Algorithm
Non-Restoring Division Algorithm
Array Multiplier

Memory Classification
Memory Characteristics
Memory Organization
Memory Types
Associative Memory
Cache Memory
Virtual Memory

Input Output Interface
Modes of Data Transfer
Priority Interrupt
Direct Memory Access
Input-Output Processor
Serial Communication

TheCScience

We at TheCScience.com are working towards the goal to give free education to every person by publishing in dept article about Secondary, Senior-Secondary, and Graduation level subjects.

Pages

About US

Contact US

Privacy Policy

DMCA

Our Tools

Hosting - get 20% off

Engineering Subjects

Internet of Things

Human Values

Digital Communication

Computer System Architecture

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes