CN106951392A - 一种具有自学习功能的快速启动低功耗计算机片上系统 - Google Patents
一种具有自学习功能的快速启动低功耗计算机片上系统 Download PDFInfo
- Publication number
- CN106951392A CN106951392A CN201710165429.XA CN201710165429A CN106951392A CN 106951392 A CN106951392 A CN 106951392A CN 201710165429 A CN201710165429 A CN 201710165429A CN 106951392 A CN106951392 A CN 106951392A
- Authority
- CN
- China
- Prior art keywords
- piece
- chip
- cache
- nonvolatile memory
- memory
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/7846—On-chip cache and off-chip main memory
-
- 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)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及计算机技术领域,具体涉及一种计算机片上系统。一种具有自学习功能的快速启动低功耗计算机片上系统,包括中央处理器、片上混合高速缓存器,中央处理器连接片上混合高速缓存器;片上混合高速缓存器包括片上非易失性存储器,片上混合高速缓存器还包括片上高速缓存器;片上混合高速缓存器连接片外的主存储器、外部大容量非易失性存储器;所述一种具有自学习功能的快速启动低功耗计算机片上系统还配置一系统监控统计模块,系统监控统计模块获取操作系统启动信息和/或热应用程序信息,配置加载至片上非易失性存储器中。本发明在保持系统高性能的基础上节省操作系统上电和热应用程序启动时间,并降低数据从外部非易失性存储器导入内部存储器给中央处理器读取的功耗。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种计算机片上系统。
背景技术
就硬件系统而言,大多数计算机主要采用两种体系结构,分别为冯诺依曼结构和哈佛结构。冯诺依曼结构的系统架构如图1所示,其中片上系统(System on Chip,SoC)5,包括中央处理器(CPU)1和片上高速缓存器(cache)2。片上系统5连接片外的主存储器(mainmemory)3和外部非易失性存储器4。中央处理器1通过系统总线可以直接访问片上高速缓存器2和主存储器3。存放在外部非易失性存储器4中的数据或指令,先要经过外部互联总线导入主存储器3中,然后从主存储器3导入片上高速缓存器2中,存在片上高速缓存器2中的指令或数据再被中央处理器1直接访问。主存储器3和片上高速缓存器2主要采用易失性存储器,断电后信息全部丢失。主存储器3一般采用动态随机存储器(DRAM),由于主存储器3的速度相比中央处理器1频率要慢的多,如果所有的数据和指令都存储在主存储器3中,将严重影响系统的性能。片上高速缓存器2是用于减少中央处理器1访问主存储器3所需平均时间的存储部件,片上高速缓存器2一般由静态随机存储器(SRAM)构成,在如图2所示的金字塔式存储体系中,存储部件自顶向下容量越大,速度越慢,价格越低。片上高速缓存器2位于自顶向下的第二层,仅次于中央处理器的寄存器11,其容量远小于主存储器3,但速度却可以接近中央处理器1的频率。当中央处理器1发出主存储器3访问请求时,会先访问片上高速缓存器2内查看是否有请求数据。如果存在或命中,则不经访问主存储器3直接返回该数据;如果不存在或失效,则要先把主存储器3中的相应数据载入片上高速缓存器2,再返回中央处理器1。外部非易失性存储器4主要是指硬盘、闪存等,也包括光盘、智能卡等存储部件,其容量大且掉电以后信息不丢失,但是读取速度低。中央处理器1要读取外部非易失性存储器4中的内容,需要通过外设接口总线先将数据或指令导入主存储器3中,中央处理器1再对主存储器3中的数据或指令进行操作。外设接口总线的速度要远小于系统总线的速度,所以中央处理器1对片上高速缓存器2和主存储器3的读取速率要远大于外部非易失性存储器4读取速率。
哈佛结构是一种基于冯诺依曼体系的并行体系结构,但其采取将指令存储和数据存储分开的存储器结构,如图3所示,与图1所示的冯诺依曼结构相比,片上高速缓存器2被拆分为片上指令高速缓存器6,片上数据高速缓冲器7以及片上共享高速缓存器8,其特点是把指令和数据分别存储在不同的存储空间,即指令存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。与冯诺依曼结构类似,存放在外部非易失性存储器4中的数据或指令,先要经过外部互联总线导入主存储器3中,然后从主存储器3导入片上共享高速缓存器8中。所不同的是,片上共享高速缓存器8中的指令要通过独立的片上高速缓存器指令总线11传送至片上指令高速缓存器6,中央处理器1再通过系统指令总线9访问片上指令高速缓存器6中的指令;片上共享高速缓存器8中的数据要通过独立的片上高速缓存器数据总线12传送至片上数据高速缓存器7,中央处理器1再通过系统数据总线10访问片上数据高速缓存器7中的数据。
不论是冯诺依曼结构或者哈佛结构,主存储器3和片上高速缓存器2都是易失性存储器,掉电以后信息丢失,所以系统每一次上电或被唤醒,操作系统启动信息都必须从外部非易失性存储器4中导入主存储器3中,然后再导入片上高速缓存器2中,再被中央处理器1读取。虽然每次上电中央处理器1处理的信息几乎都是一样的,但是由于片上高速缓存器2和主存储器3都是易失性的,每次上电不得不重复将操作系统启动信息从外部非易失性存储器4导入内部存储器3及片上高速缓存器2中,这样的传输过程速度非常慢,且功耗很高,操作系统也不能快速启动。对应用程序来说,无论是否是用户最为经常使用的,只要主存储器3和片上高速缓存器2中没有该程序的有用数据或指令,每次系统调用该应用程序时,和该程序相关的指令和数据都需要从外部非易失性存储器4调入主存储器3中,继而载入片上高速缓存器2。
另外,用户在某段时间内会频繁使用某一程序,我们将用户最经常使用的应用程序称之为“热应用程序”,例如系统上电,操作系统启动后,用户调用各个应用程序的顺序如图4所示。系统先调用热应用程序R,处理完后又分别处理应用程序A和应用程序B,之后热应用程序R又被系统调用,且热应用程序R在接下来的整个上电操作过程中是被用户调用启动最多的应用程序。假设片上高速缓存器2所能存储的容量有限,只能存放一至两个应用程序信息,具体执行过程为:操作系统启动后,需要从外部非易失性存储器4中将热应用程序R导入至主存储器3再导入片上高速缓存器2,然后外部非易失性存储器4中将应用程序A导入至主存储器3再导入片上高速缓存器2并替换片上高速缓存器2中部分热应用程序R,之后从外部非易失性存储器4中将应用程序B导入至主存储器3再导入片上高速缓存器2并替换片上高速缓存器2中部分应用程序A或部分热应用程序R,之后又调用热应用程序R,注意,虽然热应用程序R之前已经导入过片上高速缓存器2,但是已经被随后加载的应用程序替换了,所以又不得不重新从主存储器3中导入至片上高速缓存器2。随着导入的次数不断增加,功耗也会越来越大。
从上面的过程看,不论是系统每次上电启动还是热应用程序加载过程,中央处理器1总是需要将操作系统启动程序或热应用程序从外部非易失性存储器4载入主存储器3,再导入片上高速缓存器2,存在速度慢,功耗大的缺点,而且随着系统运行时间和次数越来越大,伴随着电子器件的损耗,系统性能会逐渐下降,如果维持功耗不变,系统运行速度会越来越慢,如果保持运行速度不变,功耗会越来越高。
发明内容
本发明的目的在于,提供一种具有自学习功能的快速启动低功耗计算机片上系统,解决以上技术问题;
本发明的目的还在于,提供一种具有自学习功能的快速启动低功耗计算机片上系统的工作方法,解决以上技术问题。
本发明所解决的技术问题可以采用以下技术方案来实现:
本发明提供一种具有自学习功能的快速启动低功耗计算机片上系统,所述片上系统(5)包括中央处理器(1)、片上高速缓存器(2),其中,
还包括一片上混合高速缓存器(15),所述中央处理器(1)连接所述片上混合高速缓存器(15);所述片上混合高速缓存器(15)包括片上非易失性存储器(13),所述片上混合高速缓存器(15)还包括所述片上高速缓存器(2);
所述片上系统还配置一系统监控统计模块(14),所述系统监控统计模块(14)获取操作系统启动信息和/或应用程序的热信息,配置并加载至所述片上非易失性存储器(13)中。
优选地,所述系统监控统计模块(14)包括一计数模块、一判断模块,所述计数模块对系统每次启动时最先加载的操作系统启动信息进行统计;所述判断模块依据第一设定规则从所述操作系统启动信息选取第一阶段程序配置至所述片上非易失性存储器(13)中。
优选地,所述系统监控统计模块(14)包括一计数模块、一判断模块,所述计数模块对每个应用程序的加载频率进行统计,所述判断模块依据第二设定规则从应用程序的热信息中选取热信息A配置至所述片上非易失性存储器(13)中。
优选地,所述系统监控统计模块(14)每隔一设定时间间隔对所述片上非易失性存储器(13)中的内容进行更新。
优选地,所述片上高速缓存器(2)包括至少N级依次连接的片上高速缓存,其中,N大于或等于1;至少一个所述片上高速缓存被所述片上非易失性存储器(13)部分或全部取代或至少一个所述片上高速缓存结合一所述片上非易失性存储器(13)。
优选地,所述片上高速缓存器(2)包括片上指令高速缓存器(6)、片上数据高速缓存器(7)、片上共享高速缓存(8),所述片上混合高速缓存器(15)包括片上混合共享高速缓存(18),所述片上混合共享高速缓存(18)包括所述片上共享高速缓存(8)及片上共享非易失性存储器(19);所述片上混合共享高速缓存(18)分别与所述片上指令高速缓存器(6)和片上数据高速缓存器(7)连接。
优选地,所述片上非易失性存储器(13)包括所述片上共享非易失性存储器(19);所述片上非易失性存储器(13)还包括片上非易失性指令存储器(16)、片上非易失性数据存储器(17);所述片上非易失性指令存储器(16)与所述片上指令高速缓存器(6)结合或所述片上非易失性指令存储器(16)取代部分或全部所述片上指令高速缓存器(6);所述片上非易失性数据存储器(17)与所述片上数据高速缓存器(7)结合或所述片上非易失性数据存储器(17)取代部分或全部所述片上数据高速缓存器(7)。
优选地,所述片上指令高速缓存器(6)包括至少N级依次连接的片上指令高速缓存;相应地,所述片上数据高速缓存器(7)包括至少N级依次连接的片上数据高速缓存;其中,N大于或等于1;
至少一所述片上非易失性指令存储器(16)结合或取代一个所述片上指令高速缓存(6-1,和/或6-2,。。。和/或6-N);至少一片上非易失性数据存储器(17)结合或取代一个所述片上数据高速缓存(7-1,和/或7-2,。。。和/或7-N)。
优选地,所述片上非易失性存储器采用相变存储器,所述相变存储器的存储单元采用基于一个二极管和一个相变电阻的结构或采用基于两个二极管和两个相变电阻的结构。
本发明还提供一种具有自学习功能的快速启动低功耗计算机片上系统的工作方法,其中,应用于上述的一种具有自学习功能的快速启动低功耗计算机片上系统;包括,
操作系统启动步骤,操作系统启动信息划分为第一阶段程序和第二阶段程序,具体步骤如下:
步骤s11,系统监控统计模块(14)获取操作系统启动信息的步骤;
步骤s12,依照第一设定规则从操作系统启动信息中选取第一阶段程序,将所述第一阶段程序配置至片上非易失性存储器(13)当中的步骤;
步骤s13,中央处理器(1)启动所述第一阶段程序的步骤;
步骤s14,中央处理器(1)执行第二阶段程序的步骤。
优选地,还包括热信息调用步骤,热信息划分为热信息A和热信息B,具体步骤如下:
步骤s21,系统监控统计模块(14)获取应用程序的热信息的步骤;
步骤s22,依照第二设定规则选取热信息A并将所述热信息A配置至片上非易失性存储器(13)当中的步骤;
步骤s23,中央处理器(1)加载所述热信息A的步骤;
步骤s24,中央处理器(1)加载热信息B的步骤。
优选地,执行步骤s13之前,还包括步骤s123,判断第一阶段程序是否在外部非易失性存储器(4)中更新的步骤;
如果第一阶段程序在外部非易失性存储器(4)中更新,则按照常规方式从外部非易失性存储器(4)中获取操作系统启动信息,完成操作系统启动;
如果第一阶段程序在外部非易失性存储器(4)中没有更新,则进入步骤s13。
优选地,步骤s13中,还包括在启动所述第一阶段程序过程中,同时将第二阶段程序导入主存储器(3)或片上高速缓存器(2)的步骤。
优选地,步骤s13之后,步骤s14之前,中央处理器(1)完成启动所述第一阶段程序后,判断所述第二阶段程序导入主存储器(3)或片上高速缓存器(2)的步骤是否执行完毕,如果没有执行完毕,继续等待;如果执行完毕,进入步骤s14。
优选地,执行步骤s23之前,还包括步骤s223,判断热信息A是否在外部非易失性存储器(4)中更新的步骤;
如果热信息A在外部非易失性存储器(4)中更新,则按照常规方式从外部非易失性存储器(4)中获取热信息,完成应用程序加载;
如果热信息A在外部非易失性存储器(4)中没有更新,则进入步骤s23。
优选地,步骤s23中,还包括在启动所述热信息A过程中,同时将热信息B导入主存储器(3)或片上高速缓存器(2)的步骤。
优选地,步骤s23之后,步骤s24之前,中央处理器(1)完成启动所述热信息A后,判断所述热信息B导入主存储器(3)或片上高速缓存器(2)的步骤是否执行完毕,如果没有执行完毕,继续等待;如果执行完毕,进入步骤s24。
优选地,步骤s11中,包括步骤s111,系统上电启动后,中央处理器(1)判断操作系统启动位置,如果片上非易失性存储器(13)中有操作系统启动信息,进入步骤s123;若没有,则按照常规方式从外部非易失性存储器(4)中获取操作系统启动信息,完成操作系统启动。
优选地,步骤s21中,包括步骤s211,系统上电启动后,处理所述热信息之前,中央处理器(1)判断热信息加载位置,如果片上非易失性存储器(13)中有热信息,进入步骤s223;若没有,则按照常规方式从外部非易失性存储器(4)中获取热信息,完成应用程序加载。
优选地,所述第一设定规则为:所述系统监控统计模块(14)记录一设定时间的系统重复上电启动后装载程序,所述装载程序位于所述外部非易失性存储器(4)中,将所述装载程序的最开始被调用的其中一部分作为第一阶段程序载入片上非易失性存储器(13)中,并将所述装载程序的其余部分作为所述第二阶段程序。
优选地,所述第二设定规则为:所述系统监控统计模块(14)记录一设定时间的每个应用程序被加载的频率及热信息,所述热信息位于所述外部非易失性存储器(4)中,将所述装载程序的其中一部分作为热信息A载入片上非易失性存储器(13)中,并将所述装载程序的其余部分作为所述热信息B。
优选地,所述系统监控统计模块(14)每隔一设定时间间隔对所述片上非易失性存储器(13)中的内容进行更新。
优选地,当系统重复上下电的间隔时间(T1)大于等于T2/N,其中,T2为系统使用时间,单位为分钟;N为所述片上非易失性存储器(13)的可擦写次数分钟时,所述系统监控统计模块(14)才会对所述片上非易失性存储器(13)中的内容进行更新;
优选地,在执行所述操作系统启动步骤或所述热信息调用步骤中,所述中央处理器读取所述片上非易失性存储器(13)中的信息之前,首先判断上一次对所述片上非易失性存储器(13)中的内容进行更新的时间,如果距离上一次更新的时间间隔超过了所述片上非易失性存储器(13)的数据保持时间,则所述中央处理器(1)放弃从所述片上非易失性存储器(13)中读取信息,而从所述外部非易失性存储器(4)中读取,并且使所述片上非易失性存储器(13)中的信息无效;如果时间间隔小于片上非易失性存储器(13)数据保持时间,则中央处理器(1)就在片上非易失性存储器(13)中读取信息。
有益效果:由于采用以上技术方案,本发明采用了读取速度快、极低漏电功耗以及高密度的片上非易失性存储器,替代部分或者结合原有片上高速缓存器,并在系统上配置了系统监控统计模块来记录用户的使用习惯,能在保持系统高性能的基础上节省操作系统上电和热应用程序启动时间,并大大降低了数据从外部非易失性存储器导入内部存储器给中央处理器读取的功耗;随着这种低功耗智能系统使用时间越长,每个不同用户的不同的使用习惯会被该系统智能地学习,从而使系统运行速度会越来越快,用户体验也越来越好。
附图说明
图1为传统计算机的冯诺依曼结构的系统架构图;
图2为计算机体系中存储器的金字塔结构示意图;
图3为传统计算机的哈佛结构的系统架构图;
图4为操作系统启动后用户调用各个应用程序示例图;
图5为本发明计算机片上系统结构示例图;
图6为相变存储器的1D1R存储单元结构示意图;
图7为相变存储器的2D2R存储单元结构示意图;
图8为冯诺依曼结构中的多级片上高速缓存结构示意图;
图9为哈佛结构中的多级片上高速缓存结构示意图;
图10为片上非易失性存储器13取代部分或结合高速缓存器2的第一种冯诺依曼结构图;
图11为片上非易失性存储器13取代部分或结合高速缓存器2的第二种冯诺依曼结构图;
图12为片上非易失性存储器13取代部分或结合高速缓存器2的第三种冯诺依曼结构图;
图13为片上非易失性存储器13取代部分或结合高速缓存器2的第四种冯诺依曼结构图;
图14为片上非易失性存储器13取代部分或结合高速缓存器2的第一种哈佛结构图;
图15为片上非易失性存储器13取代部分或结合高速缓存器2的第二种哈佛结构图;
图16为片上非易失性存储器13取代部分或结合高速缓存器2的第三种哈佛结构图;
图17为片上非易失性存储器13取代部分或结合高速缓存器2的第四种哈佛结构图;
图18为本发明自学习快速启动低功耗计算机片上系统的操作系统启动示意图;
图19为本发明操作系统第一种快速启动流程图;
图20为本发明操作系统第二种快速启动流程图;
图21为本发明操作系统第三种快速启动流程图;
图22为本发明自学习快速启动低功耗计算机片上系统的热应用程序调用热信息示意图;
图23为本发明系统执行热应用程序示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本发明提供的一种具有自学习功能的快速启动低功耗计算机片上系统,如图5所示,片上系统5包括中央处理器1、片上高速缓存器2,还包括一片上混合高速缓存器15,中央处理器1连接片上混合高速缓存器15;片上混合高速缓存器15包括片上非易失性存储器13,片上混合高速缓存器15还包括片上高速缓存器2;片上混合高速缓存器15连接片外的主存储器3,主存储器3连接外部非易失性存储器4;片上系统还配置系统监控统计模块14,系统监控统计模块14可用硬件、软件或者操作系统内核来实现;系统监控统计模块14获取操作系统启动信息和/或应用程序的热信息,配置加载至片上非易失性存储器13中。
片上非易失性存储器13取代部分原本片上高速缓存器2,或是结合原本片上高速缓存器2形成上述的片上混合高速缓存器15。
系统监控统计模块14包括一计数模块、一判断模块,计数模块对系统每次启动时最先加载的操作系统启动信息进行统计;判断模块依据第一设定规则从操作系统启动信息选取第一阶段程序配置至片上非易失性存储器13中。
判断模块依据第二设定规则从应用程序的热信息中选取热信息A配置至片上非易失性存储器13中。系统监控统计模块14每隔一设定时间间隔对片上非易失性存储器13中的内容进行更新。
本发明在系统上电启动的过程中,系统监控统计模块14主要有以下功能:监测每次系统启动时加载的启动信息;记录系统启动时最开始被调用的操作系统的启动信息;根据设定的系统配置和处理优化规则,判断一部分系统启动信息作为第一阶段程序存放入片上非易失性存储器13中;
在一段时间内,系统上电启动后更新并编辑存放入片上非易失性存储器13当中系统启动时调用的操作系统信息。
对应用程序来说,系统监控统计模块14实时监控每个应用程序的加载频率;记录每个被加载应用程序中最常被调用的信息,称之为“热信息”,其可能是一串数据,也可能是一段功能函数;判断哪一部分热信息应放入片上非易失性存储器13,哪一部分热信息应该从片上非易失性存储器13中被替换出来,哪一部分热信息应当继续存放在片上非易失性存储器13中;在一段时间内,在系统下电关闭时,更新并编辑存放入片上非易失性存储器13中的热信息内容。
上述的片上非易失性存储器13是可由任何材料组成的大容量非易失性片上存储器构成,例如铁电存储器(FeRAM)、磁阻存储器(MRAM)、可变电阻式存储器(ReRAM)、相变存储器(PCRAM)以及闪存等,这些存储器的特点是密度大、静态漏电流小、功耗低。以相变存储器为例,其基本存储单元可为1D1R,如图6所示,在位线(BL,Bit line)和字线(WL,Wordline)之间接入一个相变电阻R1和一个开关二极管D1,其优势在于更小的存储单元从而达到更高的集成度。另一种基本存储单元可为2D2R,如图7所示,采用两个开关二极管D1、D2和两个相变电阻R1、R2,1D1R的存储单元面积大约为4F2(F为存储单元尺寸的单位,Femto,毫微微),2D2R的存储单元面积约为10F2,后一种存储单元以牺牲面积为代价,其优势在于更小的驱动电流从而达到更快的读取速度。但相比一般片上高速缓存器具有120F2的存储单元面积来说,相变存储器的优势十分明显。因此本发明的片上非易失性存储器13优选采用相变存储器;并对读取速度要求高的存储单元,可采用2D2R的存储单元结构;对存储密度要求高的存储单元,可采用1D1R的存储单元结构。
为了使中央处理器1访问片外主存储器3达到更好的性能,片上高速缓存器2可分为多级。
对冯诺依曼结构来说,片上高速缓存器2可分为N级,即片上高速缓存器2包括至少N级依次连接的片上高速缓存,其中,N大于或等于1;至少一片上高速缓存被取代或结合一所述片上非易失性存储器13。如图8所示,为依次连接的片上一级高速缓存2-1,片上二级高速缓存2-2,……,片上N级高速缓存2-N。离中央处理器1越近,对高速缓存的读取速度要求越高;离中央处理器1越远,高速缓存的容量越来越大。片上非易失性存储器13可取代部分或结合任一级片上高速缓存。以片上非易失性存储器13采用相变存储器为例,若取代低级片上高速缓存,比如片上一级高速缓存2-1,对读取速度要求高,可采用2D2R的存储单元结构;若取代高级片上高速缓存,例如片上N级高速缓存2-N,对存储密度要求高,可采用1D1R的单元结构。
对哈佛结构来说,片上高速缓存器2中的片上指令高速缓存器6和片上数据高速缓存器7也可分为N级,N大于等于1,如图9所示,分别为依次连接的片上一级指令高速缓存6-1,片上二级指令高速缓存6-2,……,片上N级指令高速缓存6-N,以及依次连接的片上一级数据高速缓存7-1,片上二级数据高速缓存7-2,……,片上N级数据高速缓存7-N。同样地,离中央处理器1越近,对高速缓存的读取速度要求越高;离中央处理器1越远,高速缓存的容量也越来越大。片上非易失性存储器13可取代部分或结合片上共享高速缓存8,或者片上非易失性存储器13也可分为片上非易失性指令存储器16和片上非易失性数据存储器17以取代部分或结合任一级片上指令高速缓存或者任一级片上数据高速缓存。仍然以相变存储器为例,若取代低级片上高速缓存,比如片上一级指令高速缓存6-1或者片上一级数据高速缓存7-1,对读取速度要求高,可采用2D2R的存储单元结构;若取代高级片上高速缓存,比如片上N级指令高速缓存6-N或者片上N级数据高速缓存7-N,对存储密度要求高,可采用1D1R的存储单元结构。
下面分别以两级片上高速缓存器和三级片上高速缓存器举例介绍。
如果系统为两级片上高速缓存的冯诺依曼结构:一种具体实施例,若片上非易失性存储器13可在超高速下被读取并达到片上一级高速缓存的读取速度,可以将其取代部分或者结合原有一级片上高速缓存;若片上非易失性存储器13读取速度相对较慢但达到片上二级高速缓存的读取速度,可以将其取代部分或者结合原有二级片上高速缓存,其取代结构如图10所示。其中,片上高速缓存器2包括片上一级高速缓存2-1和片上二级高速缓存2-2,片上非易失性存储器13包括片上非易失性存储器13-1和片上非易失性存储器13-2。同样地,以相变存储器为例,片上非易失性存储器13-1可采取2D2R的存储单元结构,可在超高速下被读取,片上非易失性存储器13-2可采取1D1R的存储单元结构,可达到更高的存储密度。
若片上非易失性存储器13达不到在超高速下被读取的要求,可取代部分或者结合原有片上二级高速缓存2-2。如图11所示,其中片上高速缓存器2包括片上一级高速缓存2-1和片上二级高速缓存2-2。以相变存储器为例,若对读取速度要求高,非易失性存储器13可采用2D2R存储单元结构;若对存储密度要求高,可采用1D1R存储单元结构。
如果系统为三级片上高速缓存的冯诺依曼结构:一种具体实施例,若片上非易失性存储器13可在超高速下被读取并达到片上一级高速缓存的读取速度,可以将其取代部分或者结合原有一级片上高速缓存;若片上非易失性存储器13读取速度相对较慢但达到片上二级高速缓存的读取速度,可以将其取代部分或者结合原有二级片上高速缓存;若片上非易失性存储器13读取速度达不到片上二级高速缓存的读取速度但达到片上三级高速缓存读取速度,可以将其取代部分或者结合原有三级片上高速缓存,其结构如图12所示。其中,片上高速缓存器2包括片上一级高速缓存2-1。片上二级高速缓存2-2和片上三级高速缓存2-3,片上非易失性存储器13包括片上非易失性存储器13-1,片上非易失性存储器13-2和片上非易失性存储器13-3。以相变存储器为例,片上非易失性存储器13-1可采取2D2R的存储单元结构;片上非易失性存储器13-2可采取1D1R或者2D2R的存储单元结构,片上非易失性存储器13-3可采取1D1R的存储单元结构。
若片上非易失性存储器13达不到在超高速下被读取的要求,可取代或者结合原有片上三级高速缓存2-3,如图13所示,其中片上高速缓存器2包括片上一级高速缓存2-1、片上二级高速缓存2-2和片上三级高速缓存2-3。以相变存储器为例,若对读取速度要求高,其可采用2D2R存储单元结构;若对存储密度要求高,可采用1D1R存储单元结构。
如果系统为两级片上高速缓存的哈佛结构,如图14所示,片上非易失性存储器13也可分为片上非易失性指令存储器16和片上非易失性数据存储器17,片上非易失性指令存储器16可在超高速下被读取并达到片上指令高速缓存器6的读取速度,可以将其取代部分或者结合原有片上指令高速缓存器6;若片上非易失性数据存储器17也达到了片上数据高速缓存器7的读取速度,可以将其取代部分或者结合原有片上数据高速缓存7,片上非易失性存储器13也可取代部分或者结合原片上共享高速缓存8形成一个新的片上混合共享高速缓存18。其中,片上高速缓存器2包括片上指令高速缓存器6和片上数据高速缓存7以及片上共享高速缓存8,片上非易失性存储器13包括片上非易失性指令存储器16和片上非易失性数据存储器17以及片上共享非易失性存储器19。以相变存储器为例,片上非易失性指令存储器16可采取2D2R的存储单元结构,可在超高速下被读取,片上非易失性数据存储器17可采取2D2R的存储单元结构以达到更快的读取速度,也可采取1D1R的存储单元结构以达到更高的存储密度。片上共享非易失性存储器19可采取1D1R的存储单元结构以达到更高的存储密度。
若片上非易失性指令存储器16或者片上非易失性数据存储器17达不到在超高速下被读取的要求,可只有片上共享非易失性存储器19取代部分或者结合原片上共享高速缓存8,如图15所示,其中片上高速缓存器2包括片上指令高速缓存器6和片上数据高速缓存7以及片上共享高速缓存8。以相变存储器为例,若对读取速度要求高,片上共享非易失性存储器19可采用2D2R存储单元结构;若对存储密度要求高,可采用1D1R存储单元结构。
如果系统为三级片上高速缓存的哈佛结构,若片上非易失性一级指令存储器16-1可在超高速下被读取并达到片上一级指令高速缓存器6-1的读取速度,可以将其取代部分或者结合原有片上一级指令高速缓存器6-1;若片上非易失性一级数据存储器17-1也达到了片上一级数据高速缓存7-1的读取速度,可以将其取代部分或者结合原有片上一级数据高速缓存7-1。若片上非易失性二级指令存储器16-2读取速度较慢但达到片上二级指令高速缓存器6-2的读取速度,可以将其取代部分或者结合原有片上二级指令高速缓存器6-2;若片上非易失性二级数据存储器17-2达不到片上一级数据高速缓存7-1的读取速度,可以将其取代部分或者结合原有片上二级数据高速缓存器7-2。片上共享非易失性存储器19也可取代部分或者结合原片上共享高速缓存8形成一个新的混合片上共享高速缓存18,结构如图16所示。其中,片上高速缓存器2包括片上一级指令高速缓存器6-1,片上二级指令高速缓存器6-2,片上一级数据高速缓存7-1,片上二级数据高速缓存器7-2以及片上共享高速缓存器8。片上非易失性存储器13也包括片上非易失性一级指令存储器16-1,片上非易失性二级指令存储器16-2,片上非易失性一级数据存储器17-1,片上非易失性二级数据存储器17-2,以及片上共享非易失性存储器19。同样地,以相变存储器为例,片上非易失性一级指令存储器16-1可采取2D2R的存储单元结构和片上非易失性一级数据存储器17-1可采取2D2R的存储单元结构以达到更快的读取速度,片上非易失性二级指令存储器16-2和片上非易失性二级数据存储器17-2可采取1D1R的存储单元结构以达到更高的存储密度。片上共享非易失性存储器19可采取1D1R的存储单元结构以达到更高的存储密度。
若片上非易失性一级指令存储器16-1或者片上非易失性一级数据存储器17-1达不到在超高速下被读取的要求,可只取代部分或者结合原有的片上二级指令高速缓存和片上二级数据高速缓存及片上共享高速缓存,如图17所示,其中,片上高速缓存器2包括片上一级指令高速缓存器6-1,片上二级指令高速缓存器6-2,片上一级数据高速缓存7-1,片上二级数据高速缓存器7-2以及片上共享高速缓存器8。片上非易失性存储器13也包括片上非易失性指令存储器16,片上非易失性数据存储器17,以及片上共享非易失性存储器19。以相变存储器为例,若对读取速度要求高,片上非易失性指令存储器16和片上非易失性数据存储器17可采用2D2R存储单元结构;若对存储密度要求高的片上共享非易失性存储器19可采用1D1R存储单元结构。
以上实施方式中,存放在片上非易失性存储器13中的信息可由系统监控统计模块14配置,并且离中央处理器1越近,其读取速度也越快,亦能省下更多把数据或指令从片外大容量非易失性存储器4导入主存储器3再导入片上高速缓存器2的时间和功耗;若离中央处理器1越远,其密度可以变大,从而存储更多信息以加快系统上电启动速度和热信息加载速度并省下更多数据或指令从片外大容量非易失性存储器4导入主存储器3再导入片上高速缓存器2所耗功耗。
不论冯诺依曼结构还是哈佛结构,本发明操作系统启动机制都一样,如图18所示。
本发明还提供一种具有自学习功能的快速启动低功耗计算机片上系统的工作方法,其中,应用于上述的一种具有自学习功能的快速启动低功耗计算机片上系统;包括,
操作系统启动步骤,操作系统启动信息划分为第一阶段程序和第二阶段程序,具体步骤如下:
步骤s11,系统监控统计模块14获取操作系统启动信息的步骤;
步骤s12,依照第一设定规则从操作系统启动信息中选取第一阶段程序,将第一阶段程序配置至片上非易失性存储器13当中的步骤;
步骤s13,中央处理器1启动第一阶段程序的步骤;
步骤s14,中央处理器1执行第二阶段程序的步骤。
还包括热信息调用步骤,热信息划分为热信息A和热信息B,具体步骤如下:
步骤s21,系统监控统计模块14获取应用程序的热信息的步骤;
步骤s22,依照第二设定规则选取热信息A并将热信息A配置至片上非易失性存储器13当中的步骤;
步骤s23,中央处理器1加载热信息A的步骤;
步骤s24,中央处理器1加载热信息B的步骤。
优选地,执行步骤s13之前,还包括步骤s123,判断第一阶段程序是否在外部非易失性存储器4中更新的步骤;
如果第一阶段程序在外部非易失性存储器4中更新,则按照常规方式从外部非易失性存储器4中获取操作系统启动信息,完成操作系统启动;
如果第一阶段程序在外部非易失性存储器4中没有更新,则进入步骤s13。
优选地,步骤s13中,还包括在启动第一阶段程序过程中,同时将第二阶段程序导入主存储器3或片上高速缓存器2的步骤。
优选地,步骤s13之后,步骤s14之前,中央处理器1完成启动第一阶段程序后,判断第二阶段程序导入主存储器3或片上高速缓存器2的步骤是否执行完毕,如果没有执行完毕,继续等待;如果执行完毕,进入步骤s14。
优选地,执行步骤s23之前,还包括步骤223,判断热信息A是否在外部非易失性存储器4中更新的步骤;
如果热信息A在外部非易失性存储器4中更新,则按照常规方式从外部非易失性存储器4中获取热信息,完成应用程序加载;
如果热信息A在外部非易失性存储器4中没有更新,则进入步骤s23。
优选地,步骤s23中,还包括在启动热信息A过程中,同时将热信息B导入主存储器3或片上高速缓存器2的步骤。
优选地,步骤s23之后,步骤s24之前,中央处理器1完成启动热信息A后,判断热信息B导入主存储器3或片上高速缓存器2的步骤是否执行完毕,如果没有执行完毕,继续等待;如果执行完毕,进入步骤s24。
优选地,步骤s11中,包括步骤s111,系统上电启动后,中央处理器1判断操作系统启动位置,如果片上非易失性存储器13中有操作系统启动信息,进入步骤s123;若没有,则按照常规方式从外部非易失性存储器4中获取操作系统启动信息,完成操作系统启动;
优选地,步骤s21中,包括步骤s211,系统上电启动后,处理热信息之前,中央处理器1判断热信息加载位置,如果片上非易失性存储器13中有热信息,进入步骤s223;则按照常规方式从外部非易失性存储器4中获取热信息,完成应用程序加载;
优选地,第一设定规则为:系统监控统计模块14记录一设定时间的系统重复上电启动后装载程序,装载程序位于外部非易失性存储器4中,将装载程序的最开始被调用的其中一部分作为第一阶段程序载入片上非易失性存储器13中,并将装载程序的其余部分作为第二阶段程序。
优选地,第二设定规则为:系统监控统计模块14记录一设定时间的每个应用程序被加载的频率及热信息,热信息位于外部非易失性存储器4中,将装载程序的其中一部分作为热信息A载入片上非易失性存储器13中,并将装载程序的其余部分作为热信息B。
优选地,系统监控统计模块14每隔一设定时间间隔对片上非易失性存储器13中的内容进行更新。
操作系统启动完成后,系统监控统计模块14将发挥作用,在经过一段时间的系统重复上电启动后,这段时间间隔可由系统监控统计模块14进行配置,它会选择将系统启动最开始被调用的装载程序载入片上非易失性存储器13中,这部分启动程序称之为第一阶段程序,系统启动时调用的操作系统的其余部分称之为第二阶段程序。由于片上非易失性存储器13存储空间有限,系统监控统计模块14会根据具体情况调整第一阶段程序和第二阶段程序的大小。系统再一次启动时,中央处理器1会先判断操作系统启动位置,由于最开始的启动程序已存放于片上非易失性存储器13单元,中央处理器1直接从片上非易失性存储器13中执行启动操作系统第一阶段程序。在启动之前,中央处理器1要进行判断,若系统上电被调用的操作系统第一阶段程序在外部非易失性存储器4中被更新而系统监控统计模块14没有及时更新片上非易失性存储器13中相应的第一阶段程序,那么中央处理器还是以常规方式启动,系统监控统计模块经过一段时间学习后,会更新在片上非易失性存储器13中相应的操作系统第一阶段程序。如果操作系统第一阶段程序在外部非易失性存储器4中未更新,那么中央处理器1直接从片上非易失性存储器13中执行启动操作系统第一阶段,同时将系统启动时的操作系统第二阶段由外部非易失性存储器4导入主存储器3,如果片上非易失性存储器13和片上高速缓存器2拥有独立的总线,还可以继续将第二阶段从主存储器3导入片上高速缓存器2中。操作系统第一阶段启动完毕后,中央处理器判断操作系统第二阶段是否导入完毕,如果仍忙碌,则等待直到第二阶段导入完毕,如果导入完毕则中央处理器1跳转至主存储器3或者片上高速缓存器2中继续执行操作系统第二阶段,直至操作系统启动完成。从上述启动过程来看,系统直接从片上非易失性存储器13中启动,并且同时将操作系统启动第二阶段由外部非易失性存储器4导入主存储器3,或者进而导入片上高速缓存器2,相比常规启动方式,系统启动速度大大提高,功耗也大大降低。
现举实例一如下。为简单起见,片上高速缓存器2和片上非易失性存储器13共享总线接口,假定操作系统按照启动先后顺序可以划分为5个模块,即模块1’,模块2’,模块3’,模块4’,模块5’。片上非易失性存储器13能够存储系统程序的空间大小是有限的,具体空间大小可由系统监控统计模块14进行配置。一段时间间隔内,系统监控统计模块14对操作系统各个模块进行统计分析,这个一段时间间隔可在系统监控统计模块14中配置。表1为系统监控统计模块14记录的示例表格。
表1
首先,系统监控统计模块14会考虑将模块1’存放入片上非易失性存储器13中,显然V_1要小于片上非易失性存储器13的空间大小。中央处理器1从片上非易失性存储器13中读取模块1’需要时间N_1,其余模块由外部非易失性存储器4导入主存储器3,如果N_1时间足够长,则可将其余所有模块同时导入,所需时间为(T_2+T_3+T_4+T_5),如果(T_2+T_3+T_4+T_5)大于N_1,二者相减即为等待时间,记作Tw。若N_1大于(T_2+T_3+T_4+T_5),即不需要等待时间。若(T_2+T_3+T_4+T_5)远大于N_1,则导致等待时间过长,系统监控统计模块14会综合各种情况得出最优解,使得等待时间与系统启动时间最优化,比如系统监控统计模块14得出在读取模块1’的同时将模块2’和模块3’导入主存储器3能够使得等待时间和系统启动时间达到最优,系统启动方式如图19所示,图中忽略了等待时间。系统上电直接从片上非易失性存储器13中启动模块1’,同时将模块2’和模块3’从外部非易失性存储器4导入主存储器3中,模块1’加载完毕后,判断模块2’和模块3’是否加载完毕,如果加载完毕则等待时间Tw=0,中央处理器1直接跳转至主存储器3继续启动其余模块,直至系统启动完毕,否则中央处理器1需等待模块2’和模块3’加载完毕再跳转至主存储器3,等待时间为T_2+T_3-N_1。读取模块4’和模块5’的过程与常规方式相同。相比常规启动方式,系统启动时间节约了从外部非易失性存储器4将模块1’,2’,3’导入主存储器3的时间及中央处理器从片上非易失性存储器13与从主存储器3中执行模块1’的时间差并减去等待时间,即(T_1+T_2+T_3)+(C_1-N_1)-Tw。片上非易失性存储器13作为片上混合高速缓存器的一部分,其读取速度要远远大于主存储器的读取速度,这部分时间也是不可忽略的。系统启动功耗节省了将模块1’从外部非易失性存储器4导入主存储器3所需功耗P_1,以及中央处理器1从片上非易失性存储器13读取模块1’和从主存储器3读取模块1’的功耗差PM_1-PN_1。中央处理器1从片上非易失性存储器13中读取模块所需功耗要远小于从主存储器3中读取模块所需功耗,这是因为片上非易失性存储器13自身的优点就是低功耗,而主存储器3主要结构是DRAM,需要定期刷新才能保持数据,这需要大量功耗,并且在读取主存储器3中的模块还要将该模块导入片上高速缓存器2中,这也会造成额外的功耗。
如果模块1’和模块2’的程序大小之和仍小于片上非易失性存储器13存储系统启动时调用操作系统的存储空间,那么系统监控统计模块14会考虑将模块2’也存放于片上非易失性存储器13中。中央处理器1从片上非易失性存储器13中读取模块1’和模块2’需要时间N_1+N_2,其余模块由外部非易失性存储器4导入主存储器3,如果N_1+N_2时间足够长,则可将其余所有模块同时导入,所需时间为(T_3+T_4+T_5),如果(T_3+T_4+T_5)大于N_1+N_2,二者相减即为等待时间Tw。若N_1+N_2大于(T_3+T_4+T_5),即不需要等待时间。若(T_3+T_4+T_5)远大于N_1+N_2,则导致等待时间过长,系统监控统计模块14会综合各种情况得出最优解,使得等待时间与系统启动时间最优化,比如系统监控统计模块14得出在读取模块1’和模块2’的同时将模块3’和模块4’导入主存储器3能够使得等待时间和系统启动时间达到最优,系统启动方式如图20所示,图中忽略了等待时间。系统上电直接从片上非易失性存储器13中启动模块1’和模块2’,同时将模块3’,4’从外部非易失性存储器4导入主存储器3中,模块2’导入完毕后,判断模块3’和模块4’是否导入完毕,如果导入完毕则Tw=0,中央处理器1直接跳转至主存储器3继续启动其余模块,直至系统启动完毕,否则中央处理器1需等待模块3’和模块4’导入完毕再跳转至主存储器3,Tw=T_3+T_4-N_1-N_2。读取模块5’的过程与常规方式相同,中央处理器1先从外部非易失性存储器4将模块5’导入主存储器3再导入片上高速缓存器中读取。相比常规启动方式,系统启动时间节约了从外部非易失性存储器4将模块1’,2’,3’,4’导入主存储器3的时间和从片上非易失性存储器13与从主存储器3中执行模块1’和2’的时间差并减去等待时间,即(T_1+T_2+T_3+T_4)+(C_1+C_2-N_1-N_2)-Tw。系统启动功耗节省了中央处理器1从外部非易失性存储器4将模块1’和模块2’导入主存储器3所需功耗P_1+P_2,以及中央处理器1从片上非易失性存储器13读取模块1’及模块2’和从主存储器读取模块1’和模块2’的功耗差PM_1+PM_2-PN_1-PN_2。
如果中央处理器1从片上非易失性存储器13中执行模块1’的时间与模块2’从外部非易失性存储器4导入主存储器的时间相当,而模块1’与模块3’的程序大小总和也小于片上非易失性存储器13的余下可用空间容量,那么将模块1’和模块3’同时存放于片上非易失性存储器当中也是一种方式。如此系统启动过程如图21所示,图中忽略了等待时间。系统启动,直接从片上非易失性存储器13中加载模块1’,同时模块2’由外部非易失性存储器4导入主存储器3。模块1’执行完毕,如果模块2’已导入完毕,则等待时间Tw1=0,中央处理器1直接跳转至主存储器3加载模块2’,否则就需要等待模块2’导入完毕,Tw1=T_2-N_1。模块2’执行完毕再跳转至片上非易失性存储器13中读取模块3’,读取模块3’的同时将模块4’和模块5’由外部非易失性存储器4导入主存储器3,前提是模块4’和模块5’由外部非易失性存储器4导入主存储器3所需时间T_4+T_5要与中央处理器1读取模块3’的时间N_3相当,使得等待时间Tw2最优。模块3’读取完毕,如果模块4’和模块5’已导入完毕,则Tw2=0,中央处理器1直接跳转至主存储器3执行模块4’,否则就需要等待模块4’和模块5’导入完毕,Tw2=T_4+T_5-N_3。执行完模块4’再执行模块5’,直至系统启动完毕。相比常规启动方式,系统启动时间节约了从外部非易失性存储器4将模块1’,2’,3’,4’,5’导入主存储器3的时间和从片上非易失性存储器13与从主存储器3中执行模块1’和模块3’的时间差再减去等待时间,即(T_1+T_2+T_3+T_4+T_5)+(C_1+C_3-N_1-N_3)-Tw1-Tw2。系统启动功耗节省了中央处理器1从外部非易失性存储器4将模块1’和模块3’导入主存储器3所需功耗P_1+P_3,以及中央处理器1从片上非易失性存储器13读取模块1’及模块3’和从主存储器3读取模块1’和模块3’的功耗差PM_1+PM_3-PN_1-PN_3。
同理,其余可能的存储方式不再描述。在种种可能的存储方式中,系统监控统计模块14通过分析能够得出在不超过片上非易失性存储器13存储空间的前提下,优化配置系统启动时调用的各个模块,使系统等待时间,系统启动总时间,系统启动过程中消耗的功耗等各项指标最优化。比如系统监控统计模块14通过分析得出将模块1’和模块2’存放于片上非易失性存储器13中是最优解。
本发明中操作系统启动方式与常规操作系统启动方式相比,启动速度更快速,启动功耗更低,较常规启动方式在速度和功耗上有明显的优势。
系统的自学习机制并符合用户的使用习惯还主要表现在系统加载应用程序上。热应用程序中最经常被调用的程序部分称之为“热信息”。系统监控统计单元统计一段时间内各个程序被访问的频率,记录每个程序中的热信息,并存储在片上非易失性存储器13中。一段时间后,应用程序的启动过程将会加速,如果片上非易失性存储器13能够存储应用程序的空间容量足够大,那么可将热应用程序中某个热信息全部存于片上非易失性存储器13中,用户执行热应用程序并调用热信息时可以直接从片上非易失性存储器13中调用,不用再从外部非易失性存储器4中导入主存储器3再导入片上高速缓存器2中,大大加快了速度,降低了功耗。若片上非易失性存储器13存储空间有限,不能完全存放某个热信息,这就需要将热信息分为热信息A和热信息B,热信息A是热信息中最开始被调用的部分,假设片上非易失性存储器13中只能存放热信息A,系统监控统计模块14会根据具体情况调整热信息A和热信息B的大小。热应用程序调用热信息的过程如图22所示。系统调用热信息会先判断执行位置,若片上非易失性存储器13中已存储热信息A,在调用热信息A前,中央处理器1要进行判断,若热信息A在外部非易失性存储器4中被更新而系统监控统计模块14没有及时更新片上非易失性存储器13中相应的信息,那么中央处理器还是以常规方式调用热信息,系统监控统计模块14经过一段时间学习后,会更新在片上非易失性存储器13中相应的信息。如果热信息A在外部非易失性存储器4中未更新,那么中央处理器1直接从片上非易失性存储器13中执行热信息A,同时将热信息B从外部非易失性存储器4载入主存储器3。如果片上高速缓存器2和片上非易失性存储器13拥有各自的总线,还可再将热信息B导入片上高速缓存器2中。热信息A执行完毕后会判断热信息B是否转存完毕,若是则跳转至主存储器3或片上高速缓存器2中执行热信息B直至程序加载完毕;若没有则需等待热信息B转存完毕。本发明可以大大降低热应用程序中热信息的调用时间,减少热信息不断被导入片上高速缓存器2的功耗。
现举实例二如下。如表2所示为系统监控统计模块14实时记录应用程序被加载情况的示例表格。假设片上非易失性存储器13存储空间足够大,可以全部存放某个应用程序中的热信息。假定统计周期为一周,这个统计时间可由系统监控统计模块14中进行配置。用户可能加载的应用程序从应用程序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。
表2
系统下电前,系统会对记录的所有应用程序的程序块进行特定的计算处理,比如按照公式(a*F_N+b*L_N_n+c*T_N_n)可计算出每个应用程序中各程序块的权重,其中a,b和c是每个参数的权重系数,可由系统在系统监控统计模块14中进行配置。系统监控统计模块14计算处理后对计算结果进行分析,判断哪些应用程序是最经常被加载的,判断哪些程序块被调用的权重最大,然后决定将哪些转存至片上非易失性存储器13,哪些存储在片上非易失性存储器13中的信息应当擦除,哪些存储在片上非易失性存储器13中的信息应当继续保存。例如,片上非易失性存储器13可以存放两个程序块,已经存放A1程序块。一段时间统计监测,根据公式(a*F_N+b*L_N_n+c*T_N_n)处理每个应用程序中的程序块,并按照权重从大到小排列为A2,B2,A1,B1…,系统监控统计模块14会将程序块A1从片上非易失性存储器13中擦除,然后写入程序块A2和B2。又例如,对某一个热应用程序来说,其执行过程为程序块A,程序块B,程序块A,程序块B,程序块C,程序块A,程序块D和程序块B,系统监控统计模块14在一段时间内检测程序块A和程序块B为热信息,将其存储在片上非易失性存储器13中。系统执行该热应用程序的过程如图23所示。中央处理器1直接从片上非易失性存储器13中执行程序块A和程序块B,仅在执行程序块C和程序块D时需要从外部非易失性存储器4中导入主存储器3中再导入片上高速存储器中执行直至热应用程序加载完毕。如果没有片上非易失性存储器13,执行完程序块C再执行程序块A时,虽然之前程序块A已经由外部非易失性存储器4导入主存储器3和片上高速缓存器2,但主存储器3和片上高速缓存器2中的程序块A可能被程序块B或者程序块C替换掉,因此不得不重新由外部非易失性存储器4导入主存储器3再导入片上高速缓存器2中再执行。片上非易失性存储器13能够明显减少重复导入的次数,从而大大降低功耗。可见在整个热应用程序执行过程中减少从外部非易失性存储器4中导入主存储器3和片上高速缓存器2所需时间和功耗,从而加快热应用程序的启动速度,降低功耗。系统监控统计模块14可用硬件,应用程序或者操作系统内核来实现。据此,系统根据用户的使用习惯将用户最频繁访问的应用程序中最常被调用的热程序存储至片上非易失性存储器13,下次被调用时中央处理器1可以直接从片上非易失性存储器13读取,降低从外部非易失性存储器4导入主存储器3再导入片上高速缓存器2的功耗。
本发明中的系统监控统计模块具有自学习的能力,无需用户直接参与,是一种非常智能的系统。
无论是将操作系统启动信息的某一模块或者热应用程序中的某个程序块存于片上非易失性存储器13中,系统监控统计模块14都要对这部分程序进行一些配置。例如程序A和程序B是两个相邻的模块,程序A被存至片上非易失性存储器13中,在执行程序A的同时需要将程序B从外部非易失性存储器4中导入主存储器3中。那么对程序A的配置如下:在程序A启动之前增加判断指令,判断程序A的启动位置;在程序A结束时增加一些特定信息,比如检测程序B是否导入完毕,若没有,中央处理器1进入等待状态,若导入完毕,则中央处理器1跳转至主存储器3中执行程序B。只有对这些程序进行配置,中央处理器1在系统启动时或者加载热信息时才能有序进行。
在系统上电或者关机的过程中,系统就像人脑一样进行智能学习更新。系统监控统计模块14生成统计分析报告,判断哪些程序是访问频率最高的程序应存入片上非易失性存储器13中。如果这些程序已经存储在片上非易失性存储器13中,它们应当保持不变;如果这些程序不在其中,我们应该导入片上非易失性存储器13中。同时一些存放在片上非易失性存储器13中的程序应该被擦除或被取代。随着用户使用的时间越长,用户最经常使用的程序会直接从片上非易失性存储器13中启动,速度越来越快,功耗越来越低,越来越满足用户的使用习惯。
虽然片上非易失性存储器13拥有低漏功耗、高密度等优点,但是其在耐久性(endurance)和数据保持性(retention)方面受到限制,也就是说一方面向片上非易失性存储器13中写入的次数有限,以相变存储器为例,这个数量级大约在106次;另一方面片上非易失性存储器13中的数据能够保存的时间也是有限的,以相变存储器为例,这个时间一般在7-10年。在数据保持性问题上,可这样解决:在中央处理器1读取片上非易失性存储器13中的信息时,先判断上一次写入该信息的操作时间,如果时间间隔超过了片上非易失性存储器13数据保持时间,则中央处理器1放弃从片上非易失性存储器13中读取该信息,而是从外部非易失性存储器4中读取,并且使片上非易失性存储器13中该信息无效。如果时间间隔小于片上非易失性存储器13数据保持时间,那么中央处理器1就在片上非易失性存储器13中读取该信息。
在耐久性问题上,可这样解决:以相变存储器为例考虑一种极端情况,系统每分钟就会上下电重启一次,若系统每一次启动关闭都会向相变存储器中写入一次信息,10年内需向相变存储器中写入的次数可达10*365*24*60=5.256*106次,这显然超过了相变存储器的极限。为解决这个问题,本发明可在系统智能学习的过程设定条件,当系统重复上下电的间隔时间(T1)大于等于T2/N,其中,T2为系统使用时间,单位为分钟;N为所述片上非易失性存储器13的可擦写次数分钟时,系统监控统计模块14才会对片上非易失性存储器13中的内容进行更新;例如,如果系统重复启动加载有效时间小于5分钟,系统监控统计模块14将不会对此次启动情况进行智能学习。只有系统重复启动加载有效时间大于5分钟,监控统计单元才会进行统计分析,系统才进行智能学习。在十年内向相变存储器中写入的次数最多可达10*365*24*60/5=1*106次,这是能够接受的范围。
系统每次上电可实现快速启动,也能够加快用户真正感兴趣的应用程序的开启速度,大大提高不同用户使用不同程序的体验感。无需用户参与即可实现智能学习,随着系统使用时间越来越长,系统会工作的越来越快,越来越高效。
本发明的系统监控统计模块14可用硬件,或软件如操作系统内核等来实现。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (10)
1.一种具有自学习功能的快速启动低功耗计算机片上系统,所述片上系统(5)包括中央处理器(1)、片上高速缓存器(2),其特征在于,还包括一片上混合高速缓存器(15),所述中央处理器(1)连接所述片上混合高速缓存器(15);所述片上混合高速缓存器(15)包括片上非易失性存储器(13),所述片上混合高速缓存器(15)还包括所述片上高速缓存器(2);
所述片上系统还配置一系统监控统计模块(14),所述系统监控统计模块(14)获取操作系统启动信息和/或应用程序的热信息,配置并加载至所述片上非易失性存储器(13)中;所述系统监控统计模块(14)每隔一设定时间间隔对所述片上非易失性存储器(13)中的内容进行更新;
所述系统监控统计模块(14)包括一计数模块、一判断模块,所述计数模块对系统每次启动时最先加载的操作系统启动信息进行统计;所述判断模块依据第一设定规则从所述操作系统启动信息选取第一阶段程序配置至所述片上非易失性存储器(13)中;和/或,所述计数模块对每个应用程序的加载频率进行统计,所述判断模块依据第二设定规则从应用程序的热信息中选取热信息A配置至所述片上非易失性存储器(13)中;
所述片上高速缓存器(2)包括片上指令高速缓存器(6)、片上数据高速缓存器(7)、片上共享高速缓存(8);所述片上混合高速缓存器(15)包括片上混合共享高速缓存(18),所述片上混合共享高速缓存(18)包括所述片上共享高速缓存(8)及片上共享非易失性存储器(19);所述片上混合共享高速缓存(18)分别与所述片上指令高速缓存器(6)和片上数据高速缓存器(7)连接。
2.根据权利要求1所述的一种具有自学习功能的快速启动低功耗计算机片上系统,其特征在于,所述片上高速缓存器(2)包括至少N级依次连接的片上高速缓存,其中,N大于或等于1。
3.根据权利要求2所述的一种具有自学习功能的快速启动低功耗计算机片上系统,其特征在于,至少一个所述片上高速缓存被所述片上非易失性存储器(13)取代或至少一个所述片上高速缓存结合一所述片上非易失性存储器(13)。
4.根据权利要求1所述的一种具有自学习功能的快速启动低功耗计算机片上系统,其特征在于,所述片上非易失性存储器(13)包括所述片上共享非易失性存储器(19);所述片上非易失性存储器(13)还包括片上非易失性指令存储器(16)、片上非易失性数据存储器(17)。
5.根据权利要求4所述的一种具有自学习功能的快速启动低功耗计算机片上系统,其特征在于,所述片上非易失性指令存储器(16)与所述片上指令高速缓存器(6)结合或所述片上非易失性指令存储器(16)取代所述片上指令高速缓存器(6)。
6.根据权利要求4所述的一种具有自学习功能的快速启动低功耗计算机片上系统,其特征在于,所述片上非易失性数据存储器(17)与所述片上数据高速缓存器(7)结合或所述片上非易失性数据存储器(17)取代所述片上数据高速缓存器(7)。
7.根据权利要求1所述的一种具有自学习功能的快速启动低功耗计算机片上系统,其特征在于,所述片上指令高速缓存器(6)包括至少N级依次连接的片上指令高速缓存;相应地,所述片上数据高速缓存器(7)包括至少N级依次连接的片上数据高速缓存;其中,N大于或等于1。
8.根据权利要求7所述的一种具有自学习功能的快速启动低功耗计算机片上系统,其特征在于,至少一所述片上非易失性指令存储器(16)结合或取代一个所述片上指令高速缓存;至少一所述片上非易失性数据存储器(17)结合或取代一个所述片上数据高速缓存。
9.根据权利要求1所述的一种具有自学习功能的快速启动低功耗计算机片上系统,其特征在于,所述第一设定规则被配置为:所述系统监控统计模块(14)记录一设定时间的系统重复上电启动后装载程序,所述装载程序位于外部非易失性存储器(4)中,将所述装载程序的最开始被调用的其中一部分作为第一阶段程序载入片上非易失性存储器(13)中,并将所述装载程序的其余部分作为所述第二阶段程序。
10.根据权利要求1所述的一种具有自学习功能的快速启动低功耗计算机片上系统,其特征在于,所述第二设定规则被配置为:所述系统监控统计模块(14)记录一设定时间的每个应用程序被加载的频率及热信息,所述热信息位于外部非易失性存储器(4)中,将装载程序的其中一部分作为热信息A载入片上非易失性存储器(13)中,并将所述装载程序的其余部分作为所述热信息B。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710165429.XA CN106951392A (zh) | 2013-11-12 | 2013-11-12 | 一种具有自学习功能的快速启动低功耗计算机片上系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310561241.9A CN103593324B (zh) | 2013-11-12 | 2013-11-12 | 一种具有自学习功能的快速启动低功耗计算机片上系统 |
CN201710165429.XA CN106951392A (zh) | 2013-11-12 | 2013-11-12 | 一种具有自学习功能的快速启动低功耗计算机片上系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310561241.9A Division CN103593324B (zh) | 2013-11-12 | 2013-11-12 | 一种具有自学习功能的快速启动低功耗计算机片上系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106951392A true CN106951392A (zh) | 2017-07-14 |
Family
ID=50083474
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310561241.9A Active CN103593324B (zh) | 2013-11-12 | 2013-11-12 | 一种具有自学习功能的快速启动低功耗计算机片上系统 |
CN201710165429.XA Withdrawn CN106951392A (zh) | 2013-11-12 | 2013-11-12 | 一种具有自学习功能的快速启动低功耗计算机片上系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310561241.9A Active CN103593324B (zh) | 2013-11-12 | 2013-11-12 | 一种具有自学习功能的快速启动低功耗计算机片上系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN103593324B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391316A (zh) * | 2017-09-01 | 2017-11-24 | 中国科学院计算技术研究所 | 一种基于非易失存储的计算装置及其使用方法 |
CN107608824A (zh) * | 2017-09-01 | 2018-01-19 | 中国科学院计算技术研究所 | 一种非易失性计算装置及其工作方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927203B (zh) * | 2014-03-26 | 2018-06-26 | 上海新储集成电路有限公司 | 一种计算机系统及控制方法 |
CN104035897B (zh) * | 2014-06-12 | 2018-04-24 | 上海新储集成电路有限公司 | 一种存储控制器 |
CN104166523B (zh) * | 2014-08-08 | 2018-04-20 | 上海新储集成电路有限公司 | 一种存储器及提高计算机系统加载数据速率的方法 |
CN104834482A (zh) * | 2015-04-30 | 2015-08-12 | 上海新储集成电路有限公司 | 一种混合缓存器 |
CN105094985A (zh) * | 2015-07-15 | 2015-11-25 | 上海新储集成电路有限公司 | 一种共享内存池的低功耗数据中心及其工作方法 |
CN105094827B (zh) * | 2015-07-24 | 2018-08-28 | 上海新储集成电路有限公司 | 一种处理器启动的方法 |
CN106469020B (zh) * | 2015-08-19 | 2019-08-09 | 旺宏电子股份有限公司 | 高速缓存元件与控制方法及其应用系统 |
CN110413339A (zh) * | 2015-11-12 | 2019-11-05 | 华为技术有限公司 | 加载软件模块的方法和装置 |
CN114610527A (zh) * | 2021-03-30 | 2022-06-10 | 深圳宏芯宇电子股份有限公司 | 存储装置、计算机系统、启动方法及存储介质 |
CN114579196A (zh) * | 2022-05-06 | 2022-06-03 | 成都前锋信息技术股份有限公司 | 基于自学习的计算机启动盘启动顺序控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782871A (zh) * | 2009-01-16 | 2010-07-21 | 株式会社东芝 | 信息处理装置、处理器及存储器管理方法 |
US20110066790A1 (en) * | 2009-09-17 | 2011-03-17 | Jeffrey Clifford Mogul | Main memory with non-volatile memory and dram |
CN102236530A (zh) * | 2010-04-23 | 2011-11-09 | 广州盛华信息技术有限公司 | 实现手机缓冲存储器机制的系统及手机操作系统加载方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7574590B2 (en) * | 2005-10-26 | 2009-08-11 | Sigmatel, Inc. | Method for booting a system on a chip integrated circuit |
CN102073596B (zh) * | 2011-01-14 | 2012-07-25 | 东南大学 | 针对指令的可重构片上统一存储器管理方法 |
CN102866896B (zh) * | 2011-07-05 | 2015-08-26 | 中国科学院上海微系统与信息技术研究所 | 基于单存储器的嵌入式设备的启动系统 |
CN103064503B (zh) * | 2012-12-24 | 2016-03-09 | 上海新储集成电路有限公司 | 片上系统及其缓存器 |
-
2013
- 2013-11-12 CN CN201310561241.9A patent/CN103593324B/zh active Active
- 2013-11-12 CN CN201710165429.XA patent/CN106951392A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782871A (zh) * | 2009-01-16 | 2010-07-21 | 株式会社东芝 | 信息处理装置、处理器及存储器管理方法 |
US20110066790A1 (en) * | 2009-09-17 | 2011-03-17 | Jeffrey Clifford Mogul | Main memory with non-volatile memory and dram |
CN102236530A (zh) * | 2010-04-23 | 2011-11-09 | 广州盛华信息技术有限公司 | 实现手机缓冲存储器机制的系统及手机操作系统加载方法 |
Non-Patent Citations (2)
Title |
---|
SANCHUAN GUO,等;: "Wear-Resistant Hybrid Cache Architecture with Phase Change Memory", 《2012 IEEE SEVENTH INTERNATIONAL CONFERENCE ON NETWORKING, ARCHITECTURE, AND STORAGE》 * |
XIAOXIA WU,等: "Hybrid Cache Architecture with Disparate Memory Technologies", 《ISCA 09 PROCEEDINGS OF THE 36TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391316A (zh) * | 2017-09-01 | 2017-11-24 | 中国科学院计算技术研究所 | 一种基于非易失存储的计算装置及其使用方法 |
CN107608824A (zh) * | 2017-09-01 | 2018-01-19 | 中国科学院计算技术研究所 | 一种非易失性计算装置及其工作方法 |
WO2019041903A1 (zh) * | 2017-09-01 | 2019-03-07 | 中国科学院计算技术研究所 | 一种基于非易失存储的计算装置及其使用方法 |
CN107608824B (zh) * | 2017-09-01 | 2020-07-31 | 中国科学院计算技术研究所 | 一种非易失性计算装置及其工作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103593324A (zh) | 2014-02-19 |
CN103593324B (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103593324B (zh) | 一种具有自学习功能的快速启动低功耗计算机片上系统 | |
CN103810113B (zh) | 一种非易失存储器和动态随机存取存储器的融合内存系统 | |
CN104115132B (zh) | 借助于存储器通道关闭的功率节约 | |
CN104115129B (zh) | 用于从处理器到存储器子系统智能刷新数据的系统和方法 | |
CN104106057B (zh) | 用非易失性随机存取存储器提供对休眠状态转变的即时响应的方法和系统 | |
JP5901759B2 (ja) | メモリのボリュームの識別子を決定する方法、装置およびシステム | |
CN104303167B (zh) | 计算机系统和存储器管理的方法 | |
CN103915110B (zh) | 一种易失存储器的刷新方法及相关的易失存储器的控制器 | |
CN105183379B (zh) | 一种混合内存的数据备份系统及方法 | |
US8270226B2 (en) | Memory module having a plurality of phase change memories, buffer RAM and NAND flash memory | |
US8954672B2 (en) | System and method for cache organization in row-based memories | |
US9965222B1 (en) | Software mode register access for platform margining and debug | |
CN109564556A (zh) | 具有条纹和读取/写入事务管理的存储器控制器仲裁器 | |
US20180024755A1 (en) | Simulator for enterprise-scale simulations on hybrid main memory systems | |
CN109154918A (zh) | 自刷新状态机mop阵列 | |
CN103999161A (zh) | 用于相变存储器漂移管理的设备和方法 | |
CN106257400A (zh) | 处理设备、计算系统及处理设备访问主存储器的方法 | |
CN104360825B (zh) | 一种混合内存系统及其管理方法 | |
CN103927203B (zh) | 一种计算机系统及控制方法 | |
JP2023508660A (ja) | ダブルデータレートメモリトレーニングの削減によるメモリコンテキスト復元、システムオンチップのブート時間の短縮 | |
KR20120078096A (ko) | 비휘발성 메모리 및 휘발성 메모리를 포함하는 메모리 시스템 및 그 시스템을 이용한 처리 방법 | |
CN109219806A (zh) | 低功率存储器节流 | |
WO2017107162A1 (zh) | 一种异构混合内存组件、系统及存储方法 | |
JP2013149091A (ja) | メモリ制御装置及び制御方法並びに情報処理装置 | |
CN109491592A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170714 |