改进虚拟存储器系统存取性能的技术技术方案

技术编号:2881832 阅读:175 留言:0更新日期:2012-04-11 18:40
根据本项发明专利技术,公开了减少存储器访问等待时间的若干方法和设备。当对翻译旁视缓冲器(110)做出一个新的表项时,新的TLB表项指向存储器(108)的一个相应的TLB页面。更新TLB(110)的同时,通过将TLB页面保存到一种TLB页面高速缓存(114),TLB页面移动到暂时接近处理器(102)。该TLB页面高速缓存(114)比主存储器(108)更加暂时接近主存储器(108)。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般涉及计算机系统。特别是,本专利技术涉及存储器管理系统,尤其是涉及一种减少处理器访问存储器页面时所花费等待时间的方法和设备,在使用虚拟存储器寻址的计算机存储系统中,该处理器使用一种翻译旁视缓冲器(translation look aside buffer)。
技术介绍
虚拟存储器系统允许非常大的存储器的寻址工作,即便是该系统的主存储器拥有一个较小的地址空间也不妨事。虚拟存储器系统提供这种能力是通过定义存储管理部件,特别是,页面或存储段,具有虚拟存储器地址和相应的物理存储器地址。一种特殊的虚拟存储器地址可能在主存储器或者在较慢的备用存储器,如磁盘空间之中。如果虚拟存储器地址映射数据的物理地址是在主存储器之中的话,那么信息就容易访问和使用。如果物理地址指出相应于虚拟地址的页面处于备用存储器中,那么该页面就传输或交换到数据可进行存取操作的主存储器中。传输操作通常需要使其它的信息从主存储器交换出去而回到备用存储器为新的信息腾出空间。这种传输通常是在作为硬件或软件的存储管理部件的控制下完成的。为了提高虚拟存储器访问的速度,又包括了高速缓存,将最近用过的数据和指令保存起来。为得到所需的信息在访问主存储器之前,这些高速缓存首先接收访问。这些高速缓存可能是虚拟编址或物理编址。但是依照物理地址访问的高速缓存,在检查高速缓存和主存储器之前,必须要有一个虚拟访问到物理访问的翻译过程。分页过程,亦即交换页面的过程,依赖于由存储器页面索引的数据的结构。这种数据结构包括根据所提供的虚拟地址将要访问的存储器的物理地址。这种数据结构包括通常采取由虚拟页面编号、页面表的大小、页面数、以及虚拟存储器空间所索引的页面表的形式存在的物理页面地址。页面表一般如此之大一致它们是保存在主存储器中,并且常常将它们自己再行分页。这就是说每一次存储器的访问操作是要得到物理地址的存储器访问一倍或更多倍数的时间,还需要第二次访问才得到数据。用来使访问时间花费降低到最小的技术是如此保存最后一次所执行的翻译,如果当前的地址是指与最后的翻译相同的地址,那么就跳过分页过程。另外为了进一步节约时间,还可以利用高速缓存所使用的局部性原则。如果访问具有局部性,那么为访问而进行的地址翻译也必然具有局部性。将这些地址翻译保存在一个特殊的高速缓存之中,存储器访问很少会要求第二次访问再去翻译地址。这种特殊的地址翻译高速缓存称之为翻译旁视缓冲,或“TLB”。一个TLB条目如同一个高速缓存的条目,其中一个标签部分保留虚拟地址部分,而数据部分保留物理页的帧面号、保护字段、使用位、以及一个修正了的或脏的比特位。一个典型的TLB数据结构100的例子表示在附图说明图1之中。许多不同的方法和技术可以用来提高访问虚拟存储器的速度。一种方法中,使用了较强的流水线存储器访问,而其中执行TLB访问比流水线提前一步。另一种途径是直接比较虚拟地址。这样的高速缓存称之为虚拟高速缓存。如果是一个高速缓存命中的情况,这能够消除TLB翻译的时间。但遗憾的是,它的一个缺点是过程非常耗时,不管地址的局部性质如何对每一个虚拟地址都必须执行操作。应该注意关于TLB的其它的讨论,可以在David A. Patterson和John L.Hennessey合写的“计算机分层结构”一文中找到,此文见于A Qualitative Approach Second Edition,(Morgan KaufmannPublishing),Pages 439-457。根据以上的观点,应该说事情是很显然的,在一个虚拟存储器环境中需要有各种方法和设备减少存储器访问中的等待时间。专利技术概述根据本专利技术描述了在基于虚拟存储器的系统中一种减少存储器访问等待时间的方法。根据专利技术的一个方面,公开了一种基于虚拟存储器中具有一个主存储器和一个高速缓冲存储器的系统中减少存储器访问等待时间的方法。作为一种方法,带有相关的虚拟地址的数据请求由处理器生成。紧接着,确定所请求的虚拟存储器地址是否在一种TLB中有一个相关的TLB条目。该TLB条目指向包含在TLB页面高速缓存中的一个TLB页面。当确定了所请求的虚拟存储器地址在TLB中确有一个相关的TLB条目,那么所请求的数据便从TLB页面高速缓存中取得,使得所取得的数据移动到暂时接近处理器的位置。在一种优选实施方案中,TLB页面包括所请求的数据。专利技术的另一个方面,公开了一种基于虚拟存储器的计算机系统。该系统包括适当安装的完成可执行指令的处理器,它与一个分层结构系统存储器相连接,以软件的形式保存多个可执行指令。系统存储器被组织成最高级别的系统存储部件比较低级别的系统存储部件更为暂时接近处理器。系统存储器包括用以保存多个可执行指令的主要部分,与主存储器连接的高速缓存用以保存一组最近使用过的可执行指令,其中高速缓存比主存储器来说暂时接近处理器,而一个TLB页面高速缓存用来保存被一个TLB条目所指向的TLB页面,而其中TLB页面高速缓存暂时处于高速缓存和主存储器之间。附图简述本专利技术是通过例子来说明的而不是通过限制来说明的,在所附的插图中,像参考数字是指相同的元素,其中图1表示一种传统排列的TLB数据结构。图2表示一种基于虚拟存储器的计算机系统有一个与本专利技术一种实施方案相一致的分布式TLB寄存器。图3表示一种与本专利技术一种实施方案相一致的分层存储器排列。图4表示一种计算机系统,其中与本专利技术一种实施方案相一致,一种TLB页面分布于DRAM存储设备阵列之中。图5表示根据图4所示计算机系统而构成的一种举例性的地址映象模式。图6表示一种计算机系统其中示于图4的DRAM存储设备阵列包括一种快速的静态缓冲器。图7表示一种计算机系统,与本专利技术一种实施方案相一致,在通过高速互连与存储器阵列连接的存储控制器中有一种TLB缓冲器。图8是一张流程图详细地说明在一种基于虚拟存储器的系统中,减少存储器访问中等待时间的过程。优选实施方案详述现在将详细介绍本专利技术的优选方案。附图中用图解法对优选方案的一个例子进行了说明。当结合优选方案叙述本专利技术时,应认识到我们并非有意地将本专利技术局限于一种优选方案。恰恰相反,我们试图涵盖可能包括本专利技术要旨和范围的,正如所附权利要求中所确定的,各个备选方案、修正方案、和等价方案。为了在一个使用虚拟存储器寻址方案的计算系统中缩短存储器等待时间,我们使用了一种翻译旁视缓冲器,或称之为TLB,以便识别最近一组虚拟存储器到物理存储器的转换。在所述实施方案中,计算机系统包括一个与主存储器和高速缓冲存储器联结的(有一个相联结TLB的)处理器。典型的情况是,高速缓存用来存储最近用过的存储器地址和先前从主存储器(例如动态随机存取存储器,DRAM)取出的有关数据。通过把最近由虚拟存储器到物理存储器的翻译保存在TLB(通常采取一种查阅表或LUT的形式),虚拟存储器地址翻译成物理存储器地址所需要的时间,减少成简单的查表操作所用的时间,因为这些翻译已经存储在TLB之中了。由于任一已知时刻处理器不能访问多于相关的TLB所描述的物理存储器,任何一个导致失败(例如未发现包括在处理器的TLB)的存储页面便被移至暂时接近处理器与实际更新TLB并行的较快的存储器(例如一个L1或L2高速缓存)之中。应该注意,更新TLB的意思是指,由于TLB是频繁本文档来自技高网...

【技术保护点】
在基于虚拟存储器具有一个主存储器和一个高速缓冲存储器的系统中,一种减少存储器访问等待时间的方法,包括:由处理器产生具有相关的虚拟存储器地址的数据请求;确定所请求的虚拟存储器地址是否在TLB中有一个相关的TLB条目,而TLB条目指向包 含在TLB页面高速缓存中的一个TLB页面而且其中TLB页面包括所请求的数据;以及当确定所请求的虚拟存储器地址在TLB中确有一个相关的TLB条目,而所要检索的数据被移动到暂时接近处理器,那么从TLB页面高速缓存中取回所要求的数据。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:H斯特拉科夫斯基
申请(专利权)人:因芬尼昂技术股份公司
类型:发明
国别省市:DE[德国]

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

1