当前位置: 首页 > 专利查询>英特尔公司专利>正文

从处理器中的并发物理线程的数目中去耦合逻辑线程的数目制造技术

技术编号:6531868 阅读:183 留言:0更新日期:2012-04-11 18:40
本发明专利技术的名称是“从处理器中的并发物理线程的数目中去耦合逻辑线程的数目”。一种用于管理线程的系统和方法,用于利用多个并发物理线程来支持多个逻辑线程,其中逻辑线程的数目可以大于或小于物理线程的数目。依照一个方法,把多个逻辑线程中的每个保持在等待状态、活动状态、消耗状态和停滞状态之一中。可以使用状态机和硬件定序器来根据触发事件和在逻辑线程中是否已经遇到可中断点来使所述逻辑线程在状态之间转变。在物理线程上调度逻辑线程以满足例如优先级、性能或公平性目标。还可以指定可用于每个逻辑线程的资源以满足这些及其它目标。在一个例子中,单个逻辑线程可以推测地使用一个以上的物理线程,挂起对应当提交的物理线程的选择。

【技术实现步骤摘要】

本专利技术实施例总体上涉及计算机。更具体地说,实施例涉及增强具有并发执行线程的计算机体系结构。
技术介绍
由于对现今计算机增强功能的需求持续增长,处理器设计者以及制造商面临许多挑战。例如,对因特网和多媒体应用使用的稳定增长已经导致所多个进程或多个执行线程同时要求访问处理器和存储器资源。虽然诸如超线程之类的改进增加了处理器的吞吐量, 所述超线程使单个处理器能够同时运行多个线程,但是还存在相当大的改进空间。特别地是,常规方法在于把线程的逻辑组件耦合到所述线程的物理组件。不幸地是,把线程的逻辑组件耦合到所述线程的物理组件可能存在与吞吐量以及推测有关的问题。例如,用于增加吞吐量的一个方法可能是增加并发线程的数目。然而,给定处理器中的物理资源受到与设计以及制造相关的许多成本因素的限制。结果,通过增加线程数目可以增加处理器吞吐量的程度受实际因素的约束。因此需要一种多线程方法,其能够在不要求增加实际线程数目的情况下增加有效的并发线程数目。此外,在把每个线程的逻辑组件耦合到所述线程的物理组件的常规技术下不能实现推测,所述推测可能会使所述逻辑组件在不止一个线程物理组件上执行。结果,处理器性能的可改进的程度也受到了限制。因此需要一种能够推测性执行的多线程方法。
技术实现思路
根据第一实施例,本专利技术提供了一种用于从处理器中的并发物理线程中去耦合逻辑线程的装置,包括用于在吞吐量模式中操作处理器的部件,其中所述吞吐量模式包括维持在数量上多于所述处理器中的多个并发物理线程的多个逻辑线程,并且其中,所述多个逻辑线程中的每一个的逻辑组件将被从所述多个并发物理线程中去耦合;以及用于将所述多个逻辑线程中的每一个保持在以下状态之一的部件等待状态,表明所述多个逻辑线程中的逻辑线程准备好在所述多个并发物理线程中的可用物理线程上执行;活动状态,表明所述多个逻辑线程中的逻辑线程正在所述多个并发物理线程中的物理线程上执行;消耗状态,表明所述多个逻辑线程中的逻辑线程正在监视所述逻辑线程的可中断点;或停滞状态,表明所述多个逻辑线程中的逻辑线程正在等待,直到不存在触发事件。根据第二实施例,本专利技术提供了一种用于从处理器中的并发物理线程中去耦合逻辑线程的方法,包括在吞吐量模式中操作处理器,其中所述吞吐量模式包括维持在数量上多于所述处理器中的多个并发物理线程的多个逻辑线程,并且其中,所述多个逻辑线程中的每一个的逻辑组件将被从所述多个并发物理线程中去耦合;以及将所述多个逻辑线程中的每一个保持在以下状态之一等待状态,表明所述多个逻辑线程中的逻辑线程准备好在所述多个并发物理线程中的可用物理线程上执行;活动状态,表明所述多个逻辑线程中的逻辑线程正在所述多个并发物理线程中的物理线程上执行;消耗状态,表明所述多个逻辑线程中的逻辑线程正在监视所述逻辑线程的可中断点; 或停滞状态,表明所述多个逻辑线程中的逻辑线程正在等待,直到不存在触发事件。根据第三实施例,本专利技术提供了一种用于从处理器中的并发物理线程中去耦合逻辑线程的装置,包括用于在推测模式中操作处理器的部件,其中所述推测模式包括维持在数量上少于所述处理器中的多个并发物理线程的多个逻辑线程;用于将所述多个逻辑线程中的每一个保持在以下状态之一的部件等待状态,表明所述多个逻辑线程中的逻辑线程准备好在所述多个并发物理线程中的可用物理线程上执行;活动状态,表明所述多个逻辑线程中的逻辑线程正在所述多个并发物理线程中的物理线程上执行;消耗状态,表明所述多个逻辑线程中的逻辑线程正在监视所述逻辑线程的可中断点;或停滞状态,表明所述多个逻辑线程中的逻辑线程正在等待,直到不存在触发事件;以及用于响应在所述推测模式中操作所述处理器而将所述多个并发物理线程中的多于一个并发物理线程分配给所述多个逻辑线程中的同一逻辑线程的部件。根据第四实施例,本专利技术提供了一种用于从处理器中的并发物理线程中去耦合逻辑线程的装置,包括在推测模式中操作处理器,其中所述推测模式包括维持在数量上少于所述处理器中的多个并发物理线程的多个逻辑线程;将所述多个逻辑线程中的每一个保持在以下状态之一等待状态,表明所述多个逻辑线程中的逻辑线程准备好在所述多个并发物理线程中的可用物理线程上执行;活动状态,表明所述多个逻辑线程中的逻辑线程正在所述多个并发物理线程中的物理线程上执行;消耗状态,表明所述多个逻辑线程中的逻辑线程正在监视所述逻辑线程的可中断点; 或停滞状态,表明所述多个逻辑线程中的逻辑线程正在等待,直到不存在触发事件;以及响应在所述推测模式中操作所述处理器而将所述多个并发物理线程中的多于一个并发物理线程分配给所述多个逻辑线程中的同一逻辑线程。附图说明通过参考附图,阅读以下描述及所附权利要求,本专利技术实施例的各个优点对本领域技术人员将变得更加清楚,其中图1是依照本专利技术一个实施例的状态机的例子的图;图2是依照本专利技术一个实施例用于把逻辑线程保持在活动状态中的过程的例子的流程图3是依照本专利技术一个实施例用于把逻辑线程保持在消耗(drain)状态中的过程的例子的流程图;图4是依照本专利技术一个实施例用于把逻辑线程保持在停滞(stall)状态中的过程的例子的流程图;图5是依照本专利技术一个实施例用于把逻辑线程保持在等待状态中的过程的例子的流程图;图6是依照本专利技术一个实施例的线程管理表的图;图7是依照本专利技术一个实施例的吞吐量操作模式的例子的图;图8是依照本专利技术候选实施例的推测性操作模式的例子的图;和图9是依照本专利技术一个实施例的计算机系统的例子的图。具体实施例方式用于管理线程的系统和方法利用多个并发物理线程来支持多个逻辑线程,以便在没有与常规方法相关联的制造和设计缺陷的情况下实现更大的效率。图1中的图解10示出了一种技术,所述技术把多个逻辑线程中的每个保持在等待状态12、活动状态14、消耗状态16和停滞状态18之一中。每个逻辑线程保持在活动状态14中直到存在一个或多个触发事件,其中所述触发事件可以涉及许多关系,诸如等待时间、公平性、优先级等。当存在触发事件时,逻辑线程进入消耗状态16,在所述消耗状态16中处理器在所述逻辑线程中寻找可中断点。可中断点被定义为可以保存逻辑线程状态的点。可中断点还取决于所遇到的触发事件类型。一旦遇到可中断点,那么把逻辑线程置于停滞状态18中直到不存在任何触发事件,或者发信号通知具有比原始触发事件更高优先级的另一事件。当存在任何一种情况时,逻辑线程被切换到等待状态12。例如,当触发事件为高速缓存器未命中时,逻辑线程保持在停滞状态18中直到已经从存储器服务所述高速缓存器未命中。逻辑线程保持在等待状态中直到遇到可用的物理线程并且可以把所述逻辑线程切换到活动状态14。因而,当逻辑线程被从活动状态14 “驱逐”出去时,其它逻辑线程可以被无缝地切换到所述活动状态14。结果,在逻辑线程和并发物理线程之间获得了唯一的去耦合效果。现在转向图2,非常详细地示出了用于把逻辑线程保持在活动状态中的一个方法。 特别地是,处理块20用于把与逻辑线程相关联的宏指令映射到物理线程的下一个指令指针(next instruction pointerNIP)。逻辑线程可以被视为一个宏指令序列,所述宏指令被解码为微操作(或微指令uop)。例如,“调用”宏指令可以被解码为“存储”、“测试”和“跳转”微指令。每个并发物本文档来自技高网...

