Reconfigurable Processor Code Compression for Low-Memory Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Coarse-grained reconfigurable processors face challenges with excessive memory occupation and power consumption due to long code lengths required for processing functions, which are not adequately addressed by existing code compression methods.

Innovation Solution

A coarse-grained reconfigurable processor design that includes a configuration memory with a header storing compression mode indicators and compressed codes, and a decompressor that specifies corresponding codes from a body storing uncompressed codes, allowing reconfiguration of processing elements' data paths based on these indicators and codes, employing kernel-specific, global, and unit dictionaries for efficient compression and decompression.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If code compression is not performed, then code length is sufficient for processing functions, but on-chip memory area and power consumption are excessively occupied

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing speed
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The code is divided into two segments: frequently used codes are stored in a small dictionary in the header for quick access, while less frequent codes are stored in the body. This segmentation allows the system to use short codes for common operations (maintaining high processing speed) while compressing the overall code length stored in configuration memory, thereby reducing power consumption and memory area without sacrificing processing productivity.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If dictionary size is increased to improve compression efficiency, then more codes can be stored, but compression efficiency decreases and overflow processing becomes complex

Engineering Contradiction:
Improvenumber of stored codesVSAvoidoverflow processing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a two-dimensional code structure with a header dimension (containing dictionary and compression codes) and a body dimension (containing uncompressed codes). This dimensional organization allows the system to handle a large number of codes efficiently: the header provides quick access to common codes while the body stores additional codes, eliminating the need for complex overflow processing that would occur with a single large dictionary.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Quantity of substance

If statistical compression scheme is used to improve compression rate for frequently used codes, then compression rate increases, but parallel decompression becomes difficult

Engineering Contradiction:
Improvecompression rateVSAvoidparallel decompression capability
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent introduces a dictionary as an intermediary layer between the compressed code and the actual function codes. The header contains a dictionary that maps compressed codes to their corresponding full codes. This intermediary structure enables both high compression rates (by using short codes for frequent operations) and efficient parallel decompression (by allowing simultaneous dictionary lookups for multiple compressed codes without complex decoding dependencies).

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9348792B2Coarse-grained reconfigurable processor and code decompression method thereof
Publication Date: 2016.05.24 SAMSUNG ELECTRONICS CO LTD
  • US9348792B2 patent drawing
  • US9348792B2 patent drawing
  • US9348792B2 patent drawing

AI summary

A coarse-grained reconfigurable processor having an improved code compression rate and a code decompression method thereof are provided to reduce a capacity of a configuration memory and reduce power consumption in a processor chip. The coarse-grained reconfigurable processor includes a configuration memory configured to store reconfiguration information including a header storing a compression mode indicator and a compressed code for each of a plurality of units and a body storing at least one uncompressed code, a decompressor configured to specify a code corresponding to each of the plurality of units among the at least one uncompressed code within the body based on the compression mode indicator and the compressed code within the header, and a reconfigurator including a plurality of PEs and configured to reconfigure data paths of the plurality of PEs based on the code corresponding to each unit.