首页> 中国专利> 实现高速时钟的两级线程状态多线程支持的方法和设备

实现高速时钟的两级线程状态多线程支持的方法和设备

摘要

提供了一种方法和设备,用来实现高速时钟的两级线程状态多线程支持。第一级线程状态存储器存储了受限数量的可运行线程寄存器状态。受限数量小于一阈值。下一线程选择逻辑电路耦合在第一级线程状态存储器和当前执行的处理器状态之间,从受限数量的可运行线程寄存器状态中拾取下一在处理器中运行的线程。第二级线程存储设施存储多于可运行线程寄存器状态受限数量的另一数量的线程状态。一可运行线程选择逻辑电路耦合在第一级线程状态存储器和第二级线程存储设施之间。该可运行线程选择逻辑电路有选择地在第一级受限数量的可运行线程寄存器状态与第二级线程存储设施之间交换线程状态。

著录项

  • 公开/公告号CN1484144A

    专利类型发明专利

  • 公开/公告日2004-03-24

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN03133047.9

  • 申请日2003-07-23

  • 分类号G06F9/48;

  • 代理机构北京市柳沈律师事务所;

  • 代理人黄小临

  • 地址 美国纽约州

  • 入库时间 2023-12-17 15:09:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-09-11

    未缴年费专利权终止 IPC(主分类):G06F9/48 授权公告日:20051228 终止日期:20120723 申请日:20030723

    专利权的终止

  • 2005-12-28

    授权

    授权

  • 2004-06-02

    实质审查的生效

    实质审查的生效

  • 2004-03-24

    公开

    公开

说明书

技术领域

本发明总体涉及数据处理领域,具体来说,涉及用来实现高速时钟的两级线程状态多线程支持的方法和设备。

背景技术

CPU内硬件效率的改善是通过把处理任务分割成可独立执行的指令序列,叫做线程。当CPU由于各种原因无法继续处理或执行其中某个线程时,CPU迅速地切换到并执行另一线程。多线程是一种改善电脑系统的整体速度或系统吞吐量的有效办法。

多线程设计技术已经成为使得处理器性能随时钟频率提高的重要手段。相比以往的处理器设计遇到的停顿状况、以致降低了性能,多线程却允许由单独的并列活动线程继续执行指令。然而,随着时钟频率继续增加,硬件里需要支持越来越多的线程、从而为处理器的执行提供持续可用的选项。

参考图1,示出了现有技术的多线程选择结构,其通常由100来表示。现有技术的多线程选择结构100是单级设计,包括完全互补的寄存器和其他状态描述硬件,用于硬件所支持的每一线程执行,如多个线程0~N寄存器状态102所示。线程0~N寄存器状态102提供了每一可运行线程0~N的状态的单独拷贝。现有技术的多线程选择结构100包括下一线程选择逻辑电路104,其耦合在多个线程0~N寄存器状态102与当前执行的处理器状态106之间,以选择下一线程状态102,此时设定特定线程运行于在空闲事件中发生改变的处理器。

随着时钟频率增加,机器里需要支持更多的线程,要求每一可运行线程0~N的状态的单独拷贝。随着时钟频率增加和线程数增加,被支持的线程数超出了某阀值界限,多线程选择结构100和选择逻辑电路104变得复杂。选择逻辑电路104从硬件支持的许多线程状态中运行下一所需线程状态102,该选择逻辑电路104变得复杂并影响了设计的峰值时钟率。

当前的设计者被迫选择两类降级之中的较轻者:①降低的时钟速度、以容纳大量线程执行必需的逻辑电路;或②受限或不够的线程状态、以在高速时钟的停顿状况期间支持指令执行。

需要一种机制,其允许一在硬件里支持大量线程、而不致影响时钟率的最佳状态。

发明内容

本发明的主要目的是提供一种方法和设备,用来实现高速时钟的两级线程状态多线程支持。本发明的其他重要目的是提供用来实现高速时钟的两级线程状态多线程支持,而基本没有负面效果、并克服了现有技术配置的许多弊病的方法和设备。

简要地说,提供了一种方法和设备,用来实现高速时钟的两级线程状态多线程支持。第一级线程状态存储器存储了受限数量的可运行线程寄存器状态。受限数量小于一阈值。下一线程选择逻辑电路耦合在第一级线程状态存储器与当前执行的处理器状态之间,从受限数量的寄存器状态中拾取下一个在处理器中执行的线程。第二级线程存储设施存储比可运行线程寄存器状态受限数量更多的另一个数目的线程状态。一个可运行线程选择逻辑电路耦合在第一级线程状态存储器和第二级线程状态存储设施之间,该线程选择逻辑电路有选择地在第一级受限数量的可运行线程寄存器状态与第二级线程存储设施之间交换线程状态。

依照发明特征,第一级线程状态存储器是高速逻辑电路,对于高速时钟率做了优化。可选项的第二级线程存储设施是中速逻辑电路,低于高速时钟。第二级线程存储设施存储了一些线程状态,其数量等于处理器性能峰值所需的所定数量的线程。仅在第二级线程存储设施里呈现状态的线程不能使用处理器,但可供可运行线程选择逻辑电路快速选择,该可运行线程选择逻辑电路可用来在第一级线程状态存储器与第二级线程存储设施之间交换线程状态。

附图说明

