[发明专利]使用用户级控制机制进行剖析无效
申请号: | 200680036157.3 | 申请日: | 2006-10-02 |
公开(公告)号: | CN101278265A | 公开(公告)日: | 2008-10-01 |
发明(设计)人: | C·纽伯恩;H·王;X·邹;R·奈特;A·切尔诺夫;R·杰瓦 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F9/38;G06F9/46 |
代理公司: | 永新专利商标代理有限公司 | 代理人: | 王英 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 用户 控制 机制 进行 剖析 | ||
1、一种方法,包括以下步骤:
在可管理的运行时环境(MRTE)中执行非插装代码;
在所述非插装代码执行期间,在一特权级中使用处理器的资源监视至少一个硬件事件;以及
当触发条件发生时,在所述特权级中收集与所述至少一个硬件事件相对应的剖析信息。
2、如权利要求1所述的方法,还包括:
利用所述至少一个硬件事件和所述触发条件对所述资源进行编程,其中,所述资源包括通道。
3、如权利要求1所述的方法,其中,收集所述剖析信息的步骤包括:
当所述触发条件发生时,异步地从所述非插装代码调用一服务例程。
4、如权利要求3所述的方法,还包括:
在所述特权级中将控制转移到所述服务例程。
5、如权利要求1所述的方法,还包括:
在与所述特权级相对应的用户级特权级中,执行所述非插装代码。
6、如权利要求3所述的方法,还包括:
通过所述服务例程,对与一个不同的硬件事件相关联的至少一个其它触发条件进行处理。
7、如权利要求1所述的方法,还包括:
在所述触发条件未发生的情况下,读取与所述至少一个硬件事件相关联的计数。
8、如权利要求1所述的方法,还包括:
暂停收集所述剖析信息,同时继续监视所述至少一个硬件事件。
9、如权利要求1所述的方法,还包括:
在所述非插装代码执行期间,修改所述触发条件。
10、如权利要求3所述的方法,其中,收集所述剖析信息的步骤包括:
获得在导致所述触发条件发生的指令之前所述处理器的架构状态信息。
11、如权利要求10所述的方法,还包括:
在所述服务例程中,基于所述指令的一部分以及所述架构状态信息,确定与所述指令相关联的存储单元的有效地址。
12、如权利要求11所述的方法,还包括:
实时地确定所述有效地址而不存储所述架构状态信息。
13、如权利要求3所述的方法,还包括:
对所述服务例程进行剖析。
14、一种制品,包括具有指令的机器可访问介质,所述指令在执行时使得系统进行以下操作:
在应用程序执行期间,监视至少一个硬件事件;
当与所述至少一个硬件事件相关联的条件被触发时,指示一让步事件;以及
依据所述指示,在没有操作系统(OS)干预的情况下,将控制从所述应用程序转移到一让步事件例程。
15、如权利要求14所述的制品,还包括在执行时使所述系统进行以下操作的指令:
利用关于所述条件的信息对处理器的存储装置进行编程,所述信息包括所述至少一个硬件事件、所述条件的触发、以及所述让步事件例程的地址。
16、如权利要求15所述的制品,还包括在执行时使所述系统进行以下操作的指令:
通过所述让步事件例程来访问所述存储装置以收集存储在所述处理器中的剖析信息。
17、如权利要求16所述的制品,还包括在执行时使所述系统进行以下操作的指令:
在剖析缓冲器中对所述剖析信息进行缓冲,以便由代码优化系统进行访问。
18、一种方法,包括以下步骤:
接收应用程序使用处理器的处理器通道的请求,以用于在所述应用程序执行期间收集剖析数据;
针对所述使用,选择多个处理器通道中的一个;以及
用场景对所选择的通道进行编程。
19、如权利要求18所述的方法,还包括:
接收关于所述场景的控制信息,并将所述控制信息存储在所选择的通道中。
20、如权利要求18所述的方法,其中,所述选择的步骤包括:
确定所述多个处理器通道中一个可用的通道。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680036157.3/1.html,转载请声明来源钻瓜专利网。