CN103927203B - 一种计算机系统及控制方法 - Google Patents
一种计算机系统及控制方法 Download PDFInfo
- Publication number
- CN103927203B CN103927203B CN201410117939.6A CN201410117939A CN103927203B CN 103927203 B CN103927203 B CN 103927203B CN 201410117939 A CN201410117939 A CN 201410117939A CN 103927203 B CN103927203 B CN 103927203B
- Authority
- CN
- China
- Prior art keywords
- information
- application program
- storage unit
- nonvolatile storage
- 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.)
- Active
Links
Landscapes
- Power Sources (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种计算机系统及控制方法,其中,储存器主要由易失性储存单元和非易失性储存单元形成,还包括监控统计模块,监控统计模块用于监控处理器的处理情况,以判断非易失性储存单元中需要驻留以及需要被替换的程序,并根据判断结果使程序驻留于非易失性储存单元中或者被替换出非易失性储存单元。其技术方案的有益效果是:系统采用了非易失性储存器,结合或者替代部分原有易失性储存单元的地址空间,并设置监测统计模块记录用户的使用习惯,能在保持系统高性能的基础上节省操作系统上电和热应用程序启动时间,并降低了数据导入的功耗。随着这种低功耗智能系统使用时间越长,系统运行速度会越来越快,用户体验也越来越好。
Description
技术领域
本发明涉及一种计算机系统,尤其涉及一种能够快速启动且低功耗的计算机系统及其控制方法。
背景技术
现有的计算系统一般采用统一的体系结构,这种体系结构的系统架构如图1所示。其中包括为片上系统5(System On Chip,SOC),其组成有处理器1(CPU),片上缓存2(cache),还包括片外的易失性储存单元3形成的主储存器(main memory)以及外部储存器4。处理器1通过系统总线可以直接访问片上缓存2和易失性储存单元3,存放在外部储存器4中的数据或指令,先要经过外部互联总线导入易失性储存单元3中,然后从易失性储存单元3导入片上片上缓存2中,存在片上缓存2中的指令或数据再被处理器1直接访问。易失性储存单元3(也就是我们常说的内存)和片上缓存2,它们都是易失性储存器,断电后信息全部丢失。一般的易失性储存单元3采用动态随机储存器(DRAM),其速度相比处理器1频率要慢的多。如果所有的数据和指令都储存在易失性储存单元3中,将严重影响系统的性能。片上缓存2就是用于减少处理器1访问易失性储存单元3所需平均时间的部件。片上缓存2由静态随机储存器(SRAM)构成,在金字塔式储存体系中它位于自顶向下的第二层,仅次于处理器1的寄存器,其容量远小于易失性储存单元3,但速度却可以接近处理器1的频率。当处理器1发出易失性储存单元3访问请求时,会先访问片上缓存2内查看是否有请求数据。如果存在(命中),则不经访问易失性储存单元3直接返回该数据;如果不存在(失效),则要先把易失性储存单元3中的相应数据载入片上缓存2,再返回处理器1。外部储存器4主要是指硬盘、闪存等,其容量大且掉电以后信息不丢失,但是读取速度低。处理器1要读取外部储存器4中的内容,需要通过外设接口总线先将数据或指令导入易失性储存单元3中,处理器1再对易失性储存单元3中的数据或指令进行操作。外设接口总线的速度要远小于系统总线的速度,所以处理器1对片上片上缓存2和易失性储存单元3的读取速率要远大于外部储存器4读取速率。
然而片上缓存2和易失性储存单元3都是易失性储存器,掉电以后信息丢失,所以系统每一次上电或被唤醒,操作系统启动信息都必须从外部储存器4中导入易失性储存单元3中,然后再导入片上缓存2中,再被处理器1读取。虽然每次上电处理器1处理的信息几乎都是一样的,但是由于片上缓存2和易失性储存单元3都是易失性的,每次上电不得不重复将操作系统启动信息从外部储存器4导入易失性储存单元3和片上缓存2中,这样的传输过程速度非常慢,且功耗很高,操作系统也不能快速启动。
对应用程序来说,无论是否是用户最为经常使用的,只要易失性储存单元3和片上缓存2中没有该程序的有用数据或指令,每次系统调用该应用程序时,和该程序相关的指令和数据都需要从外部储存器4调入易失性储存单元3中,继而载入片上片上缓存2。我们将用户最经常使用的应用程序称之为“热应用程序”。例如系统上电后,用户调用的各个应用程序的顺序如图2所示。系统先调用热应用程序,处理完后又分别处理应用程序PA和应用程序PB,之后热应用程序又被系统调用,且热应用程序在接下来的整个上电操作过程中是被用户调用启动最多的应用程序。假设易失性储存单元3所能储存的容量有限,只能存放一至两个应用程序信息,操作系统启动后,需要从外部储存器4中将热应用程序导入至易失性储存单元3,然后外部储存器4中将应用程序A导入至易失性储存单元3并替换部分热应用程序,之后从外部储存器4中将应用程序PB导入至易失性储存单元3并取代部分应用程序PA或部分热应用程序,之后又调用热应用程序,虽然热应用程序之前已经导入过易失性储存单元3,但是已经被随后加载的应用程序替换了,所以又不得不重新从外部储存器4中导入至易失性储存单元3。热应用程序是用户在某段时间内使用最为频繁的程序,随着导入的次数不断增加,功耗也会越来越大。
从上面的过程看,不论是系统每次上电启动还是热应用程序加载过程,处理器1总是需要将操作系统启动程序或热应用程序从外部储存器4载入易失性储存单元3,再导入片上缓存2,速度慢,功耗大。而且随着系统运行时间和次数越来越大,由于电子器材的损耗,系统性能会逐渐下降,如果维持功耗不变,系统运行速度会越来越慢,如果保持运行速度不变,功耗会越来越高。每次关机重新打开需要的热应用程序都要等待很长时间,就算用户的使用习惯非常固定也还是要等待。
发明内容
针对现有的计算机系统存在的上述问题,现提供一种旨在实现快速启动且低功耗的计算机系统及其控制方法。
具体技术方案如下:
一种计算机系统,包括设置有片上缓存的处理器,与所述处理器连接的储存器,以及与所述处理器连接的外部储存器,其中,
所述储存器主要由易失性储存单元和非易失性储存单元形成,所述易失性储存单元与所述非易失性储存单元共用一总线或者分别通过独立的总线与所述处理器连接;
还包括监控统计模块,所述监控统计模块用于监控所述处理器的处理情况,以判断所述非易失性储存单元中需要驻留以及需要被替换的程序,并根据判断结果使程序驻留于所述非易失性储存单元中或者被替换出所述非易失性储存单元。
优选的,所述非易失性储存单元主要由铁电储存器或者磁阻储存器或者可变电阻式储存器或者相变储存器或者闪存形成。
优选的,所述易失性储存单元和非易失性储存单元组成一独立器件。
优选的,所述易失性储存单元和非易失性储存单元形成两个分立器件。
优选的,所述易失性储存单元与所述非易失性储存单元的储存空间之和匹配所述处理器的寻址能力。
优选的,所述监控统计模块通过硬件或者应用程序或者操作系统内核实现。
一种计算机系统的控制方法,其中,应用于如上述计算机系统,具体包括如下步骤:
步骤s1、所述监控统计模块监测系统启动时加载的启动信息,并记录系统启动时最开始被调用的操作系统的信息;
步骤s2、所述监控统计模块根据第一预置规则判断需要储存入所述非易失性储存单元的系统启动信息;
步骤s3、所述监控统计模块于系统启动后根据所述步骤s2的判断结果更新并编辑所述非易失性储存单元中的系统启动信息。
优选的,于所述步骤s3执行完毕后,还包括以下步骤:
步骤s4、所述监控统计模块实时监控每个应用程序的加载频率,并记录每个被加载应用程序中最常被调用的信息;
步骤s5、所述监控统计模块根据第二预置规则判断需被储存入所述非易失性储存单元的或者需被从所述非易失性储存单元中替换出的每个被加载应用程序中最常被调用的信息;
步骤s6、所述监控统计模块于预定时间,根据所述步骤s5的判断结果更新并编辑所述非易失性储存单元中储存的信息。
优选的,所述第一预置规则为,根据不同的系统启动信息占用的储存空间大小,和/或不同的系统启动信息由所述外部储存器读取入所述易失性储存单元需用的时间,和/或所述处理器由所述易失性储存单元读取不同的系统启动信息所需的时间,和/或所述处理器由所述非易失性储存单元读取不同的系统启动信息所需的时间,和/或不同的系统启动信息由所述外部储存器读取入所述易失性储存单元需用的能耗,和/或所述处理器由所述易失性储存单元读取不同的系统启动信息所需的能耗,和/或所述处理器由所述非易失性储存单元读取不同的系统启动信息所需的能耗,判断不同的系统启动信息储存入所述非易失性储存单元的能效指数,并将所述能效指数最优的所述系统启动信息作为需要储存入所述非易失性储存单元的系统启动信息。
优选的,所述第二预置规则为,根据不同的每个被加载应用程序中最常被调用的信息占用的储存空间大小,和/或被调用的信息所属的应用程序的加载频率,和/或每个被加载应用程序中最常被调用的信息由所述外部储存器读取入所述易失性储存单元需用的时间,和/或所述处理器由所述易失性储存单元读取每个被加载应用程序中最常被调用的信息所需的时间,和/或所述处理器由所述非易失性储存单元读取每个被加载应用程序中最常被调用的信息所需的时间,和/或每个被加载应用程序中最常被调用的信息由所述外部储存器读取入所述易失性储存单元需用的能耗,和/或所述处理器由所述易失性储存单元读取每个被加载应用程序中最常被调用的信息所需的能耗,和/或所述处理器由所述非易失性储存单元读取每个被加载应用程序中最常被调用的信息所需的能耗,判断每个被加载应用程序中最常被调用的信息储存入所述非易失性储存单元的能效指数,并将所述能效指数最优的所述被加载应用程序中最常被调用的信息作为需要储存入所述非易失性储存单元的被加载应用程序中最常被调用的信息。
优选的,所述预定时间为一预先设定的时间周期刻画的间隔时间点,和/或系统下电关闭时间。
优选的,还包括系统上电方法,包括以下步骤:
步骤a1、判断操作系统的启动位置,如操作系统的启动位置在所述外部储存器中则以常规方式进行启动,并退出以下流程;
步骤a2、如操作系统的启动位置在所述储存器的非易失性储存单元中,则判断操作系统启动的第一阶段的信息是否在所述外部储存器中被更新,如操作系统启动的第一阶段的信息在所述外部储存器中被更新则以常规方式进行启动,并退出以下流程;
步骤a3、从所述非易失性储存单元中启动操作系统的第一阶段;
步骤a4、将操作系统启动的第二阶段的信息导入所述储存器的易失性储存单元;
步骤a5、从所述易失性储存单元中启动操作系统的第二阶段。
优选的,所述易失性储存单元与所述非易失性储存单元分别通过独立的总线与所述处理器连接时,还包括系统上电方法,包括以下步骤:
步骤b1、判断操作系统的启动位置,如操作系统的启动位置在所述外部储存器中则以常规方式进行启动,并退出以下流程;
步骤b2、如操作系统的启动位置在所述储存器的非易失性储存单元中,则判断操作系统启动的第一阶段的信息是否在所述外部储存器中被更新,如操作系统启动的第一阶段的信息在所述外部储存器中被更新则以常规方式进行启动,并退出以下流程;
步骤b3、从所述非易失性储存单元中启动操作系统的第一阶段,并同时通过直接储存器存取方式将操作系统启动的第二阶段的信息导入易失性储存单元;
步骤b4、判断操作系统启动的第二阶段的信息导入易失性储存单元是否完成,如未完成则等待;
步骤b5、从所述易失性储存单元中启动操作系统的第二阶段。
优选的,还包括热应用程序加载方法,包括以下步骤:
步骤c1、判断热应用程序的加载位置,如热应用程序的加载位置在所述外部储存器中则以常规方式进行加载,并退出以下流程;
步骤c2、如热应用程序的加载位置在所述储存器的非易失性储存单元中,则判断热应用程序的第一部分热信息是否在所述外部储存器中被更新,如热应用程序的第一部分热信息在所述外部储存器中被更新则以常规方式进行加载,并退出以下流程;
步骤c3、从所述非易失性储存单元中加载热应用程序的第一部分热信息;
步骤c4、将热应用程序的第二部分热信息导入所述储存器的易失性储存单元;
步骤c5、从所述易失性储存单元中加载热应用程序的第二部分热信息。
优选的,所述易失性储存单元与所述非易失性储存单元分别通过独立的总线与所述处理器连接时,还包括热应用程序加载方法,包括以下步骤:
步骤d1、判断热应用程序的加载位置,如热应用程序的加载位置在所述外部储存器中则以常规方式进行加载,并退出以下流程;
步骤d2、如热应用程序的加载位置在所述储存器的非易失性储存单元中,则判断热应用程序的第一部分热信息是否在所述外部储存器中被更新,如热应用程序的第一部分热信息在所述外部储存器中被更新则以常规方式进行加载,并退出以下流程;
步骤d3、从所述非易失性储存单元中加载热应用程序的第一部分热信息,并同时通过直接储存器存取方式将热应用程序的第二部分热信息导入易失性储存单元;
步骤d4、判断热应用程序的第二部分热信息导入易失性储存单元是否完成,如未完成则等待;
步骤d5、从所述易失性储存单元中加载热应用程序的第二部分热信息。
上述技术方案的有益效果是:
系统采用了读取速度快、极低漏功耗以及高密度的非易失性储存器,结合或者替代部分原有易失性储存单元3的地址空间,并设置监测统计模块记录用户的使用习惯,能在保持系统高性能的基础上节省操作系统上电和热应用程序启动时间,并大大降低了数据从外部储存器4导入内部储存器给处理器1读取的功耗。随着这种低功耗智能系统使用时间越长,每个不同用户的不同的使用习惯会被该系统智能地学习,从而使系统运行速度会越来越快,用户体验也越来越好。
附图说明
图1为现有的计算机系统的系统架构示意图;
图2为现有的计算机系统的操作系统启动后用户调用各个应用程序示例图;
图3本发明的计算机系统的易失性储存单元与非易失性储存单元共用总线的实施例的结构示意图;
图4本发明的计算机系统的易失性储存单元与非易失性储存单元分别使用独立总线的实施例的结构示意图;
图5本发明第一种系统结构的操作系统启动机制;
图6现有技术中常规的操作系统启动的过程;
图7本发明第一种系统结构的操作系统快速启动的实施方式;
图8本发明第二种系统结构的操作系统启动机制;
图9本发明第二种系统结构的操作系统启动方式的第一种实施例;
图10本发明第二种系统结构的操作系统启动方式的第二种实施例;
图11本发明第二种系统结构的操作系统启动方式的第三种实施例;
图12本发明第一种系统结构热应用程序调用热信息的过程;
图13本发明第二种系统结构热应用程序调用热信息的过程;
图14实例三:本发明系统执行热应用程序的过程。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
如图3-4所示,本发明一种计算机系统,包括设置有片上缓存2的处理器1,与处理器1连接的储存器,以及与处理器1连接的外部储存器4,其中,
储存器主要由易失性储存单元3和非易失性储存单7元形成,易失性储存单元3与非易失性储存单元7共用一总线10(如图3所示的实施方式)或者分别通过独立的总线10和总线11(如图4所示的实施方式)与处理器1连接;
还包括监控统计模块6,监控统计模块6用于监控处理器1的处理情况,以判断非易失性储存单元7中需要驻留以及需要被替换的程序,并根据判断结果使程序驻留于非易失性储存单元7中或者被替换出非易失性储存单元7。
本发明提出的一种具有快速启动功能的低功耗智能计算机系统设计结构在原有的体系结构(如图1所示)中,设置了监控统计模块6,并增加了一个非易失性储存单元7用来结合或者取代一部分原易失性储存单元3的地址空间,如图4所示的实施例,非易失性储存单元7与图1中原本的易失性储存单元3结合,形成一个既有非易失性储存单元7又有原易失性储存单元3的新的主储存器8,原易失性储存单元3和非易失性储存单元7的地址空间总和小于或等于处理器1总的地址寻址空间。其中,非易失性储存单元7可以与原易失性储存单元3组成一个独立的主储存器8,即形成一个独立器件,且共享一个总线10与处理器1进行信息传输,该实施方式可节省系统资源,但在此实施方式下只能轮流的访问易失性储存单元3和非易失性储存单元7,不能同时对易失性储存单元3和非易失性储存单元7进行访问。也可以如图4中所示的实施例或者原易失性储存单元3和非易失性储存单元7可以是两个分立的器件,分别通过总线10及总线11与处理器1进行信息传输,该实施方式下虽然需要使用两组物理通道,但使易失性储存单元3和非易失性储存单元7可同时被访问。
上述事实方式中的非易失性储存单元7可由任何材料组成的大容量非易失性储存器构成,例如铁电储存器(FeRAM),磁阻储存器(MRAM),可变电阻式储存器(ReRAM),相变储存器(PCRAM)以及闪存等,他们的特点是密度大,静态漏电流小,功耗低。非易失性储存单元7储存的信息由监控统计模块6控制,并且定期的更新和保存。
本发明的技术方案中还包括一种计算机系统的控制方法,其中,应用于如上述计算机系统,具体包括如下步骤:
步骤s1、监控统计模块6监测系统启动时加载的启动信息,并记录系统启动时最开始被调用的操作系统的信息;
步骤s2、监控统计模块6根据第一预置规则判断需要储存入非易失性储存单元7的系统启动信息;
步骤s3、监控统计模块6于系统启动后根据步骤s2的判断结果更新并编辑非易失性储存单元7中的系统启动信息。
其中,第一预置规则为,根据不同的系统启动信息占用的储存空间大小,和/或不同的系统启动信息由外部储存器4读取入易失性储存单元3需用的时间,和/或处理器1由易失性储存单元3读取不同的系统启动信息所需的时间,和/或处理器1由非易失性储存单元7读取不同的系统启动信息所需的时间,和/或不同的系统启动信息由外部储存器4读取入易失性储存单元3需用的能耗,和/或处理器1由易失性储存单元3读取不同的系统启动信息所需的能耗,和/或处理器由非易失性储存单元读取不同的系统启动信息所需的能耗,判断不同的系统启动信息储存入非易失性储存单元7的能效指数,并将能效指数最优的系统启动信息作为需要储存入非易失性储存单元7的系统启动信息。
在一种具体的实施例中,为说明本发明技术方案的基本思想,假定操作系统按照启动先后顺序可以划分为5个模块,模块A,模块B,模块C,模块D,模块E。非易失性储存单元7能够储存系统程序的空间大小是有限的,具体空间大小可由监控统计模块6进行配置。一段时间间隔内,监控统计模块6对操作系统程序各个模块进行统计分析,这个时间间隔可在由监控统计模块6中配置。
表1为监控统计模块6记录的示例表格,其中:
每个模块的大小分别记作V_A,V_B,V_C,V_D,V_E;
每个模块从外部储存器4导入原易失性储存单元3所需时间分别记作T_A,T_B,T_C,T_D,T_E;
处理器1从非易失性储存单元7中读取每个模块所需的时间为N_A,N_B,N_C,N_D,N_E;
处理器1从原易失性储存单元3中读取每个模块所需的时间为O_A,O_B,O_C,O_D,O_E;
处理器1从外部储存器4将每个模块导入原易失性储存单元3所需功耗为P_A,P_B,P_C,P_D,P_E;
处理器1从非易失性储存单元7读取每个模块所需功耗为PN_A,PN_B,PN_C,PN_D,PN_E;
处理器1从原易失性储存单元3中读取每个模块所需功耗为PM_A,PM_B,PM_C,PM_D,PM_E。
统计信息 | 模块A | 模块B | 模块C | 模块D | 模块E |
模块调用先后顺序 | 1 | 2 | 3 | 4 | 5 |
模块大小 | V_A | V_B | V_C | V_D | V_E |
从外部储存器4导入原易失性储存单元3所需时间 | T_A | T_B | T_C | T_D | T_E |
从非易失性储存单元7中读取所需时间 | N_A | N_B | N_C | N_D | N_E |
从原易失性储存单元3中读取所需时间 | O_A | O_B | O_C | O_D | O_E |
从外部储存器4导入原易失性储存单元3所需功耗 | P_A | P_B | P_C | P_D | P_E |
从非易失性储存单元7中读取所需功耗 | PN_A | PN_B | PN_C | PN_D | PN_E |
从原易失性储存单元3中读取所需功耗 | PM_A | PM_B | PM_C | PM_D | PM_E |
表1
系统第一次上电启动,由于非易失性储存单元7中没有系统启动信息,系统以常规方式启动。操作系统启动完成后,监控统计模块6将发挥作用,在经过一段时间的系统重复上电启动后,它会选择将系统启动最开始被调用的装载程序载入非易失性储存单元7中,这部分启动程序称之为第一阶段,系统启动时调用的操作系统的其余部分称之为第二阶段。这段时间间隔可在监控统计模块6中进行配置。由于非易失性储存单元7存储空间有限,监控统计模块6可根据具体情况调整第一阶段和第二阶段的大小。如图5所示的实施例中(即易失性储存单元3与非易失性储存单元7共用总线的实施例),系统再一次启动时,处理器1先判断操作系统启动位置,如最开始的启动程序即第一阶段信息不在非易失性储存单元7中则还是通过常规方式启动,如开始的启动程序即第一阶段信息在非易失性储存单元7中处理器1直接从非易失性储存单元7中执行启动操作系统第一阶段。一种较优的实施方式中,在启动之前,处理器1可进行判断,若系统上电被调用的操作系统第一阶段信息在外部储存器4中被更新而监控统计模块6没有及时更新非易失性储存单元7中相应的第一阶段信息,那么处理器1还是以常规方式启动,即从外部储存器4中将第一阶段信息导入易失性储存单元3再进行处理。监控统计模块6经过一段时间学习后,会更新在非易失性储存单元7中相应的已被更新的第一阶段信息。如果操作系统第一阶段信息在外部储存器4中未更新,那么处理器1可直接从非易失性储存单元7中执行启动操作系统第一阶段。当处理器1执行操作系统第一阶段启动完毕后,将操作系统第二阶段从外部储存器4导入原易失性储存单元3,操作系统第二阶段从外部储存器4导入原易失性储存单元3完毕后,处理器1转至原易失性储存单元3继续启动操作系统第二阶段,直至操作系统启动完成。
系统第一次上电以常规方式启动,如图6所示。处理器1依次将模块A,模块B,模块C,模块D以及模块E从外部储存器4导入原易失性储存单元3中并执行,直至系统启动完毕。一段时间间隔后,假设监控统计模块6会将操作系统模块A和模块B储存至非易失性储存单元7中。系统上电后的启动过程如图7所示。处理器1直接从非易失性储存单元7中执行模块A和模块B,随后依次将模块C,模块D,和模块E从外部储存器4中载入原易失性储存单元3,在导入片上缓存2,被处理器1依次执行,直至启动完毕。相比常规启动过程中,所有的模块均需要从外部储存器4中载入原易失性储存单元3,系统启动时间上节省了将模块A和模块B从外部储存器4导入原易失性储存单元3所需时间T_A+T_B;系统启动功耗上节省了将模块A和模块B从外部储存器4导入原易失性储存单元3所需功耗P_A+P_B,以及处理器1从非易失性储存单元7中读取模块A和模块B与从原易失性储存单元3中读取模块A和模块B的功耗差PM_A+PM_B-PN_A-PM_B。处理器1从非易失性储存单元7中读取模块所需功耗要远小于处理器1从原易失性储存单元3中读取模块所需功耗,这是因为非易失性储存单元7自身的特点就是低功耗,而原易失性储存单元3的主要结构是DRAM,需要通过定期刷新才能保持数据,这需要大量功耗。因此上述系统启动机制启动速度更快,功耗更低。
需要指出的是,上述的将模块A和模块B储存入非易失性储存单元7的实施方式仅仅是便于说明,而非将实施方式限制于必须将第一和第二个模块储存入非易失性储存单元7。
若非易失性储存单元7与原易失性储存单元3各自拥有独立的接口(如图4所示的实施方式),第二种系统结构的操作系统启动机制如图8所示。与图5所示的启动机制类似,系统第一次上电启动,由于非易失性储存单元7中没有系统启动信息,系统以常规方式启动。操作系统启动完成后,监控统计模块6将发挥作用,在经过一段时间的系统重复上电启动后,它会选择将系统启动最开始被调用的装载程序载入非易失性储存单元7中,这部分启动程序称之为第一阶段,系统启动时调用的操作系统的其余部分称之为第二阶段。这段时间间隔可在监控统计模块6中进行配置。由于非易失性储存单元7存储空间有限,监控统计模块6可根据具体情况调整第一阶段和第二阶段的大小。系统再一次启动时,处理器1先判断操作系统启动位置,由于最开始的启动程序即第一阶段信息已存放于非易失性储存单元7单元中,处理器1直接从非易失性储存单元7中执行启动操作系统第一阶段。一种较优的实施方式中,在启动之前,处理器1可进行判断,若系统上电被调用的操作系统第一阶段信息在外部储存器4中被更新而监控统计模块6没有及时更新非易失性储存单元7中相应的第一阶段信息,那么处理器1还是以常规方式启动,即从外部储存器4中将第一阶段信息导入易失性储存单元3再进行处理。监控统计模块6经过一段时间学习后,会更新在非易失性储存单元7中相应的已被更新的第一阶段信息。如果操作系统第一阶段信息在外部储存器4中未更新,那么处理器1可直接从非易失性储存单元7中执行启动操作系统第一阶段。在此基础上,与图5所不同的是,在处理器1执行操作系统第一阶段的同时,操作系统第二阶段可通过直接储存器存取(DMA,Direct Memory Access)方式从外部储存器4导入原易失性储存单元3。第一阶段执行完毕后,处理器1会检测操作系统第二阶段存取状态,如果第二阶段没有载入完毕,则进入等待状态,一旦DMA存取执行完毕,处理器1跳转由非易失性储存单元7至原易失性储存单元3继续启动操作系统第二阶段,直至操作系统启动完成。从上述启动过程中,系统直接从非易失性储存单元7中启动,同时操作系统第二阶段也由外部储存器4导入至原易失性储存单元3,相比常规启动过程,系统启动速度将大大提高,在低功耗的前提下实现快速启动。
为进一步的说明上述技术方案,特举出以下具体实施例,需要指出的是,以下的实施例仅是本发明思想的一种具体的体现,并非本发明思想的全部,不能以此限制本发明的保护范围。
第二种实施例继续沿用表1的设定,将操作系统按照启动先后顺序划分为模块A,模块B,模块C,模块D,模块E。非易失性储存单元7能够存储系统程序的空间大小是有限的,具体空间大小可由监控统计模块6进行配置。一段时间内(可能是一周,两周或者三周等),监控统计模块6对操作系统程序各个模块进行统计分析。监控统计模块6记录的示例表格如表1所示。首先,监控统计模块6会考虑将模块A存放入非易失性储存单元7中,显然V_A应符合小于非易失性储存单元7的空间大小。处理器1从非易失性储存单元7中读取模块A需要时间N_A,其余模块由外部储存器4导入原易失性储存单元3,如果N_A时间足够长,则可将其余所有模块同时导入,所需时间为(T_B+T_C+T_D+T_E),如果(T_B+T_C+T_D+T_E)大于N_A,二者相减即为处理器1处理完模块A后的等待时间,记作Tw。若N_A大于(T_B+T_C+T_D+T_E),即不需要等待时间Tw。若(T_B+T_C+T_D+T_E)远大于N_A,则会导致等待时间Tw过长,监控统计模块6会综合各种情况得出合理的方式,使得等待时间与系统启动时间获得优化。比如监控统计模块6得出在读取模块A的同时将模块B和模块C导入原易失性储存单元3能够使得等待时间Tw和系统启动时间达到最优,系统启动方式如图9所示,图中忽略了等待时间Tw。系统上电直接从非易失性储存单元7中启动模块A,同时通过DMA方式将模块B,C从外部储存器4导入原易失性储存单元3中,模块A加载完毕后,判断模块B和模块C是否加载完毕,如果加载完毕则等待时间Tw=0,处理器1直接跳转至原易失性储存单元3继续启动其余模块,直至系统启动完毕,否则处理器1需等待模块B和模块C加载完毕后再跳转至原易失性储存器3,等待时间为Tw=T_B+T_C-N_A。读取模块D和模块E的过程与常规方式相同,先依次从外部储存器4导入原易失性储存单元3,再依次读取。系统启动时间为从非易失性储存单元7中执行模块A所需时间、等待时间Tw、模块D与模块E从外部储存器4导入原易失性储存单元3所需时间和处理器1从原易失性储存单元3中执行模块B、模块C、模块D以及模块E所需时间的总和。相比常规启动方式,系统启动时间节约了从外部储存器4将模块A,模块B和模块C导入原易失性储存单元3的时间(要减去等待时间Tw)即:T_A+T_B+T_C-Tw。系统启动功耗节省了处理器1从外部储存器4将模块A导入原易失性储存单元3所需功耗P_A,以及处理器1从非易失性储存单元7读取模块A和从原易失性储存单元3读取模块A的功耗差PM_A–P N_A。
如果模块A和模块B的程序大小之和仍小于非易失性储存单元7储存系统启动时调用操作系统的储存空间,那么监控统计模块6可将模块B也存放于非易失性储存单元7中。处理器1从非易失性储存单元7中读取模块A和模块B需要时间为N_A+N_B,其余模块由外部储存器4导入原易失性储存单元3,如果N_A+N_B时间足够长,则可将其余所有模块同时导入,所需时间为(T_C+T_D+T_E),如果(T_C+T_D+T_E)大于N_A+N_B,二者相减即为等待时间Tw。若N_A+N_B大于(T_C+T_D+T_E),即不需要等待时间。若(T_C+T_D+T_E)远大于N_A+N_B,则导致等待时间过长,监控统计模块6会综合各种情况得出合理的方式,使得等待时间与系统启动时间获得优化。比如监控统计模块6得出在读取模块A和模块B的同时将模块C和模块D导入原易失性储存单元3能够使得等待时间和系统启动时间达到最优,系统启动方式如图10所示,图中忽略了等待时间Tw。系统上电直接从非易失性储存单元7中启动模块A和模块B,同时通过DMA方式将模块C和模块D从外部储存器4导入易失性储存单元3中,模块B加载完毕后,判断模块C和模块D是否加载完毕,如果加载完毕则Tw=0,处理器1直接跳转至原易失性储存单元3继续启动其余模块,直至系统启动完毕,否则处理器1需等待模块C和模块D加载完毕再跳转至原易失性储存单元3,Tw=T_C+T_D-N_A-N_B。读取模块E的过程与常规方式相同,处理器1先从外部储存器4将模块E导入原易失性储存单元3再读取。系统启动时间为从非易失性储存单元7中执行模块A和模块B所需时间、等待时间Tw、模块E从外部储存器4导入原易失性储存单元3所需时间和处理器1从原易失性储存单元3中执行模块C、模块D、模块E所需时间的总和。相比常规启动方式,系统启动时间节约了从外部储存器4将模块A、模块B、模块C以及模块D导入原易失性储存单元3的时间(要减去等待时间Tw)即:T_A+T_B+T_C+T_D-Tw。系统启动功耗节省了处理器1从外部储存器4将模块A和模块B导入原易失性储存单元3所需功耗P_A+P_B,以及处理器1从非易失性储存单元7读取模块A和模块B和从原易失性储存单元3读取模块A和模块B的功耗差PM_A+PM_B-PN_A-PN_B。
如果处理器1从非易失性储存单元7中执行模块A的时间与模块B从外部储存器4导入原易失性储存单元3的时间相当,而模块A与模块C的程序大小总和也小于非易失性储存单元7的余下可用空间容量,那么将模块A和模块C同时存放于非易失性储存单元7当中也是一种可选的实施方式。如此系统启动过程如图11所示,图中忽略了等待时间Tw。系统启动,直接从非易失性储存单元7中加载模块A,同时模块B由外部储存器4导入原易失性储存单元3。模块A执行完毕,如果模块B已导入完毕,则等待时间Tw1=0,处理器1直接跳转至原易失性储存单元3加载模块B,否则就需要等待模块B导入完毕,Tw1=T_B-N_A。模块B执行完毕再跳转至非易失性储存单元7中读取模块C,读取模块C的同时可通过DMA方式将模块D和模块E由外部储存器4导入原易失性储存单元3,前提是模块D和模块E由外部储存器4导入原易失性储存单元3所需时间T_D+T_E要与处理器1读取模块C的时间N_C相当,使得等待时间Tw2最优。模块C读取完毕,如果模块D和模块E已导入完毕,则Tw2=0,处理器1直接跳转至原易失性储存单元3执行模块D,否则就需要等待模块D和模块E导入完毕,Tw2=T_D+T_E-N_C。执行完模块D再执行模块E,直至系统启动完毕。系统启动时间为从非易失性储存单元7中执行模块A和模块C所需时间、等待时间和处理器1从原易失性储存单元3中执行模块B、模块D、模块E所需时间的总和。相比常规启动方式,系统启动时间节约了从外部储存器4将模块A、模块B、模块C、模块D以及模块E导入原易失性储存单元3的时间(要减去等待时间Tw1、Tw2)即:T_A+T_B+T_C+T_D+T_E-Tw1-Tw2。系统启动功耗节省了处理器1从外部储存器4将模块A和模块C导入原易失性储存单元3所需功耗P_A+P_C,以及处理器1从非易失性储存单元7读取模块A和模块C和从原易失性储存单元3读取模块A和模块C的功耗差PM_A+PM_C-PN_A-PN_C。
通过上述具体实施方式的说明,本领域技术人员毫无疑问的可在不付出创造性劳动的前提下获得其他的实施方式,需要指出,这些通过本发明思想推导出的其他的实施方式在本发明公开的技术方案的基础上是显而易见的,应当包含在本发明的保护范围内。
监控统计模块6通过分析可得出在不超过非易失性储存单元7存储空间的前提下,优化配置系统启动时调用的各个模块,使系统等待时间,系统启动总时间,系统启动过程中消耗的功耗等各项指标优化。比如监控统计模块6通过分析得出将模块A和模块B存放于非易失性储存单元7中是最优解。
上述两种操作系统快速启动方式的实施例在速度和功耗上与常规操作系统启动方式的对比如表2所示。从表中可直观看出本发明的两种操作系统快速启动方式较常规启动方式在速度和功耗上有明显的优势。
表2
于上述技术方案基础上,进一步的,于步骤s3执行完毕后,还包括以下步骤:
步骤s4、监控统计模块6实时监控每个应用程序的加载频率,并记录每个被加载应用程序中最常被调用的信息;
步骤s5、监控统计模块6根据第二预置规则判断需被储存入非易失性储存单元7的或者需被从非易失性储存单元7中替换出的每个被加载应用程序中最常被调用的信息;
步骤s6、监控统计模块6于预定时间,根据步骤s5的判断结果更新并编辑非易失性储存单元7中储存的信息。
在此基础上,第二预置规则为,根据不同的每个被加载应用程序中最常被调用的信息占用的储存空间大小,和/或被调用的信息所属的应用程序的加载频率,和/或每个被加载应用程序中最常被调用的信息由外部储存器4读取入易失性储存单元3需用的时间,和/或处理器1由易失性储存单元3读取每个被加载应用程序中最常被调用的信息所需的时间,和/或处理器1由非易失性储存单元7读取每个被加载应用程序中最常被调用的信息所需的时间,和/或每个被加载应用程序中最常被调用的信息由外部储存器4读取入易失性储存单元3需用的能耗,和/或处理器1由易失性储存单元3读取每个被加载应用程序中最常被调用的信息所需的能耗,和/或处理器1由非易失性储存单元3读取每个被加载应用程序中最常被调用的信息所需的能耗,判断每个被加载应用程序中最常被调用的信息储存入非易失性储存单元7的能效指数,并将能效指数最优的被加载应用程序中最常被调用的信息作为需要储存入非易失性储存单元7的被加载应用程序中最常被调用的信息。
进一步的,预定时间为一预先设定的时间周期刻画的间隔时间点,和/或系统下电关闭时间。
本发明的技术方案的智能学习机制并符合用户的使用习惯还表现在系统加载应用程序上。用户最经常使用的应用程序称之为“热应用程序”,热应用程序中最经常被调用的部分称之为“热信息”。监控统计模块6统计一段时间内各个程序被访问的频率,并记录每个程序中的热信息,并存储在非易失性储存单元7中。一段时间后,应用程序的启动过程将会加速,如果非易失性储存单元7能够存储应用程序的空间容量足够大,那么可将热应用程序中某个热信息全部存于非易失性储存单元7中,用户执行热应用程序并调用热信息时可以直接从非易失性储存单元7中调用,不用再从外部储存器4中导入原主储存器8中,加快了速度,大大降低了功耗。若非易失性储存单元7存储空间是有限的,不能完全存放某个热信息,这就需要将热信息分为热信息A和热信息B,热信息A是热信息中最开始被调用的部分,假设非易失性储存单元7中只能存放热信息A。由于非易失性储存单元7存储空间有限,监控统计模块6会根据具体情况调整热信息A和热信息B的大小。若非易失性储存单元7与易失性储存单元3共用一组总线接口(如图3),热应用程序调用热信息的过程如图12所示。系统调用热信息时先判断执行位置,若非易失性储存单元7中已存储有效热信息A,在调用热信息A前,处理器1要进行判断,若热信息A在外部储存器4中被更新而监控统计模块6没有及时更新非易失性储存单元7中相应的信息,那么处理器1还是以常规方式调用热信息,系统监控统计模块经过一段时间学习后,会更新在非易失性储存单元7中相应的已被更新的热信息A。如果热信息A在外部储存器4中未更新,那么处理器1直接从非易失性储存单元7中执行热信息A,执行完毕后再将热程序B从外部储存器4载入易失性储存单元3。热信息B转存完毕后处理器1执行热信息B直至热应用程序加载完毕。若非易失性储存单元7与易失性储存单元3各自拥有一组总线接口(如图4),热应用程序调用热信息的过程如图13所示。系统调用热信息会先判断执行位置,若非易失性储存单元7中已存储热信息A,在调用热信息A前,处理器1要进行判断,若热信息A在外部储存器4中被更新而监控统计模块6没有及时更新非易失性储存单元7中相应的信息,那么处理器1还是以常规方式调用热信息,监控统计模块6经过一段时间学习后,会更新在非易失性储存单元7中相应的已被更新的热信息A。如果热信息A在外部储存器4中未更新,那么处理器1直接从非易失性储存单元7中执行热信息A,与图12所不同的是,处理器1从非易失性储存单元7中执行热信息A,同时热信息B通过直接储存器存取方式从外部储存器4载入易失性储存单元3。热信息A执行完毕后会判断热程序B是否转存完毕,若是则跳转至易失性储存单元3中执行热信息B直至程序加载完毕;若没有则需等待热程序B转存完毕。由于热信息是最经常被调用的程序,所以本发明会大大降低热应用程序中热信息的调用时间,减少热应用程序中热信息不断被从外部储存器4导入易失性储存单元3的功耗。
另一种实施方式中。如表3所示为监控统计模块6实时记录应用程序被加载情况的示例表格。假设非易失性储存单元7存储空间足够大,可以全部存放某个应用程序中的热信息,并且非易失性储存单元7与易失性储存单元3共用一组总线接口(如图3)。假定统计周期为一周,这个统计时间可由系统在监测统计模块6中进行配置。用户可能加载的应用程序从应用程序A,应用程序B至应用程序N,而每个应用程序又包括若干个程序块,程序块1,程序块2至程序块n。每个应用程序被加载的频率记录为F_A,F_B,…,F_N,应用程序N中的每个程序块大小记录为L_N_1,L_N_2,…,L_N_n,应用程序N中每个程序块被调用的次数记录为T_N_1,T_N_2,…,T_N_n。
表3
系统下电前,系统会对记录的所有应用程序的程序块进行特定的计算处理,比如按照公式(a*F_N+b*L_N_n+c*T_N_n)可计算出每个应用程序中各程序块的权重,其中a,b和c是每个参数的权重系数,可由系统在监控统计模块6中进行配置。监控统计模块6计算处理后对计算结果进行分析,判断哪些应用程序是最经常被加载的,判断哪些程序块被调用的权重最大,然后决定将哪些转存至非易失性储存单元7,哪些存储在非易失性储存单元7中的信息应当擦除,哪些存储在非易失性储存单元7中的信息应当继续保存。例如,非易失性储存单元7可以存放两个程序块,已经存放A1程序块。一段时间统计监测,根据公式(a*F_N+b*L_N_n+c*T_N_n)处理每个应用程序中的程序块,并按照权重从大到小排列为A2,B2,A1,B1…,监测统计模块6会将程序块A1从非易失性储存单元7中擦除,然后写入程序块A2和B2。又例如,对某一个热应用程序来说,其执行过程为程序块A,程序块B,程序块A,程序块B,程序块C,程序块A,程序块D和程序块B,监控统计模块6在一段时间内检测程序块A和程序块B为热信息,将其存储在非易失性储存单元7中。系统执行该热应用程序的过程如图14所示。处理器1直接从非易失性储存单元7中执行程序块A和程序块B,仅在执行程序块C和程序块D时需要从外部储存器4中导入易失性储存单元3中再执行直至热应用程序加载。如果没有非易失性储存单元7,执行完程序块C再执行程序块A时,虽然之前程序块A已经由外部储存器4导入易失性储存器3,但是可能被程序块B或者程序块C替换掉,因此不得不重新由外部储存器4导入易失性储存器3。非易失性储存单元7能够明显减少重复导入的次数,从而大大降低功耗。可见在整个热应用程序执行过程中减少从外部储存器4中导入热信息A和热信息B的时间和功耗,从而加快热应用程序的启动速度,降低功耗。监控统计模块6可通过硬件或者应用程序或者操作系统内核来实现。在此基础上,系统根据用户的使用习惯将用户最频繁访问的应用程序中最常被调用的热信息存储至非易失性储存单元7,下次被调用时处理器1可以直接从非易失性储存单元7读取,降低从外部储存器4导入易失性储存单元3的功耗。
无论是将操作系统启动时的某一模块或者热应用程序中的某个程序块存于非易失性储存单元7中,监控统计模块6都要对这部分程序进行一些配置。例如程序A和程序B是两个相邻的模块,程序A被存至非易失性储存单元7中,假定非易失性储存单元7和易失性储存单元3各自拥有独立的接口,在执行程序A的同时需要将程序B从外部储存器4中导入易失性储存单元3中。那么对程序A的配置如下:在程序A启动之前增加判断信息,判断程序A的启动位置;在程序A结束时增加一些特定信息,比如检测程序B是否导入完毕,若没有,处理器1进入等待状态,若导入完毕,则处理器1跳转至易失性储存单元3中执行程序B。只有对这些程序进行配置,处理器1在系统启动时或者加载热信息时才能有序进行。
在开机和关机的过程中,系统就像人脑一样进行智能学习更新。监控统计模块6生成统计分析报告,判断哪些程序是访问频率最高的程序应存入非易失性储存单元7中。如果这些程序已经存储在在非易失性储存单元7中,它们应当保持不变;如果这些程序不在其中,则应该导入非易失性储存单元7中。同时一些存放在非易失性储存单元7中的程序应该被擦除或被取代。随着用户使用的时间越长,用户最经常使用的程序会直接从非易失性储存单元7中启动,速度越来越快,功耗越来越低,越来越满足用户的使用习惯。
虽然非易失性储存单元7拥有低漏功耗、高密度等优点,但是其在耐久性(endurance)和数据保持性(retention)方面受到限制,也就是说一方面向非易失性储存单元7中写入的次数有限,以相变储存器为例,这个数量级大约在106次;另一方面非易失性储存单元7中的数据能够保存的时间也是有限的,以相变储存器为例,这个时间一般在7-10年。在数据保持性问题上,可这样解决:在处理器1读取非易失性储存单元7中的信息时,先判断上一次写入该信息的操作时间,如果时间间隔超过了非易失性储存单元7数据保持时间,则处理器1放弃从非易失性储存单元7中读取该信息,而是从外部储存器4中读取,并且使非易失性储存单元7中该信息无效。如果时间间隔小于非易失性储存单元7数据保持时间,那么处理器1就在非易失性储存单元7中读取该信息。在耐久性问题上,可采用如下方式:以相变储存器为例考虑一种极端情况,系统每分钟就会上下电重启一次,若系统每一次启动关闭都会向相变储存器中写入一次信息,10年内需要向相变储存器中写入的次数可达10*365*24*60=5.256*106次,这显然超过了相变储存器的极限。为解决这个问题,可在系统智能学习的过程设定条件,如果系统上下电启动关闭时间间隔小于5分钟,监控统计模块6将不会对此次启动情况进行智能学习。只有系统上下电启动关闭时间间隔大于5分钟,监控统计单元才会进行统计分析,系统才会进行智能学习。可以计算在十年内向相变储存器中写入的次数最多可达10*365*24*60/5=1*106次,这是能够接受的范围。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (1)
1.一种计算机系统的控制方法,其特征在于,应用于一种计算机系统,所述计算机系统包括设置有片上缓存的处理器,与所述处理器连接的主储存器,以及与所述处理器连接的外部储存器,所述主储存器由易失性储存单元和非易失性储存单元组成,所述易失性储存单元与所述非易失性储存单元共用一总线或者分别通过独立的总线与所述处理器连接;
还包括监控统计模块,所述监控统计模块用于监控所述处理器的处理情况,以判断所述非易失性储存单元中需要驻留以及需要被替换的程序,并根据判断结果使程序驻留于所述非易失性储存单元中或者被替换出所述非易失性储存单元;
所述判断的依据为所述程序的使用频率,使用频率较高的程序将驻留于所述非易失性储存单元中,使用频率较低的程序将被替换出所述非易失性储存单元;
所述非易失性储存单元结合或者替代部分原有易失性储存单元的地址空间;
所述计算机系统的控制方法具体包括如下步骤:
步骤s1、所述监控统计模块监测系统启动时加载的启动信息,并记录系统启动时最开始被调用的操作系统的信息;
步骤s2、所述监控统计模块根据第一预置规则判断需要储存入所述非易失性储存单元的系统启动信息;
步骤s3、所述监控统计模块于系统启动后根据所述步骤s2的判断结果更新并编辑所述非易失性储存单元中的系统启动信息;
步骤s4、所述监控统计模块实时监控每个应用程序的加载频率,并记录每个被加载应用程序中最常被调用的信息;
步骤s5、所述监控统计模块根据第二预置规则判断需被储存入所述非易失性储存单元的或者需被从所述非易失性储存单元中替换出的每个被加载应用程序中最常被调用的信息;
步骤s6、所述监控统计模块于预定时间,根据所述步骤s5的判断结果更新并编辑所述非易失性储存单元中储存的信息;
所述第一预置规则为,根据不同的系统启动信息占用的储存空间大小,和/或不同的系统启动信息由所述外部储存器读取入所述易失性储存单元需用的时间,和/或所述处理器由所述易失性储存单元读取不同的系统启动信息所需的时间,和/或所述处理器由所述非易失性储存单元读取不同的系统启动信息所需的时间,和/或不同的系统启动信息由所述外部储存器读取入所述易失性储存单元需用的能耗,和/或所述处理器由所述易失性储存单元读取不同的系统启动信息所需的能耗,和/或所述处理器由所述非易失性储存单元读取不同的系统启动信息所需的能耗,判断不同的系统启动信息储存入所述非易失性储存单元的能效指数,并将所述能效指数最优的所述系统启动信息作为需要储存入所述非易失性储存单元的系统启动信息;
所述第二预置规则为,根据不同的每个被加载应用程序中最常被调用的信息占用的储存空间大小,和/或被调用的信息所属的应用程序的加载频率,和/或每个被加载应用程序中最常被调用的信息由所述外部储存器读取入所述易失性储存单元需用的时间,和/或所述处理器由所述易失性储存单元读取每个被加载应用程序中最常被调用的信息所需的时间,和/或所述处理器由所述非易失性储存单元读取每个被加载应用程序中最常被调用的信息所需的时间,和/或每个被加载应用程序中最常被调用的信息由所述外部储存器读取入所述易失性储存单元需用的能耗,和/或所述处理器由所述易失性储存单元读取每个被加载应用程序中最常被调用的信息所需的能耗,和/或所述处理器由所述非易失性储存单元读取每个被加载应用程序中最常被调用的信息所需的能耗,判断每个被加载应用程序中最常被调用的信息储存入所述非易失性储存单元的能效指数,并将所述能效指数最优的所述被加载应用程序中最常被调用的信息作为需要储存入所述非易失性储存单元的被加载应用程序中最常被调用的信息;
所述预定时间为一预先设定的时间周期刻画的间隔时间点,和/或系统下电关闭时间;
还包括系统上电方法,包括以下步骤:
步骤a1、判断操作系统的启动位置,如操作系统的启动位置在所述外部储存器中则以常规方式进行启动,并退出以下流程;
步骤a2、如操作系统的启动位置在所述主储存器的非易失性储存单元中,则判断操作系统启动的第一阶段的信息是否在所述外部储存器中被更新,如操作系统启动的第一阶段的信息在所述外部储存器中被更新则以常规方式进行启动,并退出以下流程;
步骤a3、从所述非易失性储存单元中启动操作系统的第一阶段;
步骤a4、将操作系统启动的第二阶段的信息导入所述主储存器的易失性储存单元;
步骤a5、从所述易失性储存单元中启动操作系统的第二阶段;
所述易失性储存单元与所述非易失性储存单元分别通过独立的总线与所述处理器连接时,还包括系统上电方法,包括以下步骤:
步骤b1、判断操作系统的启动位置,如操作系统的启动位置在所述外部储存器中则以常规方式进行启动,并退出以下流程;
步骤b2、如操作系统的启动位置在所述主储存器的非易失性储存单元中,则判断操作系统启动的第一阶段的信息是否在所述外部储存器中被更新,如操作系统启动的第一阶段的信息在所述外部储存器中被更新则以常规方式进行启动,并退出以下流程;
步骤b3、从所述非易失性储存单元中启动操作系统的第一阶段,并同时通过直接储存器存取方式将操作系统启动的第二阶段的信息导入易失性储存单元;
步骤b4、判断操作系统启动的第二阶段的信息导入易失性储存单元是否完成,如未完成则等待;
步骤b5、从所述易失性储存单元中启动操作系统的第二阶段;
还包括热应用程序加载方法,包括以下步骤:
步骤c1、判断热应用程序的加载位置,如热应用程序的加载位置在所述外部储存器中则以常规方式进行加载,并退出以下流程;
步骤c2、如热应用程序的加载位置在所述主储存器的非易失性储存单元中,则判断热应用程序的第一部分热信息是否在所述外部储存器中被更新,如热应用程序的第一部分热信息在所述外部储存器中被更新则以常规方式进行加载,并退出以下流程;
步骤c3、从所述非易失性储存单元中加载热应用程序的第一部分热信息;
步骤c4、将热应用程序的第二部分热信息导入所述主储存器的易失性储存单元;
步骤c5、从所述易失性储存单元中加载热应用程序的第二部分热信息;
所述易失性储存单元与所述非易失性储存单元分别通过独立的总线与所述处理器连接时,还包括热应用程序加载方法,包括以下步骤:
步骤d1、判断热应用程序的加载位置,如热应用程序的加载位置在所述外部储存器中则以常规方式进行加载,并退出以下流程;
步骤d2、如热应用程序的加载位置在所述主储存器的非易失性储存单元中,则判断热应用程序的第一部分热信息是否在所述外部储存器中被更新,如热应用程序的第一部分热信息在所述外部储存器中被更新则以常规方式进行加载,并退出以下流程;
步骤d3、从所述非易失性储存单元中加载热应用程序的第一部分热信息,并同时通过直接储存器存取方式将热应用程序的第二部分热信息导入易失性储存单元;
步骤d4、判断热应用程序的第二部分热信息导入易失性储存单元是否完成,如未完成则等待;
步骤d5、从所述易失性储存单元中加载热应用程序的第二部分热信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410117939.6A CN103927203B (zh) | 2014-03-26 | 2014-03-26 | 一种计算机系统及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410117939.6A CN103927203B (zh) | 2014-03-26 | 2014-03-26 | 一种计算机系统及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103927203A CN103927203A (zh) | 2014-07-16 |
CN103927203B true CN103927203B (zh) | 2018-06-26 |
Family
ID=51145433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410117939.6A Active CN103927203B (zh) | 2014-03-26 | 2014-03-26 | 一种计算机系统及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103927203B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094686B (zh) | 2014-05-09 | 2018-04-10 | 华为技术有限公司 | 数据缓存方法、缓存和计算机系统 |
CN104166523B (zh) * | 2014-08-08 | 2018-04-20 | 上海新储集成电路有限公司 | 一种存储器及提高计算机系统加载数据速率的方法 |
CN105573675B (zh) * | 2015-12-16 | 2018-10-23 | 鸿秦(北京)科技有限公司 | 缓存管理装置中基于训练机制的用户习惯获取方法及装置 |
CN105512051B (zh) * | 2015-12-16 | 2019-03-12 | 鸿秦(北京)科技有限公司 | 一种自学习型智能固态硬盘缓存管理方法和装置 |
CN109741777A (zh) * | 2018-12-28 | 2019-05-10 | 上海新储集成电路有限公司 | 一种提高速度和保持数据时间的存储器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989183A (zh) * | 2010-10-15 | 2011-03-23 | 浙江大学 | 混合主存储器实现节能存储的方法 |
CN102831087A (zh) * | 2012-07-27 | 2012-12-19 | 国家超级计算深圳中心(深圳云计算中心) | 基于混合存储器的数据读写处理方法和装置 |
CN103092534A (zh) * | 2013-02-04 | 2013-05-08 | 中国科学院微电子研究所 | 一种内存结构的调度方法和装置 |
CN103207799A (zh) * | 2013-04-23 | 2013-07-17 | 中国科学院微电子研究所 | 一种计算机系统的关机方法、开机方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593324B (zh) * | 2013-11-12 | 2017-06-13 | 上海新储集成电路有限公司 | 一种具有自学习功能的快速启动低功耗计算机片上系统 |
-
2014
- 2014-03-26 CN CN201410117939.6A patent/CN103927203B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989183A (zh) * | 2010-10-15 | 2011-03-23 | 浙江大学 | 混合主存储器实现节能存储的方法 |
CN102831087A (zh) * | 2012-07-27 | 2012-12-19 | 国家超级计算深圳中心(深圳云计算中心) | 基于混合存储器的数据读写处理方法和装置 |
CN103092534A (zh) * | 2013-02-04 | 2013-05-08 | 中国科学院微电子研究所 | 一种内存结构的调度方法和装置 |
CN103207799A (zh) * | 2013-04-23 | 2013-07-17 | 中国科学院微电子研究所 | 一种计算机系统的关机方法、开机方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103927203A (zh) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103593324B (zh) | 一种具有自学习功能的快速启动低功耗计算机片上系统 | |
CN103927203B (zh) | 一种计算机系统及控制方法 | |
US10198204B2 (en) | Self refresh state machine MOP array | |
CN103915110B (zh) | 一种易失存储器的刷新方法及相关的易失存储器的控制器 | |
Chen et al. | Dynamically reconfigurable hybrid cache: An energy-efficient last-level cache design | |
US9104409B2 (en) | Predict computing platform memory power utilization | |
CN103246616B (zh) | 一种长短周期访问频度的全局共享缓存替换方法 | |
US20050125702A1 (en) | Method and system for power management including device controller-based device use evaluation and power-state control | |
CN105068940B (zh) | 一种基于Bank划分的自适应页策略确定方法 | |
CN102549524A (zh) | 存储集群中的自适应功率保存 | |
CN104460941B (zh) | 一种降低主存存储器满负荷运行功耗的方法 | |
EP3824466A1 (en) | A refresh scheme in a memory controller | |
CN106024052A (zh) | 存储器控制器和存储器系统的控制方法 | |
WO2012031219A2 (en) | Predictor-based management of dram row-buffers | |
CN104899154B (zh) | 基于嵌入式系统混合主存的页面管理方法 | |
US11682445B2 (en) | Memory context restore, reduction of boot time of a system on a chip by reducing double data rate memory training | |
WO2014070264A1 (en) | System and method for dynamic memory power management | |
US9990293B2 (en) | Energy-efficient dynamic dram cache sizing via selective refresh of a cache in a dram | |
CN105917289A (zh) | 控制存储阵列装置以节省更多功率的方法及其相关装置 | |
CN107728934A (zh) | 存储器控制器及包括其的存储系统 | |
JP2013149091A (ja) | メモリ制御装置及び制御方法並びに情報処理装置 | |
US20150128007A1 (en) | Dynamic Error Handling For On-Chip Memory Structures | |
Mittal | Using cache-coloring to mitigate inter-set write variation in non-volatile caches | |
CN105205015B (zh) | 一种数据存储方法及存储设备 | |
Liu et al. | LAMS: A latency-aware memory scheduling policy for modern DRAM systems |
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 |