CN111552653B - 页表的读取方法、装置、设备及计算机存储介质 - Google Patents
页表的读取方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN111552653B CN111552653B CN202010406644.6A CN202010406644A CN111552653B CN 111552653 B CN111552653 B CN 111552653B CN 202010406644 A CN202010406644 A CN 202010406644A CN 111552653 B CN111552653 B CN 111552653B
- Authority
- CN
- China
- Prior art keywords
- page tables
- page
- cache
- page table
- buffer
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000006399 behavior Effects 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000013519 translation Methods 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供了一种页表的读取方法、装置、设备及计算机存储介质,通过在缓存器中的页表中成功查询得到目标虚拟地址对应的物理地址时,获取所述缓存器中的当前未使用的页表的数量;判断所述缓存器中的当前未使用的页表的数量,是否足以支持一次获取页表行为所需的时间内的虚拟地址到物理地址转换的查询操作;若判断出所述缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间,则从存储器中读取预设数量的页表。以达到隐藏从存储器中读取页表的延时,从而提高芯片的处理性能的目的。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种页表的读取方法、装置、设备及计算机存储介质。
背景技术
在大型计算类芯片的设计中,均有对存储器进行地址虚拟化管理的需求,使用虚拟地址对存储器进行读写操作时,需要将虚拟地址转换为物理地址。
目前,虚拟地址转换为物理地址的过程中,通常会在缓存器中查询已有的页表,并根据页表中记录的虚拟地址到物理地址的映射数据,查询得到与虚拟地址对应的物理地址。但是,当缓存器已有的页表使用完毕时,会产生缓存器的页表查询失败的情况,进而触发新的读请求去取回将要使用的页表。而发送读请求去存储器读取页表的延时一般是比较长的,这样就会使得整个硬件流水出现暂时中断,从而影响整个芯片的处理性能。
因此,亟需一种隐藏从存储器中读取页表的延时的方法,从而提高芯片的处理性能。
发明内容
有鉴于此,本申请提供一种页表的读取方法、装置、设备及计算机存储介质,用于隐藏从存储器中读取页表的延时的方法,从而提高芯片的处理性能。
本申请第一方面提供了一种页表的读取方法,包括:
若在缓存器的页表中成功查询得到目标虚拟地址对应的物理地址,则获取所述缓存器中的当前未使用的页表的数量;
判断所述缓存器中的当前未使用的页表的数量,所能支持的执行虚拟地址到物理地址转换的查询操作的时间,是否大于一次在存储器中获取页表行为所需要的时间;
若判断出所述缓存器中的当前未使用的页表的数量,所能支持的执行虚拟地址到物理地址转换的查询操作的时间,大于一次在存储器中获取页表行为所需要的时间,则从所述存储器中读取预设数量的页表。
可选的,所述判断所述缓存器中的当前未使用的页表的数量,所能支持的执行虚拟地址到物理地址转换的查询操作的时间,是否大于一次在存储器中获取页表行为所需要的时间,包括:
判断所述缓存器中的当前未使用的页表的数量,是否等于一次获取预设数量的页表行为所需的时间内页表被使用的数量;
其中:若判断出所述缓存器中的当前未使用的页表的数量,等于一次获取预设数量的页表行为所需的时间内页表被使用的数量,则判断出所述缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间。
可选的,所述页表的读取方法,还包括:
获得所述缓存器缓存页表的数量;其中,所述缓存器缓存页表的数量为所述缓存器的缓存空间能够支持缓存页表的数量;
判断所述缓存器缓存页表的数量,是否大于或者等于一次性获取页表的数量的2倍;
若判断出所述缓存器缓存页表的数量,大于或者等于一次性获取页表的数量的2倍,则执行所述获取所述缓存器中的当前未使用的页表的数量。
可选的,所述从存储器中读取预设数量的页表之后,还包括:
将读取得到的页表,替换所述缓存器中已经使用的页表;其中,被替换掉的页表的数量与所述读取得到的页表的数量相同。
本申请第二方面提供了一种页表的读取装置,包括:
获取单元,用于若在缓存器的页表中成功查询得到目标虚拟地址对应的物理地址,则获取所述缓存器中的当前未使用的页表的数量;
判断单元,用于判断所述缓存器中的当前未使用的页表的数量,所能支持的执行虚拟地址到物理地址转换的查询操作的时间,是否大于一次在存储器中获取页表行为所需要的时间;
读取单元,用于若所述判断单元判断出所述缓存器中的当前未使用的页表的数量,所能支持的执行虚拟地址到物理地址转换的查询操作的时间,大于一次在存储器中获取页表行为所需要的时间,则从存储器中读取预设数量的页表。
可选的,所述判断单元,包括:
判断子单元,用于判断所述缓存器中的当前未使用的页表的数量,是否等于一次获取预设数量的页表行为所需的时间内页表被使用的数量;
其中:若所述判断子单元判断出所述缓存器中的当前未使用的页表的数量,等于一次获取预设数量的页表行为所需的时间内页表被使用的数量,则所述判断单元判断出所述缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间。
可选的,所述页表的读取装置,还包括:
获得单元,用于获得所述缓存器缓存页表的数量;其中,所述缓存器缓存页表的数量为所述缓存器的缓存空间能够支持缓存页表的数量;
比较单元,用于判断所述缓存器缓存页表的数量,是否大于或者等于一次性获取页表的数量的2倍;
若所述比较单元判断出所述缓存器缓存页表的数量,大于或者等于一次性获取页表的数量的2倍,则所述获取单元执行所述获取所述缓存器中的当前未使用的页表的数量的动作。
可选的,所述页表的读取装置,还包括:
替换单元,用于将读取得到的页表,替换所述缓存器中已经使用的页表;其中,被替换掉的页表的数量与所述读取得到的页表的数量相同。
本申请第三方面提供了一种页表的读取设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如本申请第一方面中任意一项所述的方法。
本申请第四方面提供了一种计算存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如本申请第一方面中任意一项所述的方法。
由以上方案可知,本申请提供的一种页表的读取方法、装置、设备及计算机存储介质中,通过在缓存器的页表中成功查询得到目标虚拟地址对应的物理地址时,获取所述缓存器中的当前未使用的页表的数量;判断所述缓存器中的当前未使用的页表的数量,是否足以支持一次获取页表行为所需的时间内的虚拟地址到物理地址转换的查询操作;若判断出所述缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间,则从存储器中读取预设数量的页表,以达到隐藏从存储器中读取页表的延时,从而提高芯片的处理性能的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种页表的读取方法的具体流程图;
图2为本申请另一实施例提供的一种页表的读取方法的具体流程图;
图3为本申请另一实施例提供的一种页表的读取装置的示意图;
图4为本申请另一实施例提供的一种页表的读取装置的示意图;
图5为本申请另一实施例提供的一种执行页表的读取方法的设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系,而术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前,在大型计算类芯片的设计过程中,均有对存储器进行地址虚拟化管理的需求,这样可以让存储器的不同使用单元、用户拥有各自独立的地址空间。使用虚拟地址对存储器进行读写操作,必须经过虚拟地址到实际物理地址的转换,这是至关重要的一步。这个转换过程一般会由专门的模块进行处理,我们可以简称其为VM。从虚拟地址到物理地址的映射数据存放在存储器上,可以称之为页表,简称为PTE。VM的实现中通常会包含一个页表缓存器,用于存放从存储器上读回来的页表,根据虚拟地址查询页表缓存器中的页表即可得到物理地址。
由于VM运作时会先根据当前正在处理的虚拟地址查询缓存器中已有的页表,如果查询命中即可立即获得物理地址;如果查询失败,则会发送读请求到存储器取回所需的页表,现有技术中,会在读请求时一次取回多个页表,这样可使得后续将要处理的虚拟地址直接命中缓存器中的页表。然后即可根据缓冲器中的页表进行虚拟地址到物理地址的转换。
可以看出,现有的VM实现方法中,在发送读请求到存储器读取页表时,无论一次读取多少个页表,当最后一个页表使用完毕时,都会发生缓存器页表查询失败,进而触发新的读请求去取回将要使用的页表的情况。而发送读请求去存储器读取页表的延时一般是比较长的,这样就会使得整个硬件流水出现暂时中断,从而影响整个芯片的处理性能。
因此,本申请实施例提供了一种页表的读取方法,如图1所示,具体包括以下步骤:
S101、接收查询指令;其中,查询指令用于查找目标虚拟地址对应的物理地址。
具体的,如果用户在进行读写操作时,就需要在缓存器中当前存储的页表中查询得到目标虚拟地址所对应的物理地址,因此,会向VM发送查询指令。
S102、响应查询指令,在缓存器当前存储的页表中查询目标虚拟地址对应的物理地址。
其中,缓存器为页表缓存器。页表缓存器会向存储器发送页表的读取指令,并将读取回来的页表在本地存储。因此,在接收到查询指令之后,先在本地存储的页表中查询是否记录有目标虚拟地址对应的物理地址。
具体的,若在缓存器当前存储的页表中查询得到目标虚拟地址对应的物理地址,则执行步骤S103;若在缓存器当前存储的页表中,没有查询得到目标虚拟地址对应的物理地址,则说明查询失败。当在缓存器中当前存储的页表中,没有查询得到目标虚拟地址对应的物理地址时,发送读请求到存储器取回所需的页表。
S103、获取缓存器中的当前未使用的页表的数量。
其中,当前未使用的页表为,缓存器中接收到查询指令,但是并未跟查询指令的虚拟地址相匹配的页表。
具体的,从缓存器中的所有页表中,查询得到当前未使用的页表,并统计出当前未使用的页表数量。
S104、判断缓存器中的当前未使用的页表的数量,是否足以支持一次获取页表行为所需的时间内的虚拟地址到物理地址转换的查询操作。
需要说明的是,当缓存器中的当前未使用的页表的数量越多,则说明有更足够的时间来进行一次页表的获取行为。
具体的,若当前缓存器中未使用的页表可以使用的时间,大于或等于一次获取页表行为所需的时间,则判断出缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间,则执行步骤S105。
可选的,在本申请的另一实施例中,步骤S104的一种实施方式,包括:
判断缓存器中的当前未使用的页表的数量,是否等于一次获取预设数量的页表行为所需的时间内页表被使用的数量。
需要说明的是,在每一个页表所使用的时间相同的情况下,可以通过判断缓存器中的当前未使用的页表的数量,是否等于一次获取预设数量的页表行为所需的时间内页表被使用的数量。
具体的,若判断出缓存器中的当前未使用的页表的数量,等于一次获取预设数量的页表行为所需的时间内页表被使用的数量,则说明缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需要的时间。
S105、从存储器中读取预设数量的页表。
其中,读取预设数量的页表,所能使用的时间必须大于一次从存储器中读取预设数量的页表的使用时间。
需要说明的是,存储器的大小为预设数量的页表的大小的两倍。
具体的,以缓存器中一轮能缓存8个页表为例。在使用第一个页表时,缓存器中的当前未使用的页表的数量,一定足以支持一次获取页表行为所需的时间内的虚拟地址到物理地址转换的查询操作,所以在使用第一个页表的过程中,理论上就可以从存储器中进行预取下一轮的8个页表了。但是,如果页表在实际的使用过程中的顺序,并不是按照页表自身的顺序进行使用,例如,获取页表时的顺序为按照页表1、页表2、页表3、页表4等,而在使用的过程中,为页表2、页表8、页表4、页表1等的顺序进行使用。那么,就会加大预取得到的页表,在使用的过程中,使用无效的概率。并且,可以看出,当前已使用的页表越多,缓存器中剩余的未使用的页表越少,在对页表进行预取时,预取得到的页表的准确率越高。因此,对页表进行预取的时机可以是但不限于,利用预设的公式进行计算得到。其中,预设的公式为,S=max(N/2,M);在公式中,S为缓存器中剩余的页表数量,N为进行读取页表的数量,M为预设的当前缓存器中页表最小的剩余个数,即一次获取页表行为所需的时间内页表被使用的数量。当剩余的页表数量达到S时,开始对页表进行预取。
可选的,在本申请的另一实施例中,在步骤S104之前,如图2所示,还包括:
S201、获得缓存器缓存页表的数量。
其中,缓存器缓存页表的数量为缓存器的缓存空间能够支持缓存页表的数量。
S202、判断缓存器缓存页表的数量,是否大于或者等于一次性获取页表的数量的2倍。
需要说明的是,只有当缓存器缓存页表的数量大于或者等于每一次获取页表的数量的两倍时,才能保证获取回来的新页表不会替换掉缓存器中还未使用的页表。
具体的,若判断出缓存器缓存页表的数量,大于或者等于一次性获取页表的数量的2倍,则执行步骤S203。
S203、获取缓存器中的当前未使用的页表的数量。
具体的,获取缓存器中的当前未使用的页表的数量的具体实现过程,可以参见S103步骤中的实现过程,此处不再赘述。
可选的,在本申请的另一实施例中,在步骤S105之后,还包括:
将读取得到的页表,替换缓存器中已经使用的页表。
其中,被替换掉的页表的数量与读取得到的页表的数量相同。
具体的,将提前获取到的页表替换掉缓存器中已经使用的页表,使得缓存器中始终存有未使用的页表,从而隐藏现有技术中,等待从存储器中读取页表的过程,从而避免了整个硬件流水过程中出现暂时中断,从而影响整个芯片的处理性能,最终达到提高整个芯片处理性能的目的。
由以上方案可知,本申请提供的一种页表的读取方法中,通过在缓存器的页表中成功查询得到目标虚拟地址对应的物理地址时,获取缓存器中的当前未使用的页表的数量;然后,判断缓存器中的当前未使用的页表的数量,是否足以支持一次获取页表行为所需的时间内的虚拟地址到物理地址转换的查询操作;若判断出缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间,则从存储器中读取预设数量的页表。以达到隐藏从存储器中读取页表的延时,从而提高芯片的处理性能的目的。
本申请的另一实施例提供了一种页表的读取装置,如图3所示,具体包括:
获取单元301,用于若在缓存器的页表中成功查询得到目标虚拟地址对应的物理地址,则获取缓存器中的当前未使用的页表的数量。
判断单元302,用于判断缓存器中的当前未使用的页表的数量,是否足以支持一次获取页表行为所需的时间内的虚拟地址到物理地址转换的查询操作。
可选的,在本申请的另一实施例中,判断单元302的一种实施方式,包括:
判断子单元,用于判断缓存器中的当前未使用的页表的数量,是否等于一次获取预设数量的页表行为所需的时间内页表被使用的数量。
具体的:若判断子单元判断出缓存器中的当前未使用的页表的数量,等于一次获取预设数量的页表行为所需的时间内页表被使用的数量,则判断单元302判断出缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
读取单元303,用于若判断单元302判断出缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间,则从存储器中读取预设数量的页表。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图1所示,此处不再赘述。
可选的,在本申请的另一实施例中,页表的读取装置,如图4所示,还包括:
获得单元401,用于获得缓存器缓存页表的数量。
其中,缓存器缓存页表的数量为缓存器的缓存空间能够支持缓存页表的数量。
比较单元402,用于判断缓存器缓存页表的数量,是否大于或者等于一次性获取页表的数量的2倍。
具体的,若比较单元402判断出缓存器缓存页表的数量,大于或者等于一次性获取页表的数量的2倍,则获取单元401执行获取缓存器中的当前未使用的页表的数量的动作。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图2所示,此处不再赘述。
可选的,在本申请的另一实施例中,页表的读取装置,还包括:
替换单元,用于将读取得到的页表,替换缓存器中已经使用的页表。
其中,被替换掉的页表的数量与读取得到的页表的数量相同。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
由以上方案可知,本申请提供的一种页表的读取装置中,通过获取单元301在缓存器的页表中成功查询得到目标虚拟地址对应的物理地址时,获取缓存器中的当前未使用的页表的数量;然后,利用判断单元302判断缓存器中的当前未使用的页表的数量,是否足以支持一次获取页表行为所需的时间内的虚拟地址到物理地址转换的查询操作;若判断单元302判断出缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间,则利用读取单元303从存储器中读取预设数量的页表。以达到隐藏从存储器中读取页表的延时,从而提高芯片的处理性能的目的。
本申请另一实施例提供一种计算机存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如上述实施例中任意一项方法。
本申请另一实施例提供一种设备,如图5所示,包括:
一个或多个处理器501。
存储装置502,其上存储有一个或多个程序。
当一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器实现如上述实施例中任意一项所述的方法。
在本申请公开的上述实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,直播设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种页表的读取方法,其特征在于,包括:
若在缓存器的页表中成功查询得到目标虚拟地址对应的物理地址,则获取所述缓存器中的当前未使用的页表的数量;
判断所述缓存器中的当前未使用的页表的数量,所能支持的执行虚拟地址到物理地址转换的查询操作的时间,是否大于一次在存储器中获取页表行为所需要的时间;
若判断出所述缓存器中的当前未使用的页表的数量,所能支持的执行虚拟地址到物理地址转换的查询操作的时间,大于一次在存储器中获取页表行为所需要的时间,则从所述存储器中读取预设数量的页表。
2.根据权利要求1所述的方法,其特征在于,所述判断所述缓存器中的当前未使用的页表的数量,所能支持的执行虚拟地址到物理地址转换的查询操作的时间,是否大于一次在存储器中获取页表行为所需要的时间,包括:
判断所述缓存器中的当前未使用的页表的数量,是否等于一次获取预设数量的页表行为所需的时间内页表被使用的数量;
其中:若判断出所述缓存器中的当前未使用的页表的数量,等于一次获取预设数量的页表行为所需的时间内页表被使用的数量,则判断出所述缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间。
3.根据权利要求1所述的读取方法,其特征在于,还包括:
获得所述缓存器缓存页表的数量;其中,所述缓存器缓存页表的数量为所述缓存器的缓存空间能够支持缓存页表的数量;
判断所述缓存器缓存页表的数量,是否大于或者等于一次性获取页表的数量的2倍;
若判断出所述缓存器缓存页表的数量,大于或者等于一次性获取页表的数量的2倍,则执行所述获取所述缓存器中的当前未使用的页表的数量。
4.根据权利要求1所述的读取方法,其特征在于,所述从存储器中读取预设数量的页表之后,还包括:
将读取得到的页表,替换所述缓存器中已经使用的页表;其中,被替换掉的页表的数量与所述读取得到的页表的数量相同。
5.一种页表的读取装置,其特征在于,包括:
获取单元,用于若在缓存器的页表中成功查询得到目标虚拟地址对应的物理地址,则获取所述缓存器中的当前未使用的页表的数量;
判断单元,用于判断所述缓存器中的当前未使用的页表的数量,所能支持的执行虚拟地址到物理地址转换的查询操作的时间,是否大于一次在存储器中获取页表行为所需要的时间;
读取单元,用于若所述判断单元判断出所述缓存器中的当前未使用的页表的数量,所能支持的执行虚拟地址到物理地址转换的查询操作的时间,大于一次在存储器中获取页表行为所需要的时间,则从存储器中读取预设数量的页表。
6.根据权利要求5所述的读取装置,其特征在于,所述判断单元,包括:
判断子单元,用于判断所述缓存器中的当前未使用的页表的数量,是否等于一次获取预设数量的页表行为所需的时间内页表被使用的数量;
其中:若所述判断子单元判断出所述缓存器中的当前未使用的页表的数量,等于一次获取预设数量的页表行为所需的时间内页表被使用的数量,则所述判断单元判断出所述缓存器中的当前未使用的页表的数量,足以支持一次获取页表行为所需的时间。
7.根据权利要求5所述的读取装置,其特征在于,还包括:
获得单元,用于获得所述缓存器缓存页表的数量;其中,所述缓存器缓存页表的数量为所述缓存器的缓存空间能够支持缓存页表的数量;
比较单元,用于判断所述缓存器缓存页表的数量,是否大于或者等于一次性获取页表的数量的2倍;
若所述比较单元判断出所述缓存器缓存页表的数量,大于或者等于一次性获取页表的数量的2倍,则所述获取单元执行所述获取所述缓存器中的当前未使用的页表的数量的动作。
8.根据权利要求5所述的读取装置,其特征在于,还包括:
替换单元,用于将读取得到的页表,替换所述缓存器中已经使用的页表;其中,被替换掉的页表的数量与所述读取得到的页表的数量相同。
9.一种页表的读取设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至4中任意一项所述的方法。
10.一种计算机存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至4中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010406644.6A CN111552653B (zh) | 2020-05-14 | 2020-05-14 | 页表的读取方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010406644.6A CN111552653B (zh) | 2020-05-14 | 2020-05-14 | 页表的读取方法、装置、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552653A CN111552653A (zh) | 2020-08-18 |
CN111552653B true CN111552653B (zh) | 2021-01-29 |
Family
ID=72002776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010406644.6A Active CN111552653B (zh) | 2020-05-14 | 2020-05-14 | 页表的读取方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552653B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157606A (zh) * | 2021-04-21 | 2021-07-23 | 上海燧原科技有限公司 | 一种缓存器实现方法、装置和数据处理设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604055A (zh) * | 2003-09-30 | 2005-04-06 | 国际商业机器公司 | 利用永久历史页表数据预取数据到高速缓存的装置和方法 |
CN104424117A (zh) * | 2013-08-20 | 2015-03-18 | 华为技术有限公司 | 内存物理地址查询方法和装置 |
CN104516822A (zh) * | 2013-09-29 | 2015-04-15 | 华为技术有限公司 | 一种内存访问方法和设备 |
CN106168929A (zh) * | 2015-07-02 | 2016-11-30 | 威盛电子股份有限公司 | 选择性预取物理接续快取线至包含被载入分页表的快取线 |
CN110291510A (zh) * | 2017-02-24 | 2019-09-27 | 超威半导体公司 | 流转换后备缓冲器 |
CN110389911A (zh) * | 2018-04-23 | 2019-10-29 | 珠海全志科技股份有限公司 | 一种设备内存管理单元的预取方法、装置及系统 |
CN110941565A (zh) * | 2018-09-25 | 2020-03-31 | 北京比特大陆科技有限公司 | 用于芯片存储访问的内存管理方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9910780B2 (en) * | 2015-10-28 | 2018-03-06 | International Business Machines Corporation | Pre-loading page table cache lines of a virtual machine |
US20180203807A1 (en) * | 2017-01-13 | 2018-07-19 | Arm Limited | Partitioning tlb or cache allocation |
US20190163641A1 (en) * | 2017-11-27 | 2019-05-30 | Intel Corporation | Page translation prefetch mechanism |
US10503660B2 (en) * | 2017-12-20 | 2019-12-10 | Arm Limited | Technique for determining address translation data to be stored within an address translation cache |
GB2576528B (en) * | 2018-08-22 | 2021-06-23 | Advanced Risc Mach Ltd | Performing address translation on predicted virtual memory address |
CN110187958B (zh) * | 2019-06-04 | 2020-05-05 | 上海燧原智能科技有限公司 | 一种任务处理方法、装置、系统、设备及存储介质 |
CN110688330B (zh) * | 2019-09-23 | 2021-08-31 | 北京航空航天大学 | 一种基于内存映射相邻性的虚拟内存地址翻译方法 |
-
2020
- 2020-05-14 CN CN202010406644.6A patent/CN111552653B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604055A (zh) * | 2003-09-30 | 2005-04-06 | 国际商业机器公司 | 利用永久历史页表数据预取数据到高速缓存的装置和方法 |
CN104424117A (zh) * | 2013-08-20 | 2015-03-18 | 华为技术有限公司 | 内存物理地址查询方法和装置 |
CN104516822A (zh) * | 2013-09-29 | 2015-04-15 | 华为技术有限公司 | 一种内存访问方法和设备 |
CN106168929A (zh) * | 2015-07-02 | 2016-11-30 | 威盛电子股份有限公司 | 选择性预取物理接续快取线至包含被载入分页表的快取线 |
CN110291510A (zh) * | 2017-02-24 | 2019-09-27 | 超威半导体公司 | 流转换后备缓冲器 |
CN110389911A (zh) * | 2018-04-23 | 2019-10-29 | 珠海全志科技股份有限公司 | 一种设备内存管理单元的预取方法、装置及系统 |
CN110941565A (zh) * | 2018-09-25 | 2020-03-31 | 北京比特大陆科技有限公司 | 用于芯片存储访问的内存管理方法和装置 |
Non-Patent Citations (2)
Title |
---|
PiBooster: Performance Accelerations in Page Table Management for Paravirtual VMs;Zhi Zhang 等;《2016 IEEE 9th International Conference on Cloud Computing (CLOUD)》;20170119;第513-520页 * |
内存映射文件及其在广义舒适度仿真中的应用;杨宁学 等;《电子测试》;20130731(第13期);第112-115页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111552653A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9858192B2 (en) | Cross-page prefetching method, apparatus, and system | |
US9830260B2 (en) | Method for mapping page address based on flash memory and system therefor | |
US10152420B2 (en) | Multi-way set associative cache and processing method thereof | |
CN111367831B (zh) | 翻译页表的深度预取方法、部件、微处理器及计算机设备 | |
WO2018040270A1 (zh) | 在Windows系统中加载Linux系统ELF文件的方法及装置 | |
CN112860592B (zh) | 基于链表的数据缓存方法、装置、电子设备和存储介质 | |
US11061803B2 (en) | Checking system, checking method and compiling method of system start-up file | |
US20140372710A1 (en) | System and method for recovering from an unexpected shutdown in a write-back caching environment | |
WO2014051625A1 (en) | Dynamically selecting between memory error detection and memory error correction | |
US8782375B2 (en) | Hash-based managing of storage identifiers | |
CN111552653B (zh) | 页表的读取方法、装置、设备及计算机存储介质 | |
KR100781517B1 (ko) | 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법 | |
CN112579595A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN112817538A (zh) | 数据处理的方法、装置、设备和存储介质 | |
CN108874691B (zh) | 数据预取方法和内存控制器 | |
CN114546898A (zh) | 一种tlb管理方法、装置、设备及存储介质 | |
CN107590077B (zh) | 一种Spark负载访存行为追踪方法及装置 | |
CN111061429B (zh) | 一种数据访问方法、装置、设备、介质 | |
CN111381905B (zh) | 一种程序处理方法、装置及设备 | |
CN110941565B (zh) | 用于芯片存储访问的内存管理方法和装置 | |
US11836092B2 (en) | Non-volatile storage controller with partial logical-to-physical (L2P) address translation table | |
CN114741338B (zh) | 旁路转换缓存器、数据更新方法、内存管理单元及芯片 | |
CN116954718A (zh) | 数据预取方法、装置、电子设备及可读介质 | |
CN107301073B (zh) | 一种基于固态硬盘系统的配置信息检索方法及其装置 | |
CN108139980A (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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 200120 room a-522, 188 Yesheng Road, Lingang xinpian District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Shanghai Suiyuan Technology Co.,Ltd. Address before: 201203 Room 302, building 2, zhangrun building, Lane 61, shengxia Road, Pudong New Area, Shanghai Patentee before: SHANGHAI ENFLAME TECHNOLOGY Co.,Ltd. |