Multi-Processor Inter-Process Communication Using Segmented Memory Banks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-processor devices face performance bottlenecks due to write waiting times when processors share memory for inter-process communication, as one processor cannot write data while another is writing, leading to decreased speed.
Innovation Solution
Implementing a multi-processor device with tightly coupled memories and direct memory access (DMA) that allows each processor to write data into its own memory while processing data from another processor, using interrupt signals and circular queues to manage data transmission and reception efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a shared memory is used for inter-process communication between processors, then data exchange can be performed, but write waiting time occurs and processing speed decreases
Solution Approach 1:
The shared memory is segmented into multiple banks (first memory bank, second memory bank, third memory bank) that can operate independently and simultaneously. Different processors can access different memory banks at the same time, eliminating write waiting time and enabling parallel data exchange operations.
Solution Approach 2:
A memory controller is introduced as an intermediary that manages data transfer between processors and memory banks. The controller coordinates access to multiple memory banks, enabling efficient parallel operations and eliminating conflicts that would cause write waiting time in single-shared-memory configurations.
2Quantity of substance
If one processor writes data to shared memory, then data can be stored for another processor, but the second processor cannot write data simultaneously
Solution Approach 1:
The memory system is divided into multiple independent memory banks that can be accessed simultaneously by different processors. This segmentation allows multiple write operations to occur in parallel without interference, eliminating write waiting time while maintaining data storage capacity.
Solution Approach 2:
Multiple memory banks are combined into a unified memory system managed by a memory controller. This combination allows the system to maintain large data storage capacity while enabling parallel access from multiple processors, resolving the conflict between storage capacity and access speed.
3Device complexity
If a single shared memory is used, then device complexity is reduced, but inter-process communication efficiency decreases
Solution Approach 1:
The memory system is segmented into multiple banks that can be accessed in parallel, significantly improving inter-process communication efficiency. While this increases structural complexity, the memory controller manages this complexity transparently, providing a simplified interface for processors.
Solution Approach 2:
The memory controller provides universal management capabilities for multiple memory banks, handling address translation, data transfer, and coordination for all processors. This multi-functional controller abstracts the underlying complexity, allowing processors to communicate efficiently without directly managing the complex memory structure.
Data Source
AI summary
Provided are a multi-process device and an inter-process communication (IPC) method thereof. The multi-processor device includes a first processor, a second processor, a first memory connected to the first processor, and a second memory connected to the second processor. When an inter-process communication (IPC) operation is performed between the first processor and the second processor, data is exchanged between the first memory and the second memory.


