一种基于事件驱动型电路设计的异步存储单元及方法



1.本发明属于大型科学计算领域,尤其涉及一种基于事件驱动型电路设计的异步存储单元及方法。


背景技术:



2.目前大型科学计算领域均涉及到数据存储问题,并且在计算过程中涉及到大量的数据访存,故整个系统计算效率的瓶颈往往在于数据存储方面。而目前主流的存储方法及设计均基于同步时钟电路,在面向一些异步架构进行数据处理时,往往需要增加复杂的同异步接口来保证数据存取的正确性。这种同异步接口结构复杂,无法灵活面向各种应用场景的处理需求,同时严重影响数据访存效率。而稀疏矩阵作为大型科学计算领域中的关键数据结构类型,其结构具有不规则的特性,存储方式较为灵活多样。稀疏矩阵乘法又是稀疏矩阵计算中的关键核心,它在深度神经网络、分布式图处理、非线性地震模拟、高分辨率大气预测等领域的加速计算处理计算中均扮演重要角,同时它也是马尔科夫聚类、搜索算法、大规模数据匹配算法、偏微分方程显式求解、有限元共轭梯度等算法的核心组件。故本发明将针对稀疏矩阵进行存储方法的设计及实现,为异步稀疏矩阵乘法器提供一种异步存储单元及方法,提高乘法器间的数据访存效率,减少不必要的性能损失。


技术实现要素:



