当前位置: 首页 > 专利查询>ATI技术公司专利>正文

虚拟存储器系统中段处理的方法和装置制造方法及图纸

技术编号:2829027 阅读:241 留言:0更新日期:2012-04-11 18:40
描述了一种用于虚拟存储系统中的段处理的方法和装置。本发明专利技术的实施例包括协处理器,该协处理器包括用于访问物理存储器的虚拟存储系统。页表逻辑和段处理逻辑扫描具有固定且相对较小页面大小的页表。该页表被分离成段,该段由在物理地址空间和逻辑地址空间中连续且具有相似的属性的页面组成。逻辑地址空间中的段起始于已知的地址边界以使得所述边界指示出段的起始地址和该段的大小。物理地址空间中的对应段可以起始于任何地方,因此使得该处理可以对物理存储器透明。页表中的段字段表达了段大小和边界信息。

【技术实现步骤摘要】
【国外来华专利技术】
所公开的实施例涉及计算机系统中的虚拟存储系统。
技术介绍
计算机系统性能的不断增长推动了加大存储器大小和速度的需 求。然而,由于包括成本和结构因素的多重限制,存储器的物理大小 不能是无限的。为了通过给定大小的存储器来获取可能的最佳性能, 开发了多种用于管理可用存储器的系统和方法。这样的系统或者方法 的一个例子为虚拟寻址,所述虚拟寻址允许计算机程序如同计算机的 存储器远大于实际可用的物理随机存取存储器(RAM)那样运行。 多余的数据被存储在硬盘上并且在需要时被复制到RAM中。虚拟存储器通常远远大于物理存储器,这样可以运行整体代码加 上数据大小后大于可用RAM的大小的应用程序。该虚拟存储器被称 为按需分页虚拟存储器。当做出访问页面的请求并且该页面并非 已经存在于RAM时,该页面被从硬盘复制到RAM中(分页取入)。 该分页通常通过中央处理器(CPU)、存储器管理单元(MMU)以及 操作系统(OS)内核之间的协作而自动执行。所述应用程序并不会 注意到虚拟存储器,它所见到的仅仅是巨大的地址空间,在某一时刻 仅有部分地址对应到物理存储器。所述虚拟地址空间被划分为页面。CPU输出的各个虚拟地址被 划分为(虚拟)页面号(多位最高位)和页面内的偏移(N位最低位)。 因此各个页面包括2字节。所述偏移不变,而所述MMU将所述虚拟 页面号映射到物理页面号。该物理页面号与偏移进行重组以得到物理 地址,该物理地址表示物理存储器(RAM)中的位置。应用程序的性能在很大程度上依赖于该程序的存储器访问模式如何结合分页机制。如果访问展现出了很多的引用的局部性,即,各 个访问趋向于接近前一次的访问,则该性能会优于如果访问被随机分 布在程序的地址空间并且因此需要更多的分页的情况。在多任务系统 中,物理存储器可以包含属于多个程序的页面。如果没有按需分页, OS可能需耍为每个活动的程序及其数据的整体分配物理存储空间, 该方式效率很低。当前的计算机系统,即使是相对较小规模的个人计算机系统,均 包括多个子系统和/或协处理器,其与CPU和OS共同工作以执fi^ 定的功能。例如,图形协处理器(或者图形处理单元(GPU))、浮点 协处理器、网络处理器以及其他类型的协处理器均被耍求用来以尽可 能快的速度处理大量数据并且需要大量的存储空间。 一致的规则组有 必耍对访问霜要这样访问的所有系统元件或者子系统的物理存储器 进行管理。例如,所述OS可以指定各个子系统必须面对的页面(page) 大小和页表(pagetable)格式以进行虚拟存储器访问。通常的,虚拟存储器/页表转换系统的整体性能由转换后备缓冲 器(TLB)中的命中率所决定。TLB是列有与各个虚拟地址页面号相 关联的物理地址页面号的表格。TLB通常被用作一级(LI)高速缓 存,其标记基于虚拟地址。所述虚拟地址被同时提供给TLB和高速 缓存以使髙速缓存访问和虚拟地址到物理地址的转换可以并行进行 (同时完成所述转换)。如果所请求的地址没有被缓冲存储,则所 述物理地址被用来对在所述髙速缓存外部的存储器中的数据进行定 位。这被称为髙速缓存未命中。如果所述地址被缓冲存储,则被 称为高速缓存命中。虚拟存储系统中的页表为数组,该数组包括用于各个当前虚拟地 址到物理地址转换的项。页表中的页表项(PTE)通常包括物理页面号和标志位。页面的 大小相同,且所述页面越小,在对特定页面的引用中高速缓存命中的 可能性越小。页面还可以被结合为存储器中的连续部分,所述连续部 分被称为段(ftagment)。段为连续的一系列物理页面。存储器的100 %分段意味着每段一个页面。随着段的平均大小的增大,或者分段的减少,所述命中率会显著提高。访问物理存储器的虚拟存储系统需要使用增大命中率的技术。在 设计这样的虚拟存储系统所面临的挑战包括虚拟存储器必须面对的 存储器结构所施加的限制,所述限制包括固定的页面大小和指定的页 表项格式。还需要一种能够使所增加开销(例如在大小和速度方面) 最小化的技术。还需要一-种技术,该技术可以在给定存储器结构所提 出的所有限制中工作井且使存储器客户端口J以通过虛拟存储系统透 明访问物理存储器。
技术实现思路
根据本专利技术的第一方面,提供一种用于创建存储器地址分配的数 据结构的方法,该方法包括确定段,所述段包括逻辑地址空间和物理地址空间中的一个或者 多个页面,其中,物理地址空间以固定大小页面的形式而被分配;以及产生数据结构,该数据结构包括多个项,其中,各个项包含可以 被用来执行可变数量的从逻辑地址到物理地址转换的信息。根据本专利技术的第二方面,提供一种用于处理存储器请求的方法,该方法包括执行对数据结构的访问,该数据结构包括多个项,其中各个项包 含可以被用来执行可变数量的逻辑地址到物理地址转换的信息使用项的字段(field)中的信息执行逻辑地址到物理地址的转换使用从所述项获取的信息执行后续的逻辑地址到物理存储器地 址的转换,所述项包含所述字段。根据本专利技术的另一方面,提供一种计算机程序,该程序可选地存 储在计箅机可读介质中,该程序包括指令,当该指令被执行时,使计 算机系统执行本专利技术第一或者第二方面的方法。在一方面,提供存储 有指令的计算机可读介质,当所述指令被执行时,使计算机系统中的 存储器请求被处理,其中所述处理包括扫描页表以确定段,所述段包括逻辑地址空间和物理地址空间中连续的页面,其中物理地址空间以固定大小的页面进行分配;以及 产生页表项(PTTE),所述页表项包括指示物理存储器页面在所述段中连续的段字段。在本专利技术的另一方面中,提供一种系统,所述系统包括 稱合到总线的中央处理器耦合到所述总线的至少一个存储器件,其中,所述至少--个存储 器件可以通过按需分页而被访问,以及其中,各个存储器页面具有固 定的大小耦合到所述总线的协处理器,所述协处理器还包括至少一个存储器控制器,用于为多个存储器客户端控制对所 述至少一个存储器件的访问;以及至少一个页表单元,用于处理所述多个存储器客户端和所述 存储器控制器之间的通信,其中,所述至少一个页表单元实现按需分 页,包括将逻辑地址空间和物理地址空间分割成连续且兼容的段,其 中,所述连续且兼容的段包括多个页面。在本专利技术的又另一方面,提供一种用-T在电子系统中执行特定功 能的协处理装置,包括用于为多个存储器客户端控制对存储器件进行访问的装置;以及 用于处理所述多个存储器客户端之间通信的装置和用于控制对 至少一个存储器件进行访问的装置,其中,用于处理通信的所述装置 实现按需分页,包括将逻辑地址空间和物理地址空间分割成连续且兼 容的段,其中,所述连续且兼容的段包括多个页面.附图说明图1为在一个实施例中包括协处理器的计算机系统的结构图2为在一个实施例中协处理器的结构图3为在一个实施例中页表项(PTE)的图示图4A、 4B和4C形成了在一个实施例中页表扫描算法的流程图, 所述算法用于确定页表的分段,以及用于写入页表项;图5为在一个实施例中显示在应用图4的算法后存储器地址布置的结构图图6为在一个实施例中协处理器的元件的结构图,所述协处理器 包括一个存储通道图7为在一个实施例中协处理器的元件的结构图,所述协处理器 包括多个存储通道图8为在一个实施例中协处理器的元件的结构图,所述协处理器 包括两个页本文档来自技高网
...

