本公开的领域总体上涉及用于高速并行数据处理(诸如神经网络)的电路中的内存中计算(cim)阵列。
背景技术:
1、机器学习是人工智能(ai)的一个示例。在初始学习阶段,配置有机器学习的计算机接收一组已知输入数据,并且执行对输入数据的评估。对输入数据的评估可以包括数千次计算,其中基于存储在计算机存储器中的权重数据对个体输入进行加权。评估的正确性的指示作为反馈被提供,并且计算机响应于该反馈而修改所存储的权重数据。计算机使用修改后的权重数据来评估新数据。随着接收到的反馈越多,评估结果就越准确。
2、在常规计算机中,每次计算都需要从存储器中传输输入数据和权重数据,并且然后生成传输到存储器的输出数据。当计算机试图并行执行很多计算时,处理电路与存储器之间的数据传输瓶颈会导致处理电路缺少数据,这会延长执行时间并且增加功耗。
3、在替代方法中,计算机中的专用处理电路可以并行执行很多乘法和累加运算。这些运算可以通过由节点阵列组成的神经网络框架有效地实现,该节点以类似于大脑突触的结构被组织。这些处理节点每个执行乘法累加(mac)运算,其中每个输入乘以对应权重数据并且所得的的乘积被求和。图1是被配置为执行mac运算的神经网络的节点100的图示。节点100接收一组输入x0-xm,每个输入乘以权重值w0-wm中的对应一个。权重值w0-wm基于来自先前计算的反馈,并且随着时间的推移,提高关于特定类型输入数据的计算精度。乘法的乘积是相应乘积p0-pm。乘积p0-pm相加以生成总和sum,并且节点100生成作为总和sum的函数af(例如,激活函数)的输出out。
4、内存中计算(cim)阵列被开发以实现神经网络框架的节点,该框架对一位二进制数执行mac运算,并且减少数据传输瓶颈,从而更快地生成结果。cim阵列将二进制权重数据的位存储在cim阵列的位单元内,并且还执行权重数据和输入数据的乘法运算。一位二进制值的乘法可以实现为基于逻辑and的运算(例如,and或not and(nand))。每个cim位单元包括用于存储权重数据位并且执行乘法的电路。当处理电路中采用包括cim阵列的神经网络以减少数据瓶颈时,处理速度的增加以cim位单元电路所占用的集成电路(ic)的面积的增加为代价。
技术实现思路
1、本文中公开的方面包括采用电容性存储电路以减小面积的内存中计算(cim)位单元电路。还公开了采用cim位单元电路的cim位单元阵列电路和操作这种cim位单元阵列电路的方法。与在常规处理器中执行mac运算的每个个体计算相比,采用cim位单元阵列电路在神经网络中并行执行多个乘法累加(mac)运算减少了执行时间,但是cim位单元阵列电路所占用的面积增加了集成电路(ic)的尺寸。六晶体管(6t)静态随机存取存储器(sram)位单元电路先前已经用于cim位单元电路中。在示例性方面,一种采用电容性存储电路来存储二进制权重数据作为电压的cim位单元电路占用6tsram cim位单元电路的面积的一半或更少,从而减少了将cim位单元阵列电路添加到ic中所引起的面积增加。电容性存储电路被配置为将二进制权重数据存储在电容器中,并且生成乘积电压,该乘积电压指示由所存储的二进制权重数据和激活信号的基于逻辑and的运算产生的二进制乘积。cim位单元电路包括被配置为将写入位电压耦合到电容性存储电路的写入访问开关。电容性存储电路被配置为基于写入位电压将二进制权重数据存储为电荷,并且基于所存储的二进制权重数据和激活信号在读取位输出上生成乘积电压。在示例中,电容性存储电路可以包括电容器和读取访问开关或晶体管。
2、在这点上,在一个方面,公开了一种cim位单元电路。cim位单元电路包括写入访问开关。写入访问开关包括耦合到写入位输入的输入端子。写入访问开关还包括耦合到写入字输入的控制端子。写入访问开关还包括输出端子。写入访问开关被配置为响应于提供给写入字输入的写入字电压而将写入位输入耦合到输出端子。cim位单元电路还包括电容性存储电路。电容性存储电路包括耦合到写入访问开关的输出端子的第一端口。电容性存储电路还包括耦合到读取位输出的第二端口。电容性存储电路被配置为存储权重数据,权重数据基于响应于提供给写入字输入的写入字电压而在写入位输入上提供的写入位电压。电容性存储电路还被配置为基于激活信号和所存储的权重数据在读取位输出上生成乘积电压。
3、在另一方面,公开了一种cim位单元阵列电路。cim位单元阵列电路包括cim位单元电路阵列。cim位单元电路阵列还包括多行cim位单元电路和多列cim位单元电路。多行中的每一行包括对应激活线和对应写入字线,对应激活线耦合到行中的cim位单元电路中的每个cim位单元电路中的激活输入,对应写入字线耦合到行中的cim位单元电路中的每个cim位单元电路中的写入字输入。多列中的每一列包括对应写入位线和对应读取位线,对应写入位线耦合到列中的cim位单元电路中的每个cim位单元电路中的写入位输入,对应读取位线耦合到列中的cim位单元电路中的每个cim位单元电路中的读取位输出。每个cim位单元电路包括写入访问开关。写入访问开关包括耦合到写入位输入的输入端子。写入访问开关还包括耦合到写入字输入的控制端子。写入访问开关还包括输出端子。每个cim位单元电路还包括电容性存储电路。电容性存储电路包括耦合到写入访问开关的输出端子的第一端口。电容性存储电路还包括第二端口。电容性存储电路被配置为存储权重数据,权重数据基于响应于提供给写入字线的写入字电压而在写入位线上提供的写入位电压。电容性存储电路还被配置为基于激活线上的激活信号和所存储的权重数据在读取位输出上生成乘积电压。
1.一种内存中计算cim位单元电路,包括:
2.根据权利要求1所述的cim位单元电路,其中所述电容性存储电路还包括:
3.根据权利要求2所述的cim位单元电路,其中:
4.根据权利要求3所述的cim位单元电路,其中所述mosfet还包括p型fet(pfet)。
5.根据权利要求3所述的cim位单元电路,其中所述mosfet还包括n型fet(nfet)。
6.根据权利要求2所述的cim位单元电路,其中所述电容器包括平行板电容器。
7.根据权利要求2所述的cim位单元电路,其中所述读取访问开关还包括晶体管。
8.根据权利要求1所述的cim位单元电路,其中所述写入访问开关包括晶体管。
9.根据权利要求1所述的cim位单元电路,其中所述写入访问开关包括p型场效应晶体管(pfet)。
10.根据权利要求1所述的cim位单元电路,其中所述写入访问开关包括n型场效应晶体管(nfet)。
11.根据权利要求1所述的cim位单元电路,其中:
12.根据权利要求11所述的cim位单元电路,其中所述电容性存储电路还被配置为将所述激活输入耦合到所述读取位输出。
13.一种内存中计算cim位单元阵列电路,包括cim位单元电路阵列,所述cim位单元电路阵列包括多行cim位单元电路和多列cim位单元电路,其中:
14.根据权利要求13所述的cim位单元阵列电路,其中所述cim位单元电路中的每个cim位单元电路中的所述电容性存储电路还包括:
15.根据权利要求14所述的cim位单元阵列电路,其中:
16.根据权利要求14所述的cim位单元阵列电路,其中所述电容器包括平行板电容器。
17.根据权利要求13所述的cim位单元阵列电路,其中在所述cim位单元电路中的每个cim位单元电路中的所述电容性存储电路中:
18.根据权利要求17所述的cim位单元阵列电路,其中所述电容性存储电路还被配置为将所述激活输入耦合到所述读取位输出。
19.根据权利要求13所述的cim位单元阵列电路,还被配置为响应于:
20.根据权利要求13所述的cim位单元阵列电路,还被配置为:
21.根据权利要求13所述的cim位单元阵列电路,被集成到集成电路(ic)中。
22.根据权利要求13所述的cim位单元阵列电路,被集成到选自以下各项的设备中:机顶盒;娱乐单元;导航设备;通信设备;固定位置数据单元;移动位置数据单元;全球定位系统(gps)设备;移动电话;蜂窝电话;智能电话;会话发起协议(sip)电话;平板电脑;平板手机;服务器;计算机;便携式计算机;移动计算设备;可穿戴计算设备;台式计算机;个人数字助理(pda);显示器;计算机显示器;电视;调谐器;无线电;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频盘(dvd)播放器;便携式数字视频播放器;机动车;车辆组件;航空电子系统;无人机;以及多旋翼直升机。