[发明专利]使用硬件与软件组合的路径概况分析有效
申请号: | 201380073066.7 | 申请日: | 2013-03-15 |
公开(公告)号: | CN104995599B | 公开(公告)日: | 2019-05-03 |
发明(设计)人: | C·玛德里斯;J·M·康迪那;C·E·科特赛立迪斯;A·马丁内斯文森特 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/06 | 分类号: | G06F9/06;G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 毛力 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 硬件 软件 组合 路径 概况 分析 | ||
公开了用于生成路径概况的机制。概况分析模块可将概况分析指令插入到指令块中。当处理器执行执行路径(例如,执行指令块的序列或路径)时,这些概况分析指令可生成路径标识符。路径标识符模块可将路径标识符添加到诸如表之类的路径标识符数据中,并且可跟踪与该路径标识符相关联的执行路径被执行的次数。概况分析模块可周期性地复制和/或修改路径标识符数据,并且可基于该路径标识符数据来生成路径概况。
本文所述的多个实施例一般地涉及处理设备,并更具体地涉及路径概况分析(profiling)。
系统可使用诸如路径概况(profile)之类的概况分析信息来生成更好的可执行代码和/或指令。例如,编译器(即时(JIT)编译器、动态二进制转换器等)可使用路径概况来更高效和/或更迅速地生成代码和/或指令。路径概况分析信息在若干场景中可能是非常有用的。例如,软件/硬件协同设计的机器在简单的硬件设计的顶部可包括仿真、转换并优化指令的软件层。在协同设计的机器中,准确的路径概况分析信息对于像推测性控制流版本控制(versioning)那样的激进的优化可能是有用的,并且/或者可提供关于将选择哪些指令区域来优化的更佳见解。路径概况分析对于诸如虚拟机或微软公共语言运行时(CLR)虚拟机之类的JIT编译器可能是有用的。JIT编译器可以是将指令从轻便式ISA(字节代码)仿真并优化到虚拟机正在其上运行的原生ISA的软件层。JIT编译器可执行对于具有准确的路径概况分析信息(例如,通过具有准确的路径概况)可获益的基于路径的优化和追踪调度。常规编译器也可使用路径概况来执行生成更紧凑且更高效二进制文件的优化。例如,编译器可使用路径概况分析来执行失效代码去除和公共子表达式消除。概况分析信息的另一使用是标识经繁重地执行的路径(例如,由处理器持续地执行的指令块或“热路径”)以便执行性能调整和程序优化。可使用路径概况分析以获取被执行路径的准确信息。
附图说明
通过下文给出的具体实施方式并通过本公开的各实施例的所附附图,将更完整地理解本公开。然而,不应当认为这些附图将本公开限制于特定实施例,而是这些附图仅用于说明和理解。
图1是处理器200的微架构的框图,该处理器200包括用于执行根据本发明的一个实施例的指令的逻辑电路。
图2是示出有序流水线以及寄存器重命名级、无序发布/执行流水线的框图。
图3是示出根据本公开的至少一个实施例的、要被包括在处理器中的有序架构核以及寄存器重命名逻辑、无序发布/执行逻辑的框图。
图4是根据一个实现的计算机系统的框图。
图5是根据本公开的一个实施例的包括多个指令块的应用的框图。
图6是示出根据本公开的一个实施例的示例路径标识符数据的表。
图7是根据本公开的一个实施例的用于生成路径概况的系统架构的框图。
图8是示出根据本公开的实施例的用于生成路径概况的概况分析模块的框图。
图9是示出根据本公开的实施例的用于跟踪执行路径的路径标识符模块的框图。
图10是示出根据本公开的一个实施例的生成路径概况的方法的流程图。
图11是示出根据本公开的一个实施例的跟踪执行路径的方法的流程图。
图12是根据本公开的实施例的片上系统(SoC)的框图。
图13是根据本公开的片上系统(SOC)设计的实施例的框图。
图14示出了计算机系统的示例形式的机器的图示性表示,在该计算机系统内,可执行用于使机器执行本文中所讨论的方法中的任何一个或多个的一组指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380073066.7/2.html,转载请声明来源钻瓜专利网。