[发明专利]利用同步开销以改善多线程性能的机制有效
申请号: | 201110156959.0 | 申请日: | 2006-03-01 |
公开(公告)号: | CN102184123A | 公开(公告)日: | 2011-09-14 |
发明(设计)人: | N·英赖特;J·科林斯;P·王;H·王;X·田;J·沈;G·肖弗;P·哈马伦德 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/38 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 徐予红;高为 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 同步 开销 改善 多线程 性能 机制 | ||
本申请是申请日为2006年3月1日、申请号为200610019818.3、发明名称为“利用同步开销以改善多线程性能的机制”的专利申请的分案申请。
技术领域
本发明涉及处理指令序列等的处理设备和系统的领域以及编程该设备和/或系统的特定指令序列。一些实施例涉及监视和/或响应这种处理设备中执行资源内的条件或事件。
背景技术
目前使用各种机制改变处理系统内的控制流(即所遵循的处理路径或指令序列)。例如,程序序列内的跳转指令清楚明确地导致跳转到新地址。该跳转指令为控制流的明确变化的一个示例,因为该指令引导处理器跳转到一个位置并在该点继续执行。传统的跳转指令是“精确的”(或同步),这是因为发生该跳转是执行跳转指令的直接结果。
控制流改变的另一个传统示例为中断。中断可以是向诸如处理器的设备提供的外部信号。处理器的响应为跳转到中断处理程序(handler),该处理程序为处理特殊中断发送的事件的程序。中断通常也是相对精确的,这是因为是由处理器在接收到该中断后在特定的时间窗口内对其进行识别并产生响应。特别地,在内部接收到中断之后,该中断通常在下一个指令边界才起作用。在一些情形中,只允许操作系统或工作于高优先级别的其它软件屏蔽中断,因此用户程序没有机会启动或者禁止这些控制流改变事件。
控制流改变的另一个传统示例出现于对异常的响应。异常通常反应预定义的架构条件,该条件为例如数学指令满足特定标准(非正规、下溢、溢出、非数字等)的结果。例如通过设置控制寄存器中的位,可以屏蔽一些异常。如果出现异常且未被屏蔽,则调用异常处理程序以处理该异常。
改变处理器的控制流的另一个技术为使用断点。通常在调试时使用断点。可将特定的指令地址编程到断点寄存器。在断点启动且到达目标地址时,该处理器采取各种措施(而不是照常继续该程序)。断点允许单步执行程序等。
多线程是一种通过多个不同的线程使用处理器硬件的技术。多线程处理器可由于各种原因而在各线程之间切换。例如,处理器具有在可用线程之间自动切换的算法。其它处理器使用基于事件切换的多线程(SoEMT),由此诸如缓存缺失的特定事件会引起线程切换。线程切换可以被看作是一种控制流改变,这是因为处理器切换其所执行的指令序列或指令流。
在一个现有技术参考中,详细描述了一种静止指令(见美国专利号No.6,493,741)。在一个示例中,静止指令停止一个线程内的进程,直到计时器到期或者出现向存储器位置进行存储器写入为止。因此,诸如静止指令的指令本身可触发包括该静止指令的线程的进程暂时停止并切换到另一个线程。
发明内容
按照本发明的第一方面,提供一种附加地支持虚拟多线程的多线程处理器,所述处理器包括:虚拟线程选择器,用于使得用于多个k虚拟线程中至少一个虚拟线程的上下文信息切换到至少一个物理线程存储槽;事件检测器,用于检测与同步对象相关联的延迟事件,所述事件检测器引发第一线程切换;旋转检测器,用于检测同步对象为受争夺的同步对象,所述旋转检测器引发第二线程切换以启动旋转检测响应并且对事件检测器进行编程以检测该同步对象被争夺。
按照本发明的第二方面,提供了一种方法,包括:在来自专用硬件上下文存储器的多个N活动线程存储槽中存储由多线程处理器中的执行资源所执行的多个物理线程;呈现多个虚拟线程中的虚拟线程;在多个虚拟线程中的虚拟线程和至少一个其他线程之间进行切换。
按照本发明的第三方面,提供了一种系统,包括:存储器和多线程处理器。所述存储器用于存储多个活动线程和多个虚拟线程。所述多线程处理器包括:执行多个活动线程的执行资源;处理器线程开关逻辑,用于换入作为多个物理线程中的一个的虚拟线程;检测与同步对象相关联的延迟事件的事件检测器,所述事件检测器引发第一线程切换;检测同步对象为受争夺的同步对象的旋转检测器,所述旋转检测器引发第二线程切换以启动旋转检测响应并且对事件检测器进行编程以检测该同步对象被争夺。
按照本发明的第四方面,提供了一种处理器,包括:处理器线程切换逻辑,用于在多个N线程之间进行切换;耦合到处理器线程切换逻辑的虚拟线程切换逻辑,所述虚拟线程切换逻辑向处理器线程切换逻辑呈现多个虚拟线程的虚拟线程,其中处理器线程切换逻辑用于在多个虚拟线程的虚拟线程和至少一个其它线程之间进行切换;检测与同步对象相关联的延迟事件的事件检测器,所述事件检测器引发第一线程切换;检测同步对象为受争夺的同步对象的旋转检测器,所述旋转检测器引发第二线程切换以启动旋转检测响应并且对事件检测器进行编程以检测该同步对象被争夺。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110156959.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:浓缩流质食品
- 下一篇:利用非可见光对投影系统的自动校准