[发明专利]用于带有专用线程管理的多核处理的方法和设备无效
申请号: | 200680046045.6 | 申请日: | 2006-12-06 |
公开(公告)号: | CN101366004A | 公开(公告)日: | 2009-02-11 |
发明(设计)人: | A·S·库兰德 | 申请(专利权)人: | 波士顿电路公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/30 |
代理公司: | 北京泛华伟业知识产权代理有限公司 | 代理人: | 王勇 |
地址: | 美国马*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 带有 专用 线程 管理 多核 处理 方法 设备 | ||
相关申请的交叉引用
[0001]本申请要求共同未决的申请号为60/742,674,于2005年12月6日递交的美国临时申请的权益,该申请公开的全部内容通过引用包含在本申请中,如同在申请中全部公开一样。
技术领域
[0002]本发明涉及到通过多个处理器核执行计算机指令的方法和设备,特别涉及到使用专用线程管理以通过多个处理器核执行计算机指令。
背景技术
[0003]对各种应用(如多媒体、网络连接、以及高性能计算)的计算需求在复杂性和要处理的数据的量上都有所增加。与此同时,仅仅通过增加时钟速度来提高微处理器性能变得日益困难,这是因为相对于能耗以及所需的散热的增加,在性能改进方面其工艺技术上的改进现在已经达到了回报正日益减小的点。考虑到这些限制,并行处理开始成为在改进微处理器性能上的一种有希望的选择。
[0004]线程级并行(Thread-level parallelism,TLP)是一种并行处理技术,在该技术中,程序线程并发运行,提高了应用的整体性能。从广义上而言,存在两种形式的TLP:并发多线程(SMT),以及片上多处理器(CMP)。
[0005]SMT在一个处理单元上复制寄存器和程序计数器,使得多个线程的状态能被一次存储。在一个SMT处理器中,这些线程每次被部分执行,处理器在线程间快速地切换执行,提供了执行的虚拟并发。这种能力的获得以增加处理单元的复杂性、以及所复制的寄存器和计数器所需要的额外硬件为代价。此外,并发仍然是“虚拟的”——虽然该方法提供了快速的线程切换,但它并没有克服在任意给定的时间内只有一个线程被实际执行这一最基本的局限。
[0006]CMP包括至少两个处理单元,每个处理单元执行其自己的线程。与SMT处理器相比,CMP提供了真正的并发,但它的性能会潜在地受到当一个在指定处理单元上运行的线程需要切换时所产生的延迟的影响。这些现有技术CMP的基本问题是线程管理任务在CMP自身的一个或多个处理单元上以软件的方式执行,在很多情况下,要访问芯片外存储器以存储线程管理所必需的数据结构。这一机制减少了处理单元的数量以及线程执行所用到的存储器带宽。另外,由于线程管理任务本身是所要执行线程中的一个,因此在管理处理单元分配、调度线程的执行以及实时同步目标方面其能力受到制约。
[0007]最近,SMT和CMP在混合实现中被结合在一起,其中的多个SMT处理器被集成到一个芯片上。其结果是在线程处理中有大量的虚拟和实际的并行,但目前的混合实现并没有解决由带内(in-band)线程管理所带来的问题。
[0008]因此,需要一种通过将专用线程管理单元集成到多核处理器以克服现有技术的缺陷,从而提供改进的微处理器性能的方法和设备。
发明内容
[0009]本发明通过将专用线程管理集成到CMP克服了现有的SMT处理器和CMP的缺点,该CMP具有通过片上网络互相连接的处理单元、接口块、功能块。在这种体系结构中,带外发生的线程管理允许快速、低延迟的线程切换,而不产生与基于软件的线程管理线程相关的开销。
[0010]在一个方面,本发明提供了一种在一个具有多个处理器核的设备中实现多核虚拟的方法。至少一个调度指令与一个用于执行的指令被接收。响应所述的至少一个调度指令,所述的至少一个用于执行的指令被分配到一个处理器核去执行。在一个实施例中,分配该指令可以在带外进行。分配该至少一个指令可以包括从多个处理器核选择一个处理器核以执行该指令,以及分配该用于执行的指令到所选择的处理器核。该处理器核可以被选择,例如,从多个同质的处理器核中选择。处理器核的功率状态可以可选择地被改变。
[0011]在另一个实施例中,分配该指令包括识别与所要执行的指令相关的线程,以及分配所要执行的指令到与所识别的线程相关的处理器核。在又一个实施例中,分配该指令包括从多个处理器核中根据功率因素和热量分配因素中的至少一个选择用于执行的处理器核,以及分配至少一个用于执行的指令到所选择的处理器核。在再一个实施例中,分配该指令包括从多个处理器核中根据所存储的处理器状态信息选择用于执行的处理器核,以及分配至少一个用于执行的指令到所选择的处理器核。
[0012]在一个实施例中,接收至少一个用于执行的指令包括接收多个用于执行的线程,每个线程包括至少一个用于执行的指令,从所接收的多个用于执行的线程中选择一个,以及从所选择的线程接收至少一个用于执行的指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于波士顿电路公司,未经波士顿电路公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680046045.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于儿童推车的管子
- 下一篇:模块化组合式电气控制柜