Musical Sound Generation Device Memory Access Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional musical sound generation devices face inefficiencies in processing due to shared memory configurations, leading to increased memory access collisions and delays, particularly when generating multiple channels simultaneously.
Innovation Solution
A musical sound generation device with multiple sound generation channels, an address calculator, an address memory, a waveform data reader, and a waveform generation prescription unit that assigns and reads waveform data from a shared memory using time division and bus monitoring to optimize data access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a shared memory configuration is used to reduce cost, then device complexity is reduced, but memory access collisions and processing delays increase
Solution Approach 1:
The patent divides the memory access process into separate stages: address calculation is performed in advance during time slots when the bus is idle, and actual data reading is performed when the bus is available. This segmentation separates the computational task from the data transfer task, allowing both to proceed without collision in the shared memory system.
Solution Approach 2:
The address calculator pre-calculates the memory addresses for waveform data before the actual reading operation. By performing address calculation in advance during idle bus periods, the system prepares all necessary address information before the bus becomes available for data transfer, eliminating the need for address calculation during critical data read operations and thus reducing collisions.
2Productivity
If the number of simultaneously generated musical channels is increased, then productivity is improved, but memory access collisions increase
Solution Approach 1:
The patent segments the memory access process into address calculation phase and data reading phase. Address calculation is performed during time slots when the bus is not in use, while data reading is performed when the bus is available. This temporal segmentation allows multiple channels to be processed simultaneously without increasing memory access collisions, as each channel's address is calculated independently during its dedicated time slot.
Solution Approach 2:
The system dynamically assigns time slots to different channels based on their generation requirements. The address calculator operates during idle bus periods, and the waveform data reader operates when the bus is available, creating a flexible dynamic schedule that accommodates varying numbers of simultaneous channels without increasing collision probability.
Data Source
AI summary
An address for reading, from a waveform memory connected by a bus, waveform data to be assigned to each of a plurality of sound generation channels for generating a musical sound, is calculated, by time division, for each sound generation channel, and the calculated address and the sound generation channels are associated and stored in an address memory. When the bus is in an empty state, an address stored in the address memory is read, and waveform data is read from the waveform memory based on the read address; the read waveform data is assigned to the corresponding sound generation channel, and generation of a musical sound is prescribed for the sound generation channel to which the waveform data is assigned.


