存算一体电路、存算一体运算方法与流程
未命名
07-23
阅读:84
评论:0
1.本发明涉及存算技术领域,尤其涉及一种存算一体电路、存算一体运算方法。
背景技术:
2.传统的计算机是依照冯诺依曼架构进行设计的,而冯诺依曼架构中计算与储存分离的特性导致其具有储存墙问题。近几年来,依赖于极大算力的大数据、神经网络等领域的蓬勃发展,使得传统的冯诺依曼架构储存墙问题所带来的高功耗、高传输损耗等问题逐渐突显,研究人员尝试探索全新的非冯架构以期解决这些问题。而元胞自动机作为冯诺依曼提出的一种高度并行化的理论模型,在计算能力上等价于通用计算机,且由于其独特的演化方式和性质,可以广泛应用于复杂动力学模拟等领域,所以元胞自动机是很好的打破冯诺依曼架构的切入口。
3.常见的元胞自动机模型的实现方法是利用软件实现,由于冯诺依曼架构计算机串行计算的工作方式,所以需要较大的功耗和时间损耗才能完成运算。为了解决现有计算机运行元胞自动机时具有高功耗和并行度不高等问题,前人尝试用超大规模集成电路(vlsi),可编程阵列逻辑电路(fpga)等方式实现。然而vlsi由于其电路的确定性,对于元胞自动机丰富的规则,没有办法灵活转换,每一次流片只能实现一种规则。对于fpga,其虽然可以更加灵活的完成元胞自动机的规则,其所要消耗的硬件代价较大。所以就目前而言,对于元胞自动机,如何降低其硬件代价且兼顾元胞自动机规则的灵活性,成为了亟待解决的关键问题。
技术实现要素:
4.本发明的主要目的在于解决现有元胞自动机的硬件实现无法兼顾低硬件消耗和规则设置灵活性的技术问题。
5.本发明第一方面提供了一种存算一体电路,所述存算一体电路包括元胞自动机中各个元胞对应的多联级忆阻器单元、晶体管,其中,各联级忆阻器单元之间通过晶体管进行连接;各所述晶体管用于根据输入的第一脉冲信号控制各联级忆阻器单元的连接关系和运行模式;所述多联级忆阻器单元用于存储对应元胞的状态值,并按照连接关系和运行模式,根据输入的第二脉冲信号和存储的状态值执行所述元胞自动机对应的逻辑运算,以及输出逻辑运算的结果。
6.可选的,在本发明第一方面的第一种实现方式中,各级所述忆阻器单元包括存储忆阻器和辅助运算忆阻器,所述晶体管包括第一晶体管和第二晶体管;所述第一晶体管的发射极、集电极分别连接同一联级的辅助运算忆阻器、存储忆阻器,所述第一晶体管的基极用于接收第一脉冲信号中的第一控制信号,以控制各级忆阻器单元的运行模式;所述第二晶体管的发射极、集电极分别连接本联级的存储忆阻器、下一联级的存储忆阻器,所述第二晶体管的基极用于接收第一脉冲信号中的第二控制信号,以控制各级忆阻器单元之间的连接关系。
7.可选的,在本发明第一方面的第二种实现方式中,所述存储忆阻器包括存储有状态正值的第一存储忆阻器、以及存储有状态逆值的第二存储忆阻器,所述第一存储忆阻器和所述第二存储忆阻器的一端用于接收第二脉冲信号中的第三控制信号和第四控制信号,另一端并联连接至第一晶体管的集电极和第二晶体管的发射极,所述状态值包括状态正值和状态逆值;当所述第一存储忆阻器或所述第二存储忆阻器接收到输入的第三控制信号或第四控制信号时,输出对应存储的状态正值或者状态逆值,以用于执行所述元胞自动机对应的逻辑运算。
8.可选的,在本发明第一方面的第三种实现方式中,当上一联级的辅助运算忆阻器接收到第二脉冲信号中的第五控制信号时,根据上一联级的存储忆阻器输入的状态值,执行逻辑运算,得到新的第一状态值并进行输出;当下一联级的辅助运算忆阻器接收到第二脉冲信号中的第六控制信号时,根据下一联级的存储忆阻器输入的状态值,执行逻辑运算,得到新的第二状态值并进行输出;当本联级的辅助运算忆阻器接收到第二脉冲信号中的第七控制信号时,根据本联级的存储忆阻器输入的状态值、以及第一状态值和第二状态值,执行逻辑运算,得到新的第三状态值,并将新的第三状态进行输出、以及更新至本联级的存储忆阻器中。
9.可选的,在本发明第一方面的第四种实现方式中,所述存算一体电路还包括电阻阵列,所述电阻阵列和所述辅助运算忆阻器的一端用于接收第二脉冲信号中对应的第八控制信号和第九控制信号,另一端并联连接至第一晶体管的发射极,所述电阻阵列用于在辅助运算忆阻器在执行逻辑运算时对辅助运算忆阻器进行分压。
10.可选的,在本发明第一方面的第五种实现方式中,所述存算一体电路还包括脉冲发生装置,用于根据输入的元胞自动机的规则策略,设置第一脉冲信号和第二脉冲信号的脉冲发射模式并进行输出。
11.本发明第二方面提供了一种存算一体运算方法,应用于存算一体电路,所述存算一体电路包括元胞自动机中各个元胞对应的多联级忆阻器单元、晶体管,其中,各联级忆阻器单元之间通过晶体管进行连接,所述存算一体运算方法包括:通过所述晶体管,获取输入的第一脉冲信号,并根据所述第一脉冲信号设置各联级忆阻器单元的连接关系和运行模式;通过所述多联级忆阻器单元获取输入的第二脉冲信号和存储的状态值,并按照所述连接关系和所述运行模式,根据所述第二脉冲信号和所述状态值执行所述元胞自动机对应的逻辑运算,得到逻辑运算的结果。
12.可选的,在本发明第二方面的第二种实现方式中,级所述忆阻器单元包括存储忆阻器和辅助运算忆阻器,所述晶体管包括第一晶体管和第二晶体管,所述根据所述第一脉冲信号设置各联级忆阻器单元的连接关系和运行模式包括:根据所述第一脉冲信号中的第一控制信号,分别检测所述第一晶体管处于导通状态或者断开状态,以及根据所述第一脉冲信号中的第二控制信号,检测所述第二晶体管处于导通状态或者断开状态;根据所述第一晶体管处于导通状态或者断开状态的检测结果,设置各联级忆阻器单元中存储忆阻器和辅助运算忆阻器之间的运行模式;根据所述第二晶体管处于导通状态或者断开状态的检测结果,设置各联级忆阻器单元的存储忆阻器之间的连接关系。
13.可选的,在本发明第二方面的第三种实现方式中,所述存储忆阻器包括第一存储忆阻器和第二存储忆阻器,所述通过所述多联级忆阻器单元获取输入的第二脉冲信号和存
储的状态值包括:通过所述多联级忆阻器获取输入的第二脉冲信号,并确定所述第二脉冲信号中包含第三控制信号或者第四控制信号;若所述第二脉冲信号中包含第三控制信号,则根据所述第三控制信号,获取所述第一存储器中存储的状态正值;若所述第二脉冲信号中包含第四控制信号,则根据所述第四控制信号,获取所述第二存储器中存储的状态逆值。
14.可选的,在本发明第二方面的第四种实现方式中,所述按照所述连接关系和所述运行模式,根据所述第二脉冲信号和所述状态值执行所述元胞自动机对应的逻辑运算,得到逻辑运算的结果包括:当上一联级的辅助运算忆阻器接收到第二脉冲信号中的第五控制信号时,根据上一联级的存储忆阻器输出的状态值,执行逻辑运算,得到新的第一状态值;当下一联级的辅助运算忆阻器接收到第二脉冲信号中的第六控制信号时,根据下一联级的存储忆阻器输出的状态值,执行逻辑运算,得到新的第二状态值;当本联级的辅助运算忆阻器接收到第二脉冲信号中的第七控制信号时,根据本联级的存储忆阻器输出的状态值、以及所述第一状态值和所述第二状态值,执行逻辑运算,得到新的第三状态值并作为逻辑运算的结果。
15.可选的,在本发明第二方面的第五种实现方式中,在所述通过所述晶体管,获取输入的第一脉冲信号之前,还包括:获取关于元胞自动机对应的规则策略;根据所述规则策略,设置脉冲发生模式,并输出所述脉冲发生模式对应的第一脉冲信号和第二脉冲信号。
16.本发明提供的技术方案中,通过将忆阻器单元作为元胞自动机算法中的每一个元胞,每个忆阻器单元执行元胞自动机算法时仅执行o(1)的计算复杂度,并通过晶体管对忆阻器单元进行并联连接,使得在元胞自动机算法的逻辑运算能力提升,使得电路功耗降低,随着元胞自动机算法的复杂度增加,对硬件的需求量增长也得以降低。
17.存算一体电路运行元胞自动机算法,忆阻器单元存储有元胞自动机的单个元胞,使得每个忆阻器单元和晶体管的计算复杂度只有o(1),而传统的计算机,需要o(n)的复杂度,可以大幅度节约计算时间和计算资源。同时可以根据元胞自动机的不同规则策略来设置对应的脉冲信号,来控制忆阻器单元和晶体管单元执行对应规则策略的元胞自动机。另外也可以自由增减元胞自动机的数量,来控制计算需求。以此实现了将忆阻器应用于元胞自动机的逻辑运算,使得元胞自动机逻辑运算的硬件需求和电路功耗得到降低。
附图说明
18.图1为本发明实施例中存算一体电路的第一个实施例示意图;
19.图2为本发明实施例中存算一体电路的第二个实施例示意图;
20.图3为本发明实施例中存算一体电路的一种脉冲发射模式示意图。
21.图4为本发明实施例中存算一体电路的一个结构示意图。
22.图5是本发明实施例中忆阻器单元的dc扫描模态的i-v曲线图。
23.图6是本发明实施例中晶体管的开关性能曲线图。
24.图7为本发明实施例中存算一体运算方法的一个实施例示意图。
具体实施方式
25.本发明实施例提供了一种存算一体电路、存算一体运算方法,存算一体电路包括元胞自动机中各个元胞对应的多联级忆阻器单元、晶体管,其中,各联级忆阻器单元之间通
过晶体管进行连接;各晶体管用于根据输入的第一脉冲信号控制各联级忆阻器单元的连接关系和运行模式;多联级忆阻器单元用于存储对应元胞的状态值,并按照连接关系和运行模式,根据输入的第二脉冲信号和存储的状态值执行元胞自动机对应的逻辑运算,以及输出逻辑运算的结果。本发明实现了将忆阻器应用于元胞自动机的逻辑运算,降低了元胞自动机逻辑运算的硬件需求和电路功耗。
26.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.为便于理解,下面对本发明实施例的具体装置结构进行描述,请参阅图1,本发明实施例中存算一体电路的第一个实施例包括:
28.元胞自动机中各个元胞对应的多联级忆阻器单元、晶体管,其中,各联级忆阻器单元之间通过晶体管进行连接;各所述晶体管用于根据输入的第一脉冲信号控制各联级忆阻器单元的连接关系和运行模式;所述多联级忆阻器单元用于存储对应元胞的状态值,并按照连接关系和运行模式,根据输入的第二脉冲信号和存储的状态值执行所述元胞自动机对应的逻辑运算,以及输出逻辑运算的结果。
29.本实施例中,通过一个忆阻器单元来模拟元胞自动机的每一个基本单元:元胞,来模拟输出二进制形式的状态变量;多联级忆阻器单元通过晶体管进行连接,模拟元胞自动机的元胞空间,可以为一维空间,也可以为多维空间,根据需求进行设置即可,下面均以如图1所示的一维元胞空间对本实施例进行说明,即忆阻器单元1、忆阻器单元2、忆阻器单元3、
……
、忆阻器单元n-1、忆阻器单元n中,以对应的晶体管1、晶体管2、
……
、晶体管n-1进行连接。
30.本实施例中,多联级忆阻器执行元胞自动机的逻辑运算时,往往以周期性的循环运算方式呈现,计算元胞自动机的输入与输出之间的状态变换,此处通过第一脉冲信号晶体管来控制忆阻器单元每次运算周期之间的更新模式,并根据更新模式确定每次进行逻辑运算时的忆阻器单元的运行模式。示例地,可以以一个二进制数值进行表示,标识晶体管导通或者断开的运行模式。
31.另外,通过多联级忆阻器模拟元胞自动机的逻辑运算时,通过晶体管来连接不同的忆阻器单元生成元胞空间,然后通过第一脉冲信号控制不同元胞之间的连接关系,以预置规律的断开和导通来对连接的两个忆阻器单元进行连通和非连通,改变每个忆阻器单元之间的相互运算关系,模拟不同元胞自动机规则的连接运算逻辑。
32.具体的,前面针对第一脉冲信号对晶体管的控制,主要通过给控制信号,触发其导通或者断开,控制方式具有连续时序输出特征,按照脉冲频率输出连续或者间歇性的控制信号。
33.本实施例中,前面根据第一脉冲信号持续性地控制晶体管的运行模式和连接方式,按照第二脉冲信号,在相同时序点控制对应忆阻器单元的逻辑运算。包括输出每个忆阻
器单元对应存储元胞的状态值,以及根据状态值进行逻辑运算,对状态值进行调整。状态值具体可以以一个二进制数值表示操作和非操作的状态。在进行每个周期的运算,则对每个忆阻器单元内存储的状态值进行更新,实现元胞自动机的状态更新。
34.另外,请参阅图2,对存储一体电路进行进一步的详细说明,具体如下所示:
35.在一种实施方式中,所述存算一体电路还包括脉冲发生装置,用于根据输入的元胞自动机的规则策略,设置第一脉冲信号和第二脉冲信号的脉冲发射模式并进行输出。
36.本实施例中,在开发阶段,首先将元胞自动机的每个规则策略转化为真值表进行处理,将其规则策略转化为最简的“与/或”逻辑表达式;再将“与/或”表达式拆分成众多“与操作”和“与非操作”的组合操作。并根据转化完的操作流程,绘制出对应的元胞自动机的规则策略在按照时序对每个忆阻器单元和晶体管所施加的脉冲信号图如电压图。脉冲发生装置根据输入的规则策略对应的脉冲信号图来设置脉冲发生模式,按照时序输出第一脉冲信号和第二脉冲信号,以控制忆阻器单元和晶体管按照该规则策略进行逻辑运算。
37.具体的,如图3所示,按照110号元胞自动机运行的规则策略绘制电压图,如果在存储一体电路中运行110号元胞自动机所对应的电压图,具体运行原理为通过在对应端口施加控制信号的电压,在施加完一个周期的电压之后,忆阻器单元对应的元胞自动机的状态将得到一次更新,即完成一次元胞自动机的逻辑运算。
38.在一种实施方式中,各级所述忆阻器单元包括存储忆阻器101和辅助运算忆阻器102,所述晶体管包括第一晶体管103和第二晶体管104;所述第一晶体管103的发射极、集电极分别连接同一联级的辅助运算忆阻器102、存储忆阻器101,所述第一晶体管103的基极用于接收第一脉冲信号中的第一控制信号,以控制各级忆阻器单元的运行模式;所述第二晶体管104的发射极、集电极分别连接本联级的存储忆阻器101、下一联级的存储忆阻器101,所述第二晶体管104的基极用于接收第一脉冲信号中的第二控制信号,以控制各级忆阻器单元之间的连接关系。
39.在实际应用过程中,针对晶体管中的第一晶体管和第二晶体管,在第一脉冲信号中设置对应的第一控制信号和第二控制信号,来分别通过端口wl
ca1t2
,和wl
ca1t1
,输入第一晶体管和第二晶体管以对两者进行控制。其中,第一控制信号和第二控制信号可以为一个预设电压值,此处只根据是否输入电压,来对第一晶体管和第二晶体管进行导通和断开,以确定运行模式和连接关系。当输入第一控制信号至第一晶体管的基极端口时,使得第一晶体管导通,辅助运算忆阻器和存储忆阻器连通,可以执行状态值的获取和逻辑运算。当输入第二控制信号至第二晶体管的基极端口时,使得第二晶体管导通,前后两个联级的存储忆阻器连通,可以执行存储忆阻器中的状态值按照电流流向在前后两个联级的存储忆阻器进行传输。
40.在一种实施方式中,所述存储忆阻器101包括存储有状态正值的第一存储忆阻器1011、以及存储有状态逆值的第二存储忆阻器1012,所述第一存储忆阻器1011和所述第二存储忆阻器1012的一端用于接收第二脉冲信号中的第三控制信号和第四控制信号,另一端并联连接至第一晶体管103的集电极和第二晶体管104的发射极,所述状态值包括状态正值和状态逆值;当所述第一存储忆阻器1011或所述第二存储忆阻器1012接收到输入的第三控制信号或第四控制信号时,输出对应存储的状态正值或者状态逆值,以用于执行所述元胞自动机对应的逻辑运算。
41.本实施例中,通过第一存储忆阻器和第一存储忆阻器来存储一对互为逆的状态值,比如状态值为一个二进制数值,则如果第一存储忆阻器存储的状态正值为1,则第二存储忆阻器存储的状态逆值则为0。每次输出的第二脉冲信号中,仅会选择第三控制信号或者第四控制信号,来择一输出状态正值或者状态逆值,模拟元胞自动机中对应元胞输出的关于“操作”和“非操作”的指令。其中,第三控制信号和第四控制信号分别通过端口bl
ca1’和端口bl
ca1
输入第一存储忆阻器和第二忆阻器。
42.在一种实施方式中,当上一联级的辅助运算忆阻器102接收到第二脉冲信号中的第五控制信号时,根据上一联级的存储忆阻器101输入的状态值,执行逻辑运算,得到新的第一状态值并进行输出;当下一联级的辅助运算忆阻器102接收到第二脉冲信号中的第六控制信号时,根据下一联级的存储忆阻器101输入的状态值,执行逻辑运算,得到新的第二状态值并进行输出;当本联级的辅助运算忆阻器102接收到第二脉冲信号中的第七控制信号时,根据本联级的存储忆阻器101输入的状态值、以及第一状态值和第二状态值,执行逻辑运算,得到新的第三状态值,并将新的第三状态进行输出、以及更新至本联级的存储忆阻器101中。
43.本实施例中,模拟元胞自动机的逻辑运算原理,针对每一联级的忆阻器单元,其状态更新取决于自身忆阻器单元及相邻忆阻器单元的当前状态,故此处分别通过第五控制信号、第六控制信号,按照当前设置的元胞自动机设置的规则策略,分别控制上一联级和下一联级的忆阻器单元进行逻辑运算,并输出对应元胞的第一状态值和第二状态值。最后本联级的忆阻器单元根据输入的第七控制信号,利用前后联级元胞的第一状态值和第二状态值和本身的状态值,来计算第三状态值,并设置为本联级的忆阻器单元的状态,更新至存储忆阻器单元中。其中,第五控制信号、第六控制信号和第七控制信号通过接口bl
ca1s
、bl
ca2s
和bl
ca3s
进行输入。
44.具体的,继续以图3为例,以110号元胞自动机为例,110号元胞自动机的规则为:所以,201-203步操作是在对排列中第2+3n号忆阻器进行操作;204-206步操作是在对排列中第3+3n号忆阻器进行操作,207-209步操作是在对排列中第1+3n号忆阻器进行操作;210步操作是将本联级的第一忆阻器和第二忆阻器清空;211和212步操作,把将本联级的辅助运算忆阻器中的计算结果分别存入本联级的第一忆阻器和第二忆阻器;而最后的213步操作是清空本联级的辅助运算忆阻器,到此就完成一次元胞自动机全流程的逻辑计算。
45.在一种实施方式中,所述存算一体电路还包括电阻阵列105,所述电阻阵列105和所述辅助运算忆阻器102的一端用于接收第二脉冲信号中对应的第八控制信号和第九控制信号,另一端并联连接至第一晶体管103的发射极,所述电阻阵列105用于在辅助运算忆阻器102在执行逻辑运算时对辅助运算忆阻器102进行分压。
46.本实施例中,电阻阵列为一个定值电阻,为忆阻器单元在运行期间提供分压作用,在忆阻器单元进行逻辑运算时平衡电压从而保证忆阻器可以完成存内运算。其中,第八控制信号和第九控制信号分别通过端口wl
ca1
和blc
a1s
进行输入。
47.请参照图4-图6,提供了一种存算一体电路在实际应用过程中的较优实施例,具体如下所示:
48.针对存储一体电路的制备,具体可以为包括衬底、由电极层\绝缘层\电极层组成
的忆阻器(包括第一存储忆阻器4011、第二存储忆阻器4012和辅助运算忆阻器402)、由电极层\二维材料沟道组成的晶体管(包括第一晶体管403和第二晶体管404)和电阻阵列;将忆阻器的存算一体特性引入到了元胞自动机算法的计算中。
49.其中,忆阻器储存元胞自动机的状态值,在计算时不需要读取,可以直接参与运算。忆阻器循环复用,极大的节省了硬件代价。利用忆阻器存内运算的特征进行内部循环,具有很高的并行度,计算时间不随元胞数量增加而增加。衬底采用绝缘材料制成。晶体管的沟道材料为晶体管沟道材料,如二维材料mos2,通过转移或在衬底上直接生长的方式获得。绝缘层为5-50纳米的金属氧化物材料(如:hfo
x
)。电极层是通过图形化和淀积的方式获得,用于建立晶体管、忆阻器所需的电势差。电极层可以通过厚度为1纳米~100纳米的导电金属如ti\pt\ag制备而成。
50.在制备存算一体电路的一个较优实施方式中,首先通过在300nm厚的sio2/p+si衬底上利用金属有机物化学气相淀积转移mos2,并图形化。然后利用激光直写和电子束曝光技术将第一忆阻器4011、第二忆阻器4012和辅助运算忆阻器402、以及第一晶体管403和第二晶体管404的图案光刻到衬底上,再将金属ti/pt溅射到电极的位置。接着利用原子层沉积技术沉积10nm的hfo2的阻隔层,以及利用电子束曝光、溅射等技术将第一忆阻器4011、第二忆阻器4012和辅助运算忆阻器402的顶电极金属40nm ag溅射到指定位置。最后利用电子束曝光、溅射等技术将第一晶体管403和第二晶体管404的顶栅金属pt溅射到指定位置,最终制得如图4所示的存算一体电路。
51.另外,通过制备得到的存算一体电路测试了制备的器件。参见图5,是本发明实施例中忆阻器的i-v曲线图,y轴为电压输入存算一体电路的各个端口,x轴为各个端口的电压输入类型。图中展示了forming过程501、set过程502和reset过程503。参见图5,是本发明实施例中制备的二维材料晶体管的开关特性图。当漏端电压为1v时,栅极电压扫描从-3v到3v时,可以得到其沟道电流传输曲线601。
52.本发明实施例中,通过存算一体电路运行元胞自动机算法,忆阻器单元存储有元胞自动机的单个元胞,使得每个忆阻器单元和晶体管的计算复杂度只有o(1),而传统的计算机,需要o(n)的复杂度,可以大幅度节约计算时间和计算资源。同时可以根据元胞自动机的不同规则策略来设置对应的脉冲信号,来控制忆阻器单元和晶体管单元执行对应规则策略的元胞自动机。另外也可以自由增减元胞自动机的数量,来控制计算需求。以此实现了将忆阻器应用于元胞自动机的逻辑运算,使得元胞自动机逻辑运算的硬件需求和电路功耗得到降低。
53.上面对本发明实施例中存算一体电路进行了描述,下面对本发明实施例中存算一体运算方法进行描述,请参阅图7,本发明实施例中存算一体运算方法的一个实施例包括:
54.701、通过所述晶体管,获取输入的第一脉冲信号,并根据所述第一脉冲信号设置各联级忆阻器单元的连接关系和运行模式;
55.可以理解的是,本发明的执行主体可以为存算一体运算装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
56.本实施例中,多联级忆阻器执行元胞自动机的逻辑运算时,往往以周期性的循环运算方式呈现,计算元胞自动机的输入与输出之间的状态变换,此处通过第一脉冲信号晶体管来控制忆阻器单元每次运算周期之间的更新模式,并根据更新模式确定每次进行逻辑
运算时的忆阻器单元的运行模式。示例地,可以以一个二进制数值进行表示,标识晶体管导通或者断开的运行模式。
57.具体的,前面针对第一脉冲信号对晶体管的控制,主要通过给控制信号,触发其导通或者断开,控制方式具有连续时序输出特征,按照脉冲频率输出连续或者间歇性的控制信号。
58.其中,在通过所述晶体管,获取输入的第一脉冲信号之前,还需要根据设置的元胞自动机的规则策略来输出脉冲信号,具体如下所示:
59.1.1)获取关于元胞自动机对应的规则策略;
60.1.2)根据所述规则策略,设置脉冲发生模式,并输出所述脉冲发生模式对应的第一脉冲信号和第二脉冲信号。
61.本实施例中,在开发阶段,首先将元胞自动机的每个规则策略转化为真值表进行处理,将其规则策略转化为最简的“与/或”逻辑表达式;再将“与/或”表达式拆分成众多“与操作”和“与非操作”的组合操作。并根据转化完的操作流程,绘制出对应的元胞自动机的规则策略在按照时序对每个忆阻器单元和晶体管所施加的脉冲信号图如电压图。脉冲发生装置根据输入的规则策略对应的脉冲信号图来设置脉冲发生模式,按照时序输出第一脉冲信号和第二脉冲信号,以控制忆阻器单元和晶体管按照该规则策略进行逻辑运算。
62.具体的,如上图3所示,按照110号元胞自动机运行的规则策略绘制电压图,如果在存储一体电路中运行110号元胞自动机所对应的电压图,具体运行原理为通过在对应端口施加控制信号的电压,在施加完一个周期的电压之后,忆阻器单元对应的元胞自动机的状态将得到一次更新,即完成一次元胞自动机的逻辑运算。
63.其中,各级忆阻器单元包括存储忆阻器和辅助运算忆阻器,晶体管包括第一晶体管和第二晶体管,在根据所述第一脉冲信号设置各联级忆阻器单元的连接关系和运行模式时,包括以下具体执行步骤:
64.1.3)根据所述第一脉冲信号中的第一控制信号,分别检测所述第一晶体管处于导通状态或者断开状态,以及根据所述第一脉冲信号中的第二控制信号,检测所述第二晶体管处于导通状态或者断开状态;
65.1.4)根据所述第一晶体管处于导通状态或者断开状态的检测结果,设置各联级忆阻器单元中存储忆阻器和辅助运算忆阻器之间的运行模式;
66.1.5)根据所述第二晶体管处于导通状态或者断开状态的检测结果,设置各联级忆阻器单元的存储忆阻器之间的连接关系。
67.本实施例中,针对晶体管中的第一晶体管和第二晶体管,在第一脉冲信号中设置对应的第一控制信号和第二控制信号,来分别对两者进行控制。其中,第一控制信号和第二控制信号可以为一个预设电压值,此处只根据是否输入电压,来对第一晶体管和第二晶体管进行导通和断开,以确定运行模式和连接关系。当输入第一控制信号至第一晶体管的基极端口时,使得第一晶体管导通,辅助运算忆阻器和存储忆阻器连通,可以执行状态值的获取和逻辑运算。当输入第二控制信号至第二晶体管的基极端口时,使得第二晶体管导通,前后两个联级的存储忆阻器连通,可以执行存储忆阻器中的状态值按照电流流向在前后两个联级的存储忆阻器进行传输。
68.702、通过所述多联级忆阻器单元获取输入的第二脉冲信号和存储的状态值,并按
照所述连接关系和所述运行模式,根据所述第二脉冲信号和所述状态值执行所述元胞自动机对应的逻辑运算,得到逻辑运算的结果。
69.本实施例中,通过多联级忆阻器模拟元胞自动机的逻辑运算时,通过晶体管来连接不同的忆阻器单元生成元胞空间,然后通过第一脉冲信号控制不同元胞之间的连接关系,以预置规律的断开和导通来对连接的两个忆阻器单元进行连通和非连通,改变每个忆阻器单元之间的相互运算关系,模拟不同元胞自动机规则的连接运算逻辑。
70.另外,前面根据第一脉冲信号持续性地控制晶体管的运行模式和连接方式,按照第二脉冲信号,在相同时序点控制对应忆阻器单元的逻辑运算。包括输出每个忆阻器单元对应存储元胞的状态值,以及根据状态值进行逻辑运算,对状态值进行调整。状态值具体可以以一个二进制数值表示操作和非操作的状态。在进行每个周期的运算,则对每个忆阻器单元内存储的状态值进行更新,实现元胞自动机的状态更新。
71.其中,存储忆阻器包括第一存储忆阻器和第二存储忆阻器,通过多联级忆阻器单元获取输入的第二脉冲信号和存储的状态值时,可以通过以下步骤实现:
72.2.1)通过所述多联级忆阻器获取输入的第二脉冲信号,并确定所述第二脉冲信号中包含第三控制信号或者第四控制信号;
73.2.2)若所述第二脉冲信号中包含第三控制信号,则根据所述第三控制信号,获取所述第一存储器中存储的状态正值;
74.2.3)若所述第二脉冲信号中包含第四控制信号,则根据所述第四控制信号,获取所述第二存储器中存储的状态逆值。
75.本实施例中,通过第一存储忆阻器和第一存储忆阻器来存储一对互为逆的状态值,比如状态值为一个二进制数值,则如果第一存储忆阻器存储的状态正值为1,则第二存储忆阻器存储的状态逆值则为0。每次输出的第二脉冲信号中,仅会选择第三控制信号或者第四控制信号,来择一输出状态正值或者状态逆值,模拟元胞自动机中对应元胞输出的关于“操作”和“非操作”的指令。
76.其中,按照所述连接关系和所述运行模式,在根据第二脉冲信号和所述状态值执行元胞自动机对应的逻辑运算时,具体如下所示:
77.2.4)当上一联级的辅助运算忆阻器接收到第二脉冲信号中的第五控制信号时,根据上一联级的存储忆阻器输出的状态值,执行逻辑运算,得到新的第一状态值;
78.2.5)当下一联级的辅助运算忆阻器接收到第二脉冲信号中的第六控制信号时,根据下一联级的存储忆阻器输出的状态值,执行逻辑运算,得到新的第二状态值;
79.2.6)当本联级的辅助运算忆阻器接收到第二脉冲信号中的第七控制信号时,根据本联级的存储忆阻器输出的状态值、以及所述第一状态值和所述第二状态值,执行逻辑运算,得到新的第三状态值并作为逻辑运算的结果。
80.本实施例中,模拟元胞自动机的逻辑运算原理,针对每一联级的忆阻器单元,其状态更新取决于自身忆阻器单元及相邻忆阻器单元的当前状态,故此处分别通过第五控制信号、第六控制信号,按照当前设置的元胞自动机设置的规则策略,分别控制上一联级和下一联级的忆阻器单元进行逻辑运算,并输出对应元胞的第一状态值和第二状态值。最后本联级的忆阻器单元根据输入的第七控制信号,利用前后联级元胞的第一状态值和第二状态值和本身的状态值,来计算第三状态值,并设置为本联级的忆阻器单元的状态,更新至存储忆
阻器单元中。
81.具体的,继续以上图3为例,以110号元胞自动机为例,110号元胞自动机的规则为:所以,201-203步操作是在对排列中第2+3n号忆阻器进行操作;204-206步操作是在对排列中第3+3n号忆阻器进行操作,207-209步操作是在对排列中第1+3n号忆阻器进行操作;210步操作是将本联级的第一忆阻器和第二忆阻器清空;211和212步操作,把将本联级的辅助运算忆阻器中的计算结果分别存入本联级的第一忆阻器和第二忆阻器;而最后的213步操作是清空本联级的辅助运算忆阻器,到此就完成一次元胞自动机全流程的逻辑计算。
82.本发明实施例中,通过存算一体电路运行元胞自动机算法,忆阻器单元存储有元胞自动机的单个元胞,使得每个忆阻器单元和晶体管的计算复杂度只有o(1),而传统的计算机,需要o(n)的复杂度,可以大幅度节约计算时间和计算资源。同时可以根据元胞自动机的不同规则策略来设置对应的脉冲信号,来控制忆阻器单元和晶体管单元执行对应规则策略的元胞自动机。另外也可以自由增减元胞自动机的数量,来控制计算需求。以此实现了将忆阻器应用于元胞自动机的逻辑运算,使得元胞自动机逻辑运算的硬件需求和电路功耗得到降低。
83.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
84.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
85.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种存算一体电路,其特征在于,所述存算一体电路包括元胞自动机中各个元胞对应的多联级忆阻器单元、晶体管,其中,各联级忆阻器单元之间通过晶体管进行连接;各所述晶体管用于根据输入的第一脉冲信号控制各联级忆阻器单元的连接关系和运行模式;所述多联级忆阻器单元用于存储对应元胞的状态值,并按照连接关系和运行模式,根据输入的第二脉冲信号和存储的状态值执行所述元胞自动机对应的逻辑运算,以及输出逻辑运算的结果。2.根据权利要求1所述的存算一体电路,其特征在于,各级所述忆阻器单元包括存储忆阻器和辅助运算忆阻器,所述晶体管包括第一晶体管和第二晶体管;所述第一晶体管的发射极、集电极分别连接同一联级的辅助运算忆阻器、存储忆阻器,所述第一晶体管的基极用于接收第一脉冲信号中的第一控制信号,以控制各级忆阻器单元的运行模式;所述第二晶体管的发射极、集电极分别连接本联级的存储忆阻器、下一联级的存储忆阻器,所述第二晶体管的基极用于接收第一脉冲信号中的第二控制信号,以控制各级忆阻器单元之间的连接关系。3.根据权利要求2所述的存算一体电路,其特征在于,所述存储忆阻器包括存储有状态正值的第一存储忆阻器、以及存储有状态逆值的第二存储忆阻器,所述第一存储忆阻器和所述第二存储忆阻器的一端用于接收第二脉冲信号中的第三控制信号和第四控制信号,另一端并联连接至第一晶体管的集电极和第二晶体管的发射极,所述状态值包括状态正值和状态逆值;当所述第一存储忆阻器或所述第二存储忆阻器接收到输入的第三控制信号或第四控制信号时,输出对应存储的状态正值或者状态逆值,以用于执行所述元胞自动机对应的逻辑运算。4.根据权利要求2所述的存算一体电路,其特征在于,当上一联级的辅助运算忆阻器接收到第二脉冲信号中的第五控制信号时,根据上一联级的存储忆阻器输入的状态值,执行逻辑运算,得到新的第一状态值并进行输出;当下一联级的辅助运算忆阻器接收到第二脉冲信号中的第六控制信号时,根据下一联级的存储忆阻器输入的状态值,执行逻辑运算,得到新的第二状态值并进行输出;当本联级的辅助运算忆阻器接收到第二脉冲信号中的第七控制信号时,根据本联级的存储忆阻器输入的状态值、以及第一状态值和第二状态值,执行逻辑运算,得到新的第三状态值,并将新的第三状态进行输出、以及更新至本联级的存储忆阻器中。5.根据权利要求2所述的存算一体电路,其特征在于,所述存算一体电路还包括电阻阵列,所述电阻阵列和所述辅助运算忆阻器的一端用于接收第二脉冲信号中对应的第八控制信号和第九控制信号,另一端并联连接至第一晶体管的发射极,所述电阻阵列用于在辅助运算忆阻器在执行逻辑运算时对辅助运算忆阻器进行分压。6.根据权利要求1-5中任一项所述的存算一体电路,其特征在于,所述存算一体电路还包括脉冲发生装置,用于根据输入的元胞自动机的规则策略,设置第一脉冲信号和第二脉冲信号的脉冲发射模式并进行输出。7.一种存算一体运算方法,应用于存算一体电路,其特征在于,所述存算一体电路包括
元胞自动机中各个元胞对应的多联级忆阻器单元、晶体管,其中,各联级忆阻器单元之间通过晶体管进行连接,所述存算一体运算方法包括:通过所述晶体管,获取输入的第一脉冲信号,并根据所述第一脉冲信号设置各联级忆阻器单元的连接关系和运行模式;通过所述多联级忆阻器单元获取输入的第二脉冲信号和存储的状态值,并按照所述连接关系和所述运行模式,根据所述第二脉冲信号和所述状态值执行所述元胞自动机对应的逻辑运算,得到逻辑运算的结果。8.根据权利要求7所述的存算一体运算方法,其特征在于,各级所述忆阻器单元包括存储忆阻器和辅助运算忆阻器,所述晶体管包括第一晶体管和第二晶体管,所述根据所述第一脉冲信号设置各联级忆阻器单元的连接关系和运行模式包括:根据所述第一脉冲信号中的第一控制信号,分别检测所述第一晶体管处于导通状态或者断开状态,以及根据所述第一脉冲信号中的第二控制信号,检测所述第二晶体管处于导通状态或者断开状态;根据所述第一晶体管处于导通状态或者断开状态的检测结果,设置各联级忆阻器单元中存储忆阻器和辅助运算忆阻器之间的运行模式;根据所述第二晶体管处于导通状态或者断开状态的检测结果,设置各联级忆阻器单元的存储忆阻器之间的连接关系。9.根据权利要求8所述的存算一体运算方法,其特征在于,所述存储忆阻器包括第一存储忆阻器和第二存储忆阻器,所述通过所述多联级忆阻器单元获取输入的第二脉冲信号和存储的状态值包括:通过所述多联级忆阻器获取输入的第二脉冲信号,并确定所述第二脉冲信号中包含第三控制信号或者第四控制信号;若所述第二脉冲信号中包含第三控制信号,则根据所述第三控制信号,获取所述第一存储器中存储的状态正值;若所述第二脉冲信号中包含第四控制信号,则根据所述第四控制信号,获取所述第二存储器中存储的状态逆值。10.根据权利要求8所述的存算一体运算方法,其特征在于,所述按照所述连接关系和所述运行模式,根据所述第二脉冲信号和所述状态值执行所述元胞自动机对应的逻辑运算,得到逻辑运算的结果包括:当上一联级的辅助运算忆阻器接收到第二脉冲信号中的第五控制信号时,根据上一联级的存储忆阻器输出的状态值,执行逻辑运算,得到新的第一状态值;当下一联级的辅助运算忆阻器接收到第二脉冲信号中的第六控制信号时,根据下一联级的存储忆阻器输出的状态值,执行逻辑运算,得到新的第二状态值;当本联级的辅助运算忆阻器接收到第二脉冲信号中的第七控制信号时,根据本联级的存储忆阻器输出的状态值、以及所述第一状态值和所述第二状态值,执行逻辑运算,得到新的第三状态值并作为逻辑运算的结果。11.根据权利要求7-10中任一项所述的存算一体运算方法,其特征在于,在所述通过所述晶体管,获取输入的第一脉冲信号之前,还包括:获取关于元胞自动机对应的规则策略;
根据所述规则策略,设置脉冲发生模式,并输出所述脉冲发生模式对应的第一脉冲信号和第二脉冲信号。
技术总结
本发明涉及存算技术领域,公开了一种存算一体电路、存算一体运算方法。存算一体电路包括元胞自动机中各个元胞对应的多联级忆阻器单元、晶体管,其中,各联级忆阻器单元之间通过晶体管进行连接;各晶体管用于根据输入的第一脉冲信号控制各联级忆阻器单元的连接关系和运行模式;多联级忆阻器单元用于存储对应元胞的状态值,并按照连接关系和运行模式,根据输入的第二脉冲信号和存储的状态值执行元胞自动机对应的逻辑运算,以及输出逻辑运算的结果。本发明实现了将忆阻器应用于元胞自动机的逻辑运算,降低了元胞自动机逻辑运算的硬件需求和电路功耗。求和电路功耗。求和电路功耗。
技术研发人员:叶苓 任天令 田禾 刘晏铭 吴凡 肖京
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2023.04.14
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:包装侧条装置及安装方法与流程 下一篇:预测方法及装置、电子设备和存储介质与流程
