Variable-Length Instruction Buffer Management in Vector Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computational imaging requires significant computational resources and high memory bandwidth, making it challenging to implement in hardware, especially in low-power devices like mobile devices, due to high image resolution and video frame rates, and sensitivity to latency.

Innovation Solution

A vector processor with a variable-length instruction buffer management system that caches instructions, decouples data, and uses a fetch unit to dynamically load data based on unprocessed data levels and branch delay sizes, enabling efficient processing of variable-length instructions and supporting multiple data types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If computational imaging processes high-resolution images and high frame-rate videos, then image processing capability and video processing capability are improved, but power consumption increases

Engineering Contradiction:
Improveimage processing capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The processor is divided into multiple processing elements (PEs) that can be independently activated. Only the necessary number of PEs are enabled based on the current computational workload, allowing the system to process high-resolution images and videos while minimizing the number of active processing units to reduce power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the number of active processing elements based on workload demands. The controller enables or disables PEs in real-time according to the complexity of image processing tasks or video frame rate requirements, optimizing the balance between processing capability and power consumption.

Inventive Principle:
Principle #15Dynamics

2Productivity

If variable-length instructions are used, then instruction processing efficiency is improved, but buffer management complexity increases

Engineering Contradiction:
Improveinstruction processing efficiencyVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Instructions are fetched and stored in a buffer before execution. The buffer pre-loads variable-length instructions so that when processing elements need to execute instructions, they are already available in a standardized format, eliminating the need for complex real-time variable-length instruction handling during execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A buffer acts as an intermediary between the instruction fetch unit and the processing elements. It receives variable-length instructions, standardizes them into fixed-width formats, and provides them to PEs, thereby isolating the complexity of variable-length instruction management from the execution units.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If fixed-width data loading is used, then memory access efficiency is improved, but data type flexibility is reduced

Engineering Contradiction:
Improvememory access efficiencyVSAvoiddata type flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system uses fixed-width data paths for memory access to ensure efficient and simple memory operations. However, it achieves data type flexibility by using interpretation logic that can interpret the same fixed-width data as different data types (e.g., 32-bit integer, 16-bit integer, 8-bit integer, floating-point) based on control signals and context, allowing the processor to handle multiple data types through the same fixed-width interface.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11579872B2Variable-length instruction buffer management
Publication Date: 2023.02.14 MOVIDIUS LTD
  • US11579872B2 patent drawing
  • US11579872B2 patent drawing
  • US11579872B2 patent drawing

AI summary

A vector processor is disclosed including a variety of variable-length instructions. Computer-implemented methods are disclosed for efficiently carrying out a variety of operations in a time-conscious, memory-efficient, and power-efficient manner. Methods for more efficiently managing a buffer by controlling the threshold based on the length of delay line instructions are disclosed. Methods for disposing multi-type and multi-size operations in hardware are disclosed. Methods for condensing look-up tables are disclosed. Methods for in-line alteration of variables are disclosed.