Bit-masked Variable-precision Barrel Shifter for SIMD Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing SIMD computing technologies face challenges in shifting multiple bytes of data by different amounts without causing pollution from neighboring bytes, which affects the accuracy and efficiency of parallel computations.
Innovation Solution
A monolithic shifter and masking circuit system that allows each byte of data to be shifted by a dynamically adjustable number of bits, with a mask generator and mask shifter to prevent pollution from neighboring bytes, enabling parallel shifting and unpollution of data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple bytes of data are shifted by different amounts in parallel using SIMD instructions, then the efficiency and productivity of parallel computations is improved, but neighboring bytes may pollute each other causing loss of information and reduced measurement precision
Solution Approach 1:
The data is segmented into individual bytes that can be shifted independently by different amounts. The monolithic shifter processes each byte as a separate entity within the parallel SIMD operation, allowing different shift amounts for each byte without interference from neighboring bytes.
Solution Approach 2:
A mask value is introduced as an intermediary element to control the shifting operation. The mask specifies which bytes should be shifted and by how many positions, preventing unwanted data pollution by acting as a gatekeeper between neighboring bytes during the parallel shifting process.
2Adaptability or versatility
If a monolithic shifter with dynamically adjustable shift amounts is used, then adaptability and versatility are improved, but device complexity increases due to the need for mask generation and masking circuits
Solution Approach 1:
The monolithic shifter is designed as a universal device that can handle multiple bytes with different shift amounts using a single integrated structure. The same shifter circuit serves all bytes simultaneously, reducing the need for multiple separate shifters and simplifying the overall device architecture despite the added masking functionality.
Solution Approach 2:
The shift amount is transformed into a mask value that controls the shifting operation. By changing the parameter representation from direct shift amounts to mask-based control, the system achieves variable shift capability while using standard logical operations that can be efficiently implemented in hardware.
3Measurement precision
If separate shifters are used for each byte to prevent pollution, then measurement precision is maintained, but device complexity and hardware resource usage increase significantly
Solution Approach 1:
Multiple individual shifter units are merged into a single monolithic shifter that processes all bytes in parallel. The masking mechanism is combined with the shifting operation, allowing the system to maintain data accuracy while reducing hardware duplication and simplifying the overall structure.
Solution Approach 2:
The mask value serves multiple functions: it controls the shift amount for each byte, identifies which bytes should be shifted, and prevents data pollution from neighboring bytes. This self-service approach eliminates the need for separate control circuits for each function, reducing overall device complexity.
Data Source
AI summary
According to one general aspect, an apparatus may include a monolithic shifter configured to receive a plurality of bytes of data, and, for each byte of data, a number of bits to shift the respective byte of data, wherein the number of bits for each byte of data need not be the same as for any other byte of data. The monolithic shifter may be configured to shift each byte of data by the respective number of bits. The apparatus may include a mask generator configured to compute a mask for each byte of data, wherein each mask indicates which bits, if any, are to be prevented from being polluted by a neighboring shifted byte of data. The apparatus may include a masking circuit configured to combine the shifted byte of data with a respective mask to create an unpolluted shifted byte of data.


