Introduction of Multiprocessor and Multicomputer
Last Updated :
13 May, 2024
1. Multiprocessor: A Multiprocessor is a computer system with two or more central processing units (CPUs) share full access to a common RAM. The main objective of using a multiprocessor is to boost the system’s execution speed, with other objectives being fault tolerance and application matching. There are two types of multiprocessors, one is called shared memory multiprocessor and another is distributed memory multiprocessor. In shared memory multiprocessors, all the CPUs shares the common memory but in a distributed memory multiprocessor, every CPU has its own private memory.
The interconnection among two or more processor and shared memory is done with three methods
1)Time shared common bus
2)Multiport memories
3)Crossbar switch network
1)Time shared common bus
.png)
Illustrate time shared common bus
As the name itself indicates, int this method is contains a single shared bus through which all processor & memory unit can be communicated.
Consider CPU-1 is interacting with memory unit using common shared bud in that case all other processor must be idle as we have only one bus to communicate.
Advantage:
- Simple to implement.
- Due to single common bus cost to implement is very less.
Disadvantage:
- Data transfer rate is slow.
2)Multiport memories
Unlike in the shared common bus method, hence it contains separate bus for each processor to communicate with the memory module.
Suppose CPU-1 wants to interact with memory module 1 then port mm1 is enabled. Similarly CPU-4 wants to
to interact with memory module 4 then port mm4 is enabled. Hence all the process can be communicated parallelly. If more than one CPU request for same time memory module, priority will be given in the order of CPU-1,CPU-2,CPU-3,CPU-4.
.png)
Multiport memories architecture
3)Crossbar switch network
Here instead multiport unlike in multiport memories, a switch will be installed between memory unit and CPU. Switch is responsible for whether to pass the request to a particular memory module or not based on the request made for.
.png)
Illustrate cross-bar switch network
Advantage:
Disadvantage:
- Complex to implement as more switches involved.
- Costlier to implement.
Applications of Multiprocessor –
- As a uniprocessor, such as single instruction, single data stream (SISD).
- As a multiprocessor, such as single instruction, multiple data stream (SIMD), which is usually used for vector processing.
- Multiple series of instructions in a single perspective, such as multiple instruction, single data stream (MISD), which is used for describing hyper-threading or pipelined processors.
- Inside a single system for executing multiple, individual series of instructions in multiple perspectives, such as multiple instruction, multiple data stream (MIMD).
Benefits of using a Multiprocessor –
- Enhanced performance.
- Multiple applications.
- Multi-tasking inside an application.
- High throughput and responsiveness.
- Hardware sharing among CPUs.
Advantages:
Improved performance: Multiprocessor systems can execute tasks faster than single-processor systems, as the workload can be distributed across multiple processors.
Better scalability: Multiprocessor systems can be scaled more easily than single-processor systems, as additional processors can be added to the system to handle increased workloads.
Increased reliability: Multiprocessor systems can continue to operate even if one processor fails, as the remaining processors can continue to execute tasks.
Reduced cost: Multiprocessor systems can be more cost-effective than building multiple single-processor systems to handle the same workload.
Enhanced parallelism: Multiprocessor systems allow for greater parallelism, as different processors can execute different tasks simultaneously.
Disadvantages:
Increased complexity: Multiprocessor systems are more complex than single-processor systems, and they require additional hardware, software, and management resources.
Higher power consumption: Multiprocessor systems require more power to operate than single-processor systems, which can increase the cost of operating and maintaining the system.
Difficult programming: Developing software that can effectively utilize multiple processors can be challenging, and it requires specialized programming skills.
Synchronization issues: Multiprocessor systems require synchronization between processors to ensure that tasks are executed correctly and efficiently, which can add complexity and overhead to the system.
Limited performance gains: Not all applications can benefit from multiprocessor systems, and some applications may only see limited performance gains when running on a multiprocessor system.
2. Multicomputer: A multicomputer system is a computer system with multiple processors that are connected together to solve a problem. Each processor has its own memory and it is accessible by that particular processor and those processors can communicate with each other via an interconnection network.
As the multicomputer is capable of messages passing between the processors, it is possible to divide the task between the processors to complete the task. Hence, a multicomputer can be used for distributed computing. It is cost effective and easier to build a multicomputer than a multiprocessor. Difference between multiprocessor and Multicomputer:
- Multiprocessor is a system with two or more central processing units (CPUs) that is capable of performing multiple tasks where as a multicomputer is a system with multiple processors that are attached via an interconnection network to perform a computation task.
- A multiprocessor system is a single computer that operates with multiple CPUs where as a multicomputer system is a cluster of computers that operate as a singular computer.
- Construction of multicomputer is easier and cost effective than a multiprocessor.
- In multiprocessor system, program tends to be easier where as in multicomputer system, program tends to be more difficult.
- Multiprocessor supports parallel computing, Multicomputer supports distributed computing.
Advantages:
Improved performance: Multicomputer systems can execute tasks faster than single-computer systems, as the workload can be distributed across multiple computers.
Better scalability: Multicomputer systems can be scaled more easily than single-computer systems, as additional computers can be added to the system to handle increased workloads.
Increased reliability: Multicomputer systems can continue to operate even if one computer fails, as the remaining computers can continue to execute tasks.
Reduced cost: Multicomputer systems can be more cost-effective than building a single large computer system to handle the same workload.
Enhanced parallelism: Multicomputer systems allow for greater parallelism, as different computers can execute different tasks simultaneously.
Disadvantages:
Increased complexity: Multicomputer systems are more complex than single-computer systems, and they require additional hardware, software, and management resources.
Higher power consumption: Multicomputer systems require more power to operate than single-computer systems, which can increase the cost of operating and maintaining the system.
Difficult programming: Developing software that can effectively utilize multiple computers can be challenging, and it requires specialized programming skills.
Synchronization issues: Multicomputer systems require synchronization between computers to ensure that tasks are executed correctly and efficiently, which can add complexity and overhead to the system.
Network latency: Multicomputer systems rely on a network to communicate between computers, and network latency can impact system performance.
Similar Reads
Introduction of Input-Output Processor
The DMA mode of data transfer reduces the CPU's overhead when handling I/O operations. It also allows parallel processing between CPU and I/O operations. This parallelism is necessary to avoid the wastage of valuable CPU time when handling I/O devices whose speeds are much slower as compared to CPU.
5 min read
Introduction of Microcomputer System
Introduction of Microcomputer System Microcomputer systems are small and inexpensive computers that are widely used in various applications. The 8085 microprocessor is an example of a Microcomputer System. A microprocessor system contains two types of memory that are EPROM and R/WM, Input and Output
4 min read
Introduction to memory and memory units
Memory is required to save data and instructions. Memory is divided into cells, and they are stored in the storage space present in the computer. Every cell has its unique location/address. Memory is very essential for a computer as this is the way it becomes somewhat more similar to a human brain.
11 min read
Co-Processor | Computer Architecture
Introduction :If in microprocessor chip, new circuitry can be added with special purpose to perform special tasks or to perform operations on numbers in order to offload the work of the core CPU. The CPU can then work faster. We may use a conveyor belt to do some extra work while motor is running. S
4 min read
Machine Control Instructions in Microprocessor
Microprocessors are electronic devices that process digital information using instructions stored in memory. Machine control instructions are a type of instruction that control machine functions such as Halt, Interrupt, or do nothing. These instructions alter the different type of operations execute
4 min read
Parallel Arbitration Logic In Multiprocessors
In multiprocessor systems, the arbitration logic is used to make sure that at a single point in time, only one processor can access the system bus. In this article, we are going to see how the functioning of parallel arbitration logic in multiprocessors takes place. What is Parallel Arbitration Logi
5 min read
Multiport Memory Multiprocessor System
Multiport Memory System employs separate buses between each memory module and each CPU. A processor bus comprises the address, data and control lines necessary to communicate with memory. Each memory module connects each processor bus. At any given time, the memory module should have internal contro
1 min read
Layers of Abstraction in Computer System
Computer System is divided into two functional entities. Hardware and Software are two functional entities of computer system. Operating system is the link between hardware and software. There are a certain layers in computer system through which a process goes to perform a task. Here we will discus
1 min read
Difference between Minicomputer and Supercomputer
Computers are electronic devices that can accept information, follow instructions, and produce results. There are different types of computers based on their size, like minicomputers and supercomputers. Minicomputers are smaller and less powerful, used for basic tasks. Supercomputers are extremely p
4 min read
Role of processor in a PC
The processor also known as CPU is a piece of hardware. It is often referred to as the âBrain of a PCâ because all the computations and processing are carried out directly or indirectly by the processor containing millions of transistors. It is a single chip that is capable of processing data. In fa
3 min read