用于虚拟存储器的管理的方法和分析高速缓存的利记博彩app

文档序号:6419838阅读:189来源:国知局

专利名称::用于虚拟存储器的管理的方法和分析高速缓存的利记博彩app
技术领域
:本发明总体涉及数据处理领域,更具体来说,涉及用于虚拟存储器的管理的方法和预设置(profiling)高速缓存。
背景技术
:为了减少数据访问时间,使用被称为高速缓存的静态随机存取存储器(RAM)的专用高速存储空间来临时存储当前在使用的数据。例如,高速缓存的数据可包括从主存储器获得的指令和/或数据的一个副本,用于被处理器快速访问。处理器高速缓存通常位于靠近处理器或者与处理器集成在一起。在高速缓存中存储的数据可以优先地被处理器仅仅在一个处理器周期访问,取回继续处理所需的数据;而不是必须停下来等待从诸如更高级高速缓存或主存储器的次级存储器取回数据。程序在执行加载(load)、存储(store)、分支(branch)或高速缓存(cache)指令以及在取出下一个顺序指令时,利用由处理器计算的有效地址查阅(references)存储器。有效地址被按照预定的翻译程序翻译成实地址。为了使地址翻译时间最小化,通常用一个称作翻译后备缓冲器(TLB)的专用于地址翻译的专用高速缓存来进行地址翻译。在有些已知的处理器设计中,将页描述(pagedescriptions)或页表条目(PTE-pagetableentries)存储在翻译后备缓冲器(TLB)中。当对某个不在TLB中的页进行访问时,产生一个中断,固件必须将页表条目加载TLB。对于有些已知的硬件,固件无法知道哪些页被频繁使用。一般用先进先出算法加载(load)和替换页描述。需要一种改进的管理虚拟存储器的机制。
发明内容本发明的主要目的是提供一种用于虚拟存储器的管理的方法和分析高速缓存。本发明的其他重要目的是在基本上没有副作用的情况下提供这样的用于虚拟存储器的管理的方法和分析高速缓存,以克服现有技术的安排的许多缺点。简而言之,提供一种用于虚拟存储器的管理的方法和分析高速缓存。在分析高速缓存中存储一个条目集合。条目集合的每个条目包括页地址、页地址的时间戳、和最近最少使用的(LRU-leastrecentlyused)计数。对应对页地址的每个访问,相应地更新LRU计数。利用所存储的LRU计数,去除分析高速缓存中的条目。翻译后备缓冲器(TLB)包括一个用于存储多个临时固定的(pinned)条目的第一TLB部分和一个用于存储多个非固定的(non-pinned)条目的第二TLB部分。响应一个TLB中断,用先进先出算法在第二TLB部分载入一个条目,以替代一个非固定的条目。用所识别的分析高速缓存中的条目集合中具有最早时间戳的条目定期更新第一TLB部分。按照本发明的特点,分析高速缓存硬件提供存储器预设置信息用于有效的存储器管理。具有最早时间戳的分析高速缓存条目代表最频繁使用的页。当递减计数器终止时,更新第一TLB部分,然后清空分析高速缓存,重新启动递减计数器。附图简介从以下对附图中的本发明的最佳实施例的详细说明可以更好地理解本发明及其上述和其它目的和优点。图1是按照最佳实施例的计算机系统的框图表示;图2是表示按照最佳实施例更新图1的翻译后备缓冲器的临时固定的部分的示例性顺序步骤的流程图;图3是表示按照最佳实施例用于实现翻译后备缓冲器的临时固定的部分的更新硬件的示意和逻辑流程图;和图4是表示按照最佳实施例的计算机程序产品的框图。具体实施例方式现在参看各附图,图1中表示了一个用于实现最佳实施例的虚拟存储器管理的计算机系统,总体上由标注符100表示。计算机系统100包括处理器102和翻译后备缓冲器(TLB)104。计算机系统100包括一个处理器L1高速缓存106和一个预设置页地址高速缓存108,后者包括一个最近最少使用的(LRU)表110和一个时间戳表112。计算机系统100包括一个递减计数器114。当递减计数器114达到零时,它向处理器102生成一个中断,并发信号要预设置页地址高速缓存108冻结(freeze)。按照本发明的特点,在不需要过分的固件开销的情况下让操作系统120能确定哪些页应当要被临时固定在TLB104中。本发明的硬件部分或分析高速缓存108为有效的存储器管理而监视L1高速缓存接口106处的处理器总线并跟踪最多被访问的页。根据存储在分析高速缓存108中的那些被最频繁地访问的页识别要被临时固定在TLB104中的页表条目(PTEs)。按照本发明的特点,TLB104被划分为两部分130和132。第一TLB部分130中的TLB104的条目被用于频繁访问的页并被定期评估。PTEs被临时固定的在第一TLB部分130中。含有其余条目的TLB104的第二TLB部分132是按FIFO管理的,为了降低固件开销,这些页被认为是非固定的。当接收到一个TLB中断时,只有非固定的部分132中的条目被替换。在临时固定的区中的PTEs,被按照图2和3中所示并相应地说明的最佳实施例定期地替换。按照本发明的特点,将设定数目的地址存储在页地址高速缓存108中,后者用最少最近使用的(LRU)算法来去除条目,因为对每个页的访问计数是不切实际的。高速缓存大小,例如预设置页地址高速缓存的32个地址,是以对ASIC硬件单元(cell)数和性能的实际限制为根据的。预设置的根据是假设最一贯地被访问的页将不被从高速缓存108中去除。只有16页用于如图1中所示的TLB104的固定的部分130的页地址高速缓存108的32的高速缓存大小允许噪声被高速缓存108的LRU行为过滤掉。当某条目被首次放入页地址高速缓存108时,在时间戳表112中存储一个时间值,LRU表110中的LRU计数在每一次访问时都被更新。在具有LRU的高速缓存108中持续时间最长的(最早的时间戳)的条目0-31是最频繁被访问的页。如果某页被逐出后又被恢复到高速缓存108中,则为该页分配新的时间戳112。当递减定时器114终止时,固件使TLB104中的所有条目无效,或者在第二TLB部分132中的条目被转移到第一TLB部分130时使第二TLB部分132中的条目无效。然后将与具有最早时间戳的16个页对应的PTEs装载到为临时固定的页保留的TLB的第一部分130中。某页在高速缓存108中至此已经度过的时间表示使用的频率和在TLB104的固定的部分130中固定(pinning)这个页的重要性。一旦新的条目被固定,高速缓存就被清空,递减计时器114被重新启动。参看图2,图中从框200开始显示按照最佳实施例定期更新翻译后备缓冲器104的临时固定的部分130的示例性顺序步骤。如框202所示,首先执行等待递减计时器114终止。也参看图3,当对不在TLB104中的某页进行访问时,向操作系统120生成一个中断,操作系统寻找适当的页表条目。根据先进先出(FIFO)算法将该页表条目装载到TLB的非固定的部分132。预设置页地址高速缓存108存储该页的地址。当一个地址首次在页地址高速缓存108中存储时,在时间戳表112中存储一个计数器值。分析高速缓存108包括LRU域110,每次访问特定页地址时,LRU域110都被更新。用LRU算法来从预设置页地址高速缓存108中去除条目。当递减计时器114终止时,对下面所有三个域执行高速缓存排序功能(cachesortfunction)300地址108、LRU110和时间戳112。高速缓存排序功能300根据的是每个存储的页地址的时间戳112。图3中地址108表示排序后的地址。当递减计数器114终止时,识别在时间戳表112中存储的具有最早的时间戳的设定数目的页(asetnumberofpages),如图2中的框204所示。对于在框204所识别的每个页,检查对应该页的PTE是否已经在TLB104的非固定的部分132中,如判断框206所示。如果PTE已经在TLB104的非固定的部分132中,则将PTE从TLB104的非固定的部分132去除,如框208所示。然后将PTE放置到TLB104的固定的部分130中,如框210所示。检查以便将更多的PTE加到TLB104的固定的区130,如判断框212所示。当有更多的PTE要加到TLB104的固定的区130,则顺序步骤返回到框206,检查PTE是否已经在TLB104的非固定的部分132中。如果没有更多的PTE要加到TLB104的固定的区130,则清空分析高速缓存108,如框214所示。然后重新启动递减计时器114,如框216所示。非固定的部分132中的TLB条目一直保留,直到被转移到TLB104的固定的部分130为止,或者直到通过标准FIFO或循环替换算法被去除为止。于是,顺序操作返回框202,等待递减计数器114终止。应当明白,可以执行按照本发明的替代步骤。例如,代替步骤206、208、210和212的替代步骤是,可以清空TLB104的固定的部分130和剩余的非固定的部分132中的所有页条目,然后将代表分析高速缓存器108中具有最早时间戳的页的PTEs放置到TLB104的固定的部分130,并且TLB104的非固定的部分132一直保持清空状态,直到随着发生缺失(misses)而被重新填充。现有技术计算缺失的解决方案对具有瞬间高通信量(withburstytraffic)的页与被稳定地访问的页赋予相等的优先权。计算缺失仅仅告诉你某页每隔多久在TLB中缺失一次,而不告诉你固件每隔多久访问特定页一次。对页的一次访问就可能产生TLB缺失,这个单一访问并不使某页重要。最佳实施例的分析高速缓存方法通过将高频率被访问的页临时固定的在TLB104的第一部分130,使得能进行有效的存储器管理。现在参看图4,图中表示本发明的制造产品或计算机程序产品400。计算机程序产品400包括记录介质402-诸如软盘、光学读光盘或CD-ROM形式的大容量只读存储器、磁带、传输类型的介质-诸如数字或模拟通信链路、或类似的计算机程序产品。记录介质402在介质402上存储程序404、406、408、410,用于执行实现图1的系统100的最佳实施例的虚拟存储器管理的方法。由所记录的程序方法404、406、408、410定义的一系列程序指令或者一个或多个关联模块的逻辑组合指导计算机系统100执行最佳实施例的虚拟存储器管理方法。尽管已经结合附图所示的最佳实施例的细节描述了本发明,这些细节并非是要限制按权利要求书要求了权利的本发明的范围。权利要求1.一种采用分析高速缓存管理虚拟存储器的方法,包含以下步骤在分析高速缓存中存储一个条目集合,所述条目集合的每个条目包括页地址、页地址的时间戳、和最近最少使用的(LRU)计数;所述LRU计数对应于对页地址的每次访问而被更新;利用所述LRU计数去除分析高速缓存中的条目;提供一个翻译后备缓冲器(TLB),其包括一个用于存储多个临时固定的条目的第一TLB部分和一个用于存储多个非固定的条目的第二TLB部分;响应一个TLB中断,用先进先出算法在第二TLB部分载入一个条目,以替代所述非固定的条目;定期地用所识别的分析高速缓存中所述条目集合的具有最早时间戳的条目更新所述第一TLB部分。2.如权利要求1所述的方法,其中,所述所识别的分析高速缓存中所述条目集合的具有最早时间戳的条目代表最频繁使用的页表条目。3.权利要求1所述的方法,其中,定期地更新所述第一TLB部分的步骤包括以下步骤识别一个终止的递减计数器,更新所述第一TLB部分,清空分析高速缓存,重新启动递减计数器。4.权利要求1所述的方法,其中,在分析高速缓存中存储所述条目集合的步骤包括在分析高速缓存中存储三十二个条目的步骤。5.权利要求1所述的方法,其中,所述提供包括用于存储多个临时固定的条目的第一TLB部分和用于存储多个非固定的条目的第二TLB部分的翻译后备缓冲器(TLB)的步骤包括提供用于存储十六个临时固定的条目的所述第一TLB部分的步骤。6.权利要求5所述的方法,包括提供用于存储至少三十二个非固定的条目的所述第二TLB部分的步骤。7.权利要求1所述的方法,包括响应更新所述第一TLB部分而清除所述第二TLB部分中的所述多个非固定的条目的步骤。8.权利要求1所述的方法,其中,定期地更新所述第一TLB部分的步骤包括下列步骤识别包含在所识别的分析高速缓存条目中的所述第二TLB部分内的一个具有最早时间戳的条目,将所述条目从所述第二TLB部分删除,将所述条目放入所述第一TLB部分。9.一种用于管理虚拟存储器的装置,包含翻译后备缓冲器(TLB),所述TLB包括一个用于存储多个临时固定的条目的第一TLB部分和一个用于存储多个非固定的条目的第二TLB部分;分析高速缓存,用于存储一个条目集合,所述条目集合的每个条目包括页地址、页地址的时间戳、和最近最少使用的(LRU)计数;所述LRU计数对应于对页地址的每次访问而被更新;和虚拟存储器管理程序,用于定期地用所识别的分析高速缓存中所述条目集合的具有最早时间戳的条目更新所述第一TLB部分。10.权利要求9所述的用于管理虚拟存储器的装置,其中,所述用于存储多个非固定的条目的第二TLB部分是用先进先出(FIFO)算法更新的。11.权利要求9所述的用于管理虚拟存储器的装置,其中,分析高速缓存是利用所述最近最少使用的(LRU)计数而被更新的。12.权利要求9所述的用于管理虚拟存储器的装置,其中,所述分析高速缓存存储三十二个条目的所述集合。13.权利要求9所述的用于管理虚拟存储器的装置,其中,所述第一TLB部分用于存储十六个临时固定的条目。14.权利要求9所述的用于管理虚拟存储器的装置,其中,所述第二TLB部分用于存储至少三十二个非固定的条目。15.权利要求9所述的用于管理虚拟存储器的装置,其中,响应一个TLB中断而在所述第二TLB部分中装载一个条目。16.权利要求15所述的用于管理虚拟存储器的装置,其中,采用先进先出算法替换一个所述非固定的条目以装载所述条目。全文摘要用于虚拟存储器的管理的方法和分析高速缓存包括在分析高速缓存中存储的条目集合。条目集合的每个条目包括页地址、页地址的时间戳、和最近最少使用的(LRU)计数;对应对页地址的每次访问,相应地更新LRU计数。利用LRU计数去除分析高速缓存中的条目。翻译后备缓冲器(TLB)包括用于存储多个临时固定的条目的第一TLB部分和用于存储多个非固定的条目的第二TLB部分。响应一个TLB中断,用先进先出算法在第二TLB部分装入条目,以替代非固定的条目。用所识别的分析高速缓存中的条目集合中具有最早时间戳的条目定期更新第一TLB部分。文档编号G06F12/12GK1512352SQ20031010067公开日2004年7月14日申请日期2003年10月9日优先权日2002年10月10日发明者K·A·博特米勒,B·W·杰科布斯,J·A·皮特里克,KA博特米勒,杰科布斯,皮特里克申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1