CN114840886A - 一种基于数据流架构的可安全读写存储装置、方法及设备 - Google Patents
一种基于数据流架构的可安全读写存储装置、方法及设备 Download PDFInfo
- Publication number
- CN114840886A CN114840886A CN202210423863.4A CN202210423863A CN114840886A CN 114840886 A CN114840886 A CN 114840886A CN 202210423863 A CN202210423863 A CN 202210423863A CN 114840886 A CN114840886 A CN 114840886A
- Authority
- CN
- China
- Prior art keywords
- module
- read address
- read
- address
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000004364 calculation method Methods 0.000 claims abstract description 70
- 238000004590 computer program Methods 0.000 claims description 4
- 239000002609 medium Substances 0.000 description 17
- 238000012545 processing Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种基于数据流架构的可安全读写存储装置、方法及设备。该装置包括:读地址产生模块、写地址产生模块、读地址保存模块、读写地址比较模块、标志信号生成模块、读地址缓存模块以及存储模块。本发明实施例所提供的技术方案,通过使用读地址缓存模块缓存读地址产生模块产生的读地址,并通过读写地址比较模块比较当前产生的最大读地址和写地址产生模块当前产生的写地址得到比较结果来控制从读地址缓存模块中依次取出读地址并从存储模块中读取目标数据进行外部计算,实现了动态保证读写数据过程的数据安全,同时实现了数据输入和计算过程并行进行,从而实现了AI芯片的数据流操作,提升了AI芯片的性能和效率。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种基于数据流架构的可安全读写存储装置、方法及设备。
背景技术
随着深度学习的快速发展,神经网络算法已经大量应用于机器视觉应用,例如图像识别与图像分类等。针对神经网络算法复杂、计算量大以及推理运行时间过长等问题,AI芯片进行了定制化的设计来对神经网络算法的运行进行加速。根据神经网络算法的计算模式,AI芯片设计中通常采用大量的片上存储单元(RAM)来缓存神经网络算法运行过程中的各种数据,AI芯片计算过程中会频繁的读写这些存储单元,将数据取出来进行大量并行计算,或者将计算结果缓存回存储单元中用于下一次计算。结合AI芯片的计算架构,AI芯片通常要求数据以特定的排列方式存储在存储单元中,同时根据算法的不同要求,AI芯片读写存储单元时的数据访问模式也是灵活多变的。在数据流架构的AI芯片设计中,将数据以流水的方式快速连续的从存储单元中取出或存入的同时,需要保证数据的读写是安全的,即不会发生数据没有写入RAM中就读取出来或者数据没有读取就将新的数据写入到RAM中进行覆盖的情况。
传统的AI芯片采用一个总的控制模块进行控制,控制模块对存储单元的数据读写过程进行集中控制,将其数据读写分成写处理和读处理两个过程,该两个过程分别进行。在一次运行过程中,控制模块首先控制写处理过程从DDR中读取数据并写入到RAM中,当写处理过程将运行需要的所有数据全部写入到RAM中后,写处理过程结束,然后控制模块启动读处理过程,将数据从RAM中读出,并输出给AI芯片的计算模块,当读处理过程将所有数据读取完毕后,读处理过程结束。
传统的存储单元读写过程分开独立,为了保证数据读写安全,两者只能串行进行,在所有数据都写入之后才能开始进行读过程,因此AI芯片运行过程的数据传输部分和计算部分不能同时进行,限制了AI芯片的处理速度。
发明内容
本发明实施例提供一种基于数据流架构的可安全读写存储装置、方法及设备,以在保证读写过程数据安全的基础上,实现数据输入和计算过程并行进行,从而实现AI芯片的数据流操作,提升AI芯片的性能和效率。
第一方面,本发明实施例提供了一种基于数据流架构的可安全读写存储装置,该装置包括:读地址产生模块、写地址产生模块、读地址保存模块、读写地址比较模块、标志信号生成模块、读地址缓存模块以及存储模块;其中,
所述读地址产生模块用于根据外部计算需求连续产生所述存储模块的读地址;
所述读地址保存模块用于从所述读地址产生模块实时获得最新产生的当前读地址,并将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值;
所述写地址产生模块用于基于待写入的外部数据顺序产生所述存储模块的写地址;
所述读写地址比较模块用于实时获取所述读地址保存模块最新产生的当前保存读地址以及所述写地址产生模块最新产生的当前写地址,并将所述当前保存读地址与所述当前写地址进行比较;
所述标志信号生成模块用于实时根据所述读写地址比较模块最新产生的当前比较结果生成对应的标志信号并发送给所述读地址缓存模块;
所述读地址缓存模块用于缓存所述读地址产生模块所产生的读地址;
所述存储模块用于根据所述写地址产生模块产生的写地址依次写入所述外部数据,以及当所述标志信号的状态为有效时,依次从所述读地址缓存模块中取出所述读地址产生模块所产生的读地址并从所述存储模块中读取目标数据进行外部计算。
可选的,所述读地址保存模块为加法器;所述读地址保存模块还用于在将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值之前,使用固定常量对实时获得的所述当前读地址进行补偿;
相应的,所述读地址保存模块具体用于:将补偿后的所述当前读地址与补偿后的所述历史保存读地址进行比较,以保存其中的较大值。
可选的,所述读地址产生模块还用于当所述读地址缓存模块的存储空间用尽时,停止产生新的读地址。
第二方面,本发明实施例还提供了一种基于数据流架构的可安全读写存储方法,该方法包括:
通过写地址产生模块基于待写入的计算数据顺序产生存储模块的写地址,并根据所述写地址将所述计算数据依次写入所述存储模块;
通过读地址产生模块根据计算需求连续产生所述存储模块的读地址,并将所述读地址缓存到读地址缓存模块中;
通过读地址保存模块从所述读地址产生模块实时获得最新产生的当前读地址,并将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值;
通过读写地址比较模块实时获取所述读地址保存模块最新产生的当前保存读地址以及所述写地址产生模块最新产生的当前写地址,并将所述当前保存读地址与所述当前写地址进行比较;
通过标志信号生成模块实时根据所述读写地址比较模块最新产生的当前比较结果生成对应的标志信号并发送给所述读地址缓存模块;
当所述标志信号的状态为有效时,依次从所述读地址缓存模块中取出目标读地址,并根据所述目标读地址从所述存储模块中读取目标数据进行计算。
可选的,在所述将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值之前,还包括:
使用固定常量对实时获得的所述当前读地址进行补偿;
相应的,所述将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值,包括:
将补偿后的所述当前读地址与补偿后的所述历史保存读地址进行比较,以保存其中的较大值。
可选的,该方法还包括:
若所述读地址缓存模块的存储空间用尽,则控制所述读地址产生模块停止产生新的读地址。
可选的,所述根据所述写地址将所述计算数据依次写入所述存储模块,包括:
通过直接内存访问单元从内存中搬运所述计算数据,并依次写入所述存储模块。
可选的,在所述通过写地址产生模块基于待写入的计算数据顺序产生存储模块的写地址,并根据所述写地址将所述计算数据依次写入所述存储模块之前,还包括:
通过驱动程序启动数据输入过程,以准备接收所述计算数据进行写入;
在所述通过读地址产生模块根据计算需求连续产生所述存储模块的读地址之前,还包括:
通过所述驱动程度启动计算过程,以准备从所述存储模块中读取数据进行计算。
第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的基于数据流架构的可安全读写存储方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的基于数据流架构的可安全读写存储方法。
本发明实施例提供了一种基于数据流架构的可安全读写存储装置,包括读地址产生模块、写地址产生模块、读地址保存模块、读写地址比较模块、标志信号生成模块、读地址缓存模块和存储模块,通过使用读地址缓存模块缓存读地址产生模块产生的读地址,并通过读写地址比较模块比较当前产生的最大读地址和写地址产生模块当前产生的写地址得到比较结果来控制从读地址缓存模块中依次取出读地址并从存储模块中读取目标数据进行外部计算,实现了动态保证读写数据过程的数据安全,同时实现了数据输入和计算过程并行进行,从而实现了AI芯片的数据流操作,提升了AI芯片的性能和效率。
附图说明
图1为本发明实施例一提供的基于数据流架构的可安全读写存储装置的结构示意图;
图2为本发明实施例二提供的基于数据流架构的可安全读写存储方法的流程图;
图3为本发明实施例三提供的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的基于数据流架构的可安全读写存储装置的结构示意图,本实施例可适用于AI芯片计算过程对存储模块进行频繁读写的情况。如图1所示,该装置包括:读地址产生模块11、写地址产生模块12、读地址保存模块13、读写地址比较模块14、标志信号生成模块15、读地址缓存模块16以及存储模块17;其中,所述读地址产生模块11用于根据外部计算需求连续产生所述存储模块17的读地址;所述读地址保存模块13用于从所述读地址产生模块11实时获得最新产生的当前读地址,并将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值;所述写地址产生模块12用于基于待写入的外部数据顺序产生所述存储模块17的写地址;所述读写地址比较模块14用于实时获取所述读地址保存模块13最新产生的当前保存读地址以及所述写地址产生模块12最新产生的当前写地址,并将所述当前保存读地址与所述当前写地址进行比较;所述标志信号生成模块15用于实时根据所述读写地址比较模块14最新产生的当前比较结果生成对应的标志信号并发送给所述读地址缓存模块16;所述读地址缓存模块16用于缓存所述读地址产生模块11所产生的读地址;所述存储模块17用于根据所述写地址产生模块12产生的写地址依次写入所述外部数据,以及当所述标志信号的状态为有效时,依次从所述读地址缓存模块16中取出所述读地址产生模块11所产生的读地址并从所述存储模块17中读取目标数据进行外部计算。
具体的,本实施例针对基于数据流架构的AI芯片等需要同时进行读写数据的工作模式,对存储模块17(具体可以是RAM)进行了读写保护方面的设计,得到一种可安全读写的存储装置,当存储模块17在同时进行读写操作时,会将读写地址进行比较,来检测读数据是否已经存入存储模块17中,从而保证读写过程安全。如图1所示,由于AI芯片的运算过程是基于数据流的,因此运算所需的读过程的存储模块17读地址可以由读地址产生模块11根据外部(即相对于存储装置)计算需求连续的产生,对读地址的产生没有顺序的要求,可以进行任意地址的跳转,这与神经网络处理过程中对数据的访问模式相适应,例如在卷积操作过程中,会对输入数据进行大量复用,存在频繁的读地址跳转过程。然后先使用读地址缓存模块16对读地址产生模块11产生的读地址进行缓存,一方面可以在AI芯片的计算模块准备好时从读地址缓存模块16中将读地址取出,再使用读地址从存储模块17中读取数据进行输出,以用于计算模块的计算。
另一方面,在读操作过程中,为了保证在从存储模块17中读取数据之前,相应数据已经先一步写入到存储模块17中,需要先将写操作的地址和读操作的地址进行比较。其中,可以通过写地址产生模块12基于待写入的外部数据顺序产生存储模块17的写地址,具体可以通过AI芯片的直接内存访问单元(DMA)从内存(DDR)中搬运数据到存储装置,并可以在每获得一个数据时由写地址产生模块12顺序的产生一个写地址,从而将该数据写入到存储模块17中,即写地址不会发生从后向前跳转的情况,同时写过程也不会受到读操作的影响。用于比较的读地址可以是目前获得的读地址最大值,则当该最大值也小于最新产生的当前写地址时,说明当前读地址缓存模块16所缓存的读地址已都被写入数据,从而保证读数据的安全,具体可以通过读地址保存模块13从读地址产生模块11实时获得最新产生的当前读地址,并在每次获取到新的当前读地址之后,均将该当前读地址与历史保存读地址进行比较,再将较大的一方作为新的值进行保存,其中,历史保存读地址的初始值可以设置为小于任意读地址的值,以便进行第一次比较。比较过程可以通过读写地址比较模块14来实现,具体可以由读写地址比较模块14实时获取读地址保存模块13最新产生的当前保存读地址,并在每次获取到新的当前保存读地址之后,获取此时写地址产生模块12最新产生的当前写地址,从而可以将当前保存读地址与当前写地址进行比较,并可以生成比较结果信号发送给标志信号生成模块15。随后标志信号生成模块15可以实时根据读写地址比较模块14最新产生的当前比较结果生成对应的标志信号并发送给读地址缓存模块16,其中,若当前比较结果为当前保存读地址小于当前写地址,则生成的标志信号的状态为有效,即表明待读取的数据已经准备好,若当前比较结果为当前保存读地址大于等于当前写地址,则生成的标志信号的状态为无效,即表明待读取的数据可能尚未准备好。最后,若读地址缓存模块16接收到的标志信号的状态为有效,则允许从读地址缓存模块16中取出读地址,从而从存储模块17中读取数据,若读地址缓存模块16接收到的标志信号的状态为无效,则不允许从读地址缓存模块16中取出读地址,标志信号可以根据产生的每个读地址实时生成,以实时根据存储模块17的存储情况发生变化,从而实时反映数据在存储模块17中的存储状态。其中,读地址缓存模块16具体可以采用FIFO,从而在标志信号为有效时,可以按照缓存的顺序从读地址缓存模块16中依次取出读地址用于读取数据及计算。
在上述技术方案的基础上,可选的,所述读地址保存模块13为加法器;所述读地址保存模块13还用于在将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值之前,使用固定常量对实时获得的所述当前读地址进行补偿;相应的,所述读地址保存模块13具体用于:将补偿后的所述当前读地址与补偿后的所述历史保存读地址进行比较,以保存其中的较大值。
具体的,可以将使用固定常量补偿后的读地址作为与写地址比较的参考,即读地址保存模块13可以保存补偿后的较大值,当write addr>read addr+T时,其中,write addr表示写地址,read addr表示读地址,T表示固定常量,认为读地址安全并可以进行读操作。但由于读写过程分开独立,二者从一个读地址有效到数据读出的过程中所包含的处理及延迟可能不同,因此直接比对读写地址在经过读操作过程中的一些延迟后可能会错误的认为之后紧跟的读地址也是安全的,经过补偿后,在读写地址的比较上设置有裕量,可以保证当前读地址的相邻地址也是安全的。
在上述技术方案的基础上,可选的,所述读地址产生模块11还用于当所述读地址缓存模块16的存储空间用尽时,停止产生新的读地址。具体的,由于读地址缓存模块16的存储空间是有限的,则当读地址缓存模块16的存储空间用尽时,可以控制读地址产生模块11不再产生新的读地址,并可等待数据读出后继续产生新的读地址。
本发明实施例所提供的基于数据流架构的可安全读写存储装置,包括读地址产生模块、写地址产生模块、读地址保存模块、读写地址比较模块、标志信号生成模块、读地址缓存模块和存储模块,通过使用读地址缓存模块缓存读地址产生模块产生的读地址,并通过读写地址比较模块比较当前产生的最大读地址和写地址产生模块当前产生的写地址得到比较结果来控制从读地址缓存模块中依次取出读地址并从存储模块中读取目标数据进行外部计算,实现了动态保证读写数据过程的数据安全,同时实现了数据输入和计算过程并行进行,从而实现了AI芯片的数据流操作,提升了AI芯片的性能和效率。
实施例二
图2为本发明实施例二提供的基于数据流架构的可安全读写存储方法的流程图。本实施例可适用于AI芯片计算过程对存储模块进行频繁读写的情况,该方法可以应用于本发明任意实施例所提供的基于数据流架构的可安全读写存储装置,具备该装置相应的方法流程和有益效果。如图2所示,具体包括如下步骤:
S21、通过写地址产生模块基于待写入的计算数据顺序产生存储模块的写地址,并根据所述写地址将所述计算数据依次写入所述存储模块。
S22、通过读地址产生模块根据计算需求连续产生所述存储模块的读地址,并将所述读地址缓存到读地址缓存模块中。
S23、通过读地址保存模块从所述读地址产生模块实时获得最新产生的当前读地址,并将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值。
S24、通过读写地址比较模块实时获取所述读地址保存模块最新产生的当前保存读地址以及所述写地址产生模块最新产生的当前写地址,并将所述当前保存读地址与所述当前写地址进行比较。
S25、通过标志信号生成模块实时根据所述读写地址比较模块最新产生的当前比较结果生成对应的标志信号并发送给所述读地址缓存模块。
S26、当所述标志信号的状态为有效时,依次从所述读地址缓存模块中取出目标读地址,并根据所述目标读地址从所述存储模块中读取目标数据进行计算。
在上述技术方案的基础上,可选的,在所述将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值之前,还包括:使用固定常量对实时获得的所述当前读地址进行补偿;相应的,所述将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值,包括:将补偿后的所述当前读地址与补偿后的所述历史保存读地址进行比较,以保存其中的较大值。
在上述技术方案的基础上,可选的,所述方法还包括:若所述读地址缓存模块的存储空间用尽,则控制所述读地址产生模块停止产生新的读地址。
在上述技术方案的基础上,可选的,所述根据所述写地址将所述计算数据依次写入所述存储模块,包括:通过直接内存访问单元从内存中搬运所述计算数据,并依次写入所述存储模块。
具体的,相关内容可以参考上述实施例的说明,在此将不再冗述,其中的计算数据相当于上述外部数据。另外,步骤S21、S22、S24和S26可以同时进行,在数据从外部输入并写入后,当其需要用来计算时可以立即取出并进行计算,AI芯片的计算不需要等待所有输入数据都完成之后再进行,从而提高AI芯片的性能,实现数据流的操作。
在上述技术方案的基础上,可选的,在所述通过写地址产生模块基于待写入的计算数据顺序产生存储模块的写地址,并根据所述写地址将所述计算数据依次写入所述存储模块之前,还包括:通过驱动程序启动数据输入过程,以准备接收所述计算数据进行写入;在所述通过读地址产生模块根据计算需求连续产生所述存储模块的读地址之前,还包括:通过所述驱动程度启动计算过程,以准备从所述存储模块中读取数据进行计算。
具体的,在进行读写操作之前,可以首先通过外部驱动程序启动AI芯片的数据输入过程,则上述存储装置的写操作部分开始工作,准备接收计算数据输入并写入到存储模块中,还可以首先通过外部驱动程序启动AI芯片的计算过程,则上述存储装置的读操作部分开始工作,准备从存储模块中读取数据进行计算。
本发明实施例所提供的技术方案,通过使用读地址缓存模块缓存读地址产生模块产生的读地址,并通过读写地址比较模块比较当前产生的最大读地址和写地址产生模块当前产生的写地址得到比较结果来控制从读地址缓存模块中依次取出读地址并从存储模块中读取目标数据进行外部计算,实现了动态保证读写数据过程的数据安全,同时实现了数据输入和计算过程并行进行,从而实现了AI芯片的数据流操作,提升了AI芯片的性能和效率。
实施例三
图3为本发明实施例三提供的计算机设备的结构示意图,示出了适于用来实现本发明实施方式的示例性计算机设备的框图。图3显示的计算机设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图3所示,该计算机设备包括处理器31、存储器32、输入装置33及输出装置34;计算机设备中处理器31的数量可以是一个或多个,图3中以一个处理器31为例,计算机设备中的处理器31、存储器32、输入装置33及输出装置34可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于数据流架构的可安全读写存储方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的基于数据流架构的可安全读写存储方法。
存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器32可进一步包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置33可用于获取待写入的计算数据,以及产生与计算机设备的用户设置和功能控制有关的键信号输入等。输出装置34可用于向后续模块传输计算结果等等。
实施例四
本发明实施例四还提供一种包含计算机可执行指令的存储介质,该计算机可执行指令在由计算机处理器执行时用于执行一种基于数据流架构的可安全读写存储方法,该方法包括:
通过写地址产生模块基于待写入的计算数据顺序产生存储模块的写地址,并根据所述写地址将所述计算数据依次写入所述存储模块;
通过读地址产生模块根据计算需求连续产生所述存储模块的读地址,并将所述读地址缓存到读地址缓存模块中;
通过读地址保存模块从所述读地址产生模块实时获得最新产生的当前读地址,并将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值;
通过读写地址比较模块实时获取所述读地址保存模块最新产生的当前保存读地址以及所述写地址产生模块最新产生的当前写地址,并将所述当前保存读地址与所述当前写地址进行比较;
通过标志信号生成模块实时根据所述读写地址比较模块最新产生的当前比较结果生成对应的标志信号并发送给所述读地址缓存模块;
当所述标志信号的状态为有效时,依次从所述读地址缓存模块中取出目标读地址,并根据所述目标读地址从所述存储模块中读取目标数据进行计算。
存储介质可以是任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM、兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于数据流架构的可安全读写存储方法中的相关操作。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种基于数据流架构的可安全读写存储装置,其特征在于,包括:读地址产生模块、写地址产生模块、读地址保存模块、读写地址比较模块、标志信号生成模块、读地址缓存模块以及存储模块;其中,
所述读地址产生模块用于根据外部计算需求连续产生所述存储模块的读地址;
所述读地址保存模块用于从所述读地址产生模块实时获得最新产生的当前读地址,并将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值;
所述写地址产生模块用于基于待写入的外部数据顺序产生所述存储模块的写地址;
所述读写地址比较模块用于实时获取所述读地址保存模块最新产生的当前保存读地址以及所述写地址产生模块最新产生的当前写地址,并将所述当前保存读地址与所述当前写地址进行比较;
所述标志信号生成模块用于实时根据所述读写地址比较模块最新产生的当前比较结果生成对应的标志信号并发送给所述读地址缓存模块;
所述读地址缓存模块用于缓存所述读地址产生模块所产生的读地址;
所述存储模块用于根据所述写地址产生模块产生的写地址依次写入所述外部数据,以及当所述标志信号的状态为有效时,依次从所述读地址缓存模块中取出所述读地址产生模块所产生的读地址并从所述存储模块中读取目标数据进行外部计算。
2.根据权利要求1所述的基于数据流架构的可安全读写存储装置,其特征在于,所述读地址保存模块为加法器;所述读地址保存模块还用于在将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值之前,使用固定常量对实时获得的所述当前读地址进行补偿;
相应的,所述读地址保存模块具体用于:将补偿后的所述当前读地址与补偿后的所述历史保存读地址进行比较,以保存其中的较大值。
3.根据权利要求1所述的基于数据流架构的可安全读写存储装置,其特征在于,所述读地址产生模块还用于当所述读地址缓存模块的存储空间用尽时,停止产生新的读地址。
4.一种基于数据流架构的可安全读写存储方法,其特征在于,包括:
通过写地址产生模块基于待写入的计算数据顺序产生存储模块的写地址,并根据所述写地址将所述计算数据依次写入所述存储模块;
通过读地址产生模块根据计算需求连续产生所述存储模块的读地址,并将所述读地址缓存到读地址缓存模块中;
通过读地址保存模块从所述读地址产生模块实时获得最新产生的当前读地址,并将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值;
通过读写地址比较模块实时获取所述读地址保存模块最新产生的当前保存读地址以及所述写地址产生模块最新产生的当前写地址,并将所述当前保存读地址与所述当前写地址进行比较;
通过标志信号生成模块实时根据所述读写地址比较模块最新产生的当前比较结果生成对应的标志信号并发送给所述读地址缓存模块;
当所述标志信号的状态为有效时,依次从所述读地址缓存模块中取出目标读地址,并根据所述目标读地址从所述存储模块中读取目标数据进行计算。
5.根据权利要求4所述的基于数据流架构的可安全读写存储方法,其特征在于,在所述将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值之前,还包括:
使用固定常量对实时获得的所述当前读地址进行补偿;
相应的,所述将所述当前读地址与历史保存读地址进行比较,以保存其中的较大值,包括:
将补偿后的所述当前读地址与补偿后的所述历史保存读地址进行比较,以保存其中的较大值。
6.根据权利要求4所述的基于数据流架构的可安全读写存储方法,其特征在于,所述方法还包括:
若所述读地址缓存模块的存储空间用尽,则控制所述读地址产生模块停止产生新的读地址。
7.根据权利要求4所述的基于数据流架构的可安全读写存储方法,其特征在于,所述根据所述写地址将所述计算数据依次写入所述存储模块,包括:
通过直接内存访问单元从内存中搬运所述计算数据,并依次写入所述存储模块。
8.根据权利要求4所述的基于数据流架构的可安全读写存储方法,其特征在于,在所述通过写地址产生模块基于待写入的计算数据顺序产生存储模块的写地址,并根据所述写地址将所述计算数据依次写入所述存储模块之前,还包括:
通过驱动程序启动数据输入过程,以准备接收所述计算数据进行写入;
在所述通过读地址产生模块根据计算需求连续产生所述存储模块的读地址之前,还包括:
通过所述驱动程度启动计算过程,以准备从所述存储模块中读取数据进行计算。
9.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求4-8中任一所述的基于数据流架构的可安全读写存储方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求4-8中任一所述的基于数据流架构的可安全读写存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210423863.4A CN114840886B (zh) | 2022-04-21 | 2022-04-21 | 一种基于数据流架构的可安全读写存储装置、方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210423863.4A CN114840886B (zh) | 2022-04-21 | 2022-04-21 | 一种基于数据流架构的可安全读写存储装置、方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114840886A true CN114840886A (zh) | 2022-08-02 |
CN114840886B CN114840886B (zh) | 2024-03-19 |
Family
ID=82565993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210423863.4A Active CN114840886B (zh) | 2022-04-21 | 2022-04-21 | 一种基于数据流架构的可安全读写存储装置、方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840886B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115237831A (zh) * | 2022-09-22 | 2022-10-25 | 瀚博半导体(上海)有限公司 | 数据传输方法、装置、芯片、电子设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732278A (en) * | 1994-01-11 | 1998-03-24 | Advanced Risc Machines Limited | Data memory and processor bus |
CN114327639A (zh) * | 2021-12-29 | 2022-04-12 | 深圳鲲云信息科技有限公司 | 基于数据流架构的加速器、加速器的数据存取方法及设备 |
-
2022
- 2022-04-21 CN CN202210423863.4A patent/CN114840886B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732278A (en) * | 1994-01-11 | 1998-03-24 | Advanced Risc Machines Limited | Data memory and processor bus |
CN114327639A (zh) * | 2021-12-29 | 2022-04-12 | 深圳鲲云信息科技有限公司 | 基于数据流架构的加速器、加速器的数据存取方法及设备 |
Non-Patent Citations (1)
Title |
---|
吕波;张涌;黄侃;石永彪;: "基于FPGA的四口RAM设计与实现", 仪表技术与传感器, no. 01, 15 January 2017 (2017-01-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115237831A (zh) * | 2022-09-22 | 2022-10-25 | 瀚博半导体(上海)有限公司 | 数据传输方法、装置、芯片、电子设备和介质 |
CN115237831B (zh) * | 2022-09-22 | 2023-02-07 | 瀚博半导体(上海)有限公司 | 数据传输方法、装置、芯片、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114840886B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190120698A (ko) | Dnn을 사용하여 ssd의 성능을 최적화하기 위한 시스템 및 방법 | |
CN111078287B (zh) | 一种向量运算协处理方法与装置 | |
JP3439033B2 (ja) | 割り込み制御装置及びプロセッサ | |
CN112633505B (zh) | 一种基于risc-v的人工智能推理方法和系统 | |
US11972262B2 (en) | Data computing system | |
CN109753445B (zh) | 一种缓存访问方法、多级缓存系统及计算机系统 | |
CN114840886B (zh) | 一种基于数据流架构的可安全读写存储装置、方法及设备 | |
CN115098412B (zh) | 外设访问控制器、数据访问装置及对应方法、介质和芯片 | |
CN113051199A (zh) | 数据传输方法及装置 | |
US20190294442A1 (en) | Computer system and memory access technology | |
JPH0285960A (ja) | 情報処理システム | |
CN114519419A (zh) | 神经网络激活函数的实现方法、结构、计算机设备及介质 | |
US20090276575A1 (en) | Information processing apparatus and compiling method | |
CN103019657B (zh) | 支持数据预取与重用的可重构系统 | |
CN114327639A (zh) | 基于数据流架构的加速器、加速器的数据存取方法及设备 | |
US10810130B2 (en) | Cache memory device with access controller that accesses one of data memory and main memory based on retained cache hit determination result in response to next access | |
JP2626568B2 (ja) | データ転送制御装置 | |
CN114820313A (zh) | 基于数据流架构的图像缩放装置、方法、设备及存储介质 | |
CN113177877B (zh) | 一种面向slam后端优化的舒尔消除加速器 | |
KR20210108466A (ko) | 시퀀스 프로세싱 유닛이 있는 메모리 제어 시스템 | |
CN114519012A (zh) | 兼容不同数据存取模式的人工智能芯片和数据处理方法 | |
EP4357928A1 (en) | Methods and system for efficient access to solid state drive | |
CN114492752A (zh) | 神经网络的数据处理方法、装置、计算机设备及存储介质 | |
JPH01255036A (ja) | マイクロプロセッサ | |
JP2805786B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |