Compression Instruction History Buffer for Faster Data Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing environments face inefficiencies in compression and decompression operations due to the need for multiple primitive software instructions, which increase program complexity and lead to task switches, thereby reducing performance.
Innovation Solution
A single architected instruction within the instruction set architecture is used to perform compression and decompression functions, utilizing a circular buffer to store history and avoid task switches by executing the operations directly on a general-purpose processor.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple primitive software instructions are used to perform compression and decompression operations, then the operations can be executed on general-purpose processors, but program complexity increases and task switches are required, reducing performance
Solution Approach 1:
The patent combines multiple primitive software instructions into a single architected instruction that performs compression or decompression operations. This single instruction integrates the functionality of numerous separate instructions, thereby reducing program complexity while maintaining execution on general-purpose processors.
Solution Approach 2:
The single architected instruction is designed to perform multiple functions (compression and decompression) within one instruction format. This multi-functional instruction eliminates the need for separate instruction sequences for different compression/decompression tasks, reducing overall program complexity.
2Adaptability or versatility
If multiple primitive software instructions are used to perform compression and decompression operations, then the operations can be executed on general-purpose processors, but task switches are required, reducing execution speed
Solution Approach 1:
By merging multiple primitive instructions into a single architected instruction, the patent eliminates the need for multiple task switches that would otherwise be required to execute separate instructions for compression/decompression operations, thereby improving execution speed.
Solution Approach 2:
The single architected instruction enables continuous execution of compression or decompression operations without interrupting the processor flow for task switches. This continuous action maintains higher execution speed by keeping the processor engaged in the compression/decompression task throughout.
3Device complexity
If a single architected instruction is used to perform compression and decompression functions, then program complexity is simplified and execution time is reduced, but the instruction requires specialized handling of history buffers and state management
Solution Approach 1:
The patent introduces a history buffer as an intermediary data structure that manages the state information required for compression and decompression operations. This buffer serves as a mediator between the single architected instruction and the complex state management requirements, simplifying the instruction's implementation while maintaining functionality.
4Productivity
If history is stored in a circular buffer specified by the instruction, then compression ratios are improved by detecting duplicate strings, but the instruction requires additional register fields and parameter blocks
Solution Approach 1:
The patent utilizes a circular buffer organized in a specific dimensional structure with offset and length parameters, transforming the way history is stored and accessed. This dimensional organization enables efficient duplicate string detection for improved compression ratios while managing the instruction's structural complexity through systematic parameter management.
Data Source
AI summary
An instruction to perform a function of a plurality of functions is obtained. The instruction is a single architected instruction of an instruction set architecture that complies to an industry standard for compression. The instruction is executed, and the executing includes performing the function specified by the instruction. The performing includes, based on the function being a compression function or a decompression function, transforming state of input data between an uncompressed form of the input data and a compressed form of the input data to provide a transformed state of data accessing. During performing the function, history relating to the function is accessed. The history is to be used in transforming the state of input data between the uncompressed form and the compressed form.


