用于差分输出电压的模数转换器以及模数转换方法与流程

文档序号:25329315发布日期:2021-06-04 18:03阅读:299来源:国知局
用于差分输出电压的模数转换器以及模数转换方法与流程

1.本发明总的来说涉及集成电路领域,具体而言,涉及一种用于差分输出电压的模数转换器。此外,本发明还涉及一种用于差分输出电压的模数转换方法。


背景技术:

2.模数转换器是一种将模拟电压转换为数字信号的电器件。目前,模数转换器已经可以达到较高的转换精度(或转换位数)、例如16位或更高。然而,模数转换器在转换某些差分电压时,可能出现转换精度差、速度慢等问题。


技术实现要素:

3.本发明的任务是,提供一种用于差分输出电压的模数转换器以及模数转换方法,通过所述转换器和/或转换方法,可以显著地提高转换精度。
4.在本发明的第一方面,该任务通过一种用于差分输出电压的模数转换器来解决,其中所述差分输出电压包括第一差分电压和第二差分电压,所述模数转换器包括:
5.第一模数转换单元,其被配置为将第一差分电压转换成第一数字值;
6.第二模数转换单元,其被配置为将第二差分电压转换成第二数字值;以及
7.控制单元,其被配置为执行下列动作:
8.在第一差分电压的绝对值大于第二差分电压的绝对值时根据第一数字值和第一差分电压的绝对值与第二差分电压之间的比较结果生成输出数字值;以及
9.在第一差分电压的绝对值小于第二差分电压的绝对值时根据第二数字值和第一差分电压的绝对值与第二差分电压之间的比较结果生成输出数字值。
10.本发明的范围内,术语“差分电压”或“差分输入/输出电压”是指以两个电压输入/输出端电压的差值作为输出信号的一种信号输出/输出方式。两个电压输入/输出端的电压例如可以表示为“v+”和“v
‑”
,但是它们的符号既可以相同也可以不同,例如均为正电压或均为负电压或者一正一负。
11.在本发明的一个优选方案中规定,第一模数转换单元和/或第二模数转换单元包括:
12.参考电压,其被配置为为比较器提供相应的参考电压;
[0013]2n
‑1‑
1个比较器,其被配置为分别将第一或第二差分电压与相应参考电压相比较以生成2
n
‑1‑
1个比较结果,其中n为转换精度,且n为大于1的整数;以及
[0014]
译码器,其被配置为将所述2
n
‑1‑
1个比较结果转换成为n

1位的二进制结果,其中n

1位的二进制结果作为输出数字值的第1至n