3.为了克服存储单元sram和异步稀疏矩阵乘法器之间的不适配性,解决复杂同异步接口访存效率较低等问题本发明将提供一种基于事件驱动型电路设计的异步存储单元,,在保证数据读写访问正确性的同时,提高异步稀疏矩阵乘法器的数据访存效率,为异步处理架构的数据存储提供一种新型的存储方法。
4.本发明是这样实现的,一种基于事件驱动型电路设计的异步存储单元,该存储单元包括用于存储数据主体的多片sram,各片sram均通过一个脉冲信号进行触发,并且根据数据端、地址端、读写使能端的各类信号线完成相应读写操作,该存储单元还包括作为多片sram外围模块的sram_top模块以及作为sram_top模块的外围模块的sram_control模块;其中,
5.所述sram_control模块,用于接收外部数据以及地址信息,同时接收各种读写事件请求信号并产生相应的读写使能信号与异步脉冲触发信号;
6.所述sram_top模块,用于将所述数据、地址、读写使能信号与异步脉冲触发信号传输给多片sram以触发sram的读写操作。
7.由于本发明中的存储单元是基于事件驱动型无时钟电路设计的,所以不能像同步电路那样直接将时钟信号连接到sram的ck端用于触发sram进行读写操作,故需要sram_control模块接收外部的读写事件请求信号,并产生相应的异步脉冲触发信号输入到sram_top模块用于触发sram的读写操作。
8.优选地,所述sram_top模块用于将外部输入的数据、地址、使能信号分别传输到
sram对应的数据线、地址线以及使能信号线,且所述sram_top模块将异步脉冲触发信号连接到sram的ck端。其中,由于sram在实际应用中会根据需求对应多根数据线、地址线以及使能信号线(例如要存储32bit的数据则会对应32根数据线),所以sram_top要将外部输入的数据、地址、使能信号分别传输到sram对应的数据线、地址线以及使能信号线,以保证sram读写数据的正确性;此外,现有技术中同时在同步时钟电路设计中会直接将时钟信号连接到sram的ck端用于sram的读写触发信号,而在本发明中是通过sram_top模块将异步脉冲触发信号连接到sram的ck端。
9.优选地,所述sram_control模块包括读控制通路与写控制通路;其中,
10.所述读控制通路接收外部读事件请求信号,并触发第一级异步控制器clickr0接收读地址,第二级异步控制器clickr1用于产生读使能,第三级异步控制器clickr2用于产生读操作的异步脉冲触发信号,最终由所述sram_control模块将上述读地址信息、读使能信号以及异步脉冲触发信号输入到sram_top模块;
11.所述写控制通路接收外部写事件请求信号,并触发第一级异步控制器clickw0接收写地址以及数据,第二级异步控制器clickw1用于产生写使能,第三级异步控制器clickw2用于产生写操作的异步脉冲触发信号,最终由sram_control模块将上述数据、写地址、写使能信号以及异步脉冲触发信号输入到sram_top模块完成后续sram写操作。
12.本发明进一步公开了一种基于事件驱动型电路设计的异步存储方法,该方法包括以下步骤:
13.s1、接收外部数据以及地址信息,同时接收各种读写事件请求信号并产生相应的读写使能信号与异步脉冲触发信号;
14.s2、将所述外部数据、地址信息、读写使能信号与异步脉冲触发信号传输给多片sram以触发sram的读写操作。
15.优选地,在步骤s1中,所述接收包括读控制通路接收、写控制通路接收;其中,
16.所述读控制通路接收外部读事件请求信号,并触发第一级异步控制器clickr0接收读地址,第二级异步控制器clickr1用于产生读使能,第三级异步控制器clickr2用于产生读操作的异步脉冲触发信号,最终由所述sram_control模块将上述读地址信息、读使能信号以及异步脉冲触发信号输入到步骤s2中;
17.所述写控制通路接收外部写事件请求信号,并触发第一级异步控制器clickw0接收写地址以及数据,第二级异步控制器clickw1用于产生写使能,第三级异步控制器clickw2用于产生写操作的异步脉冲触发信号,最终由sram_control模块将上述数据、写地址、写使能信号以及异步脉冲触发信号输入到步骤s2中完成后续sram写操作。
18.优选地,所述多片sram为存储数据的主体,各片sram均通过一个脉冲信号进行触发,并且根据数据端、地址端、读写使能端的各类信号线完成相应读写操作;其中,在步骤s2中,将外部输入的数据、地址、使能信号分别传输到sram对应的数据线、地址线以及使能信号线,且将异步脉冲触发信号传输到sram的ck端。
19.相比于现有技术的缺点和不足,本发明具有以下有益效果:
20.(1)本发明在单片sram外围设计sram_top模块与sram_control模块,它们通过接收外部读写事件握手信号,进而产生异步脉冲信号完成对sram数据的读写访问。此方法通过使用事件驱动型电路控制sram读写,既保证了异步稀疏矩阵加速器实现机制上的统一
性,避免使用同异步接口进行数据访存,同时又避免了同步时钟电路设计的弊端,在不需要进行读写时保持停止状态,降低了整个系统的动态功耗,达到了低功耗的目标;
21.(2)本发明构建的多片sram异步存储访问机制确保稀疏矩阵乘法器内部所有模块均可以通过握手信号完成与存储单元的交互,提高了数据访存的并行度,避免了对sram多次例化导致的硬件资源浪费,达到了提高系统整体性能的目标。
附图说明
22.图1是本发明sram_top模块结构示意图;
23.图2是本发明sram_control模块结构示意图。
具体实施方式
24.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
25.对整个异步稀疏矩阵乘法器来说,需要存储的稀疏矩阵数据可以分为以下几类:(1)左矩阵数据;(2)右矩阵数据;(3)中间矩阵与结果矩阵数据。
26.本存储单元选择的存储资源均由sram构成,其中放置了6片32kb大小的sram作为左、右矩阵输入数据部分。4片32kb与1片8kb共5片sram组成第三块存储区,用来完成中间矩阵及最终结果矩阵的数据存储。sram的存储大小均基于矩阵大小以及异步稀疏矩阵乘法器面积进行设计。由于异步稀疏矩阵乘法器中多个模块均需要对sram进行访存,所以需要对所有的sram进行整合,使其例化为一个存储单元与其他模块进行交互。sram需要通过一个脉冲信号进行触发从而完成相应的读写操作,而与sram进行数据访存交互的异步稀疏矩阵乘法器中的模块完全由事件驱动型无时钟电路进行设计,所以必须要解决两者间时序匹配的问题。
27.基于此,本发明公开了一种基于事件驱动型电路设计的异步存储单元,异步稀疏矩阵乘法器中的其他模块直接可以通过握手信号与存储单元交互完成数据的读写操作,保证了异步稀疏矩阵乘法器内部设计机制的统一,解决了sram和异步稀疏矩阵乘法器之间的不适配性,具体的,本发明异步存储单元包括多片sram、作为多片sram外围模块的sram_top模块(图1)、以及作为sram_top模块的外围模块的sram_control模块(图2);其中,
28.多片sram,用于存储数据主体的多片sram,各片sram均通过一个脉冲信号进行触发,并且根据数据端、地址端、读写使能端的各类信号线完成相应读写操作;
29.所述sram_control模块,用于接收外部数据以及地址信息,同时接收各种读写事件请求信号并产生相应的读写使能信号与异步脉冲触发信号;
30.所述sram_top模块,用于将所述数据、地址、读写使能信号与异步脉冲触发信号传输给多片sram以触发sram的读写操作。
31.在本发明实施例中,存储单元中具体由一个sram_control模块、一个sram_top模块以及单片sram共同组成一个独立的存储主体,最终该存储单元由11个上述存储主体组成,最终达到多片sram并行存储访问的目标。
32.在本发明实施例中,sram读取数据的机制是检测到脉冲信号上升沿时将读地址输
入,经过一定的时间周期后将对应的数据读取出来。sram写数据的机制同样也是在检测到脉冲信号上升沿时将写地址与相应数据写入到sram。由于sram在实际应用中会根据需求对应多根数据线、地址线以及使能信号线(例如要存储32bit的数据则会对应32根数据线)。所以,本发明sram_top模块将外部输入的数据、地址、使能信号分别传输到sram对应的数据线、地址线以及使能信号线,以保证sram读写数据的正确性;同时,在现有同步时钟电路设计中会直接将时钟信号连接到sram的ck端用于sram的读写触发信号,而在本发明中是通过sram_top模块将异步脉冲触发信号连接到sram的ck端(图1)。
33.此外,由于本发明中的存储单元是基于事件驱动型无时钟电路设计的,所以不能像同步电路那样直接将时钟信号连接到sram的ck端用于触发sram进行读写操作。故需要sram_control模块接收外部的读写事件请求信号,并产生相应的异步脉冲触发信号输入到sram_top模块用于触发sram的读写操作。sram_control模块的内部结构如图2所示,sram_control模块主要分为读控制通路与写控制通路;其中,读控制通路接收外部读事件请求信号,并触发第一级异步控制器clickr0接收读地址,而第二级异步控制器clickr1用于产生读使能。最终第三级异步控制器clickr2用于产生读操作的异步脉冲触发信号。最终sram_control模块将上述读地址信息、读使能信号以及异步脉冲触发信号输入到sram_top模块。同样的写控制通路接收外部写事件请求信号,并触发第一级异步控制器clickw0接收写地址以及数据,而第二级异步控制器clickw1用于产生写使能。最终第三级异步控制器clickw2用于产生写操作的异步脉冲触发信号。最终sram_control模块将上述数据、写地址、写使能信号以及异步脉冲触发信号输入到sram_top模块完成后续sram写操作。
34.sram_control模块最终达到了通过读写握手信号使sram与异步稀疏矩阵乘法器中的模块完成数据交互访存的目的。同时该模块也确保整个存储单元同样采用事件驱动型电路结构进行设计,只有在读、写事件到来时才能产生异步脉冲信号驱动sram完成相应操作,该方法同时具有低功耗的优势,因为只有需要进行数据访存时才会驱动存储模块完成相应操作,其他时间存储模块不会进行工作,降低了系统的动态功耗。
35.由于最终共使用了11片sram,故存储单元最终集成了11个sram_control模块以及11个sram_top模块;其中,一个sram_control模块、一个sram_top模块与一片sram共同组成一个存储主体完成数据的读写操作,最终该存储单元由11个上述存储主体组成,此机制也保证了乘法器内部可以完成多片sram并行读写数据的操作,提高了系统性能。
36.值得注意的是稀疏矩阵乘法器内部其他模块均需要对sram进行访存,所以每个sram_control模块的读写通道实际上需要接收来自多个模块的握手信号,但这些信号之间不会冲突。这是因为存储单元中各个sram_control模块的读写通道只有在上一个握手信号完成相应操作后才会响应下一个握手信号。这种多片sram异步存储访问机制确保异步稀疏矩阵乘法器内部所有模块均可以通过握手信号完成与存储单元的交互,避免了对sram多次例化导致的硬件资源浪费。
37.本发明进一步公开了一种基于事件驱动型电路设计的异步存储方法,该方法包括以下步骤:
38.s1、接收外部数据以及地址信息,同时接收各种读写事件请求信号并产生相应的读写使能信号与异步脉冲触发信号;
39.s2、将所述外部数据、地址信息、读写使能信号与异步脉冲触发信号传输给多片
sram以触发sram的读写操作。
40.sram读取数据的机制是检测到脉冲信号上升沿时将读地址输入,经过一定的时间周期后将对应的数据读取出来。sram写数据的机制同样也是在检测到脉冲信号上升沿时将写地址与相应数据写入到sram。由于sram在实际应用中会根据需求对应多根数据线、地址线以及使能信号线(例如要存储32bit的数据则会对应32根数据线)。所以,本发明将外部输入的数据、地址、使能信号分别传输到sram对应的数据线、地址线以及使能信号线,以保证sram读写数据的正确性;同时,在现有同步时钟电路设计中会直接将时钟信号连接到sram的ck端用于sram的读写触发信号,而在本发明中是将异步脉冲触发信号传输到sram的ck端。
41.此外,由于本发明中的存储单元是基于事件驱动型无时钟电路设计的,所以不能像同步电路那样直接将时钟信号连接到sram的ck端用于触发sram进行读写操作。故需要接收外部的读写事件请求信号,并产生相应的异步脉冲触发信号输入到步骤s2用于触发sram的读写操作。步骤s1主要分为读控制通路与写控制通路;其中,读控制通路接收外部读事件请求信号,并触发第一级异步控制器clickr0接收读地址,而第二级异步控制器clickr1用于产生读使能。最终第三级异步控制器clickr2用于产生读操作的异步脉冲触发信号。最终步骤s1将上述读地址信息、读使能信号以及异步脉冲触发信号输入到步骤s2。同样的写控制通路接收外部写事件请求信号,并触发第一级异步控制器clickw0接收写地址以及数据,而第二级异步控制器clickw1用于产生写使能。最终第三级异步控制器clickw2用于产生写操作的异步脉冲触发信号。最终步骤s1将上述数据、写地址、写使能信号以及异步脉冲触发信号输入到步骤s2完成后续sram写操作。
42.步骤s2最终达到了通过读写握手信号使sram与异步稀疏矩阵乘法器中的模块完成数据交互访存的目的。同时该步骤也确保整个存储单元同样采用事件驱动型电路结构进行设计,只有在读、写事件到来时才能产生异步脉冲信号驱动sram完成相应操作,该方法同时具有低功耗的优势,因为只有需要进行数据访存时才会驱动存储模块完成相应操作,其他时间存储模块不会进行工作,降低了系统的动态功耗。
43.由于最终共使用了11片sram,故存储方法中,步骤s1、步骤s2分别对应于一片sram共同组成一个存储操作主体完成数据的读写操作,最终该存储方法由11个上述存储操作主体组成,此机制也保证了乘法器内部可以完成多片sram并行读写数据的操作,提高了系统性能。
44.值得注意的是稀疏矩阵乘法器内部其他模块均需要对sram进行访存,所以每个步骤s1的读写通道实际上需要接收来自多个模块的握手信号,但这些信号之间不会冲突。这是因为存储单元中各个步骤s1的读写通道只有在上一个握手信号完成相应操作后才会响应下一个握手信号。这种多片sram异步存储访问机制确保异步稀疏矩阵乘法器内部所有模块均可以通过握手信号完成与存储操作主体的交互,避免了对sram多次例化导致的硬件资源浪费。
45.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种基于事件驱动型电路设计的异步存储单元,该存储单元包括用于存储数据主体的多片sram,各片sram均通过一个脉冲信号进行触发,并且根据数据端、地址端、读写使能端的各类信号线完成相应读写操作,其特征在于,该存储单元还包括作为多片sram外围模块的sram_top模块以及作为sram_top模块的外围模块的sram_control模块;其中,所述sram_control模块,用于接收外部数据以及地址信息,同时接收各种读写事件请求信号并产生相应的读写使能信号与异步脉冲触发信号;所述sram_top模块,用于将所述数据、地址、读写使能信号与异步脉冲触发信号传输给多片sram以触发sram的读写操作。2.如权利要求1所述的异步存储单元,其特征在于,所述sram_top模块用于将外部输入的数据、地址、使能信号分别传输到sram对应的数据线、地址线以及使能信号线,且所述sram_top模块将异步脉冲触发信号连接到sram的ck端。3.如权利要求1所述的异步存储单元,其特征在于,所述sram_control模块包括读控制通路与写控制通路;其中,所述读控制通路接收外部读事件请求信号,并触发第一级异步控制器clickr0接收读地址,第二级异步控制器clickr1用于产生读使能,第三级异步控制器clickr2用于产生读操作的异步脉冲触发信号,最终由所述sram_control模块将上述读地址信息、读使能信号以及异步脉冲触发信号输入到sram_top模块;所述写控制通路接收外部写事件请求信号,并触发第一级异步控制器clickw0接收写地址以及数据,第二级异步控制器clickw1用于产生写使能,第三级异步控制器clickw2用于产生写操作的异步脉冲触发信号,最终由sram_control模块将上述数据、写地址、写使能信号以及异步脉冲触发信号输入到sram_top模块完成后续sram写操作。4.一种基于事件驱动型电路设计的异步存储方法,其特征在于,该方法包括以下步骤:s1、接收外部数据以及地址信息,同时接收各种读写事件请求信号并产生相应的读写使能信号与异步脉冲触发信号;s2、将所述外部数据、地址信息、读写使能信号与异步脉冲触发信号传输给多片sram以触发sram的读写操作。5.如权利要求4所述的异步存储方法,其特征在于,在步骤s1中,所述接收包括读控制通路接收、写控制通路接收;其中,所述读控制通路接收外部读事件请求信号,并触发第一级异步控制器clickr0接收读地址,第二级异步控制器clickr1用于产生读使能,第三级异步控制器clickr2用于产生读操作的异步脉冲触发信号,最终由所述sram_control模块将上述读地址信息、读使能信号以及异步脉冲触发信号输入到步骤s2中;所述写控制通路接收外部写事件请求信号,并触发第一级异步控制器clickw0接收写地址以及数据,第二级异步控制器clickw1用于产生写使能,第三级异步控制器clickw2用于产生写操作的异步脉冲触发信号,最终由sram_control模块将上述数据、写地址、写使能信号以及异步脉冲触发信号输入到步骤s2中完成后续sram写操作。6.如权利要求4所述的异步存储方法,其特征在于,所述多片sram为存储数据的主体,各片sram均通过一个脉冲信号进行触发,并且根据数据端、地址端、读写使能端的各类信号线完成相应读写操作;其中,在步骤s2中,将外部输入的数据、地址、使能信号分别传输到
sram对应的数据线、地址线以及使能信号线,且将异步脉冲触发信号传输到sram的ck端。

技术总结


本发明公开了一种基于事件驱动型电路设计的异步存储单元及方法。本发明存储单元包括多片SRAM、SRAM_Top模块以及SRAM_Control模块;其中,SRAM_Control模块,用于接收外部数据以及地址信息,同时接收各种读写事件请求信号并产生相应的读写使能信号与异步脉冲触发信号;SRAM_Top模块,用于将数据、地址、读写使能信号与异步脉冲触发信号传输给多片SRAM以触发SRAM的读写操作。本发明存储方法与上述存储单元对应。本发明保证了异步稀疏矩阵加速器实现机制上的统一性,避免使用同异步接口进行数据访存,同时又避免了同步时钟电路设计的弊端,降低了整个系统的动态功耗,并且提高了数据访存的并行度,避免了对SRAM多次例化导致的硬件资源浪费,达到了提高系统整体性能的目标。标。标。


技术研发人员:

何安平 刁文麒 孙若云 张鸿锐

受保护的技术使用者:

兰州大学

技术研发日:

2022.10.13

技术公布日:

2023/2/3

本文发布于:2024-09-22 08:21:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/58903.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信号   模块   脉冲   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议