Pre-decoding Circuitry for Multi-Instruction Set Power Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing apparatuses, significant power is consumed in decoding instructions prior to execution, especially in systems supporting multiple instruction sets, due to the need for separate decoders and the overhead of pre-decoding mechanisms, which increases complexity, cost, and power consumption.
Innovation Solution
The implementation of pre-decoding circuitry that maps instructions from different instruction sets into a shared format, allowing a shared portion of the decoding circuitry to generate control signals, thereby reducing the overhead and energy consumption by amortizing the energy expended in mapping across multiple uses of pre-decoded instructions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If separate decoders are provided for each instruction set in multi-instruction-set processing circuitry, then each instruction set can be decoded independently, but power consumption increases significantly
Solution Approach 1:
The patent implements a universal decoder that can decode multiple instruction sets (ARM, Thumb, MIPS, etc.) using a single decoding unit. The decoder receives instruction bytes and determines the instruction set type, then routes to appropriate decoding logic, eliminating the need for separate decoders for each instruction set and significantly reducing power consumption while maintaining support for multiple instruction sets
2Productivity
If pre-decoding mechanisms are employed to improve performance, then instruction decoding time is reduced, but device complexity and overhead increase
Solution Approach 1:
The patent implements pre-decoding that performs preliminary analysis of instruction bytes to identify instruction set type, opcode, and basic instruction characteristics before full decoding. This preliminary action prepares the instruction data in advance, reducing the complexity and time of the main decoding stage while avoiding the need for complex separate pre-decoding hardware for each instruction set
3Measurement precision
If multiple separate decoders are provided for different instruction sets, then decoding accuracy is maintained, but the gate count and cost of decoding circuitry increase
Solution Approach 1:
The patent implements a universal decoder that maintains decoding accuracy for multiple instruction sets (ARM, Thumb, MIPS, etc.) through a single decoding unit. The decoder identifies the instruction set type and uses appropriate decoding tables and logic to accurately decode each instruction, eliminating the need for multiple separate decoders and significantly reducing gate count while preserving decoding precision
Data Source
AI summary
A data processing apparatus is provided with pre-decoding circuitry 10 serving to generate pre-decoded instructions which are stored within an instruction cache 20. The pre-decoded instructions from the instruction cache 20 are read by decoding circuitry 45, 50, 46 and used to form control signals for controlling processing operations corresponding to the pre-decoded instructions. The program instructions originally fetched can belong to respective ones of a plurality of instruction sets. Instructions from one instruction set are pre-decoded by the pre-decoding circuitry 10 into pre-decoded instructions having a shared format to represent shared functionality with corresponding instructions taken from another of the instruction sets. In this way, a shared portion of the decoding circuitry can generate control signals with respect to the shared functionality of instructions from both of these different instruction sets.


