CN110795037B - 存储器的单元连接方法、处理器 - Google Patents
存储器的单元连接方法、处理器 Download PDFInfo
- Publication number
- CN110795037B CN110795037B CN201911006732.0A CN201911006732A CN110795037B CN 110795037 B CN110795037 B CN 110795037B CN 201911006732 A CN201911006732 A CN 201911006732A CN 110795037 B CN110795037 B CN 110795037B
- Authority
- CN
- China
- Prior art keywords
- space size
- unit connection
- decomposed
- space
- decomposition
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本申请公开了一种存储器的单元连接方法、处理器。其中,存储器的单元连接方法包括:获取存储器的目标空间尺寸;按照目标空间尺寸以及多种存储单元的单元空间尺寸,为存储器生成若干个单元连接方案,其中,每个单元连接方案包括多个存储单元,且多个存储单元的单元空间尺寸组合等于或大于目标空间尺寸;从若干个单元连接方案中挑选出最优单元连接方案;利用最优单元连接方案所包含的存储单元连接形成存储器的存储空间。上述方案,能够对存储器实现单元连接的智能规划,满足用户对存储器的不同尺寸要求。
Description
技术领域
本申请涉及存储器技术领域,特别是涉及一种存储器的单元连接方法、处理器。
背景技术
不同存储单元的空间尺寸大小不同。例如,一个18Kbits的存储单元具有512x36、1Kx18和2Kx9三种空间尺寸,一个16Kbits的存储单元有512x32、1Kx16、2Kx8、4Kx4、8Kx2和16Kx1六种空间尺寸。
为了满足用户对存储空间尺寸的要求,当已知存储器的存储空间后,由用户选择存储单元,手动划分存储单元的空间尺寸,对人为操作依赖较大。而处理器对存储单元的连接相对固化,面对同一个存储空间要求,处理器形成的存储单元连接方式单一。
面对不同的存储空间尺寸需求,如何实现对存储器单元连接的智能规划,成为亟待解决的问题。
发明内容
本申请主要解决的技术问题是提供一种存储器的单元连接方法、处理器,能够对存储器实现单元连接的智能规划,满足用户对存储器的不同尺寸要求。
为了解决上述问题,本申请第一方面提供了一种存储器的单元连接方法,包括:获取存储器的目标空间尺寸;按照目标空间尺寸以及多种存储单元的单元空间尺寸,为存储器生成若干个单元连接方案,其中,每个单元连接方案包括多个存储单元,且多个存储单元的单元空间尺寸组合等于或大于目标空间尺寸;从若干个单元连接方案中挑选出最优单元连接方案;利用最优单元连接方案所包含的存储单元连接形成存储器的存储空间。
为解决上述问题,本申请第三方面提供了一种处理器,其能够执行上述第一方面的存储器的单元连接方法。
上述方案中,获取存储器的目标空间尺寸;按照目标空间尺寸以及多种存储单元的单元空间尺寸,为存储器生成若干个单元连接方案,其中,每个单元连接方案包括多个存储单元,且多个存储单元的单元空间尺寸组合等于或大于目标空间尺寸;从若干个单元连接方案中挑选出最优单元连接方案;利用最优单元连接方案所包含的存储单元连接形成存储器的存储空间。通过上述方式,获取最优的存储单元连接方案,形成用户需要的存储器的存储空间。
附图说明
图1是本申请存储器的单元连接方法一实施例的流程示意图;
图2是本申请存储器的单元连接方法步骤S12的流程示意图;
图3是本申请存储器的单元连接方法步骤S121的流程示意图;
图4a是第二单元连接方案的示意图;
图4b是第五单元连接方案的示意图;
图4c是第四单元连接方案的示意图;
图5是本申请存储器的单元连接方法另一实施例的流程示意图;
图6是本申请处理器一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
请参阅图1,图1是本申请存储器的单元连接方法一实施例的流程示意图。具体而言,本实施例方法包括以下步骤:
步骤S11:获取所述存储器的目标空间尺寸。
例如,目标空间尺寸包括地址深度和数据宽度,用于表示存储器的空间尺寸大小,例如,一个空间尺寸大小为18Kbits的存储器具有512x36、1Kx18和2Kx9三种空间尺寸,512、1K、2K表示存储器的地址深度,9、18、36表示存储器的数据宽度。目标空间尺寸获取后,本实施例的存储器的单元连接方法将该目标空间尺寸作为单元连接方案的参考目标。目标空间尺寸的获取方式,可以是用户人为设置和输入,也可以是通过算法获取,在此不作限定。
具体地,获取存储器的目标空间尺寸可包括:接收用户输入的数据作为存储器的目标空间尺寸。其中,目标空间尺寸的获取方式是用户输入。用户输入的目标空间尺寸大小包括地址深度和数据宽度,是用户对存储器的存储空间要求,也是最终要实现的存储器的容量大小。
步骤S12:按照所述目标空间尺寸以及多种存储单元的单元空间尺寸,为所述存储器生成若干个单元连接方案。
其中,每个单元连接方案包括多个所述存储单元,且所述多个存储单元的单元空间尺寸组合等于或大于所述目标空间尺寸。
由于每种存储单元对应一个单元空间尺寸,又由于存储器包括不同数量和不同种类的存储单元,从而存储器中包括多种存储单元的单元空间尺寸。目标空间尺寸和单元空间尺寸均包括地址深度和数据宽度。目标空间尺寸是用户最终想要得到的存储器的存储空间大小,单元空间尺寸是当前可利用的存储单元的存储空间大小。以目标空间尺寸作为目标,多种存储单元的单元空间尺寸作为目标组成元素,连接当前可利用的多个存储单元,这些存储单元的单元空间尺寸加起来等于或者大于目标空间尺寸,即得到单元连接方案。根据用户需要的存储器的存储空间,生成多个单元连接方案以供最终选择。
在一实施例中,如图2所示,步骤S12具体包括以下步骤:
步骤S121:将所述目标空间尺寸进行双向分解得到两个分解结果,并继续对每个所述分解结果进行双向分解,直至最终分解结果中的空间尺寸不大于所述单元空间尺寸。
其中,双向分解包括纵向分解和横向分解。纵向分解为将待分解空间尺寸的地址深度进行拆分,且数据宽度不变。横向分解为将待分解空间尺寸的数据宽度进行拆分,且地址深度不变。
第一次双向分解的待分解空间尺寸为目标空间尺寸,此后,空间尺寸大于单元空间尺寸的分解结果继续作为下一次双向分解的待分解空间尺寸。可以理解的是,目标空间尺寸作为待分解空间尺寸时,可仅进行纵向分解,也可以仅进行横向分解,在此不作限定。
对待分解空间尺寸进行纵向分解和横向分解,得到两个分解结果。其中,保持数据宽度不变,对待分解空间尺寸的地址深度进行拆分,以实现纵向分解,得到一个分解结果。同理,保持地址深度不变,对待分解空间尺寸的数据宽度进行拆分,以实现横向分解,得到一个分解结果。每进行一次双向分解,则对横向分解和纵向分解的两个分解结果分别进行判断,该判断具体为:若该分解结果的空间尺寸等于或小于单元空间尺寸,则该分解结果就不再作为新的待分解空间尺寸进行双向分解;若该分解结果的空间尺寸大于单元空间尺寸,则继续以该分解结果作为新的待分解空间尺寸进行双向分解。不断对空间尺寸进行双向分解,直至最终分解结果中的空间尺寸不大于单元空间尺寸,由最终分解结果组成若干个单元连接方案。
通过不断对空间尺寸进行双向分解,直到最终分解结果中的空间尺寸不大于单元空间尺寸,实现动态分解。
步骤S122:由所述最终分解结果组成若干个单元连接方案。
最终分解结果的空间尺寸等于或小于单元空间尺寸,通过连接当前可利用的多个存储单元,这些存储单元的单元空间尺寸加起来等于或者大于目标空间尺寸,即得到单元连接方案。根据用户对存储器的存储空间要求,经过动态分解,能够对存储器实现单元连接的智能规划,获得若干个单元连接方案。
上述方式,通过双向分解目标空间尺寸,直到最终分解结果中的空间尺寸不大于单元空间尺寸,由最终分解结果组成若干个单元连接方案,实现动态分解和单元连接的智能规划,提供多种单元连接方案供最终选择,从而满足用户的不同选择需求。
为更加简单和清晰地实现空间尺寸的分解,如图3所示,步骤S121具体包括以下步骤:
步骤S1211:将所述目标空间尺寸作为待分解空间尺寸。
步骤S1212:将所述待分解空间尺寸进行纵向分解得到纵向分解结果,将所述分解空间尺寸进行横向分解得到横向分解结果。
其中,每个分解结果包括由待分解空间尺寸划分成的两个空间尺寸。纵向分解结果中的两个空间尺寸的地址深度小于待分解空间尺寸的地址深度,且两个空间尺寸的数据宽度等于待分解空间尺寸的数据宽度。横向分解结果中的两个空间尺寸的地址深度等于待分解空间尺寸的地址深度,且两个空间尺寸的数据宽度小于待分解空间尺寸的数据宽度。
例如,目标空间尺寸为5K*17,当前可利用的两个存储单元,其中一个18Kbits的存储单元具有512x36、1Kx18和2Kx9三种空间尺寸,另一个16Kbits的存储单元有512x32、1Kx16、2Kx8、4Kx4、8Kx2和16Kx1六种空间尺寸。
将目标空间尺寸作为待分解空间尺寸,对目标空间尺寸进行纵向分解,得到由两个空间尺寸组成的纵向分解结果,每个空间尺寸同样包含地址深度和数据宽度,且这两个空间尺寸的数据宽度与目标空间尺寸的数据宽度相同,地址深度小于目标空间尺寸的地址深度。
为实现动态分解,对纵向分解进一步细化为:从纵向地址序列中选择小于且最接近待分解空间尺寸的地址深度作为参考地址深度,并利用参考地址深度将待分解空间尺寸的地址深度进行拆分,以将待分解空间尺寸纵向分解成两个纵分空间尺寸。
纵向地址序列,包括多个参考地址深度,该多个参考地址深度包括单元空间尺寸的地址深度及其倍数。承接本实施例的举例,纵向地址序列为512、1K、2K、4K、8K、16K、32K、64K、128K等,其中单元空间尺寸的地址深度包括512、1K、2K、4K、8K、16K、32K、64K。
将d*w的待分解空间尺寸分解为d1*w的纵分空间尺寸和d2*w的纵分空间尺寸。其中,d、w分别为待分解空间尺寸的地址深度和数据宽度,d1为参考地址深度,d2为d与d1之间的差。本实施例,目标空间尺寸为5K*17,将其作为待分解空间进行纵向分解时,小于且最接近待分解空间尺寸的地址深度4K为参考地址深度,于是将5K*17分解为4K*17的纵分空间尺寸和1K*17的纵分空间尺寸。
同理,对目标空间尺寸进行横向分解,得到由两个空间尺寸组成的横向分解结果,每个空间尺寸同样包含地址深度和数据宽度,且这两个空间尺寸的地址深度与目标空间尺寸的地址深度相同,数据宽度小于目标空间尺寸的数据宽度。
为实现动态分解,对纵向分解进一步细化为:从横向数据序列中选择小于且最接近所述待分解空间尺寸的数据宽度作为参考数据宽度,并利用所述参考数据宽度将所述待分解空间尺寸的数据宽度进行拆分,以将所述待分解空间尺寸横向分解成两个横分空间尺寸。
横向数据序列包括多个参考数据宽度,多个数据宽度包括单元空间尺寸的数据宽度及其倍数。本实施例,横向地址序列为1、2、4、8(9)、16(18)、32(36)、64(72)等,而单元空间尺寸的数据宽度包括1、2、4、8(9)、16(18)、32(36),其中,括号中的数据宽度为18Kbits的存储单元。
将d*w的待分解空间尺寸分解为d*w1的横分空间尺寸和d*w2的横分空间尺寸。其中,w1为参考数据宽度,w2为w与w1之间的差。本实施例,目标空间尺寸为5K*17,将其作为待分解空间尺寸进行横向分解时,小于且最接近待分解空间尺寸的数据宽度为8(9)为参考数据宽度,此时可选参考数据宽度为8或者9,于是将5K*17分解为5K*8的横分空间尺寸和5K*9的横分空间尺寸。
第一次双向分解的待分解空间尺寸为目标空间尺寸,此后,空间尺寸大于单元空间尺寸的分解结果继续作为下一次双向分解的待分解空间尺寸。
可以理解的是,对d*w的待分解空间尺寸进行纵向分解时,除分解为d1*w的纵分空间尺寸和d2*w的纵分空间尺寸外,还可纵向分解为若干个纵分空间尺寸,例如d1*w、d2*w…dn*w,d1*w至dn*w的空间尺寸不超过d*w。其中,纵分空间尺寸的地址深度小于待分解空间尺寸的地址深度、且纵分空间尺寸的数据宽度等于待分解空间尺寸的数据宽度。同理,对d*w的待分解空间尺寸进行横向分解时,可横向分解为d*w1、d*w2…d*wn,d*w1至d*wn的空间尺寸不超过d*w。也即,待分解空间尺寸的分解结果可包括两个及其两个以上的空间尺寸,在此不作限定。待分解空间尺寸的分解可根据需要仅进行纵向分解,也可对待分解空间尺寸仅进行横向分解,对此也不作限定。
通过上述分解方式,将单元空间尺寸进行纵向数据序列和横向数据序列的罗列,使得多种存储单元的单元空间尺寸更加清晰明了,进而有利于分解过程简便化,最终实现动态分解。
步骤S1213:判断所述分解结果中的空间尺寸是否大于单元空间尺寸。若是,则执行步骤S1214,并重新执行步骤S1212;否则结束流程。
步骤1214:将所述分解结果中大于所述单元空间尺寸的空间尺寸作为新的待分解空间尺寸。
将每一次分解得到的纵向分解结果和横向分解结果的空间尺寸与单元空间尺寸进行比较,从而判断是否进行进一步的分解。该判断具体为:若该分解结果的空间尺寸等于或小于单元空间尺寸,该分解结果就不再进行双向分解;若该分解结果的空间尺寸大于单元空间尺寸,将分解结果中大于单元空间尺寸的空间尺寸作为新的待分解空间尺寸,并将待分解空间尺寸进行纵向分解得到纵向分解结果,将分解空间尺寸进行横向分解得到横向分解结果。例如,5K*17分解为4K*17的纵分空间尺寸和1K*17的纵分空间尺寸后,4K*17大于单元空间尺寸4K*4,所以将4K*17作为新的待分解空间尺寸继续进行分解,而1K*17小于单元空间尺寸1K*18,则不再进行双向分解。同理,5K*17分解为5K*8的横分空间尺寸和5K*9的横分空间尺寸后,5K*8和5K*9都大于单元空间尺寸,则将5K*8和5K*9作为待分解空间尺寸,进行纵向分解和横向分解。
重复执行上述判断及其后续步骤,直至每个分解结果中的空间尺寸均不大于单元空间尺寸,则结束流程。由此,本实施例通过重复上述判断及其后续分解步骤,直至每个分解结果中的空间尺寸均不大于单元空间尺寸,实现存储空间尺寸的动态分解。
步骤S13:从所述若干个单元连接方案中挑选出最优单元连接方案。
获得动态分解的最终分解结果后,可根据用户的不同需求,从若干个单元连接方案中挑选出最优单元连接方案,能够对存储器实现单元连接的智能规划。
按照最优选择策略,从若干个单元连接方案中挑选出最优单元连接方案。其中,最优选择策略包括以下至少一个准则:单元连接方案中的存储单元少;单元连接方案所使用的逻辑资源少,其中,单元连接方案中纵向连接的存储单元越少,则逻辑资源越少;单元连接方案中的存储单元利用率高。
存储单元纵向扩展时,将增加额外的查找表、触发器、选择器等逻辑资源,所以单元连接方案中纵向连接的存储单元越少,则单元连接方案使用的逻辑资源就越少。单元连接方案的存储单元利用率指目标空间尺寸大小与单元连接方案中多个存储单元空间尺寸大小之和的百分比。若目标空间尺寸大小等于单元连接方案中多个存储单元空间尺寸大小之和,则存储单元利用率为100%;若目标空间尺寸大小小于单元连接方案中多个存储单元空间尺寸大小之和,则表明部分存储单元的空间未被利用,存储单元利用率小于100%。
根据用户对存储器的不同要求,最优选择策略可以包括上述一个或多个准则,还可包括其余对应存储器需求的其他准则,在此不作限定。
当最优选择策略包括多个准则,从若干个单元连接方案中挑选出最优单元连接方案时,可以从准则的优先级来选择准则,并按照选择的准则从若干个单元连接方案中挑选出一个单元连接方案,作为最优单元连接方案。也即,先利用优先级高的准则比较所有单元连接方案,若比较结果的单元连接方案唯一,则该单元连接方案为最优单元连接方案;若多个单元连接方案比较结果相同,排除一部分单元连接方案后,进一步利用优先级次之的准则对剩余单元连接方案进行比较,以此类推。
例如,用户较看重存储器的存储单元利用率和存储单元的使用数量,确定单元连接方案中的存储单元少以及单元连接方案中的存储单元利用率高为最优选择策略的准则,并且,单元连接方案中的存储单元利用率高这一准则的优先级更高。若干个单元连接方案中,先比较所有单元连接方案的存储单元利用率,若利用率最高的只有一个,则将其作为最优单元连接方案,若利用率最高的单元连接方案为多个,则进一步比较这些利用率最高的多个单元连接方案中存储单元的使用数量,选择存储单元少的单元连接方案作为最优单元连接方案。
在另一实施例中,当最优选择策略包括多个准则,从若干个单元连接方案中挑选出最优单元连接方案时,根据不同准则的权重,为每个单元连接方案评分,并选择评分符合最优条件的单元连接方案作为最优单元连接方案。例如,同时选择上述三个准则作为最优选择策略,单元连接方案中的存储单元少这一准则权重为50%,单元连接方案所使用的逻辑资源少这一准则权重为20%;单元连接方案中的存储单元利用率高这一准则权重为30%。将使用存储单元的不同数量对应一个评分值,例如使用1-10个存储单元,评分对应90-100,使用11-20个存储单元,评分对应80-90等。根据用户的不同需求,不同准则可以设置不同评分标准,不同准则也可以对应不同权重,在此不作限定。
从若干个单元连接方案中挑选出最优单元连接方案,不仅满足了用户对存储器的存储空间要求,而且可节省资源,减少存储单元使用量,提高存储空间利用率,从而满足用户的不同存储性能要求。
步骤S14:利用所述最优单元连接方案所包含的存储单元连接形成所述存储器的存储空间。
获得最优单元连接方案后,根据方案中的单元连接方法将存储单元连接形成存储器的存储空间,满足用户的目标空间尺寸大小。本申请能够实现单元连接的智能规划,满足用户对存储器的不同尺寸要求。
上述实施例,在获取存储空间尺寸后,结合多种存储单元的单元空间尺寸,对空间尺寸进行动态分解,生成所有可实现的单元连接方案,并挑选出最优单元连接方案,从而根据最优单元连接方案形成满足用户存储空间要求的存储器。
为满足用户对存储器的存储空间要求及不同存储性能要求,在已知地址深度和数据宽度等存储空间尺寸后,对空间尺寸进行双向动态分解,有效利用现有的存储单元,生成若干单元连接方案,根据用户对存储单元数量、逻辑资源数量以及存储空间利用率的不同要求,形成最优选择策略,通过最优选择策略获得最优的单元连接方案,不仅满足了用户对存储器的存储空间要求,而且可节省资源,减少存储单元使用量,提高存储空间利用率,从而满足用户的不同存储性能要求。
为了便于理解本申请方案,下面结合一具体例子进行说明:
处理器如FPGA芯片接收用户输入的存储器的目标空间尺寸为5K*17。处理器当前支持两种存储单元,其中一个18Kbits的存储单元具有512x36、1Kx18和2Kx9三种空间尺寸,另一个16Kbits的存储单元有512x32、1Kx16、2Kx8、4Kx4、8Kx2和16Kx1六种空间尺寸。纵向地址序列为512、1K、2K、4K、8K、16K、32K、64K、128K等,其中本实施例单元空间尺寸的地址深度包括512、1K、2K、4K、8K、16K、32K、64K。横向地址序列为1、2、4、8(9)、16(18)、32(36)、64(72)等,单元空间尺寸的数据宽度包括1、2、4、8(9)、16(18)、32(36),其中,括号中的数据宽度为18Kbits的存储单元。
获取目标空间尺寸5K*17后,第一次分解仅进行纵向分解为例。此外,最优选择策略包括上述三个准则,第一优先级准则为单元连接方案中的存储单元少,第二优先级准则为单元连接方案中的存储单元利用率高,第三优先级准则为单元连接方案所使用的逻辑资源少。从而,本申请存储空间尺寸的动态分解和获取最优单元连接方案的步骤如下:
利用本申请的存储器的单元连接方法,第一次以5K*17的目标空间尺寸作为待分解空间尺寸,在进行纵向分解时,将小于且最接近待分解空间尺寸的地址深度为4K为参考地址深度,于是将5K*17分解为4K*17的纵分空间尺寸和1K*17的纵分空间尺寸,即5K*17=4K*17+1K*17。其中,4K*17大于单元空间尺寸4K*4,所以将4K*17作为新的待分解空间尺寸继续进行分解,而1K*17小于单元空间尺寸1K*18,则不再进行双向分解。
4K*17纵向分解时,参考地址深度为2K,则4K*17=2K*17+2K*17;4K*17横向分解时,参考数据宽度为8或9,则4K*17=4K*8+4K*9。其中,2K*17、4K*8和4K*9均未在单元空间尺寸内,均需再分解。
2K*17纵向分解时,参考地址深度为1K,则2K*17=1K*17+1K*17;2K*17横向分解时,参考数据宽度为8或9,则2K*17=2K*8+2K*9。其中,1K*17、2K*8和2K*9均在单元空间尺寸内,已分解至最终分解结果,故不再分解。
4K*8纵向分解时,参考地址深度为2K,于是4K*8=2K*8+2K*8;4K*8横向分解时,参考数据宽度为4,于是4K*8=4K*4+4K*4。其中,2K*8和4K*4均在单元空间尺寸内,已分解至最终分解结果,故不再分解。
4K*9纵向分解时,参考地址深度为2K,于是4K*9=2K*9+2K*9;4K*9横向分解时,参考数据宽度为4,于是4K*9=4K*4+4K*5。其中,2K*9和4K*4均在单元空间尺寸内,已分解至最终分解结果,故不再分解,而4K*5未在单元空间尺寸内,需再分解。
4K*5纵向分解时,参考地址深度为2K,于是4K*5=2K*5+2K*5;4K*5横向分解时,参考数据宽度为4,于是4K*5=4K*4+4K*1。其中,2K*5、4K*4和4K*1均在单元空间尺寸内,已分解至最终分解结果,故不再分解。
基于此,单元连接方案包括:
第一单元连接方案:5K*17=1K*17+2K*8+2K*9+2K*8+2K*9;
第二单元连接方案:5K*17=1K*17+1K*17+1K*17+1K*17+1K*17;
第三单元连接方案:5K*17=1K*17+1K*17+1K*17+2K*8+2K*9;
第四单元连接方案:5K*17=1K*17+2K*8+2K*8+2K*9+2K*9;
第五单元连接方案:5K*17=1K*17+4K*4+4K*4+2K*9+2K*9;
第六单元连接方案:5K*17=1K*17+2K*8+2K*8+4K*4+2K*5+2K*5;
第七单元连接方案:5K*17=1K*17+2K*8+2K*8+4K*4+4K*4+24K*1;
请参阅图4a、图4b和图4c,图中阴影部分表示存储单元空间未被利用。图4a表示第二单元连接方案的示意图,图4b表示第五单元连接方案的示意图,图4c表示第四单元连接方案的示意图。
根据本实施例的最优选择策略,利用第一优先级准则,先比较单元连接方案使用的存储单元数量,第一-第五单元连接方案均使用5个存储单元,而第六-第七单元连接方案均使用6个存储单元,于是排除第六单元连接方案和第七单元连接方案。
进一步,利用第二优先级准则,比较第一-第五单元连接方案中存储单元利用率高的单元连接方案,排除第二单元连接方案和第三单元连接方案。关于存储单元利用率高的判断,以第二单元连接方案与第五单元连接方案为例,结合图4a和图4b所示,图中阴影部分表示存储单元空间未被利用,第二单元连接方案空闲的存储单元面积是第五单元连接方案空闲的存储单元面积的五倍,显然第五单元连接方案的存储单元利用率高。
再进一步,利用第三优先级准则,比较剩余的单元连接方案中使用的逻辑资源少的单元连接方案。关于单元连接方案中使用的逻辑资源少的判断,以第四单元连接方案与第五单元连接方案为例,结合图4b和图4c所示,第四单元连接方案中,纵向连接的存储单元较多,实现存储单元连接时,将增加额外的查找表、触发器、选择器等逻辑资源,而第五单元连接方案纵向连接的存储单元较少,从而最后第五单元连接方案为最优单元连接方案。
请参阅图5,图5是本申请存储器的单元连接方法另一实施例的流程示意图。本实施例方法包括以下步骤:
步骤S51:获取所述存储器的目标空间尺寸。
步骤S52:判断所述目标空间尺寸是否满足预设条件。若满足,则执行S53。
由于存储资源池中每种存储单元的单元空间尺寸已固定,若目标空间尺寸的存储空间大小仅需一个存储单元的单元空间尺寸即可满足,就无需连接多个存储单元以满足空间尺寸要求;若目标空间尺寸的存储空间大小比存储资源池中任意一种单元空间尺寸都大,此时就需要利用本申请的存储器的单元连接方法来满足目标空间尺寸要求。预设条件可以是目标空间尺寸大于存储资源池中任意一种存储单元的单元空间尺寸。预设条件也可以是目标空间尺寸在一个空间尺寸区间范围内。当然,预设条件可以有多个,对目标空间尺寸是否满足预设条件进行多次判断。可以理解的是,根据不同需求,预设条件可以多种多样,在此不作限定。
步骤S53:按照所述目标空间尺寸以及多种存储单元的单元空间尺寸,为所述存储器生成若干个单元连接方案。
其中,每个单元连接方案包括多个存储单元,且多个存储单元的单元空间尺寸组合等于或大于目标空间尺寸。
步骤S54:从所述若干个单元连接方案中挑选出最优单元连接方案。
步骤S55:利用所述最优单元连接方案所包含的存储单元连接形成所述存储器的存储空间。
本实施例步骤S51,S53-S55的描述可参考上述步骤S11-S14的相关说明,在此不做赘述。
本实施例可通过将目标空间尺寸与预设条件进行比较,只有满足预设条件的目标空间尺寸才按照目标空间尺寸以及多种存储单元的单元空间尺寸,为存储器生成若干个单元连接方案;否则中断后续步骤,结束流程。通过预设条件的设置,允许满足预设条件的目标空间尺寸进行本申请存储器的单元连接方法的步骤,可以对目标空间尺寸进行预判断,快速得到满足用户要求的存储器,避免一律执行步骤S53及其后续步骤带来的时间浪费和资源浪费。
请参阅图6,图6为本申请处理器一实施例的框架示意图。具体而言,处理器600包含多种存储单元610,例如,嵌入式块状存储单元,每种存储单元610对应一个单元空间尺寸。处理器600能够执行上述存储器的单元连接方法。处理器600可以由多个集成电路芯片共同实现。
在一实施例中,处理器为现场可编程逻辑门阵列器件。现场可编程逻辑门阵列(FPGA,Field-Programmable Gate Array),是可编程器件,采用了逻辑单元阵列,内部包括可配置逻辑模块,具有固定容量的存储空间尺寸和“深度*宽度”纵横比可选的特点。具体地,现场可编程逻辑门阵列包括嵌入式块状存储单元,还可包括可编程输入输出单元、基本可编程逻辑单元、内嵌的底层功能单元等基本单元。关于现场可编程逻辑门阵列的组成可以参考现有相关技术,在此不做赘述。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种存储器的单元连接方法,其特征在于,包括:
获取所述存储器的目标空间尺寸;
按照所述目标空间尺寸以及多种存储单元的单元空间尺寸,为所述存储器生成若干个单元连接方案,其中,每个单元连接方案包括多个存储单元,且所述多个存储单元的单元空间尺寸组合等于或大于所述目标空间尺寸;所述多种存储单元中的每种存储单元的单元空间尺寸不同;
从所述若干个单元连接方案中挑选出最优单元连接方案;
利用所述最优单元连接方案所包含的存储单元连接形成所述存储器的存储空间;
其中,所述目标空间尺寸和单元空间尺寸均包括地址深度和数据宽度;
所述按照所述目标空间尺寸以及多种存储单元的单元空间尺寸,为所述存储器生成若干个单元连接方案,包括:
将所述目标空间尺寸进行双向分解得到两个分解结果,并继续对每个所述分解结果进行双向分解,直至最终分解结果中的空间尺寸不大于所述单元空间尺寸;其中,所述双向分解包括:从纵向地址序列中选择小于且最接近待分解空间尺寸的地址深度作为参考地址深度,并利用所述参考地址深度将所述待分解空间尺寸的地址深度进行拆分,以将所述待分解空间尺寸纵向分解成两个纵分空间尺寸;从横向数据序列中选择小于且最接近所述待分解空间尺寸的数据宽度作为参考数据宽度,并利用所述参考数据宽度将所述待分解空间尺寸的数据宽度进行拆分,以将所述待分解空间尺寸横向分解成两个横分空间尺寸;
由所述最终分解结果组成若干个单元连接方案。
2.根据权利要求1所述的方法,其特征在于,每种所述单元连接方案均包括多种所述单元空间尺寸。
3.根据权利要求1所述的方法,其特征在于,所述将所述目标空间尺寸进行双向分解得到两个分解结果,并继续对每个所述分解结果进行双向分解,直至最终分解结果所包含的空间尺寸等于或小于所述单元空间尺寸,包括:
将所述目标空间尺寸作为待分解空间尺寸,并将所述待分解空间尺寸进行纵向分解得到纵向分解结果,将所述分解空间尺寸进行横向分解得到横向分解结果;其中每个分解结果包括由所述待分解空间尺寸划分成的两个空间尺寸,且所述纵向分解结果中的两个空间尺寸的地址深度小于所述待分解空间尺寸的地址深度、且所述两个空间尺寸的数据宽度等于所述待分解空间尺寸的数据宽度;所述横向分解结果中的两个空间尺寸的地址深度等于所述待分解空间尺寸的地址深度、且所述两个空间尺寸的数据宽度小于所述待分解空间尺寸的数据宽度;
判断所述分解结果中的空间尺寸是否大于单元空间尺寸,若是,则将所述分解结果中大于所述单元空间尺寸的空间尺寸作为新的待分解空间尺寸,并重新执行所述将所述待分解空间尺寸进行纵向分解得到纵向分解结果,将所述分解空间尺寸进行横向分解得到横向分解结果的步骤;
重复执行上述判断及其后续步骤,直至每个分解结果中的空间尺寸均不大于单元空间尺寸。
4.根据权利要求3所述的方法,其特征在于,所述纵向地址序列包括多个参考地址深度,所述多个参考地址深度包括所述单元空间尺寸的地址深度及其倍数;所述横向数据序列包括多个参考数据宽度,所述多个参考数据宽度包括所述单元空间尺寸的数据宽度及其倍数。
5.根据权利要求1所述的方法,其特征在于,所述利用所述参考地址深度将所述待分解空间尺寸的地址深度进行拆分,以将所述待分解空间尺寸纵向分解成两个纵分空间尺寸,包括:
将d*w的待分解空间尺寸分解为d1*w的纵分空间尺寸和d2*w的纵分空间尺寸;其中,所述d、w分别为所述待分解空间尺寸的地址深度和数据宽度,所述d1为所述参考地址深度,所述d2为所述d与d1之间的差;
所述利用所述参考数据宽度将所述待分解空间尺寸的数据宽度进行拆分,以将所述待分解空间尺寸横向分解成两个横分空间尺寸,包括:
将d*w的待分解空间尺寸分解为d*w1的横分空间尺寸和d*w2的横分空间尺寸;其中,所述w1为所述参考数据宽度,所述w2为所述w与w1之间的差。
6.根据权利要求1所述的方法,其特征在于,所述从所述若干个单元连接方案中挑选出最优单元连接方案,包括:
按照最优选择策略,从所述若干个单元连接方案中挑选出最优单元连接方案;
其中,所述最优选择策略包括以下至少一个准则:
所述单元连接方案中的存储单元少;
所述单元连接方案所使用的逻辑资源少;其中,所述单元连接方案中纵向连接的存储单元越少,则逻辑资源越少;
所述单元连接方案中的存储单元利用率高。
7.根据权利要求6所述的方法,其特征在于,所述最优选择策略包括多个所述准则;所述按照最优选择策略,从所述若干个单元连接方案中挑选出最优单元连接方案,包括:
从所述准则的优先级来选择准则,并按照选择的所述准则从所述若干个单元连接方案中挑选出一个单元连接方案,作为最优单元连接方案;
或者,根据不同所述准则的权重,为每个所述单元连接方案评分,并选择评分符合最优条件的单元连接方案作为最优单元连接方案。
8.根据权利要求1所述的方法,其特征在于,所述获取所述存储器的目标空间尺寸,包括:
接收用户输入的数据作为所述存储器的目标空间尺寸;
在所述按照所述目标空间尺寸以及多种存储单元的单元空间尺寸,为所述存储器生成若干个单元连接方案之前,还包括:
判断所述目标空间尺寸是否满足预设条件;
若满足,则执行所述按照所述目标空间尺寸以及多种存储单元的单元空间尺寸,为所述存储器生成若干个单元连接方案的步骤。
9.一种处理器,其特征在于,所述处理器能够执行权利要求1至8任一项所述的方法。
10.根据权利要求9所述的处理器,其特征在于,所述处理器为现场可编程逻辑门阵列器件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911006732.0A CN110795037B (zh) | 2019-10-22 | 2019-10-22 | 存储器的单元连接方法、处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911006732.0A CN110795037B (zh) | 2019-10-22 | 2019-10-22 | 存储器的单元连接方法、处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795037A CN110795037A (zh) | 2020-02-14 |
CN110795037B true CN110795037B (zh) | 2021-06-22 |
Family
ID=69440576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911006732.0A Active CN110795037B (zh) | 2019-10-22 | 2019-10-22 | 存储器的单元连接方法、处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795037B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112102860B (zh) * | 2020-09-14 | 2022-07-12 | 广东高云半导体科技股份有限公司 | 存储单元的连接方法以及处理器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05227112A (ja) * | 1992-02-12 | 1993-09-03 | Mitsubishi Electric Corp | ディジタルオーディオ信号伝送方法および装置 |
CN102394101B (zh) * | 2006-05-12 | 2014-12-31 | 苹果公司 | 具有自适应容量的存储设备 |
CN105704218B (zh) * | 2016-01-19 | 2019-04-05 | 国家电网公司 | 云计算平台中数据存储与管理方法 |
CN110349617B (zh) * | 2019-07-16 | 2024-09-17 | 中国科学院微电子研究所 | 一种存储器 |
-
2019
- 2019-10-22 CN CN201911006732.0A patent/CN110795037B/zh active Active
Non-Patent Citations (2)
Title |
---|
.A Survey of On-Chip Optical Interconnects.《ACM Computing Surveys》.2019,第115.1-115.24页. * |
Janibul Bashir,Eldhose Peter,Smruti Ranjan Sarangi * |
Also Published As
Publication number | Publication date |
---|---|
CN110795037A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795037B (zh) | 存储器的单元连接方法、处理器 | |
CN101272542B (zh) | 在通信系统中hsdpa的调度方法 | |
US5659717A (en) | Methods for partitioning circuits in order to allocate elements among multiple circuit groups | |
CA2326381A1 (en) | System and method for increasing cdma capacity by frequency assignment | |
CN101076181B (zh) | Td-scdma系统n频点小区的接入频点选择方法 | |
CN1628478A (zh) | 用于信道化码与功率的自适应预订的方法、系统和网络实体 | |
JP5517701B2 (ja) | 上り伝送のリソーススケジューリング方法及びその装置 | |
CN108280031A (zh) | redis缓存清理方法、服务器及计算机可读存储介质 | |
CN1132332C (zh) | 用于在时隙中发送数据的站和用于发送和接收数据的系统 | |
EP0994593A1 (en) | Method of allocating orthogonal codes in a code division multiple access mobile radio system using codes of variable length | |
CN1260917C (zh) | 一种随机接入的控制方法 | |
CN1451253A (zh) | 向无线电载体分配无线电资源 | |
DE602005003021T2 (de) | Basisstation und Verfahren zur Zuweisung von HS-DSCH Kanalisierungskodes in einem drahtlosen Kommunikationssystem | |
CN1768546A (zh) | 无线信道分配方法 | |
CN102036378A (zh) | 信道的分配方法和装置、基站可用资源的分配方法 | |
CN1214539C (zh) | 管理多路径信号的方法与装置 | |
CN107005849A (zh) | 一种小区功率共享和调整方法和基站 | |
CN100479340C (zh) | 一种wcdma基站的上行基带解调方法及装置 | |
CN1241345C (zh) | 宽带码分多址系统中信道化码资源动态优化分配方法 | |
CN1647549A (zh) | 多路接入系统中多业务分配的方法 | |
CN114499643B (zh) | 卫星地面站中设备资源的分配方法、装置和电子设备 | |
CN112102860B (zh) | 存储单元的连接方法以及处理器 | |
CN107529218A (zh) | 一种获取共享功率的方法、设备及通信系统 | |
CN108923903A (zh) | 多天线系统的导频分配方法、系统及电子设备 | |
CN115292209A (zh) | 一种内存分配的新方法 |
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 |