CN105740156A - 访问控制方法及装置、访问方法、存储方法及访问系统 - Google Patents
访问控制方法及装置、访问方法、存储方法及访问系统 Download PDFInfo
- Publication number
- CN105740156A CN105740156A CN201410743303.2A CN201410743303A CN105740156A CN 105740156 A CN105740156 A CN 105740156A CN 201410743303 A CN201410743303 A CN 201410743303A CN 105740156 A CN105740156 A CN 105740156A
- Authority
- CN
- China
- Prior art keywords
- access
- memory element
- unit
- data access
- storage device
- 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
Landscapes
- Dram (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种访问控制方法及装置、访问方法、存储方法及访问系统,其中,所述访问控制方法包括:在第一访问主体的M个访问单元中出现各自的数据访问需求时,依据所述数据访问需求设置存储设备中的存储地址,在所述存储设备中划分出N个存储单元,由第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中;依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元,由每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;其中,M、N均为正整数,且N大于或等于M。
Description
技术领域
本发明涉及数据存储技术领域,特别涉及一种访问控制方法及装置、访问方法、存储方法及访问系统。
背景技术
现有的存储器如紧密耦合存储器TCM在其应用过程中,需要被逻辑电路ASIC或中央处理器CPU等进行多次访问,如在运行指纹判别算法时,ASIC需要多次访问该存储器。
但由于访问存储器中的数据端口的带宽限制,在需要读取大数据时,通常需要多次通过访问数据端口读取该存储器中的数据,使得读取大数据的速率较慢。
发明内容
本发明的目的在于,提供一种访问控制方法及装置、访问方法、存储方法及访问系统,用以解决现有技术中由于受访问存储器的数据端口的带宽限制,在读取大数据时,需要多次访问存储器才能完成大数据的读取任务,使得读取大数据的速率较慢的技术问题。
本发明提供了一种访问控制方法,所述方法包括:
在第一访问主体的M个访问单元中出现各自的数据访问需求时,依据所述数据访问需求设置存储设备中的存储地址,在所述存储设备中划分出N个存储单元,由第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中;
依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元,由每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
上述方法,优选的,所述依据所述数据访问需求设置存储设备中的存储地址,包括:
依据所述数据访问需求,确定M个所述访问单元各自对应的数据访问空间;
依据所述数据访问空间,设置所述存储设备中的存储地址,在所述存储设备中划分出N个存储单元。
上述方法,优选的,依据所述数据访问空间,设置所述存储设备中的存储地址,在所述存储设备中划分出N个存储单元,包括:
确定预设空间值;
依据第m个所述数据访问空间,在所述存储设备中划分出n个空间大小与所述预设空间值相一致的存储单元,m为小于或等于M的正整数,n为小于或等于N的正整数。
上述方法,优选的,依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,包括:
在所述存储设备中,确定第m个所述访问单元所对应的至少一个存储单元;
建立第m个所述访问单元与其所对应的存储单元之间的数据访问通道。
本发明还提供了一种访问控制装置,所述装置包括:
地址设置单元,用于在所述第一访问主体中M个访问单元各自出现数据访问需求时,依据所述数据访问需求设置存储设备中的存储地址,在所述存储设备中划分出N个存储单元,由第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中;
通道建立单元,用于依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元,由每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
上述装置,优选的,所述地址设置单元包括:
空间确定子单元,用于依据所述数据访问需求,确定M个所述访问单元各自对应的数据访问空间;
存储划分子单元,用于依据所述数据访问空间,设置所述存储设备中的存储地址,在所述存储设备中划分出N个存储单元。
上述装置,优选的,所述存储划分子单元包括:
预设值确定模块,用于确定预设空间值;
空间划分模块,用于依据第m个所述数据访问空间,在所述存储设备中划分出n个空间大小与所述预设空间值相一致的存储单元,m为小于或等于M的正整数,n为小于或等于N的正整数。
上述装置,优选的,所述通道建立单元包括:
存储确定子单元,用于在所述存储设备中,确定第m个所述访问单元所对应的至少一个存储单元;
通道建立子单元,用于建立第m个所述访问单元与其所对应的存储单元之间的数据访问通道。
本发明还提供了一种访问方法,应用于第一访问主体,所述第一访问主体中具有M个访问单元,所述第一访问主体与如上述任意一项所述的访问控制装置相连接,所述方法包括:
所述第一访问主体生成所述M个访问单元的数据访问需求,由所述访问控制装置依据数据访问需求设置存储设备中的存储地址,在所述存储设备中划分出N个存储单元,由第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中,再由所述访问控制装置依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元;
所述第一访问主体中的每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
本发明还提供了一种存储方法,应用于第二访问主体,所述第二访问主体与存储设备相连接,所述存储设备在第一访问主体中M个访问单元具有数据访问需求时被划分出N个存储单元,所述方法包括:
所述第二访问主体根据每个所述访问单元的数据访问需求将N个目标数据分别存储至所述存储设备的每个存储单元中,由每个所述访问单元同时通过其各自对应的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
本发明还提供了一种访问系统,包括:
具有M个访问单元的第一访问主体、第二访问主体、存储设备及如上述任意一项所述的访问控制装置;
其中,所述第一访问主体中的M个访问单元中出现各自的数据访问需求时,所述访问控制装置依据所述数据访问需求设置所述存储设备中的存储地址,在所述存储设备中划分出N个存储单元;
所述第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中;
所述访问控制装置依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元;
每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
由上述方案可知,本发明提供的一种访问控制方法及装置,通过在第一访问主体如ASIC等的M个访问单元中出现各自的数据访问需求时,依据这些数据访问需求设置存储设备中的存储地址,以在存储设备中划分出N个存储单元,进而由第二访问主体如CPU等根据访问单元的数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中,再利用数据访问需求来家里个访问单元各自的数据访问通道,这些数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元,进而能够由每个访问单元同时通过其各自的数据访问通道去访问其对应的存储单元中的数据。本发明中通过将存储设备划分出与每个访问单元的数据访问需求相对应的存储单元之后,建立存储单元与对应访问单元之间的数据访问通道之后,各访问单元能够并行的同时利用其各自的数据访问通道去访问相应存储单元中的数据,通过并行访问代替多次单通道访问,以提高数据访问的吞吐量,提高数据访问的速率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种访问控制方法实施例一的流程图;
图2为本发明实施例的应用示例图;
图3为本发明提供的一种访问控制方法实施例二中的部分流程图;
图4为本发明实施例二的另一部分流程图;
图5为本发明实施例的另一应用示例图;
图6为本发明实施例二的又一部分流程图;
图7为本发明提供的一种访问控制装置实施例三的结构示意图;
图8为本发明提供的一种访问控制装置实施例四的部分结构示意图;
图9及图10分别为本发明实施例四的另一部分结构示意图;
图11为本发明提供的一种访问系统实施例七的的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在运行指纹判别算法的过程中因其计算量较大,需要采用特定的硬件逻辑加速器如ASIC等来实现大数据量的计算,这一过程中涉及到ASIC大量读取存储器中数据的过程,在现有技术中,ASIC单通道多次读取数据的方案,会使得数据读取的速率较低,因此,为了提高ASIC等访问存储器中数据的吞吐量,本发明提出以下实现方案:
参考图1,为本发明提供的一种访问控制方法实施例一的流程图,所述方法可以包括以下步骤实现:
步骤101:在所述第一访问主体的M个访问单元中出现各自的数据访问需求时,依据所述数据访问需求设置存储设备中的存储地址,在所述存储设备中划分出N个存储单元,进而由第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中。
其中,所述第一访问主体可以为硬件逻辑加速器或加速集成电路ASIC等,所述第一访问主体中的访问单元可以为ASIC中的运算单元,所述运算单元的数量与实际应用中算法的需求相关。
需要说明的是,所述第二访问主体可以为CPU等设备,该设备具有其独立的TCM存储器,即MEM_CPU,这个存储器用来进行代码段的承诺方,并且这个存储器无论何时CPU都可以进行访问。
其中,本实施例中的存储设备为存储应用算法所需要计算的目标数据的设备,所述存储设备中的每个存储单元是指地址连续但逻辑上进行划分的存储模块,每个存储单元上存储一个目标数据。
优选地,所述存储设备与所述第一访问主体、所述第二访问主体都是直接相连,这样所述第一访问主体、所述第二访问主体都能够直接访问存储器,减少了访问时的总线开销,即存储设备与ASIC、CPU都是直接相连的,使得ASIC、CPU都能够直接访问存储器。
步骤102:依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元,由每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
需要说明的是,每个所述数据访问通道分别对应一个所述访问单元,每个所述访问单元分别对应至少一个存储单元,每个所述数据访问通道通过其对应的访问单元分别对应至少一个存储单元,也就是说,如图2中所示,第m个数据访问通道连通第m个访问单元和第m1~mc个存储单元,第m1至第mc个存储单元为所述存储设备中的c个存储单元,c为正整数,进而第m个访问单元能够通过第m个数据访问通道访问其对应的第m1~mc个存储单元,m为1~M中的任一正整数,m1~mc为1到N之间的正整数。
例如,在指纹识别算法的运行中,需要进行大量的4像素合成为1像素的运算方案中,每个像素为32bit宽,在现有技术中需要每个访问单元按照次序分别读取4个像素,而通过根据所述第一访问主体的访问单元的实际数据访问需求来设计存储设备的方案中,对存储设备进行分块,由每个访问单元可以同时以每块64bit宽度进行访问对应的像素,以将访问速度提升至原来的4倍。也就是说,在实际应用中,采用本实施例中的技术方案并结合硬件逻辑电路的运算加速,将算法的运行时间由790ms可以减少到30ms,而不采用本实施例的实现方案时,即使结合硬件逻辑电路的运算加速也只能将运行时间减少到120ms,因此,由实例可知,利用本实施例能够通过提高数据访问的吞吐量来明显提高数据的运算速率。
由上述方案可知,本发明提供的一种访问控制方法实施例一,通过在第一访问主体如ASIC等的M个访问单元中出现各自的数据访问需求时,依据这些数据访问需求设置存储设备中的存储地址,以在存储设备中划分出N个存储单元,进而由第二访问主体如CPU等根据访问单元的数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中,再利用数据访问需求来家里个访问单元各自的数据访问通道,这些数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元,进而能够由每个访问单元同时通过其各自的数据访问通道去访问其对应的存储单元中的数据。本实施例中通过将存储设备划分出与每个访问单元的数据访问需求相对应的存储单元之后,建立存储单元与对应访问单元之间的数据访问通道之后,有多个访问单元能够并行的同时利用其各自的数据访问通道去访问相应存储单元中的数据,通过并行访问代替多次单通道访问,以提高数据访问的吞吐量,提高数据访问的速率。
参考图3,为本发明提供的一种访问控制方法实施例二中所述步骤101的实现流程图,其中,所述步骤101可以通过以下步骤实现:
步骤111:依据所述数据访问需求,确定M个所述访问单元各自对应的数据访问空间。
其中,所述数据访问空间是指,其对应访问单元所需要的数据所占用空间的大小,例如,第m个访问单元需要读取32bit的数据。
步骤112:依据所述数据访问空间,设置所述存储设备中的存储地址,在所述存储设备中划分出N个存储单元。
其中,所述步骤112是指,在所述存储设备中,以首地址开始,为每个所述访问单元划分出其各自所需要访问的数据能够进行存放的存储单元,例如,第m个访问单元需要读取32bit的数据,那么在所述存储设备中为前m-1个访问单元划分出的存储单元的尾地址之后划分出一个存储单元,该存储单元能够存储该32bit的数据,也就是说,在所述存储设备中,所述数据访问空间对应一个空间首地址及一个空间大小值,该数据访问空间对应至少一个存储单元,例如,第m个数据访问空间对应第m个空间首地址并对应第m个空间大小,且对应地第m1~mc个存储单元,此时,第m1~mc个存储单元的空间之和与第m个空间大小相对应,优选地,第m1~mc个存储单元的空间之和与第m个空间大小相一致,第m个空间首地址与第m1个存储单元的首地址相一致。
在具体实现中,每个所述存储单元的存储空间可以相一致,也可以不同,所述步骤112可以通过以下方式实现:
依据第m个所述数据访问空间,在所述存储设备中划分出第m个存储单元,其中,第m个所述存储单元的空间大小与第m个所述数据访问空间相一致,m为小于或等于M的正整数。
也就是说,在存储单元的划分过程中,在所述存储设备中依次划分出空间大小分别与每个所述数据访问空间相一致的存储单元,以实现所述数据访问空间也就是所述访问单元与存储单元一一映射的目的。此时的存储单元中的存储空间决定于其对应的数据访问空间,由于所述数据访问空间之间可能存在的差异性,每个所述存储单元的存储空间同样可能存在差异性。
另外,在具体实现中,每个所述存储单元的存储空间也可以完全一致的,也就是说,所述步骤112可以通过如图4中所示的方式步骤实现:
步骤401:确定预设空间值。
其中,所述预设空间值可以依据所述M个数据访问空间中的最小值确定,例如,第m-1、m及m+1个数据访问空间分别为:128bit、32bit、64bit,此时所述预设空间值可以设置为32bit,以达到在存储目标数据时能够充分利用存储设备中的存储空间,不浪费存储地址的目的。而所述预设空间值也可以由用户按照自己的需求设置,如设置为64bit。
步骤402:依据第m个所述数据访问空间,在所述存储设备中划分出n个空间大小与所述预设空间值相一致的存储单元,m为小于或等于M的正整数,n为小于或等于N的正整数。
也就是说,为每个所述数据访问单元所需要的数据访问空间,划分出相应空间大小的存储单元,以存放每个所述数据访问单元所需要访问的目标数据,例如,第m个访问单元的数据访问空间为32bit,在所述存储设备中划分出1个32bit的存储单元对应该数据访问空间,第m-1个访问单元的数据访问空间为128bit,在所述存储设备中划分出4个32bit的存储单元对应该数据访问空间,第m个访问单元的数据存储空间为64bit,在所述存储设备中划分出2个32bit的存储单元对应该数据访问空间,依次类推,为每个访问单元的数据访问空间划分出至少一个32bit的存储单元。
需要说明的是,每个所述数据访问空间各自对应的存储单元之间的存储地址首尾相连,如图5中所示,第m-1、m及m+1个数据访问空间各自对应的4个、1个和2个存储单元在存储地址上依次相连,也就是说,所述存储设备中的存储单元只在地址上做逻辑上的划分,在所述存储设备中的存储单元形成一个存储阵列,区别于物理上的分块。
例如,在实际应用中,根据每个访问单元的数据访问需求将所述存储设备被设计成一个SRAM阵列,提供给ASIC逻辑电路使用时被划分成多块如4-8块的SRAM,而对于CPU的存储来讲,这几块SRAM有串行成一块存储器,即CPU和ASIC所看到的存储器地址空间是一样的,但是ASIC逻辑电路可以享受4-8块的存储器并行带宽提升,CPU仅仅拥有一个端口的读写访问控制,从而大大减小ASIC访问存储器的时间开销。
而基于这一存储单元的划分方式,所述步骤102在依据所述数据访问需求建立所述第一访问主体中M各所述访问单元各自的数据访问通道时,可以通过如图6中所示的流程步骤实现:
步骤121:在所述存储设备中,确定第m个所述访问单元所对应的至少一个存储单元。
前文中描述可知,每个所述访问单元分别依据其各自的数据访问需求对应一个数据访问空间,而每个数据访问空间分别对应至少一个存储单元,因此,每个所述访问单元分别对应至少一个存储单元,由此,在本实施例中,确定每个所述访问单元各自所对应的至少一个存储单元。
步骤122:建立第m个所述访问单元与其所对应的存储单元之间的数据访问通道。
也就是说,在每个所述访问单元访问数据之前需要建立一个能够进行数据访问的数据访问通道,一个数据访问通道连通在一个访问单元与该访问单元所对应的至少一个存储单元之间,如图2中所示,之后,所述第m个访问单元利用第m个数据访问通道访问第m1~mc个存储单元,这里的第m1~mc个存储单元即为所述第m个访问单元所对应的存储单元。
参考图7,为本发明提供的一种访问控制装置实施例三的结构示意图,其中,所述访问控制装置可以通过以下结构实现:
地址设置单元701,用于在所述第一访问主体中M个访问单元各自出现数据访问需求时,依据所述数据访问需求设置存储设备中的存储地址,在所述存储设备中划分出N个存储单元,由第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中。
其中,所述第一访问主体可以为硬件逻辑加速器或加速集成电路ASIC等,所述第一访问主体中的访问单元可以为ASIC中的运算单元,所述运算单元的数量与实际应用中算法的需求相关。
需要说明的是,所述第二访问主体可以为CPU等设备,该设备具有其独立的TCM存储器,即MEM_CPU,这个存储器用来进行代码段的承诺方,并且这个存储器无论何时CPU都可以进行访问。
其中,本实施例中的存储设备为存储应用算法所需要计算的目标数据的设备,所述存储设备中的每个存储单元是指地址连续但逻辑上进行划分的存储模块,每个存储单元上存储一个目标数据。
优选地,所述存储设备与第一访问主体、第二访问主体都是直接相连,这样第一访问主体、第二访问主体都能够直接访问存储器,减少了访问时的总线开销,即存储设备与ASIC、CPU都是直接相连的,使得ASIC、CPU都能够直接访问存储器。
通道建立单元702,用于依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元,由每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
需要说明的是,每个所述数据访问通道分别对应一个所述访问单元,每个所述访问单元分别对应至少一个存储单元,每个所述数据访问通道通过其对应的访问单元分别对应至少一个存储单元,也就是说,如图2中所示,第m个数据访问通道连通第m个访问单元和第m1~mc个存储单元,第m1至第mc个存储单元为所述存储设备中的c个存储单元,c为正整数,进而第m个访问单元能够通过第m个数据访问通道访问其对应的第m1~mc个存储单元,m为1~M中的任一正整数,m1~mc为1到N之间的正整数。
例如,在指纹识别算法的运行中,需要进行大量的4像素合成为1像素的运算方案中,每个像素为32bit宽,在现有技术中需要每个访问单元按照次序分别读取4个像素,而通过根据所述第一访问主体的访问单元的实际数据访问需求来设计存储设备的方案中,对存储设备进行分块,由每个访问单元可以同时以每块64bit宽度进行访问对应的像素,以将访问速度提升至原来的4倍。也就是说,在实际应用中,采用本实施例中的技术方案并结合硬件逻辑电路的运算加速,将算法的运行时间由790ms可以减少到30ms,而不采用本实施例的实现方案时,即使结合硬件逻辑电路的运算加速也只能将运行时间减少到120ms,因此,由实例可知,利用本实施例能够通过提高数据访问的吞吐量来明显提高数据的运算速率。
由上述方案可知,本发明提供的一种访问控制装置实施例三,通过在第一访问主体如ASIC等的M个访问单元中出现各自的数据访问需求时,依据这些数据访问需求设置存储设备中的存储地址,以在存储设备中划分出N个存储单元,进而由第二访问主体如CPU等根据访问单元的数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中,再利用数据访问需求来家里个访问单元各自的数据访问通道,这些数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元,进而能够由每个访问单元同时通过其各自的数据访问通道去访问其对应的存储单元中的数据。本实施例中通过将存储设备划分出与每个访问单元的数据访问需求相对应的存储单元之后,建立存储单元与对应访问单元之间的数据访问通道之后,有多个访问单元能够并行的同时利用其各自的数据访问通道去访问相应存储单元中的数据,通过并行访问代替多次单通道访问,以提高数据访问的吞吐量,提高数据访问的速率。
参考图8,为本发明提供的一种访问控制装置实施例四中所述地址设置单元701的结构示意图,其中,所述地址设置单元701可以包括以下结构:
空间确定子单元711,用于依据所述数据访问需求,确定M个所述访问单元各自对应的数据访问空间。
其中,所述数据访问空间是指,其对应访问单元所需要的数据所占用空间的大小,例如,第m个访问单元需要读取32bit的数据。
存储划分子单元712,用于依据所述数据访问空间,设置所述存储设备中的存储地址,在所述存储设备中划分出N个存储单元。
其中,所述存储划分子单元712是指,在所述存储设备中,以首地址开始,为每个所述访问单元划分出其各自所需要访问的数据能够进行存放的存储单元,例如,第m个访问单元需要读取32bit的数据,那么在所述存储设备中为前m-1个访问单元划分出的存储单元的尾地址之后划分出一个存储单元,该存储单元能够存储该32bit的数据,也就是说,在所述存储设备中,所述数据访问空间对应一个空间首地址及一个空间大小值,该数据访问空间对应至少一个存储单元,例如,第m个数据访问空间对应第m个空间首地址并对应第m个空间大小,且对应地第m1~mc个存储单元,此时,第m1~mc个存储单元的空间之和与第m个空间大小相对应,优选地,第m1~mc个存储单元的空间之和与第m个空间大小相一致,第m个空间首地址与第m1个存储单元的首地址相一致。
在具体实现中,每个所述存储单元的存储空间可以相一致,也可以不同,所述存储划分子单元712可以通过以下方式实现:
依据第m个所述数据访问空间,在所述存储设备中划分出第m个存储单元,其中,第m个所述存储单元的空间大小与第m个所述数据访问空间相一致,m为小于或等于M的正整数。
也就是说,在存储单元的划分过程中,在所述存储设备中依次划分出空间大小分别与每个所述数据访问空间相一致的存储单元,以实现所述数据访问空间也就是所述访问单元与存储单元一一映射的目的。此时的存储单元中的存储空间决定于其对应的数据访问空间,由于所述数据访问空间之间可能存在的差异性,每个所述存储单元的存储空间同样可能存在差异性。
另外,在具体实现中,每个所述存储单元的存储空间也可以完全一致的,也就是说,所述存储划分子单元712可以通过如图9中所示的结构实现:
预设值确定模块901,用于确定预设空间值。
其中,所述预设空间值可以依据所述M个数据访问空间中的最小值确定,例如,第m-1、m及m+1个数据访问空间分别为:128bit、32bit、64bit,此时所述预设空间值可以设置为32bit,以达到在存储目标数据时能够充分利用存储设备中的存储空间,不浪费存储地址的目的。而所述预设空间值也可以由用户按照自己的需求设置,如设置为64bit。
空间划分模块902,用于依据第m个所述数据访问空间,在所述存储设备中划分出n个空间大小与所述预设空间值相一致的存储单元,m为小于或等于M的正整数,n为小于或等于N的正整数。
也就是说,为每个所述数据访问单元所需要的数据访问空间,划分出相应空间大小的存储单元,以存放每个所述数据访问单元所需要访问的目标数据,例如,第m个访问单元的数据访问空间为32bit,在所述存储设备中划分出1个32bit的存储单元对应该数据访问空间,第m-1个访问单元的数据访问空间为128bit,在所述存储设备中划分出4个32bit的存储单元对应该数据访问空间,第m个访问单元的数据存储空间为64bit,在所述存储设备中划分出2个32bit的存储单元对应该数据访问空间,依次类推,为每个访问单元的数据访问空间划分出至少一个32bit的存储单元。
需要说明的是,每个所述数据访问空间各自对应的存储单元之间的存储地址首尾相连,如图5中所示,第m-1、m及m+1个数据访问空间各自对应的4个、1个和2个存储单元在存储地址上依次相连,也就是说,所述存储设备中的存储单元只在地址上做逻辑上的划分,在所述存储设备中的存储单元形成一个存储阵列,区别于物理上的分块。
例如,在实际应用中,根据每个访问单元的数据访问需求将所述存储设备被设计成一个SRAM阵列,提供给ASIC逻辑电路使用时被划分成多块如4-8块的SRAM,而对于CPU的存储来讲,这几块SRAM有串行成一块存储器,即CPU和ASIC所看到的存储器地址空间是一样的,但是ASIC逻辑电路可以享受4-8块的存储器并行带宽提升,CPU仅仅拥有一个端口的读写访问控制,从而大大减小ASIC访问存储器的时间开销。
而基于上文中所述存储划分子单元712的实现结构,所述通道建立单元702在依据所述数据访问需求建立所述第一访问主体中M各所述访问单元各自的数据访问通道时,可以通过如图10中所示的结构实现:
存储确定子单元721,用于在所述存储设备中,确定第m个所述访问单元所对应的至少一个存储单元。
前文中描述可知,每个所述访问单元分别依据其各自的数据访问需求对应一个数据访问空间,而每个数据访问空间分别对应至少一个存储单元,因此,每个所述访问单元分别对应至少一个存储单元,由此,在本实施例中,确定每个所述访问单元各自所对应的至少一个存储单元。
通道建立子单元722,用于建立第m个所述访问单元与其所对应的存储单元之间的数据访问通道。
也就是说,在每个所述访问单元访问数据之前需要建立一个能够进行数据访问的数据访问通道,一个数据访问通道连通在一个访问单元与该访问单元所对应的至少一个存储单元之间,如图2中所示,之后,所述第m个访问单元利用第m个数据访问通道访问第m1~mc个存储单元,这里的第m1~mc个存储单元即为所述第m个访问单元所对应的存储单元。
基于前文中发明思想,本发明还提供了一访问方法实施例五,在这一实施例中,所述访问方法应用于第一访问主体如ASIC逻辑电路中,所述第一访问主体中具有M个访问单元,所述第一访问主体与如前文中任意一项实施例中所述的访问控制装置相连接,在本实施例中,所述访问方法在实现中可以包括以下流程:
所述第一访问主体生成所述M个访问单元的数据访问需求,由所述访问控制装置依据数据访问需求设置存储设备中的存储地址,在所述存储设备中划分出N个存储单元,由第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中,再由所述访问控制装置依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元;
所述第一访问主体中的每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
需要说明的是,所述访问控制装置的具体实现结构及实现方式可以参考前文中内容,此处不再详述。
另外,本发明还提供的一种存储方法实施例六,在本实施例中,所述存储方法应用于第二访问主体如CPU中,所述第二访问主体与存储设备相连接,所述存储设备在第一访问主体中M个访问单元具有数据访问需求时被划分出N个存储单元,在本实施例中,所述存储方法可以包括以下流程:
所述第二访问主体根据每个所述访问单元的数据访问需求将N个目标数据分别存储至所述存储设备的每个存储单元中,由每个所述访问单元同时通过其各自对应的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
需要说明的是,所述存储设备可以由前文中任意一项实施例所述的访问控制装置进行划分,形成N个存储单元,而每个所述访问单元与其各自对应的至少一个存储单元之间的数据访问通道的建立也可以由所述访问控制装置来实现,而所述访问控制装置的实现结构及实现方式可以参考前文中内容,此处不再详述。
参考图11,为本发明提供的一种访问系统实施例七的的结构示意图,其中,所述系统中可以包括有以下结构:
具有M个访问单元1111的第一访问主体1101、第二访问主体1102、存储设备1103及如前文中任意一项实施例所述的访问控制装置1104;
其中,所述第一访问主体1101中的M个访问单元1111中出现各自的数据访问需求时,所述访问控制装置1104依据所述数据访问需求设置所述存储设备1103中的存储地址,在所述存储设备1103中划分出N个存储单元1131;
所述第二访问主体1102根据所述数据访问需求分别将N个目标数据分别存储至存储设备1103的N个存储单元1131中;
所述访问控制装置1104依据所述数据访问需求建立所述第一访问主体1101中M个所述访问单元1111各自的数据访问通道1105,每个所述数据访问通道1105连通其所属访问单元1111与该访问单元所对应的至少一个存储单元1131;
每个所述访问单元1111同时通过其各自的数据访问通道1105访问其对应的存储单元1131中的数据;
其中,M、N均为正整数,且N大于或等于M。
需要说明的是,所述访问控制装置1104的具体实现结构及实现方式可以参考前文中内容,此处不再详述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种访问控制方法及装置、访问方法、存储方法及访问系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种访问控制方法,所述方法包括:
在第一访问主体的M个访问单元中出现各自的数据访问需求时,依据所述数据访问需求设置存储设备中的存储地址,在所述存储设备中划分出N个存储单元,由第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中;
依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元,由每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
2.根据权利要求1所述的方法,其特征在于,所述依据所述数据访问需求设置存储设备中的存储地址,包括:
依据所述数据访问需求,确定M个所述访问单元各自对应的数据访问空间;
依据所述数据访问空间,设置所述存储设备中的存储地址,在所述存储设备中划分出N个存储单元。
3.根据权利要求2所述的方法,其特征在于,依据所述数据访问空间,设置所述存储设备中的存储地址,在所述存储设备中划分出N个存储单元,包括:
确定预设空间值;
依据第m个所述数据访问空间,在所述存储设备中划分出n个空间大小与所述预设空间值相一致的存储单元,m为小于或等于M的正整数,n为小于或等于N的正整数。
4.根据权利要求3所述的方法,其特征在于,依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,包括:
在所述存储设备中,确定第m个所述访问单元所对应的至少一个存储单元;
建立第m个所述访问单元与其所对应的存储单元之间的数据访问通道。
5.一种访问控制装置,所述装置包括:
地址设置单元,用于在所述第一访问主体中M个访问单元各自出现数据访问需求时,依据所述数据访问需求设置存储设备中的存储地址,在所述存储设备中划分出N个存储单元,由第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中;
通道建立单元,用于依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元,由每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
6.根据权利要求5所述的装置,其特征在于,所述地址设置单元包括:
空间确定子单元,用于依据所述数据访问需求,确定M个所述访问单元各自对应的数据访问空间;
存储划分子单元,用于依据所述数据访问空间,设置所述存储设备中的存储地址,在所述存储设备中划分出N个存储单元。
7.根据权利要求6所述的装置,其特征在于,所述存储划分子单元包括:
预设值确定模块,用于确定预设空间值;
空间划分模块,用于依据第m个所述数据访问空间,在所述存储设备中划分出n个空间大小与所述预设空间值相一致的存储单元,m为小于或等于M的正整数,n为小于或等于N的正整数。
8.根据权利要求7所述的装置,其特征在于,所述通道建立单元包括:
存储确定子单元,用于在所述存储设备中,确定第m个所述访问单元所对应的至少一个存储单元;
通道建立子单元,用于建立第m个所述访问单元与其所对应的存储单元之间的数据访问通道。
9.一种访问方法,应用于第一访问主体,所述第一访问主体中具有M个访问单元,所述第一访问主体与如权利要求5至8中任意一项所述的访问控制装置相连接,所述方法包括:
所述第一访问主体生成所述M个访问单元的数据访问需求,由所述访问控制装置依据数据访问需求设置存储设备中的存储地址,在所述存储设备中划分出N个存储单元,由第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中,再由所述访问控制装置依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元;
所述第一访问主体中的每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
10.一种存储方法,应用于第二访问主体,所述第二访问主体与存储设备相连接,所述存储设备在第一访问主体中M个访问单元具有数据访问需求时被划分出N个存储单元,所述方法包括:
所述第二访问主体根据每个所述访问单元的数据访问需求将N个目标数据分别存储至所述存储设备的每个存储单元中,由每个所述访问单元同时通过其各自对应的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
11.一种访问系统,包括:
具有M个访问单元的第一访问主体、第二访问主体、存储设备及如权利要求5至8中任意一项所述的访问控制装置;
其中,所述第一访问主体中的M个访问单元中出现各自的数据访问需求时,所述访问控制装置依据所述数据访问需求设置所述存储设备中的存储地址,在所述存储设备中划分出N个存储单元;
所述第二访问主体根据所述数据访问需求分别将N个目标数据分别存储至存储设备的N个存储单元中;
所述访问控制装置依据所述数据访问需求建立所述第一访问主体中M个所述访问单元各自的数据访问通道,每个所述数据访问通道连通其所属访问单元与该访问单元所对应的至少一个存储单元;
每个所述访问单元同时通过其各自的数据访问通道访问其对应的存储单元中的数据;
其中,M、N均为正整数,且N大于或等于M。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410743303.2A CN105740156B (zh) | 2014-12-08 | 2014-12-08 | 访问控制方法及装置、访问方法、存储方法及访问系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410743303.2A CN105740156B (zh) | 2014-12-08 | 2014-12-08 | 访问控制方法及装置、访问方法、存储方法及访问系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740156A true CN105740156A (zh) | 2016-07-06 |
CN105740156B CN105740156B (zh) | 2019-01-15 |
Family
ID=56237702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410743303.2A Active CN105740156B (zh) | 2014-12-08 | 2014-12-08 | 访问控制方法及装置、访问方法、存储方法及访问系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740156B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118477A (zh) * | 2007-08-24 | 2008-02-06 | 成都索贝数码科技股份有限公司 | 一种提高磁盘数据访问效率的方法 |
CN101504600A (zh) * | 2009-01-21 | 2009-08-12 | 北京红旗胜利科技发展有限责任公司 | 一种用于微处理器的数据传输方法以及一种微处理器 |
CN101937409A (zh) * | 2010-09-02 | 2011-01-05 | 中国电子科技集团公司第三十八研究所 | 分时复用存储器直接访问控制器 |
-
2014
- 2014-12-08 CN CN201410743303.2A patent/CN105740156B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118477A (zh) * | 2007-08-24 | 2008-02-06 | 成都索贝数码科技股份有限公司 | 一种提高磁盘数据访问效率的方法 |
CN101504600A (zh) * | 2009-01-21 | 2009-08-12 | 北京红旗胜利科技发展有限责任公司 | 一种用于微处理器的数据传输方法以及一种微处理器 |
CN101937409A (zh) * | 2010-09-02 | 2011-01-05 | 中国电子科技集团公司第三十八研究所 | 分时复用存储器直接访问控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN105740156B (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220365700A1 (en) | Matrix transfer accelerator system and method | |
CN105843775B (zh) | 片上数据划分读写方法、系统及其装置 | |
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储系统及加速计算方法 | |
CN105283855B (zh) | 一种寻址方法及装置 | |
US11875874B2 (en) | Data structures with multiple read ports | |
CN103927270B (zh) | 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法 | |
KR20100013257A (ko) | 멀티 프로세서 시스템 상에서 데이터 세트를 분할 및 정렬하는 방법 및 장치 | |
US9495291B2 (en) | Configurable spreading function for memory interleaving | |
CN107688436A (zh) | 存储器模块和控制其的方法 | |
US11294851B2 (en) | Reconfigurable reduced instruction set computer processor architecture with fractured cores | |
CN104809161B (zh) | 一种对稀疏矩阵进行压缩和查询的方法及系统 | |
CN114565501B (zh) | 用于卷积运算的数据加载方法及其装置 | |
US20170322772A1 (en) | Method for a stage optimized high speed adder | |
CN107667355A (zh) | 提供存储器管理单元(mmu)分区的转换高速缓存器,以及相关设备、方法及计算机可读媒体 | |
CN107787485A (zh) | 多读取和写入端口存储器 | |
CN104516826B (zh) | 一种虚拟大页面与物理大页面的对应方法及装置 | |
CN107544863A (zh) | 一种数据存储方法及装置 | |
JPS63201851A (ja) | バッファ記憶アクセス方法 | |
US11475287B2 (en) | Managing control data | |
DE102017121298A1 (de) | Prozessor in nichtflüchtigem Ablagespeicher | |
CN105373492A (zh) | 一种面向任务流的基于寄存器文件的快速数据交换结构 | |
CN105740156A (zh) | 访问控制方法及装置、访问方法、存储方法及访问系统 | |
CN111694513A (zh) | 包括循环指令存储器队列的存储器器件和方法 | |
US10303484B2 (en) | Method for implementing a line speed interconnect structure | |
US9582419B2 (en) | Data processing device and method for interleaved storage of data elements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |