SIMD Processor Address Calculation for Row Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In SIMD processors that divide image data into blocks for local memory storage using a lateral direction priority method, the complexity and inefficiency arise when N pieces of pixels start from a predetermined pixel with a non-integral multiple X-direction coordinate value, leading to differing local addresses for N pieces of pixels within the same row across multiple processor elements.

Innovation Solution

A control processor broadcasts local addresses A1 and A2, along with a threshold number Z, to processor elements, allowing each to select the appropriate local address based on its number, ensuring N pieces of data in a row are stored in the same local address across processor elements, thereby simplifying data processing and improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If N pieces of pixels start from a predetermined pixel with a non-integral multiple X-direction coordinate value, then the data can be processed, but the local addresses differ across processor elements leading to complexity and inefficiency

Engineering Contradiction:
Improvedata processing simplicityVSAvoidaddress calculation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the N processor elements into multiple groups based on their element numbers. Each group is assigned a specific base address offset, allowing different segments to access different local addresses systematically. This segmentation resolves the address conflict by organizing processor elements into manageable groups with predetermined address assignments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the address parameter by introducing a group-based address selection mechanism. Instead of using a single uniform address for all processor elements, the system dynamically selects from multiple base addresses (B1, B2, B3, B4) depending on which group the processor element belongs to. This parameter change enables proper address differentiation while maintaining systematic organization.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If N pieces of pixels are stored in local memories with lateral direction priority method, then memory storage is optimized, but addressing becomes complex when pixels start from non-integral multiple coordinates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidaddressing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-calculating and pre-assigning base addresses to each processor element group before actual data processing begins. The control processor determines which group each PE belongs to and assigns the appropriate base address in advance, eliminating the need for complex runtime address calculations and simplifying the data processing workflow.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The control processor acts as an intermediary between the pixel data and the processor elements. It receives the pixel data, determines the appropriate base address based on the starting coordinate, and distributes the data to the correct processor elements with the correct local addresses. This intermediary role simplifies the addressing complexity by centralizing the address determination logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a single instruction is used to designate N pieces of data to processor elements, then instruction efficiency is improved, but address differentiation becomes difficult

Engineering Contradiction:
Improveinstruction efficiencyVSAvoidaddress differentiation difficulty
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning different base addresses to different local groups of processor elements. Each group (PE1-PE2, PE3-PE4, etc.) has its own characteristic base address (B1, B2, B3, B4), allowing the system to maintain a single instruction format while achieving address differentiation through local address space customization for each group.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9158737B2SIMD processor and control processor, and processing element with address calculating unit
Publication Date: 2015.10.13 RENESAS ELECTRONICS CORP
  • US9158737B2 patent drawing
  • US9158737B2 patent drawing
  • US9158737B2 patent drawing

AI summary

To improve processing efficiency of a SIMD processor that divides two-dimensional data into blocks, each having a width of PE number N, to store the data in a local memory of each of PEs by a lateral direction priority method.When designating a local address of N pieces of data arranged in a row direction from head data whose coordinate values in two-dimensional data are (X,Y) to a PE array 110, the N pieces of data being stored in local memories, a CP 150 broadcasts a local address A1, a local address A2, and a threshold number Z obtained by an address calculation unit. Each of the PEs compares a magnitude relation between the threshold number Z and its own number, and selects one of the local address A1 and the local address A2 according to the comparison result.