Bit Permutation Circuitry Using Multi-Level Shifter Network

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing bit permute units in data processing systems are large and complex, leading to increased cost, power consumption, and complexity, while attempts to reduce size result in deeper logic and higher latency.

Innovation Solution

An apparatus with an interface for receiving input and control operands, utilizing bit permute circuitry to treat data as fixed-size portions, and a multi-level network of shifter circuits to perform bit permutation operations efficiently, with control circuitry generating control signals to manage shift operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If large and complex circuitry is provided to deeply inspect and perform computations on control data, then the speed of operation is improved, but the area and cost of the bit permute unit increase significantly

Engineering Contradiction:
Improveoperation speedVSAvoidbit permute unit area
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The patent segments the bit permute operation into two distinct phases: a setup phase that computes a compressed representation of the control data, and an execution phase that uses this compressed form to drive a multi-level network of multiplexers. This segmentation eliminates the need for deeply inspecting the full control data during the critical path of the permutation operation, thereby improving speed while reducing the area required for control logic circuitry.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediate compressed representation of the control data that serves as a mediator between the control operand and the permutation operation. This compressed form captures the essential permutation information in a compact format, allowing the execution phase to operate efficiently with reduced logic depth and smaller area, while still achieving the desired permutation effect.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Area of stationary object

If the size and complexity of the bit permute unit are reduced, then area and cost are improved, but the logic depth increases requiring multiple execute cycles

Engineering Contradiction:
Improvebit permute unit areaVSAvoidoperation latency
Core Design Contradiction:
Area of stationary objectVSLoss of time

Solution Approach 1:

The patent performs preliminary computation of the control data compression during the setup phase, before the actual permutation operation needs to execute. This preliminary action prepares the compressed control representation in advance, so that the execution phase can proceed with shallow logic depth in a single cycle, avoiding the need for multiple execute cycles and thereby reducing latency.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If dedicated bit permute units are arranged to handle vectors of data elements, then throughput is improved, but the area and complexity of the system increase

Engineering Contradiction:
ImprovethroughputVSAvoidbit permute unit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent designs a universal bit permute unit that can handle vectors of data elements of various sizes and configurations using the same compressed control representation mechanism. The multi-level network of multiplexers is configured to process multiple data elements simultaneously, with the compressed control form providing the necessary routing information for all elements. This universality allows high throughput across different data element sizes without proportionally increasing the complexity of the control logic, as the same compression and execution framework applies regardless of vector configuration.

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

Data Source

PatentUS11204738B1Apparatus and method for performing bit permutation operations
Publication Date: 2021.12.21 ARM LTD
  • US11204738B1 patent drawing
  • US11204738B1 patent drawing
  • US11204738B1 patent drawing

AI summary

An apparatus and method are provided for performing bit permutation operations. The apparatus has an interface for receiving an input data operand and a control operand. The input data operand comprises one or more data elements, each data element comprising a plurality of bits, and the control operand provides control information identifying bit permutations required when performing a given bit permutation operation on each data element. The bit permute circuitry treats the input data operand as a plurality of fixed size data portions, each data element comprising one or more of the data portions with the number being dependent on the data element size. The bit permute circuitry performs bit permutation operations on each data portion of the input data operand, using the control information provided for that data portion, generating, for each data portion, at least one intermediate result. Result generation circuitry generates, from the intermediate results, a final result operand comprising one or more result elements, each result element providing the result of performing the given bit permutation operation on the corresponding data element of the input data operand. The result generation circuitry comprises a multi-level network of shifter circuits, shifter circuits at a first level performing shift operations using as inputs at least a subset of the intermediate results, and shifter circuits at each subsequent level performing shift operations using inputs derived from the outputs of the shifter circuits at a preceding level of the network. Control circuitry analyses the control information provided by the control operand in order to generate control signals that control the shift operations performed by the shifter circuits.