Configurable CNN Processor Serial Link Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current CNN processors face challenges in efficiently communicating between core elements and are not well-suited for real-time processing without external memory, leading to power inefficiencies and architectural limitations.

Innovation Solution

A configurable CNN processor architecture with a serial communication link between processing elements, an active memory buffer, and hierarchically-distributed micro-programmed control-memory, allowing data-flow control to be embedded within the data-flow and optimizing memory usage by aggregating memory needs across layers, eliminating the need for traditional load/store architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional load/store architecture is used for CNN processing, then general-purpose computation is achieved, but power consumption increases and real-time processing efficiency decreases

Engineering Contradiction:
Improvereal-time processing efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The processor is divided into multiple specialized processing elements (PEs), each dedicated to specific CNN operations. These PEs are organized in a modular architecture where each unit handles particular computational tasks (e.g., convolution, activation functions) without requiring general-purpose load/store operations, thereby reducing power consumption while maintaining real-time processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processing elements are designed with integrated data paths and internal memory structures that allow them to operate autonomously for CNN computations. The architecture enables data to flow directly between PEs through dedicated communication links, eliminating the need for external memory access and traditional load/store instructions, thus improving efficiency and reducing power usage.

Inventive Principle:
Principle #25Self-service

2Speed

If external memory is used for data storage, then large data capacity is achieved, but access time increases and processing speed decreases

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory access time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The architecture implements a hierarchical memory structure where small on-chip memory buffers are nested within each processing element, which are in turn nested within larger memory structures. This nested arrangement allows frequently accessed data to be stored in fast on-chip memory, eliminating the need for slow external memory access while maintaining the capacity to handle large datasets through coordinated memory hierarchy management.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

On-chip memory buffers and data redistribution networks serve as intermediaries between the processing elements and external memory. These intermediaries pre-fetch and cache data needed by PEs, allowing computations to proceed without waiting for slow external memory access, thereby significantly reducing memory access time and improving processing speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If data is communicated between processing elements via parallel buses, then communication speed is high, but chip area and power consumption increase

Engineering Contradiction:
Improvecommunication speedVSAvoidchip area
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The architecture transitions from traditional parallel bus communication to a spatially distributed communication topology where processing elements are arranged in a two-dimensional grid or mesh. Data communication occurs along dedicated horizontal and vertical interconnects, utilizing the spatial dimension of the chip layout rather than consuming valuable parallel bus resources. This approach maintains communication speed while significantly reducing the area required for interconnect structures.

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

4Productivity

If specialized hardware is designed for specific CNN architectures, then processing efficiency is improved, but adaptability to different CNN models decreases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidadaptability to different CNN models
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The processing elements are designed with configurable parameters and programmable logic that allow them to adapt to different CNN architectures. Each PE can be dynamically configured to perform various operations (e.g., different convolution kernel sizes, activation functions, pooling operations) through control registers and configuration interfaces. This universal design maintains high processing efficiency for specific CNN models while enabling flexibility to support multiple different network architectures.

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

Solution Approach 2:

The architecture implements dynamic reconfigurability where processing elements can change their operational characteristics during runtime based on the requirements of different CNN models. Configuration parameters such as data precision, computation precision, and operational mode can be dynamically adjusted to optimize performance for specific tasks while maintaining the ability to adapt to new CNN architectures, thus balancing specialization with versatility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20230017778A1Efficient communication between processing elements of a processor for implementing convolution neural networks
Publication Date: 2023.01.19 AARISH TECH
  • US20230017778A1 patent drawing
  • US20230017778A1 patent drawing
  • US20230017778A1 patent drawing

AI summary

Efficient communication between processing elements of a configurable processor for implementing CNNs are provided. One such configurable processor includes a first processing element coupled to an image sensor, and a second processing element coupled to the first processing element via a serial communication link. The first processing element is configured to generate preselected data to be communicated using the serial communication link, receive image data from the image sensor, the image data including a first image data including multiple rows of data, send, via the serial communication link, a first row of the first image data to the second processing element, send, via the serial communication link, a portion of the preselected data to the second processing element, and send, via the serial communication link, a second row of the first image data to the second processing element.