1位,并且第n位根据第一差分电压的绝对值与第二差分电压之间的比较结果来确定。
[0015]
通过该优选方案,可以实现较高的转换速度,因为第一模数转换单元和/或第二模数转换单元采用了并行运行的2
n
‑1‑
1个比较器、即它们同时产生比较结果以供生成最终的结果。此外,本优选方案还具有的优点在于,由并行比较器构成的转换器不含或含较少的电
容,不容易与提供差分电压的设备中的电容产生相互串扰,由此减少故障或干扰的可能性。但是应当指出,在本发明的教导下,其它类型的转换器也是可以设想的。
[0016]
在本发明的另一优选方案中规定,所述控制单元包括:
[0017]
比较器,其被配置为比较第一差分电压的绝对值和第二差分电压的绝对值以生成差分电压比较结果;以及
[0018]
选通器,其被配置为根据差分电压比较结果输出第一模数转换单元的第一数字值或第二模数转换单元的第二数字值作为输出数字值的除最高位以外的位,其中差分电压比较结果作为输出数字值的最高位。
[0019]
通过该优选方案,可以以较少的元件实现控制器的功能。
[0020]
在本发明的一个扩展方案中规定,所述译码器为温度计码到二进制码转换器。在此,温度计码是指以“1”的个数来表征数值,例如温度计码“01111111”中包含7个“1”,因此表示7或二进制的“0111”。
[0021]
在本发明的一个优选方案中规定,所述差分输出电压为存算一体存储器的差分输出电压。通过该优选方案,可以大大提高存算一体存储器的输出数字值的精度,这基于发明人的如下洞察。发明人通过研究发现,存算一体存储器一般包括电阻和晶体管作为运算器件,而由于晶体管的输入/输出电压的非线性,因此存算一体存储器的输出差分电压一般存在非线性(non

linearity)。在此,“非线性”是指,差分电压包括大小逐渐升高的多个电平,其中相邻大小的两个电平之间的电平阶梯差(voltage step)呈非线性变化、例如不相等或者不成比例。这导致两个差分电压输出端上的电压呈现如下变化:电平阶梯差随着电平的升高的越来越大,并且电平阶梯差随着电平的降低而越来越小。由于存算一体存储器的电压差分关系,其两个差分电压输出端上的电压总是为:一个输出端具有高电平、另一个输出端具有低电平。因此,发明人发现,如果在进行模数转换时,总是利用两个输出端之一上的高电平进行模数转换,可以实现更好的转换精度,这是因为高电平具有更大的电平阶梯差,因此能够更加准确地分辨,由此差分电压的非线性程度较高,本发明的方案也能得出较精确的数字值。
[0022]
在本发明的第二方面,前述任务通过一种用于存算一体存储器的模数转换器来解决,其中所述模数转换器被配置为将存算一体存储器的差分输出电压转换成n位二进制的输出数字值,其中n为转换位数,且n为大于1的整数,并且所述差分输出电压包括第一差分电压和第二差分电压,所述模数转换器包括:
[0023]
第一模数转换单元,其被配置为将第一差分电压转换成第一数字值,其中第一模数转换单元包括:
[0024]
参考电压,其被配置为为第一组比较器中的每个比较器提供相应的参考电压;
[0025]
第一组比较器,其包括2
n
‑1‑
1个比较器,其被配置为分别将第一差分电压与相应参考电压相比较以生成2
n
‑1‑
1个比较结果;以及
[0026]
译码器,其被配置为将所述2
n
‑1‑
1个比较结果转换成为n

1位的二进制结果作为第一数字值;
[0027]
第二模数转换单元,其被配置为将第二差分电压转换成第二数字值,其中第二模数转换单元包括:
[0028]
参考电压,其被配置为为第二组比较器提供相应的参考电压;
[0029]
第二组比较器,其包括2
n
‑1‑
1个比较器,所述第二组比较器被配置为分别将第二差分电压与相应参考电压相比较以生成2
n
‑1‑
1个比较结果;以及
[0030]
译码器,其被配置为将所述2
n
‑1‑
1个比较结果转换成为n

1位的二进制结果作为第二数字值;以及
[0031]
控制单元,包括:
[0032]
比较器,其被配置为比较第一差分电压的绝对值和第二差分电压的绝对值以生成差分电压比较结果;以及
[0033]
选通器,其被配置为根据差分电压比较结果输出第一数字值或第二数字值作为输出数字值的第1至n

