14 research outputs found
OSA-HCIM: On-The-Fly Saliency-Aware Hybrid SRAM CIM with Dynamic Precision Configuration
Computing-in-Memory (CIM) has shown great potential for enhancing efficiency
and performance for deep neural networks (DNNs). However, the lack of
flexibility in CIM leads to an unnecessary expenditure of computational
resources on less critical operations, and a diminished Signal-to-Noise Ratio
(SNR) when handling more complex tasks, significantly hindering the overall
performance. Hence, we focus on the integration of CIM with Saliency-Aware
Computing -- a paradigm that dynamically tailors computing precision based on
the importance of each input. We propose On-the-fly Saliency-Aware Hybrid CIM
(OSA-HCIM) offering three primary contributions: (1) On-the-fly Saliency-Aware
(OSA) precision configuration scheme, which dynamically sets the precision of
each MAC operation based on its saliency, (2) Hybrid CIM Array (HCIMA), which
enables simultaneous operation of digital-domain CIM (DCIM) and analog-domain
CIM (ACIM) via split-port 6T SRAM, and (3) an integrated framework combining
OSA and HCIMA to fulfill diverse accuracy and power demands.
Implemented on a 65nm CMOS process, OSA-HCIM demonstrates an exceptional
balance between accuracy and resource utilization. Notably, it is the first CIM
design to incorporate a dynamic digital-to-analog boundary, providing
unprecedented flexibility for saliency-aware computing. OSA-HCIM achieves a
1.95x enhancement in energy efficiency, while maintaining minimal accuracy loss
compared to DCIM when tested on CIFAR100 dataset
An energy-efficient dynamic branch predictor with a two-clock-cycle naive Bayes classifier for pipelined RISC microprocessors
In this paper, we propose a Bayesian branch-prediction circuit, consisting of an instruction-feature extractor and a naive Bayes classifier (NBC), as a machine learning approach for branch prediction. A branch predictor predicts the outcome of a branch instruction by analyzing the pattern of the previous branch outcome. In other words, branch prediction can be viewed as a type of pattern recognition problem, and such problems are often solved using neural networks. A perceptron branch predictor has already been proposed as one example of a neural branch prediction architecture, which predicts the next branch outcome by using past branch history to form feature vectors. The proposed circuit is constructed by replacing the arithmetic unit (neurons) in conventional neural branch predictors with an NBC. By introducing an approximate Bayesian computation and its parallel architectures, the NBC circuit completes branch prediction within two clock cycles per instruction. This constitutes a suitable replacement for conventional branch predictors in modern pipelined reduced instruction set computing microprocessors