Reconfigurable Processor Configuration Memory With Sequential Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Reconfigurable processors face inefficiencies in processing tasks with changed work contents due to fixed hardware functions, and software processing is slower, necessitating an optimization of configuration memory usage.
Innovation Solution
A method and apparatus that analyze parallelism in program code loops, schedule function units, and generate configuration data for efficient mapping in configuration memory, using regular encoding and determining optimal memory mapping methods based on processor architecture and memory details.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If configuration memory size is increased to store all possible function unit configurations, then processing capability is improved, but device complexity and cost increase
Solution Approach 1:
The configuration memory is divided into multiple banks, and the configuration data is segmented into multiple parts that can be stored across these banks. This segmentation allows the system to manage large configuration data without requiring a single large memory block, thereby reducing complexity while maintaining adaptability.
Solution Approach 2:
The patent introduces a time dimension by using multiple configuration memory banks that can be accessed in different cycles. Configuration data for different function unit groups is stored in different banks and activated at different times, effectively adding a temporal dimension to the memory architecture to reduce spatial requirements.
2Adaptability or versatility
If configuration memory size is increased to store all possible function unit configurations, then adaptability is improved, but area occupied increases
Solution Approach 1:
The system uses periodic action by cycling through different configuration memory banks in different clock cycles. Function units are reconfigured periodically by loading configuration data from different banks at different times, which allows the same physical memory resources to serve multiple configuration needs over time, reducing the total area required.
Solution Approach 2:
The system discards configuration data from one bank when switching to another bank in a different cycle. Configuration memory banks are reused across different time cycles, with data from previous cycles being discarded and replaced by new configuration data, thereby recovering memory resources and reducing total area requirements.
3Productivity
If all function units are activated in each cycle to maximize processing throughput, then productivity is improved, but power consumption increases
Solution Approach 1:
Instead of activating all function units in every cycle, the system uses partial action by activating only the necessary subset of function units required for the current computational task. The configuration memory system enables selective activation by loading only the configuration data needed for the current cycle, reducing power consumption while maintaining productivity.
4Ease of operation
If configuration data is stored in a non-sequential manner to accommodate irregular access patterns, then ease of operation is improved, but manufacturing precision requirements increase
Solution Approach 1:
The system performs preliminary action by pre-organizing configuration data in a sequential manner in the configuration memory during the compilation phase. The compiler generates configuration data that is sequentially stored in memory banks, and the control logic is pre-designed to access this sequential data in the required order, eliminating the need for complex random access mechanisms while maintaining ease of operation.
Data Source
AI summary
A method and apparatus for optimizing a configuration memory of a reconfigurable processor is provided. The method of optimizing the configuration memory of the reconfigurable processor includes analyzing parallelism of a loop of a program code based on an architecture of the reconfigurable processor and information regarding the configuration memory, scheduling groups of function units (FUs) to be activated in each cycle of the loop based on the analyzed parallelism, generating configuration data of each cycle, and determining a memory mapping to store the generated configuration data in the configuration memory.


