高速缓冲存储器及其控制方法技术

技术编号:2844329 阅读:181 留言:0更新日期:2012-04-11 18:40
本发明专利技术的高速缓冲存储器具有预测处理部(39),该预测处理部(39)根据由处理器所输出的存储器的访问的进行状况来预测下一个应该预取的线地址;预测处理部(39)具有预取部(414)和触摸部(415),该预取部(414)从存储器中将所预测的线地址的数据预取到高速缓冲存储器中,该触摸部(415)不将数据从存储器中加载到高速缓冲存储器上,而是将所预测的线地址作为标签设定到高速缓存项,并使有效标志有效。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及用于提高处理器内存访问速度的。
技术介绍
近几年,在微处理器领域,例如有由SRAM(静态随机存储器StaticRandom Access Memory)所构成的小容量的、高速的、高速缓冲存储器,将这样的高速缓冲存储器设置在微处理器内部,或设置在其周边,通过将数据的一部分存储到高速缓冲存储器,从而提高微处理器的内存访问速度。为了提高高速缓存的效率(提高命中率、减少高速缓存谷值延误时间),在高速缓存故障(未命中)发生之前,有预加载(pre-load)(或预取(pre-fetch))技术,该技术是把将要使用的数据预先填充到高速缓存内的技术(例如,专利文献1)。在以往的预取技术中,将含有地址的线加载到高速缓存中,该地址是由预取命令指定的。据此,试图降低高速缓存故障。专利文献1日本特开平7-295882号公报然而,通过上述以往的技术,例如,通过软件在循环的外侧进行一次性的预取的情况下,由于预先在高速缓存中确保了在循环中所必要的所有的数据区域,当高速缓存的容量小时,除此之外所必要的数据被逐出高速缓存,从而发生高速缓存故障。并且,数据的高速缓存结束后,在循环的外侧进行一次性的无效化等情况下,由于到循环处理结束为止,通过这些动作不能使高速缓存为空,而导致高速缓存的容量不足,发生高速缓存故障。而且,将由软件所进行高速缓存操作的命令插入到循环中的情况下,进行高速缓存操作的地址需要在循环中由软件来管理。即,由于进行高速缓存操作的命令需要在循环中描述,因此发生性能的低下。再者,向存储器的访问状况由硬件来监视,在由硬件自动地进行高速缓存操作的情况下,若不进行正确的预测则将发生徒劳的转送,或者,若没有来自软件的正确的信息,则将失去高速缓存上的数据和外部存储器上的数据的匹配性,因此,通过硬件的预测来进行上述的操作是困难的。
技术实现思路
本专利技术的目的是提供一种高速缓冲存储器系统,根据由处理器预先设定的信息,硬件对处理器的程序动作的状况进行监视,并同步以适当的定时对高速缓存进行操作。为了达到上述目的,本专利技术的高速缓冲存储器系统,其特征在于,包括条件生成单元,生成条件,该条件与处理器的状态有关;判断单元,判断当前的处理器的状态是否满足上述条件;地址生成单元,生成成为操作对象的地址;以及操作单元,在上述判断单元判断为满足条件的情况下,利用由上述地址生成单元所生成的地址,对高速缓冲存储器进行操作。在此,可以是上述条件生成单元在上述判断单元判断为满足上述条件的情况下,生成新的条件。据此构成,由于当处理器的动作状态成为满足条件时对高速缓存进行操作,因此,可以与处理器的动作的进行状况同步,对高速缓冲存储器进行操作。并且,由于未涉及到软件,因此,对处理器不产生负荷,从而可以高效率地使高速缓存动作,且不会招致性能的劣化。在此,也可以是上述条件生成单元生成条件,该条件与处理器内的特定的寄存器的值有关。也可以是上述特定寄存器为程序计数器。据此构成,可以将存储器访问地址或程序读取地址作为上述条件,从而能够监视处理器的状态。在此,也可以是上述条件生成单元,将向特定的地址范围内的存储器访问以及向特定的地址范围外的存储器访问中的某一个作为上述条件来生成。并且,也可以是上述条件生成单元,将处理器执行特定命令作为上述条件来生成。在此,也可以是上述条件生成单元,通过对当前的条件实施特定的运算,来生成上述新的条件。并且,也可以是上述条件生成单元将存储器访问地址作为条件来生成;在上述判断单元判断为满足条件的情况下,通过对当前的条件加上常数,来生成上述新的条件。在此,也可以是上述常数为增量值或减量值以及地址的差分值中的某一个,该增量值或减量值为由处理器所执行的附有后增量的加载/存储命令中的增量值或减量值,该地址的差分值为由处理器所执行的2次的加载/存储命令中的差分值。在此,也可以是上述条件生成单元生成多个条件;上述判断单元,判断是否满足所有的多个条件。并且,也可以是上述条件生成单元生成多个条件;上述判断单元,判断是否满足多个条件中的某一个。在此,也可以是上述操作单元包括数据判断单元,在上述判断单元判断为满足条件时,判断数据是否被保存在高速缓冲存储器中,该数据是与由上述地址生成单元所生成的地址相对应的数据;选择单元,在判断为未被保存的情况下,选择高速缓冲存储器中的线;回写单元,当上述所选择的线有效且为脏,则进行回写;转送单元,将与上述地址对应的数据从存储器中转送到回写后所选择的线上;以及注册单元,将上述地址作为标签,注册到上述所选择的线上。据此构成,可以与监视处理器的动作状况同步,以适当的定时进行高速缓冲存储器的预取。在此,也可以是上述操作单元包括数据判断单元,在上述判断单元判断为满足条件时,判断数据是否被保存在高速缓冲存储器中,该数据是与由上述地址生成单元所生成的地址相对应的数据;选择单元,在判断为未被保存的情况下,选择高速缓冲存储器中的线;回写单元,当上述被选择的线有效且为脏,则进行回写;注册单元,从存储器中不将数据转送到所选择的线上,而将上述生成的地址作为标签,注册到所选择的线上。据此构成,可以不必将数据转送到高速缓冲存储器的线上,而对数据进行确保(在此称为触摸),且该确保是可以与监视处理器的动作状况同步,且以适当的定时进行的。在此,也可以是上述操作单元包括数据判断单元,在上述判断单元判断为满足条件时,判断数据是否被保存在高速缓冲存储器中,该数据是与由上述地址生成单元所生成的地址相对应的数据;选择单元,在判断为被保存的情况下,选择高速缓冲存储器中保存了数据的线;以及回写单元,当所选择的线有效且为脏,则进行回写。据此构成,可以与监视处理器的动作状况同步,以适当的定时进行高速缓冲存储器的线数据的回写(高速缓存结束)。在此,也可以是上述操作单元包括数据判断单元,在上述判断单元判断为满足条件时,判断数 否被保存在高速缓冲存储器中,该数据是与由上述地址生成单元所生成的地址相对应的数据;选择单元,在判断为被保存的情况下,选择高速缓冲存储器中保存了数据的线;以及无效化单元,对所选择的线进行无效化。据此构成,可以与监视处理器的动作状况同步,以适当的定时进行高速缓冲存储器的线的无效化。在此,也可以是上述操作单元包括数据判断单元,在上述判断单元判断为满足条件时,判断数据是否被保存在高速缓冲存储器中,该数据是与由上述地址生成单元所生成的地址相对应的数据;选择单元,在判断为被保存的情况下,选择高速缓冲存储器中保存了数据的线;以及变更单元,对于表示线的访问顺序的顺序信息,变更所选择的线的访问顺序。据此构成,可以与监视处理器的动作状况同步,以适当的定时进行高速缓冲存储器的线的访问顺序信息的变更。据此,或换而言之根据LRU,可以使高速缓存的置换顺序提早或延迟。在此,也可以是由上述条件生成单元生成作为上述条件的存储器地址;上述操作单元还包括调整单元,在由上述条件生成单元所生成的存储器地址示出线的中途的情况下,通过进行调整以便示出该线的开头、下一个线的开头、以及上一个线的开头的某一个,来生成地址。据此构成,处理器不论在地址升顺访问的情况下,还是在地址降顺访问的情况下,均可以适当地算出下一个所需要的线的地址。并且,有关本专利技术的高速缓冲存储器的控制方法,具有与上述同样的单元及作用。本文档来自技高网
...