1位,其中差分电压比较结果作为输出数字值的最高位第n位。
[0034]
在本发明的范围内,术语“参考电压”是指比较器在比较或量化电平时所使用的参考值。例如,在并行比较器的情况下,2
n
‑1‑
1个比较器分别将差分电压与2
n
‑1‑
1个参考电压相比较,以得出2
n
‑1‑
1个比较结果,然后这些比较结果将被译码成输出数字值。
[0035]
在本发明的一个优选方案中规定,所述差分输出电压包括大小逐渐升高的多个电平,其中相邻两个电平之间的电平差呈非线性变化。通过该优选方案,可以在差分电压的非线性程度较高的情况下仍然得出精确的结果。
[0036]
在本发明的第三方面,前述任务通过一种用于差分输出电压的模数转换器来解决,其中所述差分输出电压包括第一差分电压和第二差分电压,所述模数转换器包括:
[0037]
选通器,其被配置为输出第一差分电压和第二差分电压二者中绝对值较大的电压作为输入电压;
[0038]
模数转换单元,其被配置为将输入电压转换成数字值;以及
[0039]
控制单元,其被配置为根据所述数字值和第一差分电压的绝对值与第二差分电压之间的比较结果生成输出数字值。
[0040]
此方案的特点在于,通过首先识别差分输出电压的大小,然后仅仅对高电平进行转换,由此可以省去大约一半的比较器,由此实现更小的芯片面积和更低的功耗。
[0041]
此外,本发明还提供了一种存算一体存储器,其包括根据本发明的模数转换器。
[0042]
在本发明的第四方面,前述任务通过一种用于神经网络计算的电路来解决,该电路包括:
[0043]
多个层,每个层包括多个神经单元;以及
[0044]
存算一体存储器,其被配置为从第一层的神经单元接收输入数据并且根据输入数据计算输出数据,其中所述输出数据为差分输出电压;以及
[0045]
根据本发明的模数转换器,其被配置为将所述差分输出电压转换成输出数字值以作为与第一层相邻的第二层的神经单元的输入数据。
[0046]
在本发明的一个优选方案中规定,所述存算一体存储器包括:
[0047]
行和列形式的存储器内处理pim块阵列,每个存储器内处理pim块都被配置为处于计算模式或存储器模式;
[0048]
控制器,其被配置为将pim块阵列划分为:第一组pim块,每个pim块都被配置为处于存储器模式;以及第二组pim块,每个pim块都被配置为处于计算模式,其中第一组pim块被配置为存储第一输入向量x,并且第二组pim块被配置为存储第一输入矩阵w并且基于第一输入向量x和第二矩阵计算第三向量的部分和;以及
[0049]
累加器,其被配置为基于第三矩阵的部分和输出所述乘积。
[0050]
在本发明中,术语“向量”或“矢量”是指具有n个分量或元素的数组,也可以用1xn矩阵来表示,其中n为自然数。例如,向量的每个元素或分量可以分别存储在一个存储单元中,并且由多个存储单元来共同存储单个向量。在本发明中,术语“矩阵”可以视为包含nxm个元素的数组,m为自然数。向量和矩阵的乘法按照矩阵乘法规则来计算。例如,n维向量(即1xn矩阵)与nxm矩阵的乘积为n维向量、即nx1矩阵。在本发明中,除特别指出以外,能够相乘或相加的向量或矩阵满足相应的维度要求。
[0051]
在本发明的第五方面,前述任务通过一种用于差分输出电压的模数转换方法来解决,其中所述差分输出电压包括第一差分电压和第二差分电压,该方法包括下列步骤:
[0052]
将第一差分电压和第二差分电压相比较以确定差分电压比较结果;
[0053]
根据差分电压比较结果生成输出数字值的最高位;以及
[0054]
在第一差分电压大于第二差分电压的情况下将第一差分电压转换成第一数字值以作为输出数字值的除所述最高位以外的其余位,否则将第二差分电压转换成第二数字值以作为输出数字值的除所述最高位以外的其余位。
[0055]
本发明至少具有下列有益效果:本发明通过采用两个差分电压输出端上的较大的电平进行模数转换,可以良好地解决因差分电压的阶梯电平差非线性所导致的转换精度低问题,这是因为,本发明人通过研究发现,尤其是在存算一体存储器之类的设备中,其差分电压往往存在如下特性:电平阶梯差随着电平的升高的越来越大,并且电平阶梯差随着电平的降低而越来越小;而且由于存算一体存储器的电压差分关系,其两个差分电压输出端上的电压总是为:一个输出端具有高电平、另一个输出端具有低电平;因此,发明人独到地发现,如果在进行模数转换时,总是利用两个输出端之一上的高电平进行模数转换,可以实现更好的转换精度,这是因为高电平具有更大的电平阶梯差,因此能够更加准确地分辨,由此差分电压的非线性程度较高,本发明的方案也能得出较精确的数字值。
附图说明
[0056]
下面结合具体实施方式参考附图进一步阐述本发明。
[0057]
图1示出了根据本发明的模数转换器的框图;
[0058]
图2示出了根据本发明的模数转换器的详细视图;
[0059]
图3示出了根据本发明的模数转换器在应用于存算一体存储器时的详细视图;
[0060]
图4示出了非线性差分电压对的示意图;
[0061]
图5示出了存算一体存储器的一个实施例的示意图;
[0062]
图6示出了存算一体存储器的pim块的实施例;以及
[0063]
图7a

