Configurable CNN Processor Serial Link Architecture
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Speed
If external memory is used for data storage, then large data capacity is achieved, but access time increases and processing speed decreases
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.
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.
3Speed
If data is communicated between processing elements via parallel buses, then communication speed is high, but chip area and power consumption increase
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.
4Productivity
If specialized hardware is designed for specific CNN architectures, then processing efficiency is improved, but adaptability to different CNN models decreases
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.
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.
Data Source
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.