【技术保护点】
一种用于创建在存储器地址转换中使用的数据结构的方法,包括:    确定段,所述段包括逻辑地址空间和物理地址空间中的一个或者多个页面,其中,以固定大小的页面来分配物理地址空间;以及    产生数据结构,所述数据结构包括多个项,其中,各个项包含可以被用来执行可变数量的从逻辑地址到物理地址转换的信息。

【技术特征摘要】
【国外来华专利技术】US 2005-4-7 11/102,2101、一种用于创建在存储器地址转换中使用的数据结构的方法,包括确定段,所述段包括逻辑地址空间和物理地址空间中的一个或者多个页面,其中,以固定大小的页面来分配物理地址空间;以及产生数据结构,所述数据结构包括多个项,其中,各个项包含可以被用来执行可变数量的从逻辑地址到物理地址转换的信息。2、 根据权利要求1所述的方法,其中,所述信息包括段大小。3、 根据权利要求1或2所述的方法,其中,逻辑地址空间中的 所述段起始于对齐的地址边界,以及其中,所述对齐的地址边界由所 述信息来表示。4、 根据权利要求3所述的方法,其中,所述对齐的地址边界是 2的幂的边界。5、 根据上述权利要求中任意一项权利要求所述的方法,其中, 所述确定步骤进一步包括定义页表项(PTE)字段定义兼容函数,其中,兼容是指逻辑地址空间和物理地址空 间中页面的相似属性具有相同的值;在页表中査找连续且兼容的页面组;以及将所述连续且兼容的页面组对齐到连续且兼容的段中,逻辑地址 空间中的各个所述段起始于一种类型的地址边界,其中,所述地址边 界与段的页面的大小相关。6、 根据权利要求5所述的方法,其中,物理地址空间中的段起 始于任何类型的地址边界。7、 根据权利要求5或6所述的方法,其中,所述类型的地址边 界是2的幂的边界,以使得逻辑地址空间中的所述边界与 (2'WM)x(页而大小)相关。8、 根据权利要求7所述的方法,其中,段中的页面数量是9、 根据上述权利要求中任意一项权利要求所述的方法,包括处 理来自存储器客户端的存储器访问请求,所述方法包括在转换后备缓冲器(TLB)中执行标记比较,包括将所述信息中 所指示的段大小考虑在内以搜索一个或多个页面的区域 将页表项(PTE)取入所述TLB;以及调整存储在所述PTE中的、表示逻辑基地址和物理基地址的标 记以匹配指定段的开头。10、 根据上述权利要求中任意一项权利要求所述的方法,包括设 定所述数据结构的至少一部分以指示主驱动器选择不执行段处理,其 中,出于页表访问的目的,将所述物理地址空间以固定大小的页面完 全分段。11、 根据上述权利要求中任意一项权利耍求所述的方法,包括处 理来自存储器客户端的存储器访问请求,所述方法包括尝试执行地址转换,所述地址转换包括在转换后备缓冲器(TLB) 中执行标记比较,包括将所述信息中所指示的段大小考虑在内以搜索 比一个页面更大的区域;以及如果地址不能被所述TLB转换,则将来自所述请求的数据传递 到二级高速缓存。12、 根据权利要求11所述的方法,其中,所述二级髙速缓存使用缺失命中方案,所述方案包括当地址转换数据无序返回时,将请求 数据临时存储在延迟补偿队列中,并且将索弓l传递到所述二级高速缓 存,其中,所述索引被用作将返回的转换与所述请求相关联。13、 一种系统,包括 耦合到总线的中央处理器耦合到所述总线的至少一个存储器件,其中,所述至少一个存储 器件可以通过按需分页而被访问,以及其中,各个存储器页面具有固 定的大小耦合到所述总线的协处理器,所述协处理器还包括至少一个存储器控制器,用于为多个存储器客户端控制对所述至少一个存储器件的访问;以及至少一个页表单元,用于处理所述多个存储器客户端和所述存储器控制器之间的通信,其中,所述至少一个页表单元实现按需分页,包括将逻辑地址空间和物理地址空间分割成连续且兼容的段,其中,所述连续且兼容的段包括多个页面。14、 根据权利要求13所述的系统,其中,页面中的段大小与所 述段的起始地址相关。15、 根据权利要求13或14所述的系统,其中,所述至少一个页 表单元还包括至少一个客户端接口,其中,各个客户端接口从一个存储器客户端接收存储器请求;以及至少一个一级转换后备缓沖器(TLB),包括页表逻衝段处理逻辑(PTL/FPL),其中,所述TLB被耦合到一个或者多个客户端接口, 以及其中,所述PTL/FPL被配置为通过以下歩骤将所述逻辑地址空 间和所述物理地址空间分割为连续且兼容的段,所述步骤包括扫描页表以确定逻辑地址空间和物理地址空间中连续且兼 容的段,其中,兼容是指不同页面的相似属性具有相同的值以及产生包括段字段的页表项(PTE)。16、根据权利要求15所述的系统,其中,所述段字段指示所述段的大小。17、根据权利要求15或16所述的系统,其中,所述段字段指示所述物理存储器页面在所述段中连续并且所述段的逻辑起始地址被 对齐到对应的段大小边界上。18、根据权利要求17所述的系统,其中,所述对应的段大小边界是2的幕的边界。19、根据权利要求15至18屮任意一项权利要求所述的系统,其中,所述至少一个页表单元包括至少一个存储器控制器接口,其中,存储器控制器接口被耦合到各个TLB以接收转换的地址,并且还耦 合到各个存储器客户端以返回存储器数据。20、根据权利要求15至19屮任意一项权利耍求所述的系统,其中,所述至少一个页表单元包括至少一个二级(L2)髙速缓存,其中,各个L2高速缓存被耦合到多个TLB以在TLB未命中的情况下接收 存储器请求数据。21、根据权利要求20所述的系统,其中,所述至少一个页表单元还包括耦合到所述L2高速缓存的存储器控制器接口 。22、根据权利要求13至21中任意一项权利要求所述的系统,其中,所述PTL/FPL被配置为基于所述段字段中的内容以及指定的标记数据来匹配地址,因此在固定页面大小之上增加了搜索空间。23、根据权利要求20或者引用该权利要求的任意一项权利要求所述的系统,包括两个页表单元,其中,多个存储器客户端被在所述 两个页表单元之间划分,以及其中,各个所述页表单元包括L2高速 缓存。24、 根据权利要求23所述的系统,其中,各个L2高速缓存用作 另一个L2髙速缓存的L3高速缓存。25、 根据权利要求24所述的系统,还包括多个附加级髙速缓存, 所述多个附加级高速缓存至少包括4级高速缓存和5级高速缓存。26、 根据权利要求24所述的系统,其中,各个L2髙速缓存包括 延迟补偿队列,用于在等待读取数据返回时存储读取请求数据,其中. 将描述队列存储位置的索引连同所述读取请求一起提交以用于后续 的识别,以及其中,当所述读取数据返回时,所述读取数据替换已经 存在的高速缓存行并且请求处理恢复。27、 根据权利要求20或引用该权利要求的任意一项权利要求所 述的系统,其中,所述两个L2髙速缓存被耦合到公共存储器控制器 接口。28、 根据权利要求20或引用该权利要求的任意一项权利要求所 述的系统,其中,所述存储器客户端包括超过20个读取存储器客户 端以及超过10个写入存储器客户端,并非每个所述客户端均需要与 所述页表单元进行通信。29、 根据权利要求28所述的系统,其中,所述存储器客户端还 包括由所述页表单元识别的多种等级的存储器客户端,其中,不同等 级的存储器客户端与不同大小的1TLB相关。30、 根据权利要求29所述的系统,其中,具有相对较髙性能需求的存储器客户端等级与具有相对较多项的TLB相关联,以及具有 相对较低性能需求的存储器客户端等级与具有相对较少项的TLB相 关联。31、 根据权利要求30所述的系统,其中,所述页表单元被配置 为以多级页表结构进行工作,包括从页面目录项(PDE)中提取页表 地址以确定要使用的页表。32、 根据权利要求13至31中任意一项权利要求所述的系统,其 中,所述至少一个页表单元被配置为以平页表结构进行工作。33、 根据权利要求15或引用该权利要求的任意--项权利要求所 述的系统,其中,所述至少一个页表单元包括上下文字段,其屮所述 上下文字段被用来选择多个页表上下文中的一个以用于地址转换。34、 根据权利要求33所述的系统,其中,各个存储器客户端可 以使用所述上下文字段从多个可用页表上下文中进行选择。35、 一种存储有指令的计算机可读介质,当所述指令被执行时, 使计算机系统中的存储器请求被处理,其中,所述处理包括扫描页表以确定段,所述段包括逻辑地址空间和物理地址空间中 连续的页面,其中,物理地址空间被以固定大...

【专利技术属性】
技术研发人员:WF克鲁格RA德宾WK史密斯
申请(专利权)人:ATI技术公司
类型:发明
国别省市:CA[加拿大]

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

1