7b示出了存算一体存储器的处于存储器模式和计算模式的pim块的示意图。
具体实施方式
[0064]
应当指出,各附图中的各组件可能为了图解说明而被夸大地示出,而不一定是比例正确的。在各附图中,给相同或功能相同的组件配备了相同的附图标记。
[0065]
在本发明中,除非特别指出,“布置在

上”、“布置在

上方”以及“布置在

之上”并未排除二者之间存在中间物的情况。此外,“布置在

上或上方”仅仅表示两个部件之间
的相对位置关系,而在一定情况下、如在颠倒产品方向后,也可以转换为“布置在

下或下方”,反之亦然。
[0066]
在本发明中,各实施例仅仅旨在说明本发明的方案,而不应被理解为限制性的。
[0067]
在本发明中,除非特别指出,量词“一个”、“一”并未排除多个元素的场景。
[0068]
在此还应当指出,在本发明的实施例中,为清楚、简单起见,可能示出了仅仅一部分部件或组件,但是本领域的普通技术人员能够理解,在本发明的教导下,可根据具体场景需要添加所需的部件或组件。另外,除非另行说明,本发明的不同实施例中的特征可以相互组合。例如,可以用第二实施例中的某特征替换第一实施例中相对应或功能相同或相似的特征,所得到的实施例同样落入本申请的公开范围或记载范围。
[0069]
在此还应当指出,在本发明的范围内,“相同”、“相等”、“等于”等措辞并不意味着二者数值绝对相等,而是允许一定的合理误差,也就是说,所述措辞也涵盖了“基本上相同”、“基本上相等”、“基本上等于”。以此类推,在本发明中,表方向的术语“垂直于”、“平行于”等等同样涵盖了“基本上垂直于”、“基本上平行于”的含义。
[0070]
另外,本发明的各方法的步骤的编号并未限定所述方法步骤的执行顺序。除非特别指出,各方法步骤可以以不同顺序执行。
[0071]
在本发明的范围内,控制器可以用软件、硬件或固件或其组合来实现。控制器既可以单独存在,也可以是某个部件的一部分。
[0072]
最后应当指出,本发明尽管以存算一体存储器为例进行说明的,但是本发明不限于此,而是也适用于差分电压的其它场景、尤其是非线性差分电压场景。
[0073]
首先阐述本发明所基于的原理。
[0074]
发明人通过研究发现,在一些电子设备或器件中,由于非线性元件的存在,其差分输出电压存在非线性,这种非线性会影响模数转换的精度。存算一体存储器就一个典型的示例。存算一体存储器例如包括电阻和晶体管作为运算器件,而由于晶体管的输入/输出电压的非线性,例如参考图4,图4示出了存算一体存储器的两个差分电压输出端子的电压曲线,因此存算一体存储器的输出差分电压一般存在非线性(non

linearity)。在此,“非线性”是指,差分电压包括大小逐渐升高的多个电平,其中相邻大小的两个电平之间的电平阶梯差(voltage step)呈非线性变化、例如不相等或者不成比例。这导致两个差分电压输出端上的电压呈现如下变化:电平阶梯差随着电平的升高的越来越大,并且电平阶梯差随着电平的降低而越来越小,相应地,其信噪比也呈现相似变化。且发明人通过研究发现这类设备的差分电压存在如下规律:由于所述设备的电压差分关系,其两个差分电压输出端上的电压总是为:一个输出端具有高电平、另一个输出端具有低电平,因此结合上面的发现,两个端子上输出的两个电压中,高电平具有大的电平阶梯差,低电平具有小的电平阶梯差。发明人发现,可利用这个特点提高模数转换精度、即在进行模数转换时,总是利用两个输出端之一上的高电平进行模数转换(差分电压中的高电平已经可以确定电压的数字值,因为差分电压中的电压差分对、即高电平与低电平呈现一一对应的关系),由此可以实现更好的转换精度,这是因为高电平具有更大的电平阶梯差,因此能够更加准确地分辨,由此差分电压的非线性程度较高,本发明的方案也能得出较精确的数字值。
[0075]
下面结合具体实施方式参考附图进一步阐述本发明。
[0076]
图1示出了根据本发明的模数转换器100的框图。
[0077]
如图1所示,以存算一体存储器200为例来说明本发明。存算一体存储器200将模拟信号、即差分输出电压输出到根据本发明的模数转换器100。模数转换器100通过模数转换将所述差分输出电压转换成输出数字值。
[0078]
图2示出了根据本发明的模数转换器100的详细视图。
[0079]
如图2所示,仍然以存算一体存储器200为例,所述模数转换器100被配置为将存算一体存储器200的差分输出电压v+、v

