Instruction Buffer Compression for Branch Destination Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional information processing systems face challenges in achieving high compression rates for programs due to the inability to compress instructions that are branch destinations, leading to increased memory requirements.

Innovation Solution

An information processing system and method that allows for the compression of branch destination instructions by using an instruction buffer, selectors, a decompression section, and a control section to manage the selection and decoding of instructions, along with added identifiers to indicate compression status, enabling proper execution and storage of compressed branch destination instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If instructions that are branch destinations are not compressed, then the program can be executed correctly, but the compression rate decreases and memory size increases

Engineering Contradiction:
Improveprogram execution correctnessVSAvoidmemory size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The instruction buffer is divided into multiple buffer regions, each capable of storing a specific number of instructions (e.g., first buffer region for 2 instructions, second buffer region for 4 instructions). This segmentation allows the system to manage compressed instructions in controlled portions, ensuring that branch destination instructions can be properly identified and handled without compromising compression benefits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The control section performs preliminary actions by determining in advance whether an instruction is a branch destination instruction and whether the instruction buffer contains compressed instructions. This preliminary determination allows the system to prepare the appropriate decompression or direct output path before execution is needed, ensuring correct program flow while maintaining compression.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If branch destination instructions are compressed, then the compression rate improves, but the system complexity increases due to additional selection and decomposition mechanisms

Engineering Contradiction:
Improvecompression rateVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The control section serves multiple functions: it determines whether instructions are branch destinations, checks whether the instruction buffer contains compressed instructions, selects appropriate buffer regions, and controls the overall execution flow. This multi-functionality reduces the need for separate dedicated circuits for each function, thereby managing complexity while achieving high compression rates.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The control section acts as an intermediary between the instruction buffer, decompression section, and execution units. It mediates the flow of instructions by determining compression status and directing the appropriate processing path, simplifying the overall system architecture compared to having separate hardwired paths for all possible instruction types.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If multiple compressed instructions are stored in each instruction bit field, then memory efficiency improves, but the difficulty of determining branch destinations increases

Engineering Contradiction:
Improvememory efficiencyVSAvoidbranch destination identification
Core Design Contradiction:
Quantity of substanceVSDifficulty of detecting and measuring

Solution Approach 1:

Different buffer regions are assigned different capacities tailored to specific needs. The first buffer region stores 2 instructions while the second buffer region stores 4 instructions, allowing the system to optimize for local patterns in the program. This local optimization makes it easier to manage and identify branch destinations within each region while maintaining overall memory efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The control section uses feedback from the instruction buffer status and decompression section output to determine whether to proceed with decompression or direct execution. This feedback mechanism simplifies branch destination identification by continuously monitoring the state of compressed instructions and adjusting the execution path accordingly.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7590832B2Information processing device, compressed program producing method, and information processing system
Publication Date: 2009.09.15 PANASONIC SEMICON SOLUTIONS CO LTD
  • US7590832B2 patent drawing
  • US7590832B2 patent drawing
  • US7590832B2 patent drawing

AI summary

An information processing device for executing a compressed program includes: an instruction buffer; a first selector for selectively outputting one of a set of signals obtained by dividing the output from the instruction buffer; an instruction decompression section for decompressing the output from the first selector into an original instruction; a second selector for outputting the output from the instruction buffer when no compressed instruction is stored in the instruction buffer and outputting the output from the instruction decompression section otherwise; an instruction decoding section for outputting a signal indicating presence/absence of instruction branching based on a result of decoding the output from the selector; and a control section for instructing the first selector to select a predetermined one of the received signals when the signal from the instruction decoding section indicates that there is instruction branching.