Register Move Instruction for Speculative Look-Up Table Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing algorithms, such as entropy coding, face performance issues due to long memory access latencies when repeatedly accessing large look-up tables, especially in VLIW computing, where the complete index calculation precedes memory access, leading to delayed processing and reduced throughput.

Innovation Solution

A data processing apparatus with a multiplexer system that allows speculative loading of look-up table data based on a coarse index, enabling prefetching of memory data while calculating the fine index, thereby hiding memory access latency and reducing delay slots.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the complete index for the look up table element is calculated before the memory access, then the correct table entry can be accessed, but the long memory access latency worsens the performance

Engineering Contradiction:
Improveindex calculation accuracyVSAvoidmemory access latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the index into a coarse index (high-order bits) and a fine index (low-order bits). The coarse index is used to access a sub-table in memory, while the fine index selects the specific entry within that sub-table. This segmentation allows memory access to begin earlier with the coarse index, overlapping with the fine index calculation, thereby hiding part of the memory access latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by using the coarse index to access the sub-table in memory before the complete index is fully calculated. The fine index calculation can proceed in parallel while the memory access is being performed, effectively overlapping operations and reducing the critical path delay.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data processors use 32-bit data words while the values to be accessed may be a byte, then the data processing capability is maintained, but the memory use and data transfer traffic increase

Engineering Contradiction:
Improvedata processing capabilityVSAvoidmemory use and data transfer traffic
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges multiple small look-up table elements (e.g., bytes) into a single cache line or memory word (e.g., 32-bit or 64-bit word). By organizing the look-up table so that multiple entries fit within one memory access unit, the system reduces the number of memory accesses required, thereby reducing memory traffic and improving efficiency while maintaining full data processing capability.

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If the initial index estimate limits the final look table element to within a word or doubleword in memory, then the memory access can be optimized, but the calculation of the full look up table index must complete before the exact element is known

Engineering Contradiction:
Improvememory access speedVSAvoidindex calculation completion time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent performs preliminary action by using the available coarse index estimate to initiate memory access to the appropriate sub-table or memory region before the complete index is calculated. This allows the memory system to begin fetching data in advance, and the fine index calculation can complete in parallel, effectively hiding the memory access latency behind the index calculation time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a two-dimensional indexing scheme where the coarse index selects a sub-table (first dimension) and the fine index selects an entry within that sub-table (second dimension). This dimensional decomposition allows partial index information to be used for immediate memory access while the remaining index bits are being calculated, transforming a sequential dependency into a parallelizable structure.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS7376813B2Register move instruction for section select of source operand
Publication Date: 2008.05.20 TEXAS INSTRUMENTS INC
  • US7376813B2 patent drawing
  • US7376813B2 patent drawing
  • US7376813B2 patent drawing

AI summary

A data processing apparatus execution unit includes a multiplexer having inputs receiving data from sections of a source data register or registers. The multiplexer selects data from one section to store in a destination data register. The execution unit may zero extend or sign extend the remaining most significant bits of the destination data. In an alternative embodiment, the execution unit includes plural multiplexers, one for each section of the destination data. Each multiplexer received data from each section of the source data register or registers. Special codes in the sections of the second source data register may select 0 fill, 1 fill or sign extension from the next most significant section for each multiplexer.