CN111427804B - 一种减少缺页中断次数的方法、存储介质及智能终端 - Google Patents

一种减少缺页中断次数的方法、存储介质及智能终端 Download PDF

Info

Publication number
CN111427804B
CN111427804B CN202010171316.2A CN202010171316A CN111427804B CN 111427804 B CN111427804 B CN 111427804B CN 202010171316 A CN202010171316 A CN 202010171316A CN 111427804 B CN111427804 B CN 111427804B
Authority
CN
China
Prior art keywords
page
missing
table information
current
interruption
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
Application number
CN202010171316.2A
Other languages
English (en)
Other versions
CN111427804A (zh
Inventor
杨超
吴闽华
孟庆晓
秦金昆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Genew Technologies Co Ltd
Original Assignee
Shenzhen Genew Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Genew Technologies Co Ltd filed Critical Shenzhen Genew Technologies Co Ltd
Priority to CN202010171316.2A priority Critical patent/CN111427804B/zh
Publication of CN111427804A publication Critical patent/CN111427804A/zh
Application granted granted Critical
Publication of CN111427804B publication Critical patent/CN111427804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开一种减少缺页中断次数的方法、存储介质及智能终端,其中,所述方法包括步骤:将内存按照预定大小进行页面划分,每个页面均采用页表信息记录状态;当处理器访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面;将当前页面和预测的下一个缺页中断页面的内存同时载入缓存中。本发明能够预测当前缺页后接下来会缺页的页面,将预测的页面内存也载入缓存,减少缺页中断的发生,从而有效提高处理器运行效率。

Description

一种减少缺页中断次数的方法、存储介质及智能终端
技术领域
本发明涉及计算机领域,特别涉及一种减少缺页中断次数的方法、存储介质及智能终端。
背景技术
在计算机系统中,CPU高速缓存(Cache)是用于减少处理器访问内存所需平均时间的部件。在金字塔式存储体系中,它位于自上向下的第二层,仅次于CPU寄存器,其容量远小于内存,但速度却可以接近处理器的频率。如图1所示,CPU芯片中集成一级缓存(L1),这种缓存的大小一般为16/32KB,相对于外部RAM大小而言,所述一级缓存相当小,但是CPU对一级缓存的访问非常快,和CPU访问其内部寄存器一样的速度。同时,CPU也可以外挂二级缓存(L2),其访问速度仅次于一级缓存,但是又快于外部RAM,二级缓存的大小一般是2MB以下,最外层就是运行内存RAM。
当处理器发出内存访问请求时,会先查看一级缓存内是否有请求数据,若果存在,则不经访问内存直接返回该数据;如果不存在,则CPU会触发缺页中断,软件在该中断中将内存中的相应数据载入缓存,然后CPU才能正常访问数据。
缓存对软件很透明,程序员无法直接读写缓存。软件要做的事情是在CPU产生缺页中断时,将所缺失页面内存载入缓存中。由于缓存大小非常有限,只能将很小的一部分内存缓存起来。如果缺页中断很少产生,那么CPU将非常高效的运行。如何保证缺页中断尽可能少的产生,必然需要将经常访问的内存载入缓存中。缺页中断对缓存的替换,有很多经典的算法,其代表算法有①LRU(Least Recently Used)算法:将最近最少使用的内容替换出Cache;②LFU(Lease Frequently Used)算法:将访问次数最少的内容替换出Cache。
上述算法中,一次缺页中断只会替换当前需要的页面(4KB)空间到缓存。如果CPU可能在接下来要载入连续的多个页面到cache,也需要触发多次缺页中断。如果能在当前缺页中断时,能预测接下来连续的多个页面也会载入缓存,那么可以将多个页面对应的内存数据全部载入缓存,利用LRU算法将不用的页面替换出来,这样将减少至少一半的缺页中断,提高CPU运行效率。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种减少缺页中断次数的方法、存储介质及智能终端,旨在解决现有处理器在访问内存时频繁发生缺页中断,导致处理器运行效率较低的问题。
本发明的技术方案如下:
一种减少缺页中断次数的方法,其中,包括步骤:
将内存按照预定大小进行页面划分,每个页面均采用页表信息记录状态;
当处理器访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面;
将当前页面和预测的下一个缺页中断页面的内存同时载入缓存中。
所述减少缺页中断次数的方法,其中,所述页表信息包括:当前缺页中断时的页面号,上一次缺页中断的页面号,下一次缺页中断发生时载入的页面号,以及下一次缺页中断发生时载入的页面号连续出现的次数。
所述减少缺页中断次数的方法,其中,所述当处理器访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面的步骤包括:
当处理器访问当前页面发生缺页中断时,则获取当前页面的页表信息;
若所述页表信息中的下一次缺页中断发生时载入的页面号连续出现的次数大于等于2,则预测所述页表信息中的下一次缺页中断发生时载入的页面号将发生缺页中断。
所述减少缺页中断次数的方法,其中,所述当处理器访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面的步骤包括:
当处理器访问当前页面发生缺页中断时,则获取当前页面的页表信息;
根据所述当前页面的页表信息判断处理器上一次访问是否发生缺页中断;
若判定所述处理器上一次访问发生缺页中断,则获取上一次缺页中断时记录的页表信息,并判断上一次缺页中断时记录的页表信息中的下一次缺页中断发生时要载入的页面号是否等于当前页面的页面号;
若所述上一次缺页中断时记录的页表信息中的下一次缺页中断发生时要载入的页面号等于当前页面的页面号,则更新所述上一次缺页中断时记录的页表信息,将其下一次缺页中断发生时要载入的页面号连续出现的次数+1;
若所述页表信息中的下一次缺页中断发生时载入的页面号连续出现的次数大于等于2,则预测所述页表信息中的下一次缺页中断发生时载入的页面号发生缺页中断。
所述减少缺页中断次数的方法,其中,还包括步骤:
若判定所述处理器上一次访问未发生缺页中断,则将当前页面的内存同时载入缓存中。
所述减少缺页中断次数的方法,其中,还包括步骤:
若所述上一次缺页中断时记录的页表信息中的下一次缺页中断发生时要载入的页面号不等于当前页面的页面号,则更新所述上一次缺页中断时记录的页表信息,将其下一次缺页中断发生时要载入的页面号连续出现的次数清零。
所述减少缺页中断次数的方法,其中,所述每个页面的内存预定大小为4KB。
所述减少缺页中断次数的方法,其中,所述将当前页面和预测的下一个缺页中断页面的内存同时载入缓存中的步骤之前还包括:
删除所述缓存中最长时间没使用的页面内存。
一种存储介质,其中,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明所述减少缺页中断次数的方法中的步骤。
一种智能终端,其中,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现本发明所述减少缺页中断次数的方法中的步骤。
有益效果:本发明提供一种减少缺页中断次数的方法,通过将内存按照预定大小进行页面划分,每个页面均采用页表信息记录状态;当处理器访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面;将当前页面和预测的下一个缺页中断页面的内存同时载入缓存中。本发明能够预测当前缺页后接下来会缺页的页面,将预测的页面内存也载入缓存,减少缺页中断的发生,从而有效提高处理器运行效率。
附图说明
图1为现有计算机系统的存储体系结构示意图。
图2为本发明一种减少缺页中断次数的方法较佳实施例的流程图。
图3为CPU未访问内存页面时的示意图。
图4为CPU第一次访问内存页面4的示意图。
图5为CPU第一次访问内存页面899的示意图。
图6为CPU第三次访问内存页面4的示意图。
图7为本发明一种智能终端的原理框图。
具体实施方式
本发明提供一种减少缺页中断次数的方法、存储介质及智能终端,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
请参阅图2,图2为本发明提供的一种减少缺页中断次数的方法较佳实施例的流程图,如图所示,其包括步骤:
S10、将内存按照预定大小进行页面划分,每个页面均采用页表信息记录状态;
S20、当处理器访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面;
S30、将当前页面和预测的下一个缺页中断页面的内存同时载入缓存中。
本实施例通过采用页表信息记录每个页面的状态,当处理器(CPU)访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面,将预测的下一个缺页中断页面内存和当前页面内存同时载入缓存,减少缺页中断的发生,从而有效提高处理器运行效率。
在一些实施方式中,以计算机系统为例,由于处理器对内存管理一般是段页式管理,段的大小可以很大,页面大小一般配置为4KB。在处理器启动内存管理单元后,软件会维护计算机系统的页表信息,每4KB的内存需要一条页表信息记录。每个页的内存起始地址都是以4KB对齐,如果系统内存有128MB,那么需要128M/4K=32768条页表信息。定义一个全局变量current_page_fault_index=-1,记录当前缺页中断时的页面号;定义全局变量last_page_fault_index=-1,记录上一次缺页中断的页面号。
在一些实施方式中,所述页表信息包括当前缺页中断时的页面号,上一次缺页中断的页面号,下一次缺页中断发生时载入的页面号,以及下一次缺页中断发生时载入的页面号连续出现的次数,但不限于此。具体来讲,为每条页表信息定义以下结构体数据:
struct stPageFaultInfo
{
u64 m_tick;//当前发生缺页中断时的系统tick数
u32 m_nextPageIndex;//下一次缺页中断来载入的页面号
int m_count;//下一次缺页中断载入的页面号连续出现的次数
};
m_stPageFaultInfoArray[32768];//32768个记录。
在一些实施方式中,当处理器访问当前页面发生缺页中断时,则获取当前页面的页表信息;根据所述当前页面的页表信息判断处理器上一次访问是否发生缺页中断;若判定所述处理器上一次访问未发生缺页中断,则将当前页面的内存同时载入缓存中;若判定所述处理器上一次访问发生缺页中断,则获取上一次缺页中断时记录的页表信息,并判断上一次缺页中断时记录的页表信息中的下一次缺页中断发生时要载入的页面号是否等于当前页面的页面号;若所述上一次缺页中断时记录的页表信息中的下一次缺页中断发生时要载入的页面号等于当前页面的页面号,则更新所述上一次缺页中断时记录的页表信息,将其下一次缺页中断发生时要载入的页面号连续出现的次数+1;若所述页表信息中的下一次缺页中断发生时载入的页面号连续出现的次数大于等于2,则预测所述页表信息中的下一次缺页中断发生时载入的页面号发生缺页中断,此时删除所述缓存中最长时间没使用的页面内存,并将当前页面和预测的下一个缺页中断页面的内存同时载入缓存中。
在一些实施方式中,若所述上一次缺页中断时记录的页表信息中的下一次缺页中断发生时要载入的页面号不等于当前页面的页面号,则更新所述上一次缺页中断时记录的页表信息,将其下一次缺页中断发生时要载入的页面号连续出现的次数清零。
下面通过一个具体具体实施例对本发明的技术方案做进一步的解释说明:
如图3所示,在一个计算机系统中,所述缓存包括4个页面,所述内存包括32768个页面,计算机系统刚启动时,缓存没有存放任何内存的页面,当前缺页中断页面号和上次缺页中断页面号都为非法值-1,
current_page_fault_index=-1
last_page_fault_index=-1
所有的页表信息m_stPageFaultInfoArray[0~32767]都为初始值,没有记录任何有效信息。此时CPU要访问内存页面4,因为缓存为空,不缓存任何页面,所以触发缺页中断。在缺页中断程序中,将当前要访问的页面4载入缓存,如图4所示。此时页面4的页表信息包括以下内容:
current_page_fault_index=4
last_page_fault_index=-1
m_stPageFaultInfoArray[4].m_tick=1000000;
m_stPageFaultInfoArray[4].m_nextPageIndex=-1;
m_stPageFaultInfoArray[4].m_count=1。
接着CPU要访问内存页面899,因为缓存没有899的页面,所以触发缺页中断。在缺页中断程序中,将当前要访问的页面899载入缓存,如图5所示。此时页面899的页表信息包括以下内容:
current_page_fault_index=899
last_page_fault_index=4
m_stPageFaultInfoArray[899].m_tick=2000000;
m_stPageFaultInfoArray[899].m_nextPageIndex=-1;
m_stPageFaultInfoArray[899].m_count=1。
同时,对上一次缺页中断页面的页表信息进行更新,将上一次缺页中断页面的下一次缺页中断发生时要载入的页面号修改为899,将下一次缺页中断发生时要载入的页面号连续出现的次数记为1,具体如下所示:
m_stPageFaultInfoArray[4].m_tick=1000000;
m_stPageFaultInfoArray[4].m_nextPageIndex=899;
m_stPageFaultInfoArray[4].m_count=1。
如上步骤不停的缺页中断,并载入新的页面替换不用的页面,上述全局变量不停的记录改变。如果在缺页4页面后,下一次又是缺页899,则全局变量做如下记录:
current_page_fault_index=899
last_page_fault_index=4
m_stPageFaultInfoArray[899].m_tick=324000000;
m_stPageFaultInfoArray[899].m_nextPageIndex=2342;
m_stPageFaultInfoArray[899].m_count=1;
同时,修改上一次缺页4的下一次缺页中断发生时要载入的页面号为899,同时将下一次缺页中断发生时要载入的页面号连续出现的次数记为2次,具体如下所示:
m_stPageFaultInfoArray[4].m_tick=323000000;
m_stPageFaultInfoArray[4].m_nextPageIndex=899;
m_stPageFaultInfoArray[4].m_count=2。
缺页中断不停的发生,当系统第三次缺页4号页面时,在缺页中断中,软件检测到m_stPageFaultInfoArray[4].m_count>=2,预测到CPU很快要载入899号页面。在此次缺页中断中,不仅载入页面4,同时也将899号页面也载入。如果CPU很快访问899号页面,因为899已经提前被载入了缓存,所以不会触发缺页中断。如图6所示,缺页中断一次性将页面4和页面899同时载入缓存,替换了页面1和页面1000。此时全局信息记录如下所示:
current_page_fault_index=899
last_page_fault_index=4
m_stPageFaultInfoArray[899].m_tick=475400000;
m_stPageFaultInfoArray[899].m_nextPageIndex=2342;
m_stPageFaultInfoArray[899].m_count=1。
同时,对上一次缺页中断页面的页表信息进行更新,将上一次缺页中断页面的下一次缺页中断发生时要载入的页面号修改为899,将下一次缺页中断发生时要载入的页面号899连续出现的次数记为3,具体如下所示:
m_stPageFaultInfoArray[4].m_tick=475300000;
m_stPageFaultInfoArray[4].m_nextPageIndex=899;
m_stPageFaultInfoArray[4].m_count=3。
上述过程通过表1很清晰的表示,第一行是CPU当前要访问的内存页面号,第2~5行为4个缓存,最后一行表示当前是否会产生缺页中断。从表中可以看出缺页4后跟着缺页899的次数出现了2次后,再倒数第二列出现缺页4后,系统自动将4和899的页面同时载入缓存,替换了323和123的页面。在接下来缺页899后,由于预测正常,此时不会产生缺页中断。
表1 CPU访问内存结果表
Figure BDA0002409284050000101
Figure BDA0002409284050000111
基于上述减少缺页中断次数的方法,本实施例还提供了一种存储介质,其中,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明所述减少缺页中断次数的方法中的步骤。
基于上述减少缺页中断次数的方法,本实施例还提供一种智能终端,如图7所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。
存储器22作为一种存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
在一些实施方式中,所述智能终端为计算机、广告机、电视、电脑、手机或平板中的一种,但不限于此。
综上所述,本发明通过将内存按照预定大小进行页面划分,每个页面均采用页表信息记录状态;当处理器访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面;将当前页面和预测的下一个缺页中断页面的内存同时载入缓存中。本发明能够预测当前缺页后接下来会缺页的页面,将预测的页面内存也载入缓存,减少缺页中断的发生,从而有效提高处理器运行效率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种减少缺页中断次数的方法,其特征在于,包括步骤:
将内存按照预定大小进行页面划分,每个页面均采用页表信息记录状态,所述页表信息包括:当前缺页中断时的页面号,上一次缺页中断的页面号,下一次缺页中断发生时载入的页面号,以及下一次缺页中断发生时载入的页面号连续出现的次数;
当处理器访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面;
将当前页面和预测的下一个缺页中断页面的内存同时载入缓存中。
2.根据权利要求1所述减少缺页中断次数的方法,其特征在于,所述当处理器访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面的步骤包括:
当处理器访问当前页面发生缺页中断时,则获取当前页面的页表信息;
若所述页表信息中的下一次缺页中断发生时载入的页面号连续出现的次数大于等于2,则预测所述页表信息中的下一次缺页中断发生时载入的页面号将发生缺页中断。
3.根据权利要求1所述减少缺页中断次数的方法,其特征在于,所述当处理器访问当前页面发生缺页中断时,则根据所述当前页面的页表信息预测下一个缺页中断页面的步骤包括:
当处理器访问当前页面发生缺页中断时,则获取当前页面的页表信息;
根据所述当前页面的页表信息判断处理器上一次访问是否发生缺页中断;
若判定所述处理器上一次访问发生缺页中断,则获取上一次缺页中断时记录的页表信息,并判断上一次缺页中断时记录的页表信息中的下一次缺页中断发生时要载入的页面号是否等于当前页面的页面号;
若所述上一次缺页中断时记录的页表信息中的下一次缺页中断发生时要载入的页面号等于当前页面的页面号,则更新所述上一次缺页中断时记录的页表信息,将其下一次缺页中断发生时要载入的页面号连续出现的次数+1;
若所述页表信息中的下一次缺页中断发生时载入的页面号连续出现的次数大于等于2,则预测所述页表信息中的下一次缺页中断发生时载入的页面号发生缺页中断。
4.根据权利要求3所述减少缺页中断次数的方法,其特征在于,还包括步骤:
若判定所述处理器上一次访问未发生缺页中断,则将当前页面的内存同时载入缓存中。
5.根据权利要求3所述减少缺页中断次数的方法,其特征在于,还包括步骤:
若所述上一次缺页中断时记录的页表信息中的下一次缺页中断发生时要载入的页面号不等于当前页面的页面号,则更新所述上一次缺页中断时记录的页表信息,将其下一次缺页中断发生时要载入的页面号连续出现的次数清零。
6.根据权利要求1所述减少缺页中断次数的方法,其特征在于,所述每个页面的内存预定大小为4KB。
7.根据权利要求1所述减少缺页中断次数的方法,其特征在于,所述将当前页面和预测的下一个缺页中断页面的内存同时载入缓存中的步骤之前还包括:
删除所述缓存中最长时间没使用的页面内存。
8.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任意一项所述减少缺页中断次数的方法中的步骤。
9.一种智能终端,其特征在于,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-7任意一项所述减少缺页中断次数的方法中的步骤。
CN202010171316.2A 2020-03-12 2020-03-12 一种减少缺页中断次数的方法、存储介质及智能终端 Active CN111427804B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010171316.2A CN111427804B (zh) 2020-03-12 2020-03-12 一种减少缺页中断次数的方法、存储介质及智能终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010171316.2A CN111427804B (zh) 2020-03-12 2020-03-12 一种减少缺页中断次数的方法、存储介质及智能终端

Publications (2)

Publication Number Publication Date
CN111427804A CN111427804A (zh) 2020-07-17
CN111427804B true CN111427804B (zh) 2022-05-20

Family

ID=71547881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010171316.2A Active CN111427804B (zh) 2020-03-12 2020-03-12 一种减少缺页中断次数的方法、存储介质及智能终端

Country Status (1)

Country Link
CN (1) CN111427804B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984374B (zh) * 2020-08-20 2021-07-23 海光信息技术股份有限公司 用于管理安全内存的方法及其系统、装置和存储介质
CN114253458B (zh) * 2020-09-21 2024-04-26 华为技术有限公司 内存缺页异常的处理方法、装置、设备及存储介质
CN112162855B (zh) * 2020-09-21 2022-07-29 南开大学 基于页锁定内存的gpu页缺失处理方法、系统及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
CN101859282A (zh) * 2010-05-26 2010-10-13 浙江大学 基于双重跟踪的虚拟化平台的磁盘页面换入的方法
CN102662713A (zh) * 2012-04-12 2012-09-12 腾讯科技(深圳)有限公司 提高应用程序运行速度的方法、装置及终端
CN103488523A (zh) * 2013-09-26 2014-01-01 华为技术有限公司 一种页的访问方法和页的访问装置、服务器
CN105701020A (zh) * 2014-11-28 2016-06-22 华为技术有限公司 一种内存访问的方法、相关装置和系统
CN108763104A (zh) * 2018-05-23 2018-11-06 北京小米移动软件有限公司 预读取文件页的方法、装置及存储介质
US10289555B1 (en) * 2017-04-14 2019-05-14 EMC IP Holding Company LLC Memory read-ahead using learned memory access patterns
CN110795213A (zh) * 2019-12-12 2020-02-14 东北大学 一种虚拟机迁移过程中活跃内存预测迁移方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633968B2 (en) * 1999-03-30 2003-10-14 Microsoft Corporation Pre-fetching of pages prior to a hard page fault sequence
CN101853219B (zh) * 2010-04-30 2011-09-21 浙江大学 基于虚拟化平台的磁盘页面换入的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
CN101859282A (zh) * 2010-05-26 2010-10-13 浙江大学 基于双重跟踪的虚拟化平台的磁盘页面换入的方法
CN102662713A (zh) * 2012-04-12 2012-09-12 腾讯科技(深圳)有限公司 提高应用程序运行速度的方法、装置及终端
CN103488523A (zh) * 2013-09-26 2014-01-01 华为技术有限公司 一种页的访问方法和页的访问装置、服务器
CN105701020A (zh) * 2014-11-28 2016-06-22 华为技术有限公司 一种内存访问的方法、相关装置和系统
US10289555B1 (en) * 2017-04-14 2019-05-14 EMC IP Holding Company LLC Memory read-ahead using learned memory access patterns
CN108763104A (zh) * 2018-05-23 2018-11-06 北京小米移动软件有限公司 预读取文件页的方法、装置及存储介质
CN110795213A (zh) * 2019-12-12 2020-02-14 东北大学 一种虚拟机迁移过程中活跃内存预测迁移方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于内存混合复制方式的虚拟机在线迁移机制;陈阳等;《计算机学报》;20111215;第34卷(第12期);第2,4节 *
虚拟存储管理中的页面置换算法研究;殷联甫;《嘉兴学院学报》;20040531;第16卷(第3期);第1-3页 *

Also Published As

Publication number Publication date
CN111427804A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN111427804B (zh) 一种减少缺页中断次数的方法、存储介质及智能终端
US10776007B2 (en) Memory management device predicting an erase count
US8949544B2 (en) Bypassing a cache when handling memory requests
Park et al. CFLRU: a replacement algorithm for flash memory
US7958311B2 (en) Cache line replacement techniques allowing choice of LFU or MFU cache line replacement
US5581736A (en) Method and system for dynamically sharing RAM between virtual memory and disk cache
US8595451B2 (en) Managing a storage cache utilizing externally assigned cache priority tags
US8935484B2 (en) Write-absorbing buffer for non-volatile memory
US20140173211A1 (en) Partitioning Caches for Sub-Entities in Computing Devices
US20060129763A1 (en) Virtual cache for disk cache insertion and eviction policies and recovery from device errors
US20100318742A1 (en) Partitioned Replacement For Cache Memory
US7962684B2 (en) Overlay management in a flash memory storage device
US20030229761A1 (en) Memory compression for computer systems
EP3059680A1 (en) Application-layer managed memory cache
CN113778662B (zh) 内存回收方法及装置
JP3236287B2 (ja) マルチプロセッサシステム
US9535843B2 (en) Managed memory cache with application-layer prefetching
KR101472967B1 (ko) 라이트 백 동작을 수행하는 캐시 메모리, 이의 동작 방법, 및 이를 포함하는 시스템
KR101392062B1 (ko) 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법
US7469320B2 (en) Adaptive replacement cache
CN115794682A (zh) 缓存替换方法及装置、电子设备、存储介质
CN111639037A (zh) 一种缓存的动态分配方法、装置及DRAM-Less固态硬盘
CN112015343B (zh) 存储卷的缓存空间管理方法、装置及电子设备
EP4078387B1 (en) Cache management based on access type priority
US11544197B2 (en) Random-access performance for persistent memory

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