一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储器装置的制作方法

2021-02-09 11:41:00 来源:中国专利 TAG:是有 存储器 装置


[0001]
本发明是有关于一种存储器装置。


背景技术:

[0002]
类神经网络(neural network)是一种具有学习、总结及归纳能力的系统。类神经网络被广泛地运用在机械学习(machine learning)、人工智能(artificial intelligence)等领域。然而,类神经网络的运算庞大,需要优秀的硬件支持。有鉴于此,通过具有高速运算能力的存储器来实现类神经网络是本领域的趋势。


技术实现要素:

[0003]
本发明实施例揭露一种存储器装置,包括一存储器控制器、一计算存储器以及一功能电路。计算存储器耦接至存储器控制器,且用以接收多个第一信号以输出多个第二信号,其中各第二信号具有一参数值,参数值为电压值或电流值。功能电路耦接至计算存储器,且用以指出这些第二信号中具有最大的参数值者或具有最小的参数值者。
[0004]
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合附图详细说明如下:
附图说明
[0005]
图1绘示依据本发明一实施例的存储器装置的方块图。
[0006]
图2绘示计算存储器的示意图。
[0007]
图3绘示依据本发明一实施例的功能电路的方块图。
[0008]
图4绘示依据本发明另一实施例的功能电路的方块图。
[0009]
图5绘示依据本发明一实施例的选择单元的方块图。
[0010]
【符号说明】
[0011]
10:存储器装置
[0012]
102:存储器控制器
[0013]
104:计算存储器
[0014]
106、306、406:功能电路
[0015]
f1~fn:第一信号
[0016]
c11~cmn:存储单元
[0017]
s1~sm:第二信号
[0018]
3061-1~3061-m:子功能电路
[0019]
3063-1~3063-m:比较单元
[0020]
3065-1~3065-m:开关单元
[0021]
3067-1~3067-m:闩锁单元
[0022]
ref:参考信号
[0023]
m1~mm:第一比较结果
[0024]
wor:控制信号
[0025]
d1~dk:结果信号
[0026]
sel1-1~sel1-4、sel2-1~sel2-2、sel3-1、50:选择单元
[0027]
mux:多任务器
[0028]
cmp:比较器
[0029]
in1、in2:信号
[0030]
ctl:控制信号
[0031]
out:输出信号
具体实施方式
[0032]
请参照图1,图1绘示依据本发明一实施例的存储器装置的方块图。存储器装置10包括一存储器控制器102、一计算存储器104以及一功能电路106。存储器装置10可用以实现类神经网络中某些特定运算,例如卷积(convolution),以及分析运算结果以从中获取感兴趣的结果。
[0033]
存储器控制器102耦接至计算存储器104以及功能电路106,用以控制计算存储器104以及功能电路106的操作。
[0034]
计算存储器104可为非易失性存储器,例如,nand型闪存(nand flash memory)、nor型闪存(nor flash memory)及相变化存储器(phase change memory)等。在一实施例中,计算存储器104包括多个存储单元c11~cmn,其中m及n为正整数。各个存储单元可包括一电阻,各个电阻的电阻值代表一权重,可用以实现类神经网络中的突触(synapse)。如图2所示,计算存储器104可用以接收多个第一信号f1~fn,并依据此些第一信号f1~fn及存储单元c11~cmn所代表的权重输出多个第二信号s1~sm,其中各个第二信号s1~sm具有一参数值。在一实施例中,第二信号s1~sm为电流信号,参数值为电流值。在另一实施例中,第二信号s1~sm为电压信号,参数值为电压值。通过计算存储器104,可实现例如卷积(convolution)等的数学运算。
[0035]
功能电路106用以接收第二信号s1~sm,并从第二信号s1~sm中指出具有最大的参数值或最小的参数值的第二信号。举例说,当第二信号s1~sm为电流信号,功能电路106可用以指出第二信号s1~sm中具有最大的电流值的第二信号或者具有最小的电流值的第二信号;当第二信号s1~sm为电压信号,功能电路106可用以指出第二信号s1~sm中具有最大的电压值的第二信号或者具有最小的电压值的第二信号。
[0036]
请参照图3,图3绘示依据本发明一实施例的功能电路的方块图。功能电路306包括多个子功能电路3061-1~3061-m。各个子功能电路包括一比较单元、一开关单元以及一闩锁单元。对于各个子功能电路3061-k(其中k=1~m),比较单元3063-k的一第一输入端用以接收第二信号s1~sm的其中之一(即第二信号sk),比较单元3063-k的一第二输入端用以接收一参考信号ref,比较单元3063-k的一输出端用以输出依据所接收的第二信号sk及参考信号ref产生的一第一比较结果mk;开关单元3065-k的一第一端耦接至比较单元3063-k的输出端,开关单元3065-k的一控制端用以接收一控制信号wor;闩锁单元3067-k的一第一端耦接至开关单元3065-k的一第二端,闩锁单元3067-k的一第二端用以输出一结果信号dk。
以子功能电路3061-1为例,比较单元3063-1的第一输入端为正输入端,比较单元3063-1的第二输入端为负输入端,当第二信号s1大于参考信号ref时,比较单元3063-1输出的第一比较结果m1为「1」,即逻辑高电平(logical high),当第二信号s1不大于参考信号ref时,比较单元3063-1输出的第一比较结果m1为「0」,即逻辑低电平(logical low);开关单元3065-1受控于控制信号wor,控制信号wor是依据所有的第一比较结果m1~mm产生,当第一比较结果m1~mm皆为「0」时,控制信号wor为「1」,而开关单元3065-1导通,当有任一第一比较结果m1~mm为「1」时,控制信号wor为「0」,而开关单元3065-1关闭,闩锁单元3067-1可依据一频率信号将结果信号d1输出。其他的子功能电路3061-2~3061-m的操作可依此类推。
[0037]
接下来说明功能电路306的原理。在本实施例中,第二信号s1~sm为电压信号。参考信号ref的电压值会小于等于一上限值且大于等于一下限值,上限值与下限值可根据第二信号s1~sm的电压值的可能范围来决定。当有一组第二信号s1~sm被输出至功能电路306时,参考信号ref的电压值会由上限值开始往下限值逐步减少,直到有任一第一比较结果为「1」时,控制信号wor由「1」转为「0」而使所有的开关单元3065-1~3065-m关闭,所有的第一比较结果m1~mm被锁定在闩锁单元3067-1~3067-m中并依据频率信号被输出。以实际的例子来说,假设共有四个第二信号s1~s4(即m=4)分别为4v、5v、2v、3v,参考信号ref的电压的上限值为6v且下限值为1v。当此组第二信号s1~s4被送入功能电路306后,参考信号ref的电压会从6v开始往1v逐渐降低。在参考信号ref的电压不小于5v之前,第一比较结果m1~m4皆为「0」,控制信号wor为「1」。直到参考信号ref的电压小于5v时,对应于第二信号s2(5v)的第一比较结果m2为「1」,控制信号wor由「1」转为「0」而关闭所有开关单元3065-1~3065-4,而此时的第一比较结果m1~m4会被锁定在闩锁单元3067-1~3067-4中并作为结果信号d1~d4被输出。接收结果信号d1~d4的电路(未绘示)可依据结果信号d1~d4存取储存有第二信号s2的存储器地址来取得第二信号s2的值。
[0038]
通过上述实施例的方式,功能电路306可有效地指出第二信号s1~sm中的具有最大的参数值的第二信号。而在另一个实施例中,功能电路306经过一些改动后也可以用以指出第二信号s1~sm中的具有最小的参数值的第二信号。举例来说,各比较单元3063-k的负输入端改为接收对应的第二信号,各比较单元3063-k的正输入端改为接收参考信号ref,且参考信号ref的参数值的变动方式是从下限值开始往上限值逐渐增加。
[0039]
在又一实施例中,参考信号ref的参数值是依据一特定算法变动,例如二分法(divide-by-2 algorithm)。以实际的例子来说,假设共有四个第二信号s1~s4(即m=4)分别为4v、5v、2v、3v,参考信号ref的电压的上限值为6v且下限值为1v。当此组第二信号s1~s4被送入功能电路306后,参考信号ref的电压会先被设定为上限值与下限值的平均值,即3.5v。对应的第一比较结果m1、m2为「1」,第一比较结果m3、m4为「0」。接着,参考信号ref的电压会被变更为上限值与3.5v的平均值,即4.75v。对应的第一比较结果m2为「1」,第一比较结果m1、m3、m4为「0」。由于仅有一个第一比较结果m2为「1」,故而可判定对应的第二信号s2具有第二信号s1~s4中最大的参数值。在此例中,控制信号wor会在只有其中一个第一比较结果为「1」而其他第一比较结果皆为「0」的情况下由「0」转变为「1」,藉以关闭开关单元并将当前的第一比较结果锁定在闩锁单元中等待输出。
[0040]
换句话说,参考信号ref的参数值的变动方式可以是线性的、非线性的、连续的或不连续的。
[0041]
请参照图4,图4绘示依据本发明另一实施例的功能电路的方块图。本实施例,本实施例是以m等于8为例进行说明,即第二信号s1~s8的数量为八,然而本发明并不以此为限。功能电路406包括多个选择单元sel1-1~sel1-4、sel2-1~sel2-2、sel3-1。此些选择单元sel1-1~sel1-4、sel2-1~sel2-2、sel3-1分为多个级。在本实施例中选择单元分为三级,选择单元sel1-1~sel1-4为第一级,选择单元sel2-1~sel2-2为第二级,选择单元sel3-1为第三级。第一级的选择单元sel1-1~sel1-4分别用以接收第二信号s1~s8的其中之二。举例来说,选择单元sel1-1用以接收第二信号s1、s2,并用以依据比较第二信号s1、s2的参数值选择第二信号s1、s2的其中之一作为输出,选择单元sel1-2用以接收第二信号s3、s4,并用以依据比较第二信号s3、s4的参数值选择第二信号s3、s4的其中之一作为输出,以此类推。第二级的选择单元sel2-1、sel2-2分别用以接收第一级的选择单元sel1-1~sel1-4的输出的其中之二。举例来说,选择单元sel2-1用以接收选择单元sel1-1、sel1-2的输出,并用以依据比较选择单元sel1-1、sel1-2的输出的参数值选择选择单元sel1-1、sel1-2的输出的其中之一作为输出,以此类推。第三级的选择单元sel3-1用以接收第二级的选择单元sel2-1、sel2-2的输出,并用以依据比较选择单元sel2-1、sel2-2的输出的参数值选择选择单元sel2-1、sel2-2的输出的其中之一作为输出。
[0042]
为更清楚说明功能电路406的运作原理,请搭配参照图5所示的依据本发明一实施例的选择单元的方块图。图5所示的选择单元50可应用于图4中的所有选择单元sel1-1~sel1-4、sel2-1~sel2-2、sel3-1。选择单元50包括一多任务器mux及一比较器cmp。多任务器mux包括二输入端、一控制端及一输出端。比较器cmp包括二输入端及一输出端。比较器cmp的输出端耦接至多任务器mux的控制端。比较器cmp的二输入端用以接收输入至多任务器mux的二输入端的二信号in1、in2。比较器cmp的的输出端用以输出依据比较输入至多任务器mux的二输入端的二信号in1、in2的参数值产生的一控制信号ctl。多任务器mux依据控制信号ctl选择输入至多任务器mux的二输入端的二信号in1、in2的其中之一作为输出信号out。举例来说,当信号in1、in2为电流信号,比较器cmp比较信号in1、in2的电流值(即参数值),若信号in1的电流值大于信号in2的电流值,则比较器cmp输出「1」作为控制信号ctl,若信号in1的电流值不大于信号in2的电流值,则比较器cmp输出「0」作为控制信号ctl。当控制信号ctl为「1」,多任务器mux选择信号in1作为输出信号out,当控制信号ctl为「0」,多任务器mux选择信号in2作为输出信号out。换句话说,输出信号out是信号in1、in2中具有较大的参数值者,而图4的功能电路406中第三级的选择单元sel3-1所输出的信号即第二信号s1~s8中具有最大的参数值者。在另一实施例中,选择单元50稍作改动则可用以得到信号in1、in2中具有较小的参数值者。举例来说,当控制信号ctl为「0」时,多任务器mux选择信号in1作为输出信号out,当控制信号ctl为「1」时,多任务器mux选择信号in2作为输出信号out,而功能电路406则可用以输出第二信号s1~s8中具有最小的参数值者。
[0043]
需要注意的是,上述实施例只是示例性的,选择单元的级数可根据第二信号的数量而有不同的设计,例如当第二信号有十六个时,选择单元可分为四级共十五个,当第二信号有三十二个时,选择单元可分为五级共三十一个等。
[0044]
总结来说,依据本发明的存储器装置,可通过功能电路指出计算存储器输出的第二信号中具有最大的参数值者或具有最小的参数值者。在一实施例中,功能电路通过将第二信号分别与一会变动的参考信号进行比较,以指出第二信号中具有参考值极值者。在另
一实施例中,功能电路通过将第二信号两两进行比较,以指出第二信号中具有参考值极值者。
[0045]
综上所述,虽然本发明已以实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当以权利要求所界定的为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