CN116974951A - 基于sv实现的储存器地址管理方法及系统 - Google Patents
基于sv实现的储存器地址管理方法及系统 Download PDFInfo
- Publication number
- CN116974951A CN116974951A CN202310947904.4A CN202310947904A CN116974951A CN 116974951 A CN116974951 A CN 116974951A CN 202310947904 A CN202310947904 A CN 202310947904A CN 116974951 A CN116974951 A CN 116974951A
- Authority
- CN
- China
- Prior art keywords
- space
- address
- available
- request
- module
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000000638 solvent extraction Methods 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 4
- 230000005284 excitation Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000007488 abnormal function Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及存储技术领域,具体涉及基于SV实现的储存器地址管理方法、系统、计算机设备及存储介质。该方法包括以下步骤:输入请求空间的请求,根据请求空间的请求地址约束统计可用地址元素;选择最优计算地址空间方法,利用所述可用地址元素以获取可用地址空间集合;根据所述可用地址空间集合的大小选择申请空间的划分和随机化策略;根据申请空间的划分和随机化策略随机挑选符合要求的可用空间,在可用空间的范围内随机申请空间。本发明在保证随机化的前提下,将更多的约束条件交给代码去完成判断,仅在极少的约束条件、随机元素下再启动随机化函数来保证请求地址空间的随机性。
Description
技术领域
本发明涉及存储技术领域,尤其涉及基于SV实现的储存器地址管理方法、系统、计算机设备及存储介质。
背景技术
存储空间在芯片中是必不可少的部分,在芯片中扮演着极其重要的角色。如果一颗芯片设计时,储存空间的边界、使用方式出现了错误,可能会导致芯片功能出现异常,甚至导致芯片无法正常启动。所以对应芯片内存储空间的验证就显得尤为重要,但是由于存储空间的使用根据模块功能的不同,往往遵循着一些规则,加上存储空间一般比较大,对于存储空间的验证,如何产生随机、高效、准确的激励将面临挑战。
各种存储空间的使用方法有所不同,例如在CPU共享ram空间中,要求地址空间的访问不能出现交叠,在一些缓存存储空间中,会将整块数据分散缓存在若干个小空间内,同样的不能与先前使用的空间出现的交叠。这些对于访问空间的需求会导致随机化的激励难以产生。
如图6,对于SV的随机化函数而言,具体实现实际上是使用的穷举法,仿真器会对随机数的每一个值进行每一个约束条件的判断,所以对随机化的空间的约束越多,运算速度越慢。
尤其是对于存储空间地址的穷举判断,因为随机数是一个地址,随机化的范围很大,导致每一次随机都是非常耗时的,所以直接依靠随机化函数加上约束产生随机化地址激励这种方式非常低效,
同时,在SV语言中,随机化激励一旦失败,会报出error,影响最终仿真结果的判断。
发明内容
为了解决上述现有技术中存在的技术问题,本发明提供了一种基于SV实现的储存器地址管理方法、系统、计算机设备及存储介质,旨在避免随机化失败的发生,提升随机化速度,加快存储空间中具有特殊约束要求的随机化地址激励开发速度。
为实现上述目的,本发明实施例提供了如下的技术方案:
第一方面,在本发明提供的一个实施例中,提供了基于SV实现的储存器地址管理方法,该方法包括以下步骤:
输入请求空间的请求,根据请求空间的请求地址约束统计可用地址元素;
选择最优计算地址空间方法,利用所述可用地址元素获取可用地址空间集合;
根据所述可用地址空间集合的大小选择申请空间的划分和随机化策略;
根据申请空间的划分和随机化策略随机挑选符合要求的可用空间,在可用空间的范围内随机获得申请空间。
作为本发明的进一步方案,所述请求地址约束包括地址范围和地址边界。
作为本发明的进一步方案,所述根据请求地址约束统计可用地址元素,包括:
根据请求的地址约束,遍历每个地址是否可用,并将可用的地址和不可用的地址分别放入两个队列中,以获得可用地址元素。
作为本发明的进一步方案,所述选择最优计算地址空间方法,利用所述可用地址元素,以获取可用地址空间集合,包括:
根据未被使用的地址元素集合还是已被使用的地址元素集合来计算可用地址空间集合。
作为本发明的进一步方案,所述选择最优计算地址空间方法,获取可用地址空间集合,包括:
比较可用地址队列和不可用地址队列,并选择计算量小的地址队列进行可用空间计算。
第二方面,在本发明提供的又一个实施例中,提供了基于SV实现的储存器地址管理系统,该系统包括:统计模块、空间集合获取模块、策略确定模块和输出模块;
所述统计模块,用于输入请求空间的请求,根据请求空间的请求地址约束统计可用地址元素;
所述空间集合获取模块,用于选择最优计算地址空间方法,利用所述可用地址元素,以获取可用地址空间集合;
所述策略确定模块,用于根据所述可用地址空间集合的大小选择申请空间的划分和随机化策略;
所述输出模块,用于根据申请空间的划分和随机化策略随机挑选符合要求的可用空间,在可用空间的范围内随机获得申请空间。
第三方面,在本发明提供的又一个实施例中,提供了基于SV实现的储存器地址管理装置,该装置包括:分配内存、第一模块和第二模块;
所述分配内存,用于接收申请空间的约束条件,并将所述约束条件发送给第一模块;接收可用空间集合,并将可用空间集合发送至第二模块;基于申请空间,输出申请空间的地址范围集合;
所述第一模块,基于所述约束条件,利用产生、元素所对应的索引值队列;根据、元素所对应的索引值队列,计算可用空间集合,并将所述可用集合发送给分配内存;
所述第二模块,用于基于所述可用空间集合和申请空间剩余大小来选择申请的子空间大小,返回申请空间至分配内存。
作为本发明的进一步方案,所述第二模块用于基于所述可用空间集合和申请空间剩余大小来选择申请的子空间大小,返回申请空间至分配内存,包括:
可用空间筛选器根据申请空间的大小从可用空间中进行筛选,获得可用空间集合;
空间随机发生器从可用空间集合随机选择输出空间;
在输出空间内随机获得申请空间大小的地址范围,即获得申请空间。
第四方面,在本发明提供的又一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现基于SV实现的储存器地址管理方法的步骤。
第五方面,在本发明提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述基于SV实现的储存器地址管理方法的步骤。
本发明提供的技术方案,具有如下有益效果:
本发明提供的基于SV实现的储存器地址管理方法、系统、计算机设备及存储介质,该方法输入请求空间的请求,根据请求空间的请求地址约束统计可用地址元素;选择最优计算地址空间方法,利用所述可用地址元素,以获取可用地址空间集合;根据所述可用地址空间集合的大小选择申请空间的划分和随机化策略;根据申请空间的划分和随机化策略随机挑选符合要求的可用空间,在可用空间的范围内随机获得申请空间。本发明通过拆解,在保证随机化的前提下,将更多的约束条件交给代码去完成判断,仅在极少的约束条件、随机元素下再启动随机化函数来保证请求地址空间的随机性;提高了复杂约束条件下随机化地址空间的运算速率,避免了随机化约束的失败对仿真结果检查的干扰,同时,作为一种地址空间的管理办法,具有很强的复用性和拓展性,大大提高了存储模块的验证效率。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例的基于SV实现的储存器地址管理方法的流程图。
图2为本发明一个实施例的基于SV实现的储存器地址管理示例具体流程图。
图3为本发明一个实施例的基于SV实现的储存器地址管理系统的结构框图。
图4为本发明一个实施例的基于SV实现的储存器地址管理装置的结构框图。
图5为本发明一个实施例的计算机设备的结构框图。
图6为现有技术的对于存储空间地址的穷举判断的示意图。
图中:统计模块-100、空间集合获取模块-200、策略确定模块-300、输出模块-400、分配内存-1001、第一模块-1002、第二模块-1003、处理器-501、通信接口-502、存储器-503、通信总线-504。
具体实施方式
以下参照附图说明各种实施例及/或各形态。在以下说明中,以说明为目的公开了多个具体细节以整体上理解一个以上的形态。但是,本领域的技术人员可以理解在没有具体细节的情况下也可以实施这些形态。在以下的记载及附图中将详细说明一个以上的形态的特定例示。但是,这些形态是例示而已,可以利用各种形态的原理中各种方法中的一部分,所阐述的说明旨在包括所有形态及其等同物。具体地,在本说明书中使用的术语“实施例”、“例”、“形态”、“例示”等可以被解释为所描述的任意形态或设计可以比其他形态或设计更好或具有优点。
另外,各种形态及特征可通过包括一个以上的装置、终端、服务器、设备、组件及/或模块等的系统体现。应理解并认识各种系统可包括额外的多个装置、终端、服务器、设备、组件及/或模块,并且/或也可以不包括图中所示的多个装置、终端、服务器、设备、组件、模块等的全部。
在本说明书中使用的术语“计算机程序”、“组件”、“模块”、“系统”等可以互换使用,并且计算机-相关实体、硬件、固件、软件、软件及硬件的组合或指软件的执行。例如,组件可以是在处理器上执行的处理过程、处理器、客体、执行线程、程序及/或计算机,但不限定于此。例如,可以是在计算机装置执行的应用程序及/或计算装置所有组件。一个以上的组件可以安装在处理器及/或执行线程内。一个组件可以在一个计算机中本地化。一个组件也可以在两个以上的计算机之间分配。
并且,这些组件可由在内部存储各种数据构造的各种计算机可读介质执行。这些组件,例如可根据具有一个以上的数据包的信号(例如,在本地系统、分散系统上通过与其他组件相互作用的一个组件发出的数据及信号与其他系统通过互联网等网络传输的数据)通过本地及/或远程处理通信。
以下,与图面符号无关,对相同或类似的构成要素赋予相同的符号,并省略对此的重复说明。并且,在说明本说明书中公开的实施例时,若判断对公知技术的具体说明会使本发明的要旨不明确,则省略对其的详细说明。并且,附图仅为了更容易理解在本说明书中公开的实施例,本说明书中公开的技术思想并不限定于附图。
在本说明书中使用的术语是为了说明这些实施例的,而不是限制本发明。在没有特别提及的情况下,本说明书中的单数表现包括复数表现。在说明书中使用的“包含(comprises)”及/或“包含的(comprising)”被提及的构成要素以外不排除一个以上的其他构成要素的存在或附加。
第一、第二等术语可用于说明多种元件或构成要素,但所述元件或构成要素并不局限于所述术语。所述术语以从其他元件或构成要素区分一个元件或构成要素而使用。因此,在以下提及的第一元件或构成要素当然也可以是本发明的技术思想内的第2元件或构成要素。
若没有其他定义,在本说明书中使用的所有术语(包括技术及科学术语)可以用于本发明所属领域的领域技术人员共通理解的含义。另外,在一般使用的词典上被定义的术语,若没有特别明确定义,则不应以理想性或过度解释。
另外,术语“或”的意思不是排他的“或”而是包含的“或”。即,除非有其他特定或文脉上不明确时“X利用A或B”意味着自然内涵的替换之一。即,X利用A或;X利用B或X利用A及B时,“X利用A或B”可以上面的任何情况。并且,应理解在本说明书中使用的“及/或”的术语指代包括在例举的相关项目中的一个以上项目可能的所有组合。
另外,在本说明书中使用的术语“信息”及“数据”通常可互换使用。
在以下说明中使用的对构成要素的后缀“模块”及“部”,只是为了方便撰写说明书而赋予或混用的,其本身并没有相互区别的含义或作用。
具体地,下面结合附图,对本发明实施例作进一步阐述。
请参阅图1,图1是本发明实施例提供的一种基于SV实现的储存器地址管理方法的流程图,如图1所示,该基于SV实现的储存器地址管理方法包括步骤S10至步骤S40。
S10、输入请求空间的请求,根据请求空间的请求地址约束统计可用地址元素。
在本发明的实施例中,所述请求地址约束包括地址范围和地址边界等,具体的是在满足请求空间对于地址的约束需求下,找出已被使用和未被使用的地址元素。
在本发明的实施例中,所述根据请求地址约束统计可用地址元素,包括:
根据请求的地址约束,遍历每个地址是否可用,并将可用的地址和不可用的地址分别放入两个队列中,以获得可用地址元素。
S20、选择最优计算地址空间方法,利用所述可用地址元素,以获取可用地址空间集合。
在本发明的实施例中,根据未被使用的地址元素集合还是已被使用的地址元素集合来计算可用地址空间集合。
在本发明的实施例中,所述选择最优计算地址空间方法,获取可用地址空间集合,包括:
比较可用地址队列和不可用地址队列,并选择计算量小的地址队列进行可用空间计算。如此节省运算量的目的。
S30、根据所述可用地址空间集合的大小选择申请空间的划分和随机化策略。
在本发明的实施例中,根据请求空间对于空间大小的约束需求(总共需要多少空间,最多拆分为多少子空间,子空间的最大最小规模等),结合可用空间集合,在合适的可用空间中随机选择一个加上请求分配的(子)空间大小传入第四部分。
S40、根据申请空间的划分和随机化策略随机挑选符合要求的可用空间,在可用空间的范围内随机获得申请空间。
示例性的,请参阅图2,图2提供一个实施例的基于SV实现的储存器地址管理方法示例具体流程图,如图2所示,工程师通过调用空间管理class中的函数alloc_mem_region,输入需要在某个地址范围内申请的空间大小,是否支持返回若干个子空间,子空间的个数、大小等约束。函数alloc_mem_region首先会通过section A获取可用的空间集合。
Section A主要包含两部分,第一部分“01discriminator”是在输入地址范围的约束中,遍历每个地址是否可用,并将可用的地址和不可用的地址分别放入两个队列中。第二部分“Valid_space_array_gen”是根据可用地址队列和不可用地址队列的大小来决定,是依据可用的地址来计算可用空间,还是依据不可用的地址来计算,节省运算量的目的。
alloc_mem_region获得可用空间集合后,会结合使用者传入的其他需求,以及请求空间的大小,来决定需要申请几块子空间以满足使用者的需求,并将其放入section B中。
section B根据alloc_mem_region输入的需求,在第一部分“Available_spacefilter”中,筛选出符合条件的可用空间集合。在第二部分“Space randomizer”中,对第一部分筛选出的可用空间集合里,进行随机选择。在第三部分“Request_space_gen”中,在第二部分选择的可用空间集合范围内,分别随机获得alloc_mem_region想申请的空间地址范围集合。
本发明通过拆解,在保证随机化的前提下,将更多的约束条件交给代码去完成判断,仅在极少的约束条件、随机元素下再启动随机化函数来保证请求地址空间的随机性;提高了复杂约束条件下随机化地址空间的运算速率,避免了随机化约束的失败对仿真结果检查的干扰,同时,作为一种地址空间的管理办法,具有很强的复用性和拓展性,大大提高了存储模块的验证效率。
应该理解的是,上述虽然是按照某一顺序描述的,但是这些步骤并不是必然按照上述顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本实施例的一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,参见图3所示,在本发明的实施例中还提供了基于SV实现的储存器地址管理系统,该系统包括统计模块100、空间集合获取模块200、策略确定模块300和输出模块400。
所述统计模块100,用于输入请求空间的请求,根据请求空间的请求地址约束统计可用地址元素。
所述空间集合获取模块200,用于选择最优计算地址空间方法,利用所述可用地址元素,以获取可用地址空间集合。
所述策略确定模块300,用于根据所述可用地址空间集合的大小选择申请空间的划分和随机化策略。
所述输出模块400,用于根据申请空间的划分和随机化策略随机挑选符合要求的可用空间,在可用空间的范围内随机获得申请空间。
在一个实施例中,参见图3所示,在本发明的实施例中还提供了基于SV实现的储存器地址管理装置,该装置包括分配内存1001、第一模块1002和第二模块1003。
所述分配内存1001,用于接收申请空间的约束条件,并将所述约束条件发送给第一模块1002;接收可用空间集合,并将可用空间集合发送至第二模块1003;基于申请空间,输出申请空间的地址范围集合。
所述第一模块1002,基于所述约束条件,利用产生0、1元素所对应的索引值队列;根据0、1元素所对应的索引值队列,计算可用空间集合,并将所述可用集合发送给分配内存1001。
所述第二模块1003,用于基于所述可用空间集合和申请空间剩余大小来选择申请的子空间大小,返回申请空间至分配内存1001。
在本发明实施例中,所述第二模块300,用于基于所述可用空间集合和申请空间剩余大小来选择申请的子空间大小,返回申请空间至分配内存1001,包括:
可用空间筛选器(可用空间筛选器的英文翻译:Available_space filter)根据申请空间的大小从可用空间中进行筛选,获得可用空间集合;
空间随机发生器(空间随机发生器的英文翻译:Space randomizer)从可用空间集合随机选择输出空间;
在输出空间内随机获得申请空间大小的地址范围,即获得申请空间。
本发明通过拆解,在保证随机化的前提下,将更多的约束条件交给代码去完成判断,仅在极少的约束条件、随机元素下再启动随机化函数来保证请求地址空间的随机性;提高了复杂约束条件下随机化地址空间的运算速率,避免了随机化约束的失败对仿真结果检查的干扰,同时,作为一种地址空间的管理办法,具有很强的复用性和拓展性,大大提高了存储模块的验证效率。
在一个实施例中,参见图5所示,在本发明的实施例中还提供了一种计算机设备,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的计算机程序时,执行所述的基于SV实现的储存器地址管理方法,该处理器执行指令时实现上述方法实施例中的步骤:
输入请求空间的请求,根据请求空间的请求地址约束统计可用地址元素;
选择最优计算地址空间方法,利用所述可用地址元素,以获取可用地址空间集合;
根据所述可用地址空间集合的大小选择申请空间的划分和随机化策略;
根据申请空间的划分和随机化策略随机挑选符合要求的可用空间,在可用空间的范围内随机获得申请空间。
上述终端提到的通信总线可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(ApplicationSpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
还应当进理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在本发明的一个实施例中还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤:
输入请求空间的请求,根据请求空间的请求地址约束统计可用地址元素;
选择最优计算地址空间方法,利用所述可用地址元素,以获取可用地址空间集合;
根据所述可用地址空间集合的大小选择申请空间的划分和随机化策略;
根据申请空间的划分和随机化策略随机挑选符合要求的可用空间,在可用空间的范围内随机获得申请空间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种基于SV实现的储存器地址管理方法,其特征在于,该方法包括:
输入请求空间的请求,根据请求空间的请求地址约束统计可用地址元素;
选择计算地址空间方法,利用所述可用地址元素获取可用地址空间集合;
根据所述可用地址空间集合的大小选择申请空间的划分和随机化策略;
根据申请空间的划分和随机化策略随机挑选符合要求的可用空间,在可用空间的范围内随机地获得申请空间。
2.如权利要求1所述的基于SV实现的储存器地址管理方法,其特征在于,所述请求地址约束包括地址范围和地址边界。
3.如权利要求1所述的基于SV实现的储存器地址管理方法,其特征在于,所述根据请求地址约束统计可用地址元素,包括:
根据请求的地址约束遍历每个地址是否可用,并将可用的地址和不可用的地址分别放入两个队列中,以获得可用地址元素。
4.如权利要求1所述的基于SV实现的储存器地址管理方法,其特征在于,所述选择计算地址空间方法,利用所述可用地址元素获取可用地址空间集合,包括:
根据未被使用的地址元素集合还是已被使用的地址元素集合来计算可用地址空间集合。
5.如权利要求4所述的基于SV实现的储存器地址管理方法,其特征在于,所述选择计算地址空间方法获取可用地址空间集合,包括:
比较可用地址队列和不可用地址队列,并选择计算量小的地址队列进行可用空间计算。
6.一种基于SV实现的储存器地址管理系统,其特征在于,该系统包括:统计模块、空间集合获取模块、策略确定模块和输出模块;
所述统计模块被配置用于输入请求空间的请求,根据请求空间的请求地址约束统计可用地址元素;
所述空间集合获取模块被配置用于选择计算地址空间方法,利用所述可用地址元素获取可用地址空间集合;
所述策略确定模块被配置用于根据所述可用地址空间集合的大小选择申请空间的划分和随机化策略;
所述输出模块被配置用于根据申请空间的划分和随机化策略随机挑选符合要求的可用空间,在可用空间的范围内随机地获得申请空间。
7.一种基于SV实现的储存器地址管理装置,其特征在于,该装置包括分配内存、第一模块和第二模块;
所述分配内存被配置用于接收申请空间的约束条件,并将所述约束条件发送给第一模块;接收可用空间集合,并将可用空间集合发送至第二模块;基于申请空间,输出申请空间的地址范围集合;
所述第一模块被配置基于所述约束条件,产生元素所对应的索引值队列;根据元素所对应的索引值队列,计算可用空间集合,并将所述可用集合发送给分配内存;
所述第二模块被配置用于基于所述可用空间集合和申请空间剩余大小来选择申请的子空间大小,返回申请空间至分配内存。
8.如权利要求7所述的基于SV实现的储存器地址管理装置,其特征在于,所述第二模块用于基于所述可用空间集合和申请空间剩余大小来选择申请的子空间大小,返回申请空间至分配内存,包括:
可用空间筛选器根据申请空间的大小从可用空间中进行筛选,获得可用空间集合;
空间随机发生器从可用空间集合随机选择输出空间;
在输出空间内随机获得申请空间大小的地址范围,即获得申请空间。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现如权利要求1-5任一项所述的基于SV实现的储存器地址管理方法的步骤。
10.一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现如权利要求1-5任一项所述的基于SV实现的储存器地址管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310947904.4A CN116974951A (zh) | 2023-07-31 | 2023-07-31 | 基于sv实现的储存器地址管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310947904.4A CN116974951A (zh) | 2023-07-31 | 2023-07-31 | 基于sv实现的储存器地址管理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116974951A true CN116974951A (zh) | 2023-10-31 |
Family
ID=88481038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310947904.4A Pending CN116974951A (zh) | 2023-07-31 | 2023-07-31 | 基于sv实现的储存器地址管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116974951A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667418A (zh) * | 2023-12-13 | 2024-03-08 | 成都北中网芯科技有限公司 | 一种模拟主机的内存分配管理方法、系统及介质 |
-
2023
- 2023-07-31 CN CN202310947904.4A patent/CN116974951A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117667418A (zh) * | 2023-12-13 | 2024-03-08 | 成都北中网芯科技有限公司 | 一种模拟主机的内存分配管理方法、系统及介质 |
CN117667418B (zh) * | 2023-12-13 | 2024-09-10 | 成都北中网芯科技有限公司 | 一种模拟主机的内存分配管理方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2024050808A (ja) | 作業負荷の繰り返し冗長化 | |
CN113485834B (zh) | 共享内存管理方法、装置、计算机设备和存储介质 | |
CN111045933A (zh) | 一种回归策略更新方法、装置、存储介质及终端设备 | |
CN116974951A (zh) | 基于sv实现的储存器地址管理方法及系统 | |
JP6446125B2 (ja) | リソースリーク検出の方法、装置及びシステム | |
US10628352B2 (en) | Heterogeneous multi-processor device and method of enabling coherent data access within a heterogeneous multi-processor device | |
CN107851041B (zh) | 多处理器/多核心计算系统的动态调优 | |
CN113067875B (zh) | 基于微服务网关动态流控的访问方法和装置以及设备 | |
JP7135853B2 (ja) | バッファオーバーフローの低減 | |
CN112333246B (zh) | 一种ABtest实验方法、装置、智能终端及存储介质 | |
US20240045787A1 (en) | Code inspection method under weak memory ordering architecture and corresponding device | |
KR102254159B1 (ko) | 운영체제 커널 메모리의 실시간 오류 검출 방법 | |
WO2020086053A1 (en) | Dynamic allocation of computing resources for electronic design automation operations | |
CN111047017B (zh) | 一种神经网络算法的评估方法、装置及电子设备 | |
CN115905040B (zh) | 计数器的处理方法、图形处理器、设备及存储介质 | |
CN111046004A (zh) | 一种数据文件存储方法、装置、设备及存储介质 | |
CN107391262B (zh) | 一种作业调度方法及装置 | |
CN113448867B (zh) | 一种软件压力测试方法及装置 | |
CN112328514B (zh) | 一种多线程处理器系统产生独立进程标识的方法和装置 | |
CN110175182B (zh) | 数据核对方法及装置 | |
CN117891510B (zh) | 指令获取方法、装置、计算机设备和存储介质 | |
US9632830B1 (en) | Cache retention analysis system and method | |
CN111090629B (zh) | 一种数据文件存储方法、装置、设备及存储介质 | |
CN104951369A (zh) | 消除热点资源竞争的方法和装置 | |
CN117891509B (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 |