X-SRAM: Enabling In-Memory Boolean Computations in CMOS Static Random Access Memories

被引:215
作者
Agrawal, Amogh [1 ]
Jaiswal, Akhilesh [1 ]
Lee, Chankyu [1 ]
Roy, Kaushik [1 ]
机构
[1] Purdue Univ, Sch Elect & Comp Engn, W Lafayette, IN 47907 USA
基金
美国国家科学基金会;
关键词
In-memory computing; SRAM; sense amplifier; von Neumann bottleneck;
D O I
10.1109/TCSI.2018.2848999
中图分类号
TM [电工技术]; TN [电子技术、通信技术];
学科分类号
0808 ; 0809 ;
摘要
Silicon-based static random access memories (SRAM) and digital Boolean logic have been the workhorse of the state-of-the-art computing platforms. Despite tremendous strides in scaling the ubiquitous metal-oxide-semiconductor transistor, the underlying von-Neumann computing architecture has remained unchanged. The limited throughput and energy-efficiency of the state-of-the-art computing systems, to a large extent, result from the well-known von-Neumann bottleneck. The energy and throughput inefficiency of the von-Neumann machines have been accentuated in recent times due to the present emphasis on data-intensive applications such as artificial intelligence, machine learning, and cryptography. A possible approach towards mitigating the overhead associated with the von-Neumann bottleneck is to enable in-memory Boolean computations. In this paper, we present an augmented version of the conventional SRAM bit-cells, called the X-SRAM, with the ability to perform in-memory, vector Boolean computations, in addition to the usual memory storage operations. We propose at least six different schemes for enabling in-memory vector computations, including NAND, NOR, IMP (implication), XOR logic gates, with respect to different bit-cell topologies - the 8T cell and the 8(+)T Differential cell. In addition, we also present a novel 'read-compute-store' scheme, wherein the computed Boolean function can be directly stored in the memory without the need of latching the data and carrying out a subsequent write operation. The feasibility of the proposed schemes has been verified using the predictive transistor models and detailed Monte-Carlo variation analysis. As an illustration, we also present the efficacy of the proposed in-memory computations by implementing advanced encryption standard algorithm on a non-standard von-Neumann machine wherein the conventional SRAM is replaced by X-SRAM. Our simulations indicated that up to 75% of memory accesses can be saved using the proposed techniques.
引用
收藏
页码:4219 / 4232
页数:14
相关论文
共 23 条
[1]   Compute Caches [J].
Aga, Shaizeen ;
Jeloka, Supreet ;
Subramaniyan, Arun ;
Narayanasamy, Satish ;
Blaauw, David ;
Das, Reetuparna .
2017 23RD IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA), 2017, :481-492
[2]  
[Anonymous], 2016, ADV ENCRYPTION STAND
[3]  
[Anonymous], 2011, Embedded SoPC Design With Nios II Processor VHDL Examples
[4]  
[Anonymous], 2016, Predictive Technology Models
[5]   CAN PROGRAMMING BE LIBERATED FROM VON NEUMANN STYLE - FUNCTIONAL STYLE AND ITS ALGEBRA OF PROGRAMS [J].
BACKUS, J .
COMMUNICATIONS OF THE ACM, 1978, 21 (08) :613-641
[6]   THE TRANSISTOR, A SEMI-CONDUCTOR TRIODE [J].
BARDEEN, J ;
BRATTAIN, WH .
PHYSICAL REVIEW, 1948, 74 (02) :230-231
[7]  
Dong Q, 2017, SYMP VLSI CIRCUITS, pC160, DOI 10.23919/VLSIC.2017.8008465
[8]  
Dworkin M., 2001, Recommendation for block cipher modes of operation. methods and techniques
[9]   Computational RAM: Implementing processors in memory [J].
Elliott, DG ;
Stumm, M ;
Snelgrove, WM ;
Cojocaru, C ;
McKenzie, R .
IEEE DESIGN & TEST OF COMPUTERS, 1999, 16 (01) :32-41
[10]   Computing in Memory With Spin-Transfer Torque Magnetic RAM [J].
Jain, Shubham ;
Ranjan, Ashish ;
Roy, Kaushik ;
Raghunathan, Anand .
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2018, 26 (03) :470-483