【技术保护点】
一种高速缓冲存储器系统,其特征在于,包括:条件生成单元,生成条件,该条件与处理器的状态有关;判断单元,判断当前的处理器的状态是否满足上述条件;地址生成单元,生成成为操作对象的地址;以及操作单元,在上述判断单元 判断为满足条件的情况下,利用由上述地址生成单元所生成的地址,对高速缓冲存储器进行操作。

【技术特征摘要】
【国外来华专利技术】JP 2004-3-24 086174/20041.一种高速缓冲存储器系统,其特征在于,包括条件生成单元,生成条件,该条件与处理器的状态有关;判断单元,判断当前的处理器的状态是否满足上述条件;地址生成单元,生成成为操作对象的地址;以及操作单元,在上述判断单元判断为满足条件的情况下,利用由上述地址生成单元所生成的地址,对高速缓冲存储器进行操作。2.根据权利要求1所述的高速缓冲存储器系统,其特征在于,在上述判断单元判断为满足条件的情况下,上述条件生成单元生成新的条件。3.根据权利要求2所述的高速缓冲存储器系统,其特征在于,上述条件生成单元生成条件,该条件与处理器内的特定寄存器的值有关。4.根据权利要求3所述的高速缓冲存储器系统,其特征在于,上述特定寄存器为程序计数器。5.根据权利要求2所述的高速缓冲存储器系统,其特征在于,上述条件生成单元,将向特定的地址范围内的存储器访问以及向特定的地址范围外的存储器访问中的某一个作为上述条件来生成。6.根据权利要求1所述的高速缓冲存储器系统,其特征在于,上述条件生成单元,将处理器执行特定命令作为上述条件来生成。7.根据权利要求2所述的高速缓冲存储器系统,其特征在于,上述条件生成单元,通过对当前的条件实施特定的运算,来生成上述新的条件。8.根据权利要求7所述的高速缓冲存储器系统,其特征在于,上述条件生成单元将存储器访问地址作为条件来生成;在上述判断单元判断为满足条件的情况下,通过对当前的条件加上常数,来生成上述新的条件。9.根据权利要求8所述的高速缓冲存储器系统,其特征在于,上述常数为增量值或减量值以及地址的差分值中的某一个,该增量值或减量值为由处理器所执行的附有后增量的加载/存储命令中的增量值或减量值,该地址的差分值为由处理器所执行的2次的加载/存储命令中的差分值。10.根据权利要求1所述的高速缓冲存储器系统,其特征在于,上述条件生成单元生成多个条件;上述判断单元,判断是否满足所有的多个条件。11.根据权利要求1所述的高速缓冲存储器系统,其特征在于,上述条件生成单元生成多个条件;上述判断单元,判断是否满足多个条件中的某一个。12.根据权利要求1到权利要求3中的任一项所述的高速缓冲存储器系统,其特征在于,上述操作单元包括数据判断单元,在上述判断单元判断为满足条件时,判断数据是否被保存在高速缓冲存储器中,该数据是与由上述地址生成单元所生成的地址相对应的数据;选择单元,在判断为未被保存的情况下,选择高速缓冲存储器中的线;回写单元,当上述所选择的线有效且为脏,则进行回写;转送单元,将与上述地址对应的数据从存储器中转送...

【专利技术属性】
技术研发人员:中西龙太冈林叶月田中哲也清原督三
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1