转换成n位二进制的输出数字值,其中n为转换位数,且n为大于1的整数,在本实施例中,以n=4为例,但是其它数目的n也是可设想的。差分输出电压包括第一差分电压v+和第二差分电压v

,它们互为差分关系,即它们的差值为信号。差分输出电压例如为位线(bl)电压。根据本发明的模数转换器100包括下列部件:
[0080]
·
第一模数转换单元,其被配置为将第一差分电压v+转换成第一数字值,其中第一模数转换单元包括:
[0081]

参考电压vref1至vref7,其被配置为为第一组比较器101

1至101

7中的每个比较器101

1至101

7提供相应的参考电压。在此应当指出,参考电压可以在两组或更多组比较器中共用。在本发明的范围内,术语“参考电压”是指比较器在比较或量化电平时所使用的参考值。例如,在并行比较器的情况下,2
n
‑1‑
1个(在此实施例中为7个)比较器分别将差分电压与2
n
‑1‑
1个参考电压相比较,以得出2
n
‑1‑
1个比较结果,然后这些比较结果将被译码成输出数字值。参考电压可以为电压源或其它电压或电平发生装置。
[0082]

第一组比较器101

1至101

7,其包括2
n
‑1‑
1个(在此实施例中为7个)比较器,其被配置为分别将第一差分电压v+与相应参考电压vref1至vref7相比较以生成2
n
‑1‑
1个(在此实施例中为7个)比较结果。所述结果例如为7位的温度计码。在此,温度计码是指以“1”的个数来表征数值,例如温度计码“01111111”中包含7个“1”,因此表示7或二进制的“0111”。温度计码可以通过译码器被转换成二进制码,例如温度计码“01111110”可以被译码器转换成二进制码“0110”。
[0083]

译码器104

1,其被配置为将所述2
n
‑1‑
1个比较结果转换成为n

1位的二进制结果作为第一数字值。在本实施例中,译码器104

1被配置为将7位的温度计码转换成3位的二进制码。
[0084]
·
第二模数转换单元,其与第一模数转换单元的结构和配置基本相同。第二模数转换单元被配置为将第二差分电压v

转换成第二数字值,其中第二模数转换单元包括:
[0085]

参考电压vref1至vref7,其被配置为为第二组比较器102

1至102

7中的每个比较器102

1至102

7提供相应的参考电压。在此应当指出,参考电压可以在两组或更多组比较器中共用。在本发明的范围内,术语“参考电压”是指比较器在比较或量化电平时所使用的参考值。例如,在并行比较器的情况下,2
n
‑1‑
1个(在此实施例中为7个)比较器分别将差分电压与2
n
‑1‑
1个参考电压相比较,以得出2
n
‑1‑
1个比较结果,然后这些比较结果将被译码成输出数字值。
[0086]

第二组比较器102

1至102

7,其包括2
n
‑1‑
1个(在此实施例中为7个)比较器,其被配置为分别将第二差分电压v

与相应参考电压vref1至vref7相比较以生成2
n
‑1‑
1个(在此实施例中为7个)比较结果。所述结果例如为7位的温度计码。在此,温度计码是指以“1”的个数来表征数值,例如温度计码“01111111”中包含7个“1”,因此表示7或二进制的“0111”。温度计码可以通过译码器被转换成二进制码,例如温度计码“01111100”可以被译码器转换
成二进制码“0101”。
[0087]

译码器104

2,其被配置为将所述2
n
‑1‑
1个比较结果转换成为n

