Convolutional Neural Network Hardware Accelerator for Gesture Recognition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current human-machine-interface systems face inefficiencies in processing non-contact human-machine interactions, particularly in reducing memory access overheads and power consumption when using convolutional neural networks for gesture recognition and other applications.
Innovation Solution
A human-machine-interface system is designed with a register-file-memory, processing-element-slices, and a controller that optimizes data loading and processing by reducing memory access requests through the use of intermediate-registers and efficient data reuse, enabling low-power, high-efficiency processing of analogue sensor data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If data is loaded from register-file-memory into each processing element for every operation, then data availability is ensured, but memory access overheads and power consumption increase
Solution Approach 1:
The controller pre-loads input data into the first register from the register-file-memory before the actual convolution processing begins. This preliminary action ensures that data is readily available in fast register storage, eliminating the need for repeated memory access operations during processing and thereby reducing power consumption while maintaining high processing efficiency.
Solution Approach 2:
The first register acts as an intermediary buffer between the register-file-memory and the processing elements. Instead of processing elements directly accessing memory for every operation, data flows through this intermediate register, reducing memory access overheads and power consumption while ensuring data availability for all processing elements.
2Speed
If multiple processing elements access the register-file-memory simultaneously, then data access speed is maintained, but voltage overheads and power consumption increase
Solution Approach 1:
The controller performs preliminary data loading into shared registers before parallel processing begins. This ensures that all processing elements have their required data already available in fast register storage, eliminating simultaneous memory access operations and thereby reducing voltage overheads while maintaining high data access speed through the register interface.
Solution Approach 2:
The architecture introduces a temporal dimension to data access by separating the loading phase from the processing phase. Data is loaded into registers in advance (temporal separation), allowing multiple processing elements to access data simultaneously from fast register storage during processing without incurring simultaneous memory access overheads, thus reducing voltage consumption while maintaining access speed.
Data Source
AI summary
A human-machine-interface system comprising: register-file-memory, configured to store input-data; a first-processing-element-slice, a second-processing-element-slice, and a controller. Each of the processing-slices comprise: a register configured to store register-data; and a processing-element configured to apply an arithmetic and logic operation on the register-data in order to provide convolution-output-data. The controller is configured to: load input-data from the register-file-memory into the first-register as the first-register-data; and load: (i) input-data from the register-file-memory, or (ii) the first-register-data from the first-register, into the second-register as the second-register-data.


