用于自主硬件辅助的线程栈跟踪的装置与方法制造方法及图纸

技术编号:2863536 阅读:241 留言:0更新日期:2012-04-11 18:40
一种用于在追踪计算机程序期间提供一种用于跟踪线程栈的自动机制的方法与装置。这种方法与装置包括硬件辅助机制,该机制允许处理器自主地为每一线程保持其中存储了调用栈的工作区。使用这种装置与方法,计算设备的操作系统把分配给具体线程工作区的数据区的大小告知操作系统。另外,当将执行对计算机程序的追踪时,追踪软件经由操作系统通知处理器:开始在一个线程工作区中保持线程调用栈信息。对于计算机程序的执行中的每一线程,处理器保持一工作区,该工作区具有的大小根据操作系统所告知的大小确定。工作区由存储在处理器的控制寄存器中的地址和长度信息来指定。处理器包含微代码,当设置了控制位时,这些微代码用于使处理器自动把线程跟踪信息存储在由处理器的控制寄存器所指定的工作区中。(*该技术在2024年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术总的涉及一种改进的数据处理系统。具体地讲,本专利技术提供了一种用于获取数据处理系统中性能数据的方法与装置。更具体地讲,本专利技术提供了一种在获取关于线程栈的性能数据的过程中用于软件工具的硬件辅助的方法与装置。
技术介绍
在分析和提高数据处理系统和执行于该数据处理系统中的应用的性能的过程中,了解数据处理系统中哪些软件模块正在使用系统资源将是有益的。数据处理系统的有效的管理和提高,需要了解各种系统资源是如何被使用的以及何时被使用的。性能工具用于监视和检查数据处理系统,以确定各种软件应用正执行于数据处理系统中时资源的消耗情况。例如,性能工具可以识别数据处理系统中最频繁执行的模块和指令,或可以识别那些分配了最大量存储器或进行了最多I/O(输入/输出)请求的模块。可以把硬件性能工具建造于该系统中,或者晚些时候将其添加到该系统中。一种已知的软件性能工具是追踪工具。追踪工具可以使用一种以上的技术,以提供指示一个正在执行程序的执行流程的追踪信息。一种技术,即所谓的基于事件的特征测试(profiling)技术,通过在某些事件发生时对它们加以登记,以保持对指令的特定序列的跟踪。例如,追踪工本文档来自技高网...

【技术保护点】
一种在计算机程序的执行期间在数据处理系统中用于存储线程跟踪信息的方法,包括:为计算机程序的线程分配工作区,其中,所述工作区用于为所述线程存储线程跟踪信息;在所述处理器的微代码中,自动地判断是否已经发生要求修改所述工作区中所述 线程跟踪信息的事件;以及修改所述工作区中的线程跟踪信息,以响应所述微代码自动地判断已发生了需要修改所述工作区中线程跟踪信息的事件。

【技术特征摘要】
US 2003-11-6 10/703,6581.一种在计算机程序的执行期间在数据处理系统中用于存储线程跟踪信息的方法,包括为计算机程序的线程分配工作区,其中,所述工作区用于为所述线程存储线程跟踪信息;在所述处理器的微代码中,自动地判断是否已经发生要求修改所述工作区中所述线程跟踪信息的事件;以及修改所述工作区中的线程跟踪信息,以响应所述微代码自动地判断已发生了需要修改所述工作区中线程跟踪信息的事件。2.根据权利要求1所述的方法,还包括通过对所述处理器中线程跟踪控制位进行设置,使能处理器线程跟踪,其中,仅当对所述线程跟踪控制位进行了设置,才执行分配、自动判断、以及修改步骤。3.根据权利要求1所述的方法,还包括通过对所述处理器中第一控制寄存器进行设置,以使其指向所述工作区的开始地址,以及通过对所述处理器中第二控制寄存器进行设置,以使其识别所述工作区的长度,来为线程分配该工作区。4.根据权利要求1所述的方法,还包括在所述计算机程序的执行期间,识别新线程的产生,其中,执行为计算机程序的线程分配工作区以响应正在产生的新线程。5.根据权利要求1所述的方法,还包括从运行在所述数据处理系统的追踪应用,接收对所述工作区的大小的识别。6.根据权利要求1所述的方法,其中,在所述计算机程序的执行期间,由运行在所述数据处理系统上的操作系统分配所述工作区以响应线程的产生。7.根据权利要求1所述的方法,还包括判断修改所述线程跟踪信息是否会导致所述工作区的溢出;以及如果断定修改所述线程跟踪信息会导致所述工作区的溢出,则扩展该工作区。8.根据权利要求7所述的方法,其中,扩展所述的工作区包括为存储所述线程跟踪信息而分配新的存储器区;把所述新区的开始地址和长度存储在所述处理器的控制寄存器中;以及把现存的线程跟踪信息从所述工作区拷贝到所述新的存储器区中。9.根据权利要求1所述的方法,其中,所述线程跟踪信息是线程调用栈,而且,其中,修改所述线程跟踪信息包括向所述线程调用栈添加入口,以及从所述线程调用栈弹出入口两者中至少之一。10.根据权利要求1所述的方法,其中,所述事件是进入方法/例程和退出方法/例程之一。11.一种在计算机程序的执行期间用于存储线程跟踪信息的装置,包括处理器,具有微代码;以及存储器,耦合于所述处理器,其中,所述处理器通过追踪应用执行正在被追踪的计算机程序的指令,并且在所述存储器中为所述计算机程序的线程分配工作区,所述工作区用...

【专利技术属性】
技术研发人员:小吉米E德威特弗兰克E莱文克里斯托弗M理查森罗伯特J厄克特
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1