Instruction Compression via Dynamic EIT Table Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional instruction compression methods fail to effectively reduce program code size when frequently used long instructions lack corresponding short instruction mappings, leading to inefficient code compression.
Innovation Solution
A method that analyzes program code to identify frequently used instruction groups, sorts them based on a cost function, and replaces them with Execution-on-Instruction-Table (EIT) instructions, which have a parameter referencing the corresponding instruction group in a customizable instruction table, allowing for flexible compression and reduced code size.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If fixed mapping between long instructions and short instructions is used for all programs, then code size can be reduced for programs with matching instruction patterns, but programs with different frequently used instructions cannot benefit from compression
Solution Approach 1:
The patent transforms the static fixed mapping approach into a dynamic program-specific mapping system. An instruction compressor analyzes each program's frequently used long instructions and generates a customized mapping table, allowing the compression scheme to adapt to different program characteristics and maximize code size reduction for each specific program
Solution Approach 2:
The patent applies different compression strategies to different programs based on their specific instruction usage patterns. Instead of a uniform fixed mapping, each program receives a tailored mapping table that reflects its local characteristics, enabling optimal compression for each program's frequently used instructions
2Quantity of substance
If long instructions are compressed to short instructions, then code size is reduced, but the ability to encode complex operations is limited
Solution Approach 1:
The patent segments the instruction execution process into multiple stages: a compressed short instruction is stored in an instruction table, and during execution, the corresponding full-length instruction is retrieved and executed. This segmentation allows short instructions to serve as space-efficient proxies while maintaining the full encoding capability of long instructions when needed
Solution Approach 2:
The patent introduces an instruction table as an intermediary data structure between the compressed instruction stream and the execution unit. The instruction table acts as a mediator that translates compact EIT instructions back into their full-length counterparts, enabling space-efficient storage while preserving complete instruction functionality during execution
Data Source
AI summary
A method for compressing instruction is provided, which includes the following steps. Analyze a program code to be executed by a processor to find one or more instruction groups in the program code according to a preset condition. Each of the instruction groups includes one or more instructions in sequential order. Sort the one or more instruction groups according to a cost function of each of the one or more instruction groups. Put the first X of the sorted one or more instruction groups into an instruction table. X is a value determined according to the cost function. Replace each of the one or more instruction groups in the program code that are put into the instruction table with a corresponding execution-on-instruction-table (EIT) instruction. The EIT instruction has a parameter referring to the corresponding instruction group in the instruction table.


