当前位置: 首页 > 专利查询>苹果公司专利>正文

TLB预取制造技术

技术编号:7437146 阅读:355 留言:0更新日期:2012-06-15 20:09
在一个实施例中,存储器管理单元(MMU)被配置成保持包括多个页面表条目的数据块。MMU被配置成响应于TLB未命中,检查所述数据块,如果在所述数据块中找到转换,则提供来自所述数据块的所述转换,而不生成对于所述转换的存储器读取。在一些实施例中,MMU还可以保存已使用来自所述数据块的转换的TLB未命中的历史,以及可根据所述历史,生成第二个数据块的预取。例如,所述历史可以是最近使用的Q个页面表条目的列表,以及所述历史可以示出在块的端部附近的访问的模式。在另一个实施例中,所述历史可以包括已使用的所述数据块中的页面表条目的数目的计数。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及处理器领域,更具体地说,涉及处理器中的存储器管理单元。
技术介绍
处理器一般实现地址转换。当启动地址转换时,取地址和加载/存储地址是有效或虚拟地址。通过地址转换机制来转换有效/虚拟地址,以获得物理地址(或真实地址)。 这里使用的术语“物理地址”和“真实地址”意思相同。物理/真实地址是实际用于寻址存储器的地址。有效地址是为取回指令而生成的地址(也被称为指令的程序计数器,或者PC), 或者根据加载/存储指令的地址操作数而生成的地址。在一些情况下,有效地址等于虚拟地址。在其它情况下,虚拟地址是根据有效地址生成的(例如,从有效地址转换而来的,或者通过对有效地址应用某种预定操作生成的)。虚拟地址随后被转换成物理地址。由于各种原因,使用地址转换。例如,地址转换可用于提供比包含在计算机系统能够支持的物理存储器的量更大的有效或虚拟地址空间。较慢的二级存储器(例如,磁盘存储器)可被用作根据正在执行的程序的需要,把页面换入和换出存储器的换页存储器。另外,在多重任务处理环境中,地址转换可被用于保护一个任务的存储器不被另一个任务访问/更新,以及向每个任务提供它自己的地址空间,而独立于哪些物理页面被分配给该任务。如果任务的总的存储器用量超过存储器大小,那么可以再次使用页面交换来保持存储器内容,并提供对目前使用的页面的访问。在系统存储器中一般提供页面表,该页面表保存虚拟-物理转换映射。因而,地址转换包括从页面表读取所述转换的一次或多次存储器访问。为了加速转换机制,许多处理器实现转换后援缓冲器(TLB,translationlookaside buffer)。TLB是最近使用的转换的高速缓存。因而,类似于高速缓存未命中,TLB的未命中涉及从页面表取回转换数据的附加等待时间。在一种情况下,就虚拟地址范围来说,TLB是可编程的。响应于虚拟地址范围内的转换请求,TLB能够提供所述转换,还能够把下一个虚拟页面的转换预取到TLB中。
技术实现思路
在一个实施例中,存储器管理单元(MMU)被配置成保持包括多个页面表条目的数据块。MMU被配置成响应于TLB未命中,检查所述数据块,如果在所述数据块中找到转换, 则提供来自所述数据块的所述转换,而不生成对于所述转换的存储器读取。在一些实施例中,MMU还可以保存已使用来自所述数据块的转换的TLB未命中的历史,以及可根据所述历史,生成第二个数据块的预取。例如,所述历史可以是已使用的Q个最新页面表条目的位置 (例如,块内的条目编号)的列表,以及所述历史可以示出接近块的端部的访问的模式。MMU 可以生成对与正逼近的端部相邻的下一个连续块的预取。在另一个实施例中,所述历史可以包括已使用的页面表条目的数目的计数,如果所述计数接近数据块中的页面表条目的总数,那么MMU可以生成预取。附图说明下面的详细说明参考以下简要说明的附图。图1是包括一个或多个存储器管理单元的系统的一个实施例的方框图。图2是存储器管理单元的一个实施例的方框图。图3是虚拟地址空间、页面表条目和物理地址空间的一个实施例的方框图。图4是图解说明存储器管理单元响应于转换后援缓冲器未命中的一个实施例的操作的流程图。图5是图解说明存储器管理单元响应于转换后援缓冲器未命中的另一个实施例的操作的流程图。图6是图解说明图5中所示流程图的一部分的一个实施例的流程图。图7是图解说明图5中所示流程图的一部分的另一实施例的流程图。图8是图解说明对于2级高速缓存访问,图1中所示系统的一个实施例的操作的流程图。图9是图解说明控制码的一个实施例的流程图。图10是系统的一个实施例的方框图。图11是计算机可访问存储介质的一个实施例的方框图。虽然本专利技术可以有各种修改和备选形式,不过附图中举例表示了本专利技术的具体实施例,这里将详细说明所述具体实施例。然而应明白,附图及其详细说明并不意图把本专利技术局限于公开的特定形式,相反,本专利技术将覆盖在由附加权利要求限定的本专利技术的精神和范围内的所有修改、等同物和备选方案。这里使用的标题只是为了便于组织,并不意图被用于限制说明的范围。在本申请中,在许可的意义上(即,意味有可能),而不是在强制的意义上 (即,意味必须),使用词语“可以”。类似地,词语“包括”意味包括(但不限于)。各个单元、电路或其它组件可被描述成“配置成”执行一项或多项任务。在这样的上下文中,“配置成”是通常意味“具有在工作期间,执行所述一项或多项任务的电路”的结构的广泛列举。因而,所述单元/电路/组件可被配置成即使当所述单元/电路/组件目前未接通时,也可执行所述任务。通常,形成与“配置成”对应的结构的电路可包括硬件电路。类似地,为了便于说明,各个单元/电路/组件可被描述成执行一项或多项任务。这样的说明应被解释成包括短语“配置成”。列举被配置成执行一项或多项任务的单元/电路/ 组件并不意图引用35U. S. C. § 112,第6段对单元/电路/组件的解释。具体实施例方式下面参见图1,图中示出了系统的一个实施例的方框图。在图1的实施例中,系统包括每一个包括存储器管理单元(MMU) 16A-16N的一个或多个图形处理单元 (GPU) 10A-10N、对应的2级(L2)高速缓存12A-12N、和多核管理块(MCMB) 14A。MCMB 14A与 L2高速缓存12A-12N耦接,L2高速缓存12A-12N与相应的GPU 10A-10N耦接。MCMB 14A 还耦接到主存储器系统20。系统还包括每一个包括MMU 18A-18M的一个或多个中央处理单元(CPU)22A-22M、对应的2级(L2)高速缓存24A-24M、和多核管理块(MCMB) 14B。MCMB 14B与L2高速缓存24A-24M耦接,L2高速缓存MA-24M与相应的CPU 22A-22M耦接。MCMB 14B还耦接到主存储器系统20。这里用后面是字母的参考数字引用的组件可以类似(但不一定相同于)具有相同参考数字和不同字母的其它组件。具有相同参考数字和不同字母的组件可以共同单独用参考数字引用(例如,GPU10A-10N可被共同称为GPU 10)。GPU 10A-10N可实现为图形处理(例如,把图像渲染到帧缓冲器中、像素处理,等等)优化的指令集体系结构。GPU 10A-10N可实现任何微体系结构,包括标量、超标量、流水线、超流水线、无序、有序、推测性、非推测性体系结构等,或者它们的组合。GPU 10A-10N可以包括电路,以及可选地可以实现微编码技术。GPU 10A-10N的每一个都包括配置成进行地址转换的MMU 16A-16N. MMU 16可包括高速缓存转换的转换后援缓冲器(TLB),以及可以实现如下更详细所述的转换预取。MMU 16所使用的转换可被保存在页面表沈中,所述页面表沈保存在主存储器系统20中。类似地,CPU 22A-22M可以实现通用指令集体系结构,以及可以实现任何微体系结构,包括任意上述可能性。CPU 22A-22M可以实现MMU 18A_18M,MMU 18A-18M也可实现如下所述的转换预取。在其它实施例中,只有MMU 16实现转换预取,在另外的其它实施例中,只有MMU 18实现转换预取。MMU 18A-18M所使用的转换也可以保存在页面表沈中。页面表沈可在CPU 22和GPU 10之间共享,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:J·王陈宗健
申请(专利权)人:苹果公司
类型:发明
国别省市:

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

1
相关领域技术