当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于在计算系统处的软件程序中便于动态和高效地管理转换缓冲器预取的机制技术方案

技术编号:12975560 阅读:102 留言:0更新日期:2016-03-03 23:34
描述了根据一种实施例的便于动态和高效的基于二进制转换的转换后备缓冲器预取的机制。一种实施例的方法,如本文描述的那样,包括在计算设备处将代码块转换成代码转换块。为了执行提交所述代码转换块。该方法可进一步包括在运行时跟踪该代码转换块的动态系统行为,以及基于所跟踪的动态系统行为的分析推测转换后备缓冲器(TLB)的预取。

【技术实现步骤摘要】
【国外来华专利技术】
本文描述的实施例一般涉及计算机编程。更特别的,实施例涉及用于在计算系统 处的软件程序中便于动态和高效地管理转换缓冲器预取的机制。
技术介绍
转换后备缓冲器(TLB)涉及硬件缓存,该硬件缓存存储虚拟-物理地址转换以及 被用于提高虚拟地址转换速度。当存储器访问时,执行TLB查找以在该TLB中查找请求的 地址转换,并且如果没找过该转换,该未命中被称为TLB未命中。然而传统的解决方案并不 提供高效的管理TLB未命中的方法;例如,为基于硬件的页面行程表提供的一种传统方法 确定该存储器访问的物理地址或者确定是否存在特定虚拟地址的入口。基于硬件的页面行 程的高延迟使得TLB未命中昂贵和低效,其经常导致执行负载的显著放慢,导致功率和性 能减缓。【附图说明】 在附图中通过举例的方式、但不是以限制的方式阐明实施例,在附图中类似的附 图标记指代类似的元件。 图1示出了根据一种实施例的具有预取机制的二进制转换,其为了在软件程序中 便于转换缓冲器预取的基于二进制转换的管理。 图2示出了根据一种实施例的具有预取机制的二进制转换。 图3示出了根据一种实施例采用由图1的具有预取机制的二进制转换推动的二进 制转换引擎的系统。 图4A示出了根据一种实施例基于利用二进制转换的静态代码分析的便于TLB预 取控制的方法。 图4B示出了根据一种实施例基于利用二进制转换的动态代码分析和概括的便于 TLB预取控制的方法。 图4C示出了根据一种实施例基于便于动态和高效的二进制转换的TLB预取的方 法。 图5示出了根据一种实施例的适于实现本公开的实施例的计算机系统。 详细描述 在接下来的描述中,阐明了许多特定的细节。然而如文本描述的这样的实施例可 被实行而不需要这些特定的细节。在其它示例中,为了不模糊本说明书的理解,并没有详细 地示出众所周知的电路、结构和方法。 实施例提供了一种基于硬件-软件的机制,该机制用于利用基于二进制转换(BT) 的TLB预取机制减少转换后备缓冲器(TLB)的未命中的发生。在一种实施例中,基于BT的 预取机制可包括使用基于硬件-软件的解决方案,这样当采用用于确定、预测和调度TLB预 取的方法时,指令集架构(ISA)可被用于启用基于BT的TLB预取。在一种实施例,基于BT 的机制克服了与传统方法有关的任何问题/限制,并且更通过提高TLB预取的质量而且减 少了与传统的基于硬件-软件的TLB预取方案的有关的复杂性,为关于如静态代码分析和 动态概括的信息的利用做准备以高效地控制和维持TLB预取。 提供未来TLB查找的精确预测的实施例通过消除传统地与页面行程延迟相关的 减缓和TLB未命中而增加TLB命中的数目以加速执行代码。例如,TLB查找模式可被观察到 并被用于预测未来的TLB查找。而且,可生成对这些未来的查找的预取请求和提供给例如 TLB页面未命中处理程序(PMH),PMH然后行走页面表以及用被预取的地址转换填入TLB。 实施例提供了灵活的和简易的解决方案,其优于死板的和复杂的仅仅硬件的解决 方案。例如,在一种实施例中,利用BT机制,在预取不具有相当的益处时,对于部分或所有 的负载可关掉预取,。此外,BT机制兼容于任何数目的不能由具有传统的基于硬件的技术 完成的机器、硬件封装和预取方案等。 而且,诸如当确定静态属性(如在循环中的页面访问中的跨步)可立即用于快速 TLB预取线索(利用传统的系统则这不可能),而这个信息可通过分析静态代码获得时,实 施例可允许确定代码的静态和动态属性。类似的,BT机制的运行时组件通过简单的概括和 分析代码的动态属性学习动态TLB行为。 图1示出了根据一种实施例的具有预取机制的二进制转换110,其为了在软件程 序中便于管理基于二进制转换的转换缓冲器预取。计算设备1〇〇用作主机器以采用具有预 取机制的二进制转换("二进制转换机制"或简化为"BT机制")110,其在一种实施例中,当 采用用于精确确定、预测和调度的TLB预取的方法时,便于基于硬件-软件的解决方案利用 ISA以启用基于BT的TLB预取。这个基于BT的TLB查找的精确预测通过消除与由传统方 法带来的延迟一贯相关的缓慢和TLB未命中可增加TLB命中的数目以加速执行代码和它的 工作量。 计算设备100可包括移动计算设备,如包括智Η纟电话(如平果公司的iPhone、动 态研究公司的黑莓等)的蜂窝式电话、个人数字助理(PDA)等、平板计算机(如苹果公司 的iPad、三星公司的Galaxy 3等)、膝上计算机(如笔记本、上网本、超级本等)、电子阅读 器(如亚马逊公司的Kindle、庞诺书店的Nook等)等。计算设备100可进一步包括机顶 盒(如基于因特网的有线电视机顶盒等)、以及较大的计算设备,如台式计算机、服务器计 算机等。 计算设备100进一步包括一个或多个处理器102、存储设备104、网络设备、驱动器 等等、操作系统(0S) 106、以及输入/输出(I/O)源108,如触摸屏、触摸面板、触摸板、虚拟 或常规键盘、虚拟或常规鼠标等。需要注意的是类似"计算设备"、"节点"、"计算节点"、"客 户端"、"主机"、"服务器"、"存储服务器"、"机器"、"设备"、"计算设备"、"计算机"、"计算系 统"等等的术语在整个文档中可被可替换的使用。 在一种实施例中,二进制转换机制110提供采用利用BT的硬件-软件方式的解决 方案以控制和管理TLB预取,该解决方案减少了基于硬件的复杂性,提高了与预取有关的 精确性以及减少了用于TLB预取的功率耗损。在一种实施例中,通过分析静态代码和观察 动态TLB查找,BT被用于推断TLB访问模式。进而,这个推断的模式被用于控制使用控制 指令和明确的预取请求的TLB预取行为。 图2示出了根据一种实施例的具有预取机制的二进制转换110。在一种实施例中, 二进制转换机制110包括数个组件,如接收逻辑202、转变逻辑204、包括分析器208的推测 /预测逻辑206、具有选择模块212和应用模块214的指令逻辑210、传送逻辑216、执行逻 辑216、以及通信/兼容性模块218。整个这篇文档,"逻辑"可被替换的称作"组件"或"模 块",并且通过举例的方式包括软件、硬件和/或软件和硬件的任何组合,如固件。 在一种实施例中,接收逻辑202接收来自于一个或多个源(如,图3中的硬件预取 器302、304、306)的软件程序的代码指令或代码块,在这种情况下代码指令随后被转发到 转换逻辑204。BT机制110提供虚拟化技术,在这种情况下,通过转换逻辑204可执行的二 进制被从一种ISA无缝的转换为另一种,例如以获得高效率和高性能而不浪费资源和功率 的目的。 在一些实施例中,转换逻辑204分析源二进制的代码块并且在目标ISA中生成功 能性等同的代码块(也称为"代码转换"或"代码转换块"),进而,转换逻辑204在代码转 换上执行优化以及为了执行而调度被转换的目标ISA代码块。运行时可负责跟踪所生成的 代码块、在观察代码流的基础上链接起代码转换、跟踪类似于分支行为的动态系统行为以 及通过重转换源二进制代码块响应这些动态行为。在特定场景和实施例中,当源和目标ISA 可能保持一样时,BT也可纯粹地被用于代码优化。可以考虑的是BT机制110本文档来自技高网...

【技术保护点】
一种便于转换缓冲器预取的装置,包括:在计算设备处将代码块转换为代码转换块的转换逻辑,其中所述代码转换块被提交以用于执行;以及在运行时跟踪所述代码转换块的动态系统行为的推测逻辑,其中所述推测逻辑进一步基于所跟踪的动态系统行为的所述分析推测转换旁路缓冲器TLB预取。

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

【专利技术属性】
技术研发人员:G·凡卡塔苏布拉曼尼恩E·舒赫曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1