CN103942158B - 一种具有智能优化循环指令模块功能的自学习系统 - Google Patents
一种具有智能优化循环指令模块功能的自学习系统 Download PDFInfo
- Publication number
- CN103942158B CN103942158B CN201410053674.8A CN201410053674A CN103942158B CN 103942158 B CN103942158 B CN 103942158B CN 201410053674 A CN201410053674 A CN 201410053674A CN 103942158 B CN103942158 B CN 103942158B
- Authority
- CN
- China
- Prior art keywords
- module
- functional module
- recursion instruction
- memory
- static random
- 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
Classifications
-
- 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
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种具有智能优化循环指令模块功能的自学习系统,在原有处理器系统或微处理器系统内配置分层非易失性静态随机访问存储器(nvSRAM)和系统监测统计模块,所述分层非易失性静态随机访问存储器通过系统总线与处理器或微控制器相连。系统监测统计模块在系统关闭的时候,把一定时期内系统最频繁访问的具有一定循环次数和一定规模的循环指令模块存放在有多层存储空间的nvSRAM中。本发明的技术方案在保持系统高性能的基础上节省了大量访问功耗。
Description
技术领域
本发明属于半导体领域,涉及一种存储结构,尤其涉及一种具有智能优化循环指令模块功能的自学习系统。
背景技术
传统处理器系统设计中的中央处理器单元访问外部存储器的结构如图1所示,1是中央处理器,2是高速缓存存储器,3是主存储器,4是外部存储器。中央处理器通过系统总线访问高速缓存存储器,存放在外部存储器中的指令或数据,先导入到主存储器中,然后从主存储器导入到片上高速缓存存储器中,存在高速缓存存储器中的指令或数据再被中央处理器直接访问。在整个结构中,因为高速缓存存储器和主存储器是易失性存储器,所以在系统掉电后存放在里面的指令或数据就会全部丢失,因此在系统每次上电或者被唤醒时,指令或数据需要重新从外部存储器中导入到主存储器中,然后再导入到高速缓存存储器中,被中央处理器读取。指令或数据从外部存储器导入至高速缓存存储器中,会消耗大量的功耗,随着导入次数增多,功耗也逐渐增大。
图2是微控制器系统结构图,图中1是微控制器,2是嵌入式非易失性存储器,比如闪存(flash)等,微控制器通过系统总线访问非易失性存储器,所有的指令或数据都是存放在非易失性存储器中,微控制器可直接访问非易失性存储器中的指令或数据。存储在非易失性存储器中的指令或数据,在掉电后,不丢失,每次系统上电或者被唤醒时,微控制器可以直接从非易失性存储器中读取指令或数据,不需要像处理器系统那样重新从外部存储器导入指令或数据,节省了大量的功耗。但由于嵌入式非易失性存储器的数据读取访问速度远远低于静态随机访问存储器,比如处理器系统中的高速缓存模块,所以微控制器系统的运行速度远远低于处理器系统,只适用于特定应用环境,而不是实时高速系统。并且随着非易失性存储器的密度增大,微控制器在读取指令或数据时,读取速度也随之降低,同时也会导致读取指令或数据时产生的功耗也会相应的增大。
假如被中央处理器或者微控制器读取的指令模块是如图3的一种循环结构,如图所示指令开始执行经过功能模块A,到功能模块B,功能模块B中指令按照顺序依次执行模块L1、L2、L3、直至Ln,执行完Ln后根据判断条件可以返回L1重复执行多次,之后进入到功能模块C中。执行完功能模块C后进入到功能模块D,功能模块D中指令按照顺序依次执行模块L11、L12、L13、直至L1n,执行完L1n后根据判断条件可以返回到功能模块D的L11中重复执行,或者返回到功能模块B重复执行,或者接着执行后续的功能模块。循环执行的指令模块特征是虽然代码量有可能不是很大,但因为会被重复读取和执行,所以会被中央处理器或微控制器频繁地从存储器中调用,从而多次消耗相同的功耗。从逻辑上来说,中央处理器或微控制器访问循环指令模块中的各个单条指令消耗的能量要比读取其它非循环模块中的相同指令消耗的能量要大的多。
对于如图1的处理器系统来说,在读取如图3的循环结构的指令或数据时,当读取到功能模块A,功能模块A从外部存储器导入到主存储器,然后再导入到高速缓存存储器中,被中央处理器直接读取。紧接着开始读取功能模块B,功能模块B中的模块L1,L2,L3等,依次从外部存储器导入到主存储器,再导入到高速缓存存储器中。当读取到功能模块C时,假如功能模块C的代码量相对较大,其占用大量的片上高速缓存存储器的资源,所以当功能模块C被导入到高速缓存存储器中时,暂存在高速缓存存储器中的功能模块A和功能模块B会被功能模块C替换掉。当中央处理器在读取功能模块D时,因为功能模块C在高速环存储器中占用了大量的资源,所以再把功能模块D导入到高速缓存存储器时,部分功能模块C会被功能模块D取代。在执行完功能模块D后,假如系统判断出需要返回到功能模块B中重复执行,因为高速缓存存储器中暂存的没有功能模块B,所以功能模块B需要又一次从外部存储器中导入到高速缓存存储器中。依次类推,功能模块B,功能模块C和功能模块D都需要从外部存储器中重复导入到高速缓存器中多次。由此可见,处理器系统在读取循环结构的指令或数据时,因重复导入功能模块产生的功耗,随着循环(从L1到L1n)次数增多而增多。
对于如图2的微控制器系统来说,在读取如图3的循环结构的指令或数据时,当微控制器读取到功能模块A,功能模块A的代码被微控制器直接读取。紧接着开始读取功能模块B,功能模块B中的模块L1,L2,L3等,依次从非易失性存储器中取出被微控制器读取。功能模块B被执行完后,根据判断条件决定是否返回到功能模块B中重复执行,还是执行后续指令或数据。然后从非易失性存储器中读取功能模块C,当微控制器从非易失性存储器中读取完功能模块D后,系统根据条件判断是否需要返回到功能模块D中重复执行,还是返回到功能模块B中重复执行,或者是继续执行后续功能模块。因为嵌入式非易失性存储器中存储的不仅仅是A、B、C、D功能模块,可能需要存放别的大量功能模块数据,这就导致了嵌入式非易失性存储器的密度远大于A、B、C、D功能模块的存储大小。根据非易失性存储器的结构特性,随着非易失性存储器的密度增大,微控制器读取非易失性存储器中的数据或指令时,速度就会变慢,同时会产生更多的功耗。所以在微控制器读取存放在非易失性存储器中的功能模块A,功能模块B,功能模块C和功能模块D时,随着功能模块B,功能模块C和功能模块D被重复执行的次数增多,相对于从静态随机访问存储器(容量只存放B、C、D功能模块)中处理B、C、D功能模块产生的功耗也随之增大。
发明内容
有鉴于此,本发明配置分层非易失性静态随机访问存储器(nvSRAM)和系统监测统计模块,把一定时期内系统最频繁访问的具有一定循环次数和一定规模的循环指令模块存放在有多层存储空间的nvSRAM中,在保持系统高性能的基础上节省了大量访问功耗。
为达到上述目的,具体技术方案如下:
一种具有智能优化循环指令模块功能的自学习系统,包括处理器模块和存储器模块,所述处理器模块和存储器模块相连,还包括分层非易失性静态随机访问存储器和系统监测统计模块,所述分层非易失性静态随机访问存储器存储若干循环指令功能模块,并通过系统总线与所述处理器模块相连,所述系统监测统计模块记录所述处理器模块调用循环指令功能模块的情况。
优选的,所述系统监测统计模块中包括实时监测并记录模块,实时监测系统调用各个循环指令功能模块的情况并记录下来。
优选的,所述系统监测统计模块中包括处理和排序模块,自动地根据所述记录下来的各个循环指令功能模块的情况对各个循环指令功能模块进行计算、处理和排序。
优选的,所述系统监测统计模块中包括定期存储模块,定期将所述计算、处理和排序的结果中的表征在一定时期内系统最频繁访问的具有一定循环次数和一定规模的n个循环指令功能模块存入所述分层非易失性静态随机访问存储器中。
优选的,所述循环指令的情况至少包括各个循环指令功能模块被系统调用执行的次数、各个循环指令功能模块的规模大小以及各个循环指令功能模块的循环次数。
优选的,所述定期的时间间隔由系统配置。
优选的,所述定期的时间间隔为一周、两周或三周。
优选的,所述n个循环指令功能模块的大小不大于所述分层非易失性静态随机访问存储器的容量。
优选的,所述处理器模块为中央处理器或微控制器。
优选的,所述存储器模块为相连的高速缓存存储器、主存储器和外部存储器或嵌入式非易失性存储器。
本发明优选系统监测统计模块由硬件电路、软件应用程序或者操作系统内核实现;当所有非易失性存储器层断电后,其可作为高速缓存存储器或者数据处理区用;在微控制器系统中,当所述分层非易失性静态随机访问存储器长时间工作时,把嵌入式非易失性存储器关断,进一步节省系统功耗。
相对于现有技术,本发明的技术方案把一定时期内系统最频繁访问的具有一定循环次数和一定规模的循环指令模块存放在有多层存储空间的nvSRAM中,在保持系统高性能的基础上节省了大量访问功耗。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为传统处理器系统架构示意图;
图2为传统微控制器系统架构示意图;
图3为本发明实施例的循环指令及其功能模块的结构示意图;
图4为本发明实施例的处理器系统架构的示意图;
图5为本发明实施例的微控制器系统架构的示意图;
图6为本发明实施例的分层非易失性静态随机访问存储器立体架构示意图;
图7为分层非易失性静态随机访问存储器在垂直方向上的电路结构的示意图;
图8为本发明实例1功能模块存储位置的示意图;
图9为本发明实例1中分层非易失性静态随机访问存储器物理地址与逻辑地址映射关系示意图;
图10为本发明实例1功能模块逻辑地址示意图;
图11为本发明实例1功能模块物理地址简图;
图12为本发明实例1实现调节功能模块运行速度示意图;
图13为本发明实例1系统执行功能模块流程简图;
图14为本发明实例2功能模块存储位置的示意图;
图15为本发明实例2功能模块逻辑地址示意图;
图16为本发明实例2功能模块物理地址简图;
图17为本发明实例2系统执行功能模块流程简图;
图18为本发明实例3功能模块存储位置的示意图;
图19为本发明实例3功能模块D物理地址简图;
图20为本发明实例3针对功能模块D所添加信息的逻辑地址映射简图;
图21为本发明实例3功能模块逻辑地址及分块简图;
图22为本发明实例3逻辑模块D模块L1和L2物理地址简图;
图23为本发明实例3逻辑模块D模块L3物理地址简图;
图24为本发明实例3系统执行功能模块流程简图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
以下将结合附图对本发明的实施例做具体阐释。
图4是本发明实施例的处理器系统架构图,图5是本发明实施例的微控制器系统架构图。
图4中1是中央处理器,2是高速缓存存储器,3是主存储器,4是外部存储器,5是分层式非易失性静态随机访问存储器,6是系统监测统计模块。中央处理器通过系统总线访问片上高速缓存存储器和分层式非易失性静态随机访问存储器,在逻辑上分层式非易失性静态随机访问存储器5和高速缓存存储器2是一样的,属于暂存存贮器,但物理上是不同的陈列模块。
图5中7是微控制器,8是嵌入式非易失性存储器,5是分层式非易失性静态随机访问存储器,6是本系统监测统计模块。微控制器通过系统总线可以访问嵌入式非易失性存储器和分层式非易失性静态随机访问存储器,在逻辑上分层式非易失性静态随机访问存储器5是嵌入式非易失性存储器8在地址上的扩展,但物理上是不同的陈列模块。
存储在图4中外部存储器4或者图5中嵌入式非易失性存储器8中的指令或数据,在被图4中的中央处理器1或者图5中的微控制器7读取的过程中,系统监测统计模块6会实时监测统计系统调用所有循环功能模块的情况,所述情况至少包括一定时间内(比如一周,两周或三周等)系统访问每个循环指令功能模块的次数,每个被访问循环指令功能模块的循环次数,以及其规模(代码量)。在每次系统关闭时,如果在一定时间内被系统访问和调用的循环指令功能模块需要被多次调用,且其规模又很大,以及循环次数很多,那么该循环指令功能模块就会被存放在具有多层存储结构的非易失性静态随机访问存储器中,如果所述分层非易失性静态随机访问存储器空间被用完,系统监测统计模块会把分层非易失性静态随机访问存储器中被调用次数最少,规模不大且循环次数不多的循环指令功能模块删掉,然后把新的符合条件的循环指令功能模块存放进来。等下次上电系统再次调用此类模块时,就无需再从片外存储器向主存储器转入,再向片上高速缓存存储器转入,或是从片上嵌入式非易失性存储器读取,而是直接从分层非易失性静态随机访问存储器上的静态随机访问存储器层访问。
如上表所示,其为系统监测统计模块实时记录的各个循环指令功能模块情况的示例表格,假如表格中被记录的循环指令模块有模块1,模块2至模块n,每个模块被访问的次数依次为A_0、A_1至A_n,每个模块的规模(指令行数)依次为W_0、W_1至W_n,每个模块的循环次数依次为L_0、L_1至L_n。系统在关闭时,系统会对记录的所有的循环指令功能模块进行特定计算处理,比如按照公式(α×A_n+β×W_n+γ×L_n),其中α,β和γ是每个参数的权重系数,可由系统在监测统计模块中进行配置,然后对计算结果进行排序处理,做出哪个循环指令功能模块需要存入分层非易失性静态随机访问存储器,哪个循环指令功能模块需要从分层非易失性静态随机访问存储器中擦除,而哪些循环指令功能模块可以继续保存在分层非易失性静态随机访问存储器中。比如在一定时间内系统统计的循环指令功能模块有4个:模块1,模块2,模块3,模块4,分层非易失性静态随机访问存储器上非易失性存储器有2层,且其中存放的有模块1,模块3,系统按照(α×A_n+β×W_n+γ×L_n)公式处理计算排序所有模块,按照从大到小排序后的顺序是模块4,模块1,模块2,模块3。那么系统监测统计模块会先把模块3从非易失性静态随机访问存储器中移除,然后把模块4存放进去。“一定时间”也是可由系统在监测统计模块中进行配置的。系统监测统计模块可用硬件,应用程序或者操作系统内核来实现。据此,系统会根据用户的使用习惯,将客户最为经常调用的并具有一定规模和循环次数的循环指令功能模块,转入分层非易失性静态随机访问存储器中的多层非易失性存储单元中,下次被调用的时候,处理器或微控制器可以从片上分层非易失性静态随机访问存储器中的静态随机访问存储器中直接读取,从而使得系统性能在不受影响的情况下,大大地降低系统访问读取同类循环指令功能模块的功耗。对于微控制系统而言,也可在相同功耗消耗的前提下,大大提高系统的执行速度,使得系统性能得到大幅度提升。由于本发明中的系统监测和统计模块是嵌入在各个应用系统中的,它定期的自学习能力使得本发明非常智能,并不需要客户的直接参与。
本发明实施例中系统通过监测(基于用户的个人习惯)把一定时期内(比如一周,两周或三周)处理器或微控制器最频繁访问的具有一定循环次数和一定规模(比如代码量)的循环指令模块存放在有多层存储空间的具有非易失性的静态随机访问存储器阵列中(nvSRAM)。每次中央处理器或者微控制器需要读取所述循环指令模块时,可以直接从所述分层非易失性静态随机访问存储器(nvSRAM)阵列中取出,且所述分层非易失性静态随机访问存储器具有很快的读取速度和掉电后数据不丢失的特性,即在保持系统高性能的基础上节省了大量功耗。
本发明中提到的具有多层存储结构的非易失性静态随机访问存储器的结构示例图如图6所示,以相变存储器为例,图中0代表静态随机访问存储器层,由n条WL和m条BL组成,其中WL和BL相交的黑点代表一个基本静态随机访问存储单元。1到M代表非易失性存储层,每层非易失性存储器层在水平面方向上由n条WL组成,在每条WL上有m个小黑点,其代表基本非易失性存储单元,本例中代表相变存储单元。然后在垂直方向上,每层上同一条WL上的基本存储单元通过BL(n-1)(m-1)上下相连,其中(n-1)代表水平方向上第(n-1)条WL,(m-1)代表静态随机访问存储器层上第(m-1)条BL。静态随机访问存储器层上基本单元的访问同传统方式一样,通过BL0至BL(m-1)和WL0至WL(-1)译码访问;而非易失性存储器层上基本单元的读写访问是通过WLM_0至WLM_(n-1)和BL00至BL(n-1)(m-1)译码访问的(以第M层非易失性存储器层为例)。
多层非易失性静态随机访问存储器阵列中每层上同根WL上的所有存储单元组成的竖直面上的电路图如图7所示,假设QW上的电阻R为低阻,在QBW上的电阻R为高阻,9是同一根WL上的静态随机访问存储器阵列,用于在上电的情况下锁存静态随机访问存储器中的值,每个存储单元由6个晶体管P0,P1和N0、N1、N3、N4组成,每6个晶体管静态随机访问存储单元代表图6中静态随机访问存储层0中的黑色相交点。10是非易失性相变存储器阵列,其包括相变存储器单元(由2个晶体管比如N0(2n-1)和N0(2n)和2个电阻比如R0(2n-1)和R0(2n)组成的阵列,每个相变存储单元代表图6中非易失性存储层(1至M)中的黑色相交点,实现保存静态随机访问存储器中数据的功能,其中9和10中的基本存储单元的BVL(n-1)(m-1)和代表图6中的BL(n-1)(m-1);11是控制端组,其包括多个控制端,控制端中WL(n-1)是静态随机访问存储器的控制端,WL1_(n-1),WL2_(n-1)至WLM_(n-1)是多层非易失性相变存储器(1至M层)的控制端,实现控制调节非易失性相变存储器阵列10保存或恢复静态随机访问存储器阵列9的数据。保存数据时,被选中层的非易失性存储器的控制端WLM_(n-1)变为高电平,该行的所有相变存储单元中的晶体管(N0(2n-1),N02n至N(m-1)(2n-1),N(m-1)(2n))同时被打开,电流从所有的BVL(n-1)0,至和BVL(n-1)(m-1)流过相应的电阻,改变电阻的阻态,这样数据就被保存了。读出数据时,先对所有的QBW0和QW0至QW(m-1)和QBW(m-1)进行预充电达到一定电位,然后将被选中的WLM_(n-1)变成高电平,和该WL连接的所有晶体管同时被打开,电流从所有和BVL(n-1)(m-1)连接的低阻态电阻上流过,流向所有的BVL(n-1)(m-1)端,从而BVL(n-1)(m-1)恢复为1。而对于QBW的高阻态,很少电流可以渗透到因此所有的会被恢复为0,通过双稳态结构,BVL(n-1)(m-1)和分别被重新写成1和0。恢复后把WLM_(n-1)置为0,关闭所有和该WL链接的晶体管,然后将数据通过静态随机访问存储器送到系统总线,这样就把存储单元中保存的数据,依次输出。
实施例1
在本发明的实施例1中,当某次系统执行下电过程时系统监测统计模块权仲出如图3中的功能模块B需要存放在分层非易失性静态随机访问存储器中的第一层非易失性存储器上如图8所示,图8中非易失性存储层的第一层存放功能模块B。分层非易失性静态随机访问存储器中每一层都有自己独立的物理地址,假如地址范围是从0到a,当图8中的非易失性静态随机访问存储器的某一层被读取到图8中的静态随机访问存储器层上并被系统访问调用时,物理地址就会映射到系统的逻辑地址上,如图9所示。
图9中系统地址0到b是外部存储器或者嵌入式非易失性存储器的地址,b+1是分层非易失性静态随机访问存储器每一层物理地址0的映射地址,c是分层非易失性静态随机访问存储器中每一层物理地址a的映射地址。
假设功能模块B在嵌入式非易失性存储器或者外部存储器中占用的系统逻辑地址是X到Y,如图10所示,其中X大于等于0,Y小于等于b。假如系统要把功能模块B保存到图8中非易失性存储层第一层的P到Q的物理地址,
如图11所示,其中P大于等于0,Q小于a。系统监测统计模块开始把逻辑地址X到Y(功能模块B),存放到非易失性存储层第一层的物理地址P到Q中,然后会在嵌入式非易失性存储器或者外部存储器原先存放功能模块B的起始地址,即系统逻辑地址X处加上信息,当系统读取到该信息后会把非易失性存储层第一层物理地址从P开始到Q结束保存的数据恢复到系统逻辑地址起始地址为b+1+P及结束地址为b+1+Q的静态随机访问存储器中,等待数据恢复完后,指令跳转到系统逻辑地址b+1+P处开始执行功能模块B。这样就把功能模块B保存到了非易失性存储层的第一层中,同时对功能模块B做了相应修改。对于微控制器系统来说,在系统把功能模块B保存到非易失性存储层第一层的物理地址P处前,在物理地址P处,加一条信息,该信息是调节系统访问静态随机访问存储器的主频,目的是为了提高系统访问静态随机访问存储器的速度,当系统保存完功能模块B后,再加一条信息,把系统主频调节回原来的值。
假设两条信息占用的地址大小都为1,对于微控制器来说保存在非易失性存储层第一层的功能模块B结构图如图12所示。图12中,物理地址P处存放的是调节主频的信息,物理地址P+1到Q+1存放的是功能模块B,物理地址Q+2处存放的是调节主频的信息。
当系统下次上电后,读取该循环指令时的结构图如图13所示,系统读取完功能模块A,到功能模块B时,功能模块B先从存放在非易失性存储单元中恢复到静态随机访问存储器中锁存住,然后指令跳转到相应的逻辑地址处开始读取功能模块B,执行完功能模块B后根据判断条件,决定是重复执行功能模块B,还是读出功能模块C。如果需要重复执行功能模块B,那么指令跳转到相应的地址继续执行功能模块B。如果需要执行功能模块C,指令跳转到功能模块C处开始读出功能模块C。随后读取功能模块D,在功能模块D执行完后,根据判断条件决定是重复执行功能模块D,还是读取功能模块B,或者是读取后续功能模块。如果是读取功能模块B,那么指令会跳转到相应的地址中读取功能模块B。
实施例2
在本发明的实施例2中,当某次系统执行下电过程时,假如系统监测统计模块权仲出功能模块B和功能模块D需要存放在分层非易失性静态随机访问存储器中的第一层非易失性存储器上,如图14所示。
图14中非易失性存储层的第一层存放功能模块B和功能模块D。假设功能模块B在嵌入式非易失性存储器或者外部存储器中占用的系统逻辑地址是X1到Y1,功能模块D在嵌入式非易失性存储器或者外部存储器中占用的系统逻辑地址是X2到Y2,如图15所示,其中X1大于等于0,Y2小于等于b,X2大于Y1。
假如系统监测模块要把功能模块B保存到非易失性存储层第一层的P1到Q1的物理地址,把功能模块D保存到非易失性存储层第一层的P2到Q2的物理地址,如图16所示,其中P1大于等于0,Q2小于等于a,P2大于Q1。系统监测统计模块开始把逻辑地址X1到Y1(功能模块B),存放到非易失性存储层第一层的物理地址P1到Q1中,然后把逻辑地址X2到Y2(功能模块D),存放到非易失性存储层第一层的物理地址P2到Q2中。随后会在嵌入式非易失性存储器或者外部存储器原先存放功能模块B的起始地址,即系统逻辑地址X1处加上信息,当系统读取执行该信息后会把非易失性存储层第一层物理地址从P1至Q1和P2至Q2保存的数据恢复到系统逻辑地址起始地址为b+1+P1至b+1+Q1和b+1+P2至b+1+Q2的静态随机访问存储器中,等待数据恢复完后,跳转到系统逻辑地址b+1+P1处开始执行功能模块B。接着会在嵌入式非易失性存储器或者外部存储器,原先存放功能模块D的起始地址,即系统逻辑地址X2处加上信息,当系统读取执行该信息后会跳转到系统逻辑地址b+1+P2处开始执行功能模块D。这样就把功能模块B和功能模块D保存到了非易失性存储层的第一层中,同时对功能模块B和功能模块D做了相应修改。当系统下次上电后,读取该循环指令时的结构图如图17所示,系统读取完功能模块A到功能模块B时,功能模块B和功能模块D先从存放在非易失性存储单元中恢复到静态随机访问存储器中锁存住,然后指令跳转到相应的逻辑地址处开始读取功能模块B,执行完功能模块B后根据判断条件,决定是重复执行功能模块B,还是读取执行功能模块C。如果需要重复执行功能模块B,那么指令跳转到相应的地址继续执行功能模块B。如果需要执行功能模块C,指令跳转到功能模块C处开始读取执行功能模块C。随后读取功能模块D,指令跳转到相应的逻辑地址处开始读取功能模块D,执行完功能模块D后根据判断条件,决定是重复执行功能模块D,还是读取后续功能模块,或者是读取功能模块B。如果需要重复执行功能模块D,那么指令跳转到相应的地址继续执行功能模块D。如果是读取功能模块B,那么指令会跳转到相应的地址中读取功能模块B。
实施例3
在本发明的实施例3中,当某次系统在执行下电过程时,假如系统监测统计模块权仲出功能模块B需要存放在非易失性存储层中的第一层和第二层,因为功能模块B规模(代码量)大于物理地址范围0至a,如图18所示。如果非易失性存储层中的第二层,存放的有别的功能模块,比如功能模块D,功能模块D在非易失性存储层第二层存储结构如图19所示,图中功能模块D存放在物理地址P3到物理地址Q3。假设功能模块D以前存放在嵌入式非易失性存储器或外部存储器中的系统地址X3到系统地址Y3处,如图20所示,在系统地址X3处存放的是从非易失性存储器第二层恢复功能模块D到静态随机访问存储器层等信息。那么系统监测统计模块先把非易失性存储层第二层物理地址P3到Q3处的功能模块D,转入到嵌入式非易失性存储器或外部存储器系统地址为X3到Y3中,即把功能模块D从分层非易失性静态随机访问存储器中释放出放回原地址,随后开始存放功能模块B。假设功能模块B在嵌入式非易失性存储器或者外部存储器中占用的系统逻辑地址是X4到Y4,功能模块B中单元L1占用的大小范围是0到m3,L2占用的大小范围是m3+1到n3,L3占用的大小范围是n3+1到d3等等,如图21所示,其中X4大于等于0,Y4小于等于b。假如系统监测统计模块要把功能模块B中的单元L1和单元L2保存到非易失性存储层第一层的P4到Q4的物理地址(地址范围P4至Q4等于L1和L2的大小)。系统开始把逻辑地址X4到X4+m3(功能模块B中的单元L1),存放到非易失性存储层第一层的物理地址P4到P4+m3中,把逻辑地址X4+m3+1到X4+n3(功能模块B中的单元L2),存放到非易失性存储层第一层的物理地址P4+m3+1到P4+n3中。当功能模块B的单元L1,L2被保存完后,系统会在物理地址Q4+1处加上一条信息,当系统读取执行该信息后跳转到系统逻辑地址一个空闲未用的地址,比如逻辑地址Z中(Z大于0小于b),如图22所示。然后系统会在逻辑地址Z处加上信息,当系统读取该信息后会把非易失性存储层第二层物理地址从P5开始至Q5结束保存的数据恢复到系统逻辑地址起始地址为b+1+P5至b+1+Q5的静态随机访问存储器中,等待数据恢复完后,跳转到系统逻辑地址b+1+P5处开始读取功能模块B的单元L3。然后系统监测统计模块会在嵌入式非易失性存储器或外部存储器原先存放功能模块B的起始地址,即系统逻辑地址X4处加上信息(该信息的范围不会超过L1,L2的大小)当系统读取执行该信息后会把非易失性存储层第一层物理地址从P4开始至Q4+1结束保存的数据恢复到系统逻辑地址起始地址为b+1+P4的静态随机访问存储器中,等待数据恢复完后,指令跳转到系统逻辑地址b+1+P4处开始读取功能模块B的单元L1,L2,接着系统监测统计模块要把功能模块B中的单元L3保存到非易失性存储层第二层的P5到Q5的物理地址(地址范围P5至Q5等于L3的大小)如图23所示。系统监测统计模块把逻辑地址X4+n3+1到X4+d3(功能模块B中单元L3)存放到非易失性存储层第二层的物理地址P5到Q5中。当系统下次上电后,读取该循环指令时的结构图如图24所示,系统读取完功能模块A,到功能模块B时,功能模块B先从存放在非易失性存储层第一层中把L1,L2恢复到静态随机访问存储器中锁存住,然后指令跳转到相应的逻辑地址开始读取功能模块B中的L1,L2,然后跳转到逻辑地址Z将L3从非易失性存储层第二层恢复到静态随机访问存储器中锁存住,随后跳转到相应的逻辑地址开始读取功能模块B中的L3,执行完功能模块B后根据判断条件,决定是重复执行功能模块B,还是读出功能模块C。如果需要重复执行功能模块B,那么指令跳转到恢复L1,L2处,重新读取功能模块B。如果需要执行功能模块C,指令跳转到功能模块C处开始读出功能模块C。随后读取功能模块D,在功能模块D执行完后,根据判断条件决定是重复执行功能模块D,还是读取功能模块B,或者是读取后续功能模块。如果是读取功能模块B,那么指令会跳转到恢复L1,L2处,重新读取功能模块B。
对于图3的循环结构指令,传统的处理器系统处理时,读取访问时产生的功耗主要来自于:功能模块A导入高速缓存存储器时的功耗PA,功能模块B导入高速缓存存储器的功耗PB,功能模块C导入高速缓存存储器的功耗PC且功能模块C代码量大会占用绝大多数高速缓存存储器的资源,功能模块D导入高速缓存存储器的功耗PD,假设从L1n至L1的循环次数为n次,那么在本次系统运行中,对于传统的处理器系统访问该指令循环结构的功耗为P总=PA+(PB+PC+PD)×n,随着n的次数增大,消耗的功耗也越来越大。基于本发明的设计结构读取循环指令时的主要功耗来自于功能模块A和功能模块C导入高速缓存存储器时的功耗PA和PC,功能模块B和功能模块D因为是存放在非易失性静态随机访问存储器中,可以被中央处理器直接读取,那么在本次系统运行中,对于本发明设计中中央处理器访问指令循环结构的主要功耗为P总=PA+PC,由此可见,节省了大量的重复从外部存储器读取功能模块B,功能模块C和功能模块D的功耗。
对于图3的循环结构指令,传统的微控制器系统处理时,读取访问嵌入式非易失性存储器时产生的功耗主要来自于:读取功能模块A时的功耗PA—f,循环重复读取功能模块B的功耗PB—f,读取功能模块C的功耗PC—f,循环重复读取功能模块D的功耗PD—f,假设从L1n至L1的循环次数n次,那么在本次系统运行中,对于传统的微控制器系统访问指令循环结构的功耗为P总=PA—f+(PB—f+PC—f+PD—f)*n,随着n的次数增大,功耗也越来越大。基于本发明的设计读取循环指令时主要的功耗来自于:读取功能模块A时的功耗PA—f,功能模块B被保存在非易失性静态随机访问存储器中,循环重复读取功能模块B的功耗PB—s,读取功能模块C的功耗PC—f,功能模块D被保存在非易失性静态随机访问存储器中,循环重复读取功能模块D的功耗PD—s,同样假设从L1n至L1的循环次数为n次,那么在本次系统运行中,对于本发明设计中的微控制器访问指令循环结构的功耗为P总=PA—f+(PB—s+PC—f+PD—s)*n。基于嵌入式非易失性存储器和片上分层非易失性静态随机访问存储器的特性,访问分层非易失性静态随机访问存储器上静态随机访问存储器层的功耗要比访问嵌入式非易失性存储器小且速度快的多,所以随着n增大,采用本发明设计要比传统的微控制器结构消耗功耗低很多,换而言之若保持功耗不变,处理存放在非易失性静态随机访问存储器中的循环指令的性能会大大提高,因为访问非易失性静态随机访问存储器的速度可提高很多。
在处理器系统或微处理系统中,如果分层非易失性静态随机访问存储器不用的话,可以把其中的非易失性存储器层全部断电关闭掉,这样分层非易失性静态随机访问存储器就变成了静态随机访问存储器,该静态随机访问存储器可用作高速缓存存储器或数据处理区。当然,也可以把分层式非易失性随机访问存储器全部断电节省功耗。在微控制器系统中,当分层非易失性静态随机访问存储器长时间工作时,可以把嵌入式非易失性存储器关闭掉,这样做的目的是为了进一步降低功耗。
以上对本发明的具体实施例进行了详细描述,但其只作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对该实用进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。
Claims (7)
1.一种具有智能优化循环指令模块功能的自学习系统,包括处理器模块和存储器模块,所述处理器模块和存储器模块相连,其特征在于,还包括分层非易失性静态随机访问存储器和系统监测统计模块,所述分层非易失性静态随机访问存储器存储若干循环指令功能模块,并通过系统总线与所述处理器模块相连,所述系统监测统计模块记录所述处理器模块调用循环指令功能模块的情况;所述系统监测统计模块中包括实时监测并记录模块,实时监测系统调用各个循环指令功能模块的情况并记录下来;所述系统监测统计模块中包括处理和排序模块,自动地根据所述记录下来的各个循环指令功能模块的情况对各个循环指令功能模块进行计算、处理和排序;所述系统监测统计模块中包括定期存储模块,在定期的时间间隔下将所述计算、处理和排序的结果中的表征在一定时期内系统最频繁访问的具有一定循环次数和一定规模的n个循环指令功能模块存入所述分层非易失性静态随机访问存储器的各层中。
2.如权利要求1所述的具有智能优化循环指令模块功能的自学习系统,其特征在于,所述循环指令功能模块的情况至少包括各个循环指令功能模块被系统调用执行的次数、各个循环指令功能模块的规模大小以及各个循环指令功能模块的循环次数。
3.如权利要求1所述的具有智能优化循环指令模块功能的自学习系统,其特征在于,所述定期的时间间隔,所述的一定时间,所述的一定循环次数和所述的一定规模均由系统配置。
4.如权利要求3所述的具有智能优化循环指令模块功能的自学习系统,其特征在于,所述定期的时间间隔为一周、两周或三周。
5.如权利要求1所述的具有智能优化循环指令模块功能的自学习系统,其特征在于,所述n个循环指令功能模块的大小不大于所述分层非易失性静态随机访问存储器的容量。
6.如权利要求1所述的具有智能优化循环指令模块功能的自学习系统,其特征在于,所述处理器模块为中央处理器或微控制器。
7.如权利要求1所述的具有智能优化循环指令模块功能的自学习系统,其特征在于,所述存储器模块为相连的高速缓存存储器、主存储器和外部存储器或嵌入式非易失性存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410053674.8A CN103942158B (zh) | 2014-02-17 | 2014-02-17 | 一种具有智能优化循环指令模块功能的自学习系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410053674.8A CN103942158B (zh) | 2014-02-17 | 2014-02-17 | 一种具有智能优化循环指令模块功能的自学习系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942158A CN103942158A (zh) | 2014-07-23 |
CN103942158B true CN103942158B (zh) | 2017-08-25 |
Family
ID=51189830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410053674.8A Active CN103942158B (zh) | 2014-02-17 | 2014-02-17 | 一种具有智能优化循环指令模块功能的自学习系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942158B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170047957A (ko) * | 2015-10-26 | 2017-05-08 | 삼성전자주식회사 | 반도체 장치의 동작 방법 및 반도체 시스템 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102637149A (zh) * | 2012-03-23 | 2012-08-15 | 山东极芯电子科技有限公司 | 一种处理器及其运行方法 |
CN103530088A (zh) * | 2012-06-29 | 2014-01-22 | 美国亚德诺半导体公司 | 分级循环指令 |
-
2014
- 2014-02-17 CN CN201410053674.8A patent/CN103942158B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102637149A (zh) * | 2012-03-23 | 2012-08-15 | 山东极芯电子科技有限公司 | 一种处理器及其运行方法 |
CN103530088A (zh) * | 2012-06-29 | 2014-01-22 | 美国亚德诺半导体公司 | 分级循环指令 |
Also Published As
Publication number | Publication date |
---|---|
CN103942158A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Qureshi et al. | Improving read performance of phase change memories via write cancellation and write pausing | |
Venkatesan et al. | Stag: Spintronic-tape architecture for gpgpu cache hierarchies | |
Venkatesan et al. | TapeCache: A high density, energy efficient cache based on domain wall memory | |
Smullen et al. | Relaxing non-volatility for fast and energy-efficient STT-RAM caches | |
CN109328343A (zh) | 具有用以加速大数据应用的计算引擎的非易失性存储系统 | |
Sun et al. | Memory that never forgets: Emerging nonvolatile memory and the implication for architecture design | |
CN105683953B (zh) | 支持加速数据库操作的数据存储设备 | |
Suresh et al. | Evaluation of emerging memory technologies for HPC, data intensive applications | |
CN104460941B (zh) | 一种降低主存存储器满负荷运行功耗的方法 | |
CN110322909A (zh) | 针对存储器设备定制编程脉冲期间的电流幅度和持续时间 | |
CN103593324A (zh) | 一种具有自学习功能的快速启动低功耗计算机片上系统 | |
Hu et al. | Exploring main memory design based on racetrack memory technology | |
Zhao et al. | Bandwidth-aware reconfigurable cache design with hybrid memory technologies | |
CN110347510A (zh) | 一种混合内存的管理方法、系统、设备及介质 | |
Huang et al. | HyVE: Hybrid vertex-edge memory hierarchy for energy-efficient graph processing | |
Quan et al. | Prediction table based management policy for STT-RAM and SRAM hybrid cache | |
CN103927203B (zh) | 一种计算机系统及控制方法 | |
Thakkar et al. | DyPhase: A dynamic phase change memory architecture with symmetric write latency and restorable endurance | |
Wang et al. | Daws: Exploiting crossbar characteristics for improving write performance of high density resistive memory | |
CN109582613A (zh) | 用于存储器访问和调度的系统、方法和装置 | |
CN103942158B (zh) | 一种具有智能优化循环指令模块功能的自学习系统 | |
CN106293491B (zh) | 写请求的处理方法和内存控制器 | |
Kim et al. | IPL-P: In-page logging with PCRAM | |
Coi et al. | A novel SRAM—STT-MRAM hybrid cache implementation improving cache performance | |
Wang et al. | Shift-optimized energy-efficient racetrack-based main memory |
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 |