1位的二进制结果作为第一数字值。在本实施例中,译码器104

1被配置为将7位的温度计码转换成3位的二进制码。译码器104

2可以与译码器104

1相同或不同。
[0088]
·
控制单元,包括:
[0089]

比较器103,其被配置为比较第一差分电压v+的绝对值和第二差分电压v

的绝对值以生成差分电压比较结果。所述比较结果例如将作为4位输出数字值的最高有效位(msb)。
[0090]

选通器105,其被配置为根据差分电压比较结果输出第一数字值或第二数字值作为输出数字值的第1至n

1位(在本实施例中为第1至3位,共3位),其中差分电压比较结果作为输出数字值的最高位第n位、即最高有效位。例如,在第一差分电压v+的绝对值大于第二差分电压v

的绝对值时选择输出第一组比较器的转换结果、即第一数字值作为输出数字值的一部分、即第1至3位;在第一差分电压v+1的绝对值小于或等于第二差分电压v

的绝对值时选择输出第二组比较器的转换结果、即第二数字值作为输出数字值的一部分、即第1至3位。最高位由第一差分电压v+与第二差分电压v

之间的比较结果来确定。例如,当|v|+>|v

|时,msb=1,且|v|+≤|v

|时,msb=0。
[0091]
在一个优选的实施例中,可以仅仅设置单组比较器,其中首先进行第一差分电压v+1的绝对值与第二差分电压v

的绝对值之间的比较,并且仅仅对其中较大者进行模数转换并采用其结果和差分电压比较结果来生成输出数字值,由此可以省去一组比较器。
[0092]
下面阐述根据本发明的模数转换器100的工作流程。
[0093]
首先,将第一差分电压和第二差分电压相比较以确定差分电压比较结果。然后,根据差分电压比较结果生成输出数字值的最高位。最后,在第一差分电压大于第二差分电压的情况下将第一差分电压转换成第一数字值以作为输出数字值的除所述最高位以外的其余位,否则将第二差分电压转换成第二数字值以作为输出数字值的除所述最高位以外的其余位。
[0094]
图3示出了根据本发明的模数转换器100在应用于存算一体存储器200时的详细视图。
[0095]
如图3所示,存算一体存储器200采用多个根据本发明的模数转换器100来将其差分电压转换成输出数字值。例如,其差分电压应当被转换成32位数据,因此需要8个4位模数转换器100(在此仅仅示出了一部分)。在此,全部模数转换器100共用单个参考电压。
[0096]
图5示出了存算一体存储器200的一个实施例的示意图。
[0097]
如图5所示,存算一体存储器200包括:
[0098]
·
行和列形式的存储器内处理pim块阵列202,每个存储器内处理块202都被配置为处于计算模式或存储器模式。
[0099]
·
控制器206,其被配置为将pim块阵列202划分为:第一组pim块202,每个pim块202都被配置为处于存储器模式;以及第二组pim块202,每个pim块202都被配置为处于计算模式,其中第一组pim块202被配置为存储第一输入向量x,并且第二组pim块202被配置为存储第一输入矩阵w并且基于第一输入向量x和第二矩阵计算第三向量的部分和。控制器206可以与存储控制器105集成在一起或彼此分离。在此,部分和是指,向量与矩阵的乘法的部
分计算结果,例如行向量与矩阵的列向量的乘积。关于pim块202的细节,请参阅图6。如图6所示,每个pim块202都可以包括存储器阵列402和vvm(矢量

矢量乘法)引擎404,所述vvm引擎404被配置为在存储器模式下被停用。vvm引擎例如可以包括位计数器、移位累加器和多个and门,以便执行矢量

矢量乘法,关于vvm引擎的细节,请参阅图5a