【技术保护点】
1.一种用于从处理器中的并发物理线程中去耦合逻辑线程的装置,包括:用于在吞吐量模式中操作处理器的部件,其中所述吞吐量模式包括维持在数量上多于所述处理器中的多个并发物理线程的多个逻辑线程,并且其中,所述多个逻辑线程中的每一个的逻辑组件将被从所述多个并发物理线程中去耦合;以及用于将所述多个逻辑线程中的每一个保持在以下状态之一的部件:等待状态,表明所述多个逻辑线程中的逻辑线程准备好在所述多个并发物理线程中的可用物理线程上执行;活动状态,表明所述多个逻辑线程中的逻辑线程正在所述多个并发物理线程中的物理线程上执行;消耗状态,表明所述多个逻辑线程中的逻辑线程正在监视所述逻辑线程的可中断点;或停滞状态,表明所述多个逻辑线程中的逻辑线程正在等待,直到不存在触发事件。

【技术特征摘要】
2003.12.29 US 10/7455271.一种用于从处理器中的并发物理线程中去耦合逻辑线程的装置,包括用于在吞吐量模式中操作处理器的部件,其中所述吞吐量模式包括维持在数量上多于所述处理器中的多个并发物理线程的多个逻辑线程,并且其中,所述多个逻辑线程中的每一个的逻辑组件将被从所述多个并发物理线程中去耦合;以及用于将所述多个逻辑线程中的每一个保持在以下状态之一的部件等待状态,表明所述多个逻辑线程中的逻辑线程准备好在所述多个并发物理线程中的可用物理线程上执行; 活动状态,表明所述多个逻辑线程中的逻辑线程正在所述多个并发物理线程中的物理线程上执行;消耗状态,表明所述多个逻辑线程中的逻辑线程正在监视所述逻辑线程的可中断点;或停滞状态,表明所述多个逻辑线程中的逻辑线程正在等待,直到不存在触发事件。2.如权利要求1所述的装置,还包括用于转换所述多个逻辑线程中的每一个的部件 响应监视到触发事件而从所述活动状态转换到所述消耗状态;响应遇到可中断点而从所述消耗状态转换到所述停滞状态;响应监视到不存在所述触发事件而从所述停滞状态转换到所述等待状态;以及响应遇到所述多个并发物理线程中的可用物理线程而从所述等待状态转换到所述活动状态。3.如权利要求2所述的装置,其中,用于响应遇到所述多个并发物理线程中的可用物理线程而将所述多个逻辑线程中的每一个从所述等待状态转换到所述活动状态的装置如果还响应所述多个逻辑线程之中的优先级则保持在所述等待状态。4.如权利要求1所述的装置,还包括用于维持线程管理表以存储所述多个逻辑线程中的每一个的信息的装置。5.如权利要求4所述的装置,其中,所述多个逻辑线程中的每一个的信息包括所述逻辑线程中的每一个的状态和所述逻辑线程中的每一个的一个或多个触发事件。6.一种用于从处理器中的并发物理线程中去耦合逻辑线程的方法,包括在吞吐量模式中操作处理器,其中所述吞吐量模式包括维持在数量上多于所述处理器中的多个并发物理线程的多个逻辑线程,并且其中,所述多个逻辑线程中的每一个的逻辑组件将被从所述多个并发物理线程中去耦合;以及将所述多个逻辑线程中的每一个保持在以下状态之一等待状态,表明所述多个逻辑线程中的逻辑线程准备好在所述多个并发物理线程中的可用物理线程上执行;活动状态, 表明所述多个逻辑线程中的逻辑线程正在所述多个并发物理线程中的物理线程上执行;消耗状态,表明所述多个逻辑线程中的逻辑线程正在监视所述逻辑线程的可中断点;或停滞状态,表明所述多个逻辑线程中的逻辑线程正在等待,直到不存在触发事件。7.如权利要求6所述的方法,还包括用于转换所述多个逻辑线程中的每一个的部件 响应监视到触发事件而从所述活动状态转换到所述消耗状态;响应遇到可中断点而从所述消耗状态转换到所述停滞状态;响应监视到不存在所述触发事件而从所述停滞状态转换到所述等待状态;以及响应遇到所述多个并发物理线程中的可用物理线程而从所述等待状态转换到所述活动状态。8.如权利要求7所述的方法,其中,用于响应遇到所述多个并发物理线程中的可用物理线程而将所述多个逻辑线程中的每一个从所述等待状态转换到所述活动状态的装置如果还响应所述多个逻辑线程之中的优先级则保持在所述等待状态。9...

【专利技术属性】
技术研发人员:P·哈马伦德A·法西M·马登D·卡米恩P·米肖R·欣顿
申请(专利权)人:英特尔公司
类型:发明
国别省市:US

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

1