[发明专利]用于受应用管理的线程单元的结构化异常处理有效
申请号: | 200710306275.8 | 申请日: | 2007-12-19 |
公开(公告)号: | CN101251792A | 公开(公告)日: | 2008-08-27 |
发明(设计)人: | R·A·汉金斯;G·N·金雅;H·王;D·K·波尔森;S·奥德赫;B·V·帕特尔;S·M·沙阿 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/46 |
代理公司: | 永新专利商标代理有限公司 | 代理人: | 王英 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 应用 管理 线程 单元 结构 异常 处理 | ||
技术领域
本公开总体上涉及信息处理系统,更具体地,涉及用于多线程系统中用户级线程的结构化异常处理。
背景技术
为了提高诸如那些包括微处理器的信息处理系统的性能,已经采用了硬件和软件的多线程技术。多线程逐渐得到硬件上的支持。例如,在一种方式中,多处理器系统(诸如单芯片多处理器(“CMP”)系统)中的处理器每个都可以并发地运行多个软件线程中的一个。在被称为并发多线程(“SMT”)的另一种方式中,对于操作系统和用户程序而言,单个物理处理器看起来像是多个逻辑处理器。对于SMT,在单个处理器上,多个软件线程可以同时是活动的并可以同时执行,而无需切换。也就是,每个逻辑处理器维护完整的一组架构状态,但是该物理处理器的许多其它资源都是共享的,比如高速缓存、执行单元、分支预测器、控制逻辑和总线。因此,对于SMT来说,来自多个软件线程的指令并发地在每个逻辑处理器上执行。
对于诸如SMT和/或CMP系统这样的支持多个软件线程的并发执行的系统而言,操作系统应用程序可以控制(多个)线程执行资源上软件线程的调度和执行。然而,不受操作系统控制的其它线程执行资源对于程序员来说也可以是可用的并且可以由用户级代码来控制。普通操作系统并未提供数据结构来维护用于可在这些资源上执行的用户级线程的本地数据。
附图说明
参考下列附图,可以理解本发明的实施例,在附图中相似的单元用相似的数字标明。这些附图并不是要进行限制,而是用来说明用于多线程系统中的用户级线程的结构化异常处理的数据结构和技术的选定实施例。
图1是说明多定序器(multi-sequencer)系统的各种实施例的框图。
图2是展示用于多定序器系统的一般并行编程方法的图形表示的框图。
图3是说明对于用户级多线程的至少一个实施例,在线程和用户级线程之间的共享存储器和状态的框图。
图4是说明用来在多线程系统中维护线程特有的本地数据的机制的至少一个实施例的块数据流程图。
图5是说明结构化异常处理所利用的数据结构的至少一个实施例的框图。
图6是说明用来为包括一个或多个隔离的定序器的多线程系统维护shred特有的本地数据的机制的框图。
图7是说明结构化异常处理的方法的至少一个实施例的数据流程图,对于在与操作系统隔离的线程单元上发生的异常,该方法绕过了该操作系统。
图8是说明结构化异常处理的第一种方法的至少一个实施例的数据流程图,其中,一个线程单元作为代理来调用系统资源,以用于在与操作系统隔离的线程单元上发生的异常。
图9是说明能够执行所公开的技术的系统的至少一个实施例的框图。
具体实施方式
以下论述描述了对于既非由操作系统创建也非由其进行管理、而是由用户级代码创建和管理的用户级线程,提供结构化异常处理的方法、系统、数据结构、装置和机制的选定实施例。
这样的用户级线程(在这里有时被称作共享资源线程(sharedresource thread)或“shred”)是程序员可以基于用户级代码中的指令而使其执行的指令序列。多个shred可以与同一个由OS生成的或“原生的(native)”线程相关联并且可以并发地执行。对于至少一个实施例而言,shred被进行调度以运行在可用的硬件资源上(例如,通过软件库中的或存在于用户空间中的调度程序(scheduler)来进行),而无需操作系统的干预。在此所述的实施例可以被用于单核或多核的多线程系统。
如这里所使用的,线程单元(在此还可互换地被称作硬件线程上下文(context)或“定序器”)可以是能够执行线程或shred的任何物理或逻辑单元。
在以下说明中,阐述了诸如处理器类型、多线程环境、系统配置、数据结构以及特定操作系统和结构化异常处理过程这样的大量具体细节,以提供对于本发明的实施例更为彻底的理解。然而,本领域技术人员将意识到,本发明可以无需这些具体细节来实现。另外,没有详细示出一些公知的结构、电路等,以免不必要地使本发明变得晦涩。
图1是说明支持线程的用户级控制的多定序器系统的实施例310、350的选定硬件特征的框图。图1说明了单核多定序器多线程环境310的选定硬件特征。图1还说明了多核多线程环境350的选定硬件特征,在该环境中每个定序器是单独的物理处理器核心。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710306275.8/2.html,转载请声明来源钻瓜专利网。