5b。在一些实施例中,存储器阵列402包括reram阵列。能够理解,在其它示例中,存储器阵列402可以包括任何其它合适的存储器,举几个例子来说,所述存储器包括但不限于:相变随机存取存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)。存储器阵列402可以存储第一矢量。pim块202还可以包括控制电路406,所述控制电路406被配置为在计算模式下启用vvm引擎404并控制vvm引擎404以执行第一矢量与第二矢量之间的点积以生成部分和。控制电路406还可以被配置为在存储器模式下停用vvm引擎404并控制存储器阵列402以写入或读出第一矢量。pim块202还可以包括用于中间数据存储的各种缓冲器,包括:列缓冲器408,其被配置为通过存储器总线接收和缓冲例如来自其它pim设备的第二矢量;以及部分和缓冲器410,其被配置为缓冲部分和并通过部分和总线将部分和发送给另一pim设备。
[0100]
·
可选的累加器,其被配置为基于第三矩阵的部分和输出所述乘积。在其它情况下,也可以直接输出部分和作为计算结果。
[0101]
·
多个mux 204,其被配置为在不同行和/或列的pim块202之间重定向数据流。
[0102]
·
总线212,其用于在位于总线上的pim块202、控制器206、全局功能单元210、累加器等组件之间传输。
[0103]
·
全局功能单元210,其被配置为执行任何合适的全局杂项功能,比如池化、启用和编码方案等。
[0104]
每个pim块202都可以是相同的,并且被配置为要么处于用于存储例如两维或更多维的矢量或矩阵之类的数据的存储器模式、要么处于用于存储数据以及执行诸如vmm或vvm之类的矢量/矩阵计算的计算模式。随着要执行的特定任务的改变,例如cnn中的卷积层或全连接(fc)层中的计算,每个pim块202都可以基于特定任务的计算方案在计算模式与存储器模式之间重新配置。在一些实施例中,即使pim块202阵列的布局是预设的,例如为正交的行和列的形式,mux 204的配置仍然可以根据要执行的特定任务灵活改变。例如,通过启用和停用不同行的pim块202之间的某些mux 204,pim块202阵列的布置可以被配置为适应与特定任务相对应的计算方案和数据流。根据一些实施例,被启用的mux 204将pim块202阵列划分成两个或更多个组,每个组都被配置为处于相同的计算或存储器模式。此外,尽管pim块202之间的缺省数据流处于相同的行和/或列,但是被启用的mux 204可以按照特定任务的需要进一步在不同行和/或列之间重定向数据流。
[0105]
总线212可以是存算一体存储器101的主/系统总线,其用于将诸如矩阵之类的输入数据传输到pim块202阵列。存算一体存储器101中的一组pim块202可以被配置为处于存储器模式以替代ram 102。结果,根据一些实施例,数据流不再处于每个pim块104与集中式ram 102之间,而是基于pim块202阵列的布置、例如pim块202阵列的布局和/或mux 204的配置而遵循特定路径。pim块202阵列的输出、例如部分求和(和)可以被发送到累加器208,所述累加器208可以进一步被配置为基于部分和生成输出矩阵。
[0106]
图7a

7b示出了根据本发明的矢量处理器的存算一体存储器的处于存储器模式和计算模式的pim块的示意图。
[0107]
图7a示出了根据本公开一些实施例的处于存储器模式的pim块202的详细框图。图7b示出了根据本公开一些实施例的处于计算模式的图4中的pim块202的详细框图。vvm引擎404可以包括位计数器502、移位累加器508以及多个and门506。如图5a所示,控制电路406可以在存储器模式下停用vvm引擎404和部分和缓冲器410(以虚线示出),使得pim块202充当存储器元件以用于在存储器阵列402中存储第一矢量。如图7b所示,控制电路406可以在计算模式下启用vvm引擎404和部分和缓冲器410(以实线示出),使得存储在存储器阵列402中的第一矢量和列缓冲器408中缓冲的第二矢量可以被发送给vvm引擎404以计算第一和第二矢量的点积,所述点积可以在部分和缓冲器410中作为部分和被缓冲。
[0108]
虽然本发明的一些实施方式已经在本申请文件中予以了描述,但是本领域技术人员能够理解,这些实施方式仅仅是作为示例示出的。本领域技术人员在本发明的教导下可以想到众多的变型方案、替代方案和改进方案而不超出本发明的范围。所附权利要求书旨在限定本发明的范围,并由此涵盖这些权利要求本身及其等同变换的范围内的方法和结构。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1