本发明及其上述和其他目的和优点,可以通过下面的优选实施例的详细说明来透彻理解,该优选实施例在附图里绘出,其中:

图1是现有技术的多线程选择结构的框图;

图2是依照优选实施例的两级线程选择结构的框图;

图3是流程图,示出了依照优选实施例的下一线程选择的示例操作;和

图4是流程图,示出了依照优选实施例的可运行线程选择逻辑电路的示例操作。

具体实施方式

下面参照附图说明,图2示出了优选实施例的多线程选择结构,其通常由附图标号200来表示。多线程选择结构200包括两级线程状态存储器,通常由202和204表示。第一级线程状态存储器202是高速逻辑电路,对于快速时钟率做了优化。第二级线程状态存储器204是可选择的中速逻辑电路,其操作的速度低于第一级状态存储器202的高速逻辑。

依照优选实施例的特征,多线程选择结构200支持硬件里的大量线程,而不影响时钟率。多线程选择结构200避免了当寄存器逻辑电路复制品的数量超出特定阈值时可能出现的时钟率受损。传统上,全部线程的执行皆在硬件里由相同组织和速度的逻辑电路来支持。然而,本发明的第一方面要求在第一级202里这些寄存器逻辑电路复制品的数量限制在小于特定阈值量。这允许时钟率不受影响地增加。然而,简单地限制用于高速时钟的处理器的线程寄存器状态组可能造成性能失衡。形成不希望的停顿状况,且该状况无法克服,因为他们是因缺乏可供运行的线程而出现的。

克服这一失衡需要本发明的第二方面;在处理器的状态存储器的第二级2 04里附加线程支持。第二级204提供容量来保存需要硬件支持以达到峰值性能的全部,所有线程的状态信息。仅在第二级204里呈现状态的线程不能使用处理器,但可供控制逻辑电路快速选择。该选择未必如同当从状态存储器的第一级202中选择线程一样快,但是大大地快于执行保存/恢复至处理器的主内存的场景,其是一种加大状态容量的传统做法。保存于第二级里的特定线程的状态信息可按需要与存入第一级202的特定线程状态0~L交换。通常,这在当线程用罄了第一级线程状态存储器202、遇到处理器停顿状况时可能出现。

如图2所示,两级多线程选择结构200限制多个可运行线程0~L寄存器状态206的数量,该寄存器状态206用于第一级202里多线程的处理器执行。多线程选择结构200包括下一线程选择逻辑电路208,其耦合在第一级可运行线程0~L寄存器状态206与当前执行的处理器状态210之间,以快速选择下一线程状态206,此时设定特定线程运行于在空闲事件中发生改变的处理器,其在空闲事件变化。这里实现的状态存储器的第一级202带来了高速时钟,但仅此一点而没有发明的其他方面,则可能限制设计的峰值性能

在第二级线程状态存储器204中的二级线程存储设施212里为支持高速时钟的峰值性能所需线程总数设立了附加容量。这就克服了不这样做的峰值性能限制。不仅设有各线程的状态,还设有存储区域、以包含有用信息以确定从第二级状态存储器204中选择的下一线程,此时确定了与第一级寄存器状态存储器的交换是可运行线程选择逻辑电路214所需的。在处理器上仅执行来自第一级寄存器状态存储器206的线程,正如当前技术里所提供的。在处理器控制逻辑电路确定的适当时刻,可运行线程选择逻辑电路214要求线程状态在线程状态存储器的第一级202与第二级204之间交换。通常,这允许来自第二级存储器212的特定可运行线程、获得对在第一线级寄存器空间的处理器设备的访问权限,同时保持随时重新调用停顿线程的状况、该停顿线程使用第一级资源206。

参照图3,示出了依照优选实施例的多线程选择结构200中的下一线程选择逻辑电路208的示例操作。如框300所示,下一线程选择逻辑电路208挑选优选线程作为在处理器上运行的下一线程。对于遇到的处理器停顿状况,执行校验,如决定框302所示。当遇到处理器停顿状况时,下一线程选择逻辑电路208把停顿的线程状态移至可运行线程状态寄存器206里的等待区域;从可运行线程状态寄存器206里挑选新线程,并激活处理器。接着操作返回决定框302、以校验遇到的处理器停顿状况。

参照图4,示出了依照优选实施例的可运行线程选择逻辑电路214的示例操作。第一可运行线程选择逻辑电路214建立一组完全的线程、其可运行于处理器并提供第二线程存储设施212里的状态描述,如框400所示。下一可运行线程选择逻辑电路214挑选受限数量L的线程以充入可运行线程状态206。对于遇到的处理器停顿状况,执行校验,如决定框406所示。当遇到处理器停顿状况时,可运行线程选择逻辑电路214评估全部线程的态势,如框408所示。下一可运行线程选择逻辑电路214判定一组优选线程是否占据了可运行线程状态206,如框410所示。当一组优选线程占据了可运行线程状态206时,则操作返回框406、以校验遇到的处理器停顿状况。否则,当一组优选线程未占据可运行线程状态206时,则高速第一级202里的最差线程被代之以来自第二级204的可运行线程,如框412所示。接着操作返回框406、以校验遇到的处理器停顿状况。

尽管本发明是参照图示发明实施例的细节而说明的,但是这些细节并无意限制本发明的范围、本发明的范围由所附权利要求书所限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号