Table of contents
1.
Introduction
2.
Multiprocessor 
3.
Characteristics of Multiprocessors
4.
Applications of Multiprocessor
5.
Benefits of using a Multiprocessor
6.
FAQs
7.
Key Takeaways
Last Updated: Mar 27, 2024

Introduction to Multiprocessor

Author Abhay Trivedi
0 upvote
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

A multiprocessor is a computer that contains two or more central processing units (CPUs) that share full access to a standard RAM(Random-access memory). The primary goal of using a multiprocessor is to increase the system's execution speed, with fault tolerance and application matching as secondary goals. 

We can divide multiprocessors into shared memory multiprocessors and distributed memory multiprocessors. Each CPU has its private memory in a distributed memory multiprocessor, but all CPUs share the common memory in a shared-memory multiprocessor.

Basic Architecture of Multiprocessor

Recommended Topic, Microinstruction in Computer Architecture , Memory hierarchy in computer network.

Multiprocessor 

It is a computer system containing two or more central processing units (CPUs), each of which shares the same main memory (RAM) and peripherals. As a result, it can process multiple programs at the same time.

For both desktop and embedded systems, the computer industry is moving away from uniprocessors and toward various types of multiprocessors. Many manufacturers are currently developing chip multiprocessors or simultaneous multi-threaded CPUs in place of classic single multiprocessing systems, allowing for more efficient use of chip surfaces. The multiprocessor system requires assistance from Operating Systems and applications to take advantage of the hardware. We can improve computing speeds, performance, and cost-effectiveness and provide increased availability and dependability by adopting multiprocessors.

Basic Organisation of Multiprocessing System

The symmetric multiprocessing model is utilized in a multiprocessing system. Each CPU runs a duplicate of the operating system, which communicates with one another. In this system, each CPU is allocated a distinct task. A master processor, whose job is to control the system, is likewise a concept. A master-slave relationship is a term used to describe this arrangement. Since the processors may share peripherals, power supply, and other components, this system is more cost-effective than individual processor systems.

The real benefit of a multiprocessor system is that it allows you to complete more tasks in less time. It also ensures reliability if one of the processors fails. In this case, the multiprocessor system will slow down rather than stop the entire system.

Taxonomy of mono-multiprocessor organizations 

Here is a flowchart of mono-multiprocessor organizations depicting a computer system with two or more central processing units (CPUs). Each one shares the common main memory and the peripherals. It helps in the simultaneous processing of programs.

You can also read about - Shift Registers in Digital Electronics

Characteristics of Multiprocessors

Symmetric shared memory: It introduces multiprocessor architecture and shared memory machine design options. It explains the cache coherence problem and the solutions that are accessible. It also contains information on snooping protocols.

Memory consistency models: It presents the memory consistency idea and the sequential consistency paradigm. More lenient consistency models, such as the release/acquire model, are also presented. It also provides information on the memory model used by Intel processors.

Synchronization: It discusses the synchronization problem in shared memory computers. It also discusses the several hardware primitives that we can utilize to accomplish synchronization. It explains what a lock and a barrier are and how to create them.

Distributed shared memory: It goes over the concept of distributed shared memory in greater depth and introduces directory-based protocols.

Also see, Instruction Format in Computer Architecture

Applications of Multiprocessor

  • As a uniprocessor, it can only handle a single instruction, single data stream (SISD).
  • Vector processing is typically done with multiprocessors with SIMD (single instruction, multiple data stream).
  • Hyper-threading or pipelined processors are described by several sequences of instructions in a single view, like multiple instruction single data stream (MISD).
  • Inside a single system for performing multiple, individual series of instructions in multiple perspectives, such as multiple instructions, multiple data (MIMD).

Benefits of using a Multiprocessor

  • Improved performance
  • Numerous applications
  • Multiple users
  • Multi-tasking inside an application
  • High throughput and responsiveness
  • Hardware sharing among CPUs

FAQs

1. What do you mean by multiprocessing?

Ans: Multiprocessing employs two or more central processing units (CPUs) within a single computer system. The phrase also refers to a system's ability to accommodate several processors or distribute jobs among them.

2. What is a multiprocessor?

Ans: A multiprocessor is a computer that contains two or more central processing units (CPUs) that share full access to a standard RAM. A computer system includes:

  • Two or more central processing units.
  • Each main sharing memory and peripherals.
  • Simultaneously processing programs.

 

3. What are the types of multiprocessors?

Ans: Shared memory multiprocessors and distributed memory multiprocessors are the two types of multiprocessors. All CPUs share the common memory in shared-memory multiprocessors, whereas, in distributed memory multiprocessors, each CPU has its private memory.

4. What is a uniprocessor?

Ans: A uniprocessor is an architecture based on a single computing unit. All operations (additions, multiplications, etc.) are done sequentially on the unit.

5. What are the disadvantages of multiprocessor systems?

Ans: A single processor system is substantially less expensive than a multiprocessor system. A multiprocessor system has numerous processors that share peripherals, memory, and other resources. As a result, scheduling and allocating resources to processes are substantially more difficult.

Key Takeaways

This article teaches about multiprocessors. We also discussed the characteristics, benefits, and applications of multiprocessors.

Click here to read about Register in ComputerRepeater in Computer Network Interprocessor Communication, and Synchronization

Recommended reading: 

Process Control Block in OS

Device Manager in Computer

Refer to our guided paths on Coding Ninjas Studio to learn more about DSA, Competitive Programming, JavaScript, System Design, etc. Enroll in our courses and refer to the mock test and problems available. Take a look at the interview experiences and interview bundle for placement preparations.

Do upvote our blog to help other ninjas grow.

Happy Learning!

Live masterclass