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

处理多线程处理器中事件发生的方法和装置制造方法及图纸

技术编号:2876766 阅读:164 留言:0更新日期:2012-04-11 18:40
一种方法包括检测多线程处理器中被处理的第一线程的第一事件发生。对第一事件发生的检测作出响应,监视多线程处理器中被处理的第二线程,以便检测第二线程的清除点。对第二线程的清除点的检测作出响应,把第一和第二线程的数据从多线程处理器中的功能单元中清除。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
一般来说,本专利技术涉及多线程处理器领域,更具体地说,涉及处理多线程(MT)处理器中事件发生的方法及装置。
技术介绍
近来,多线程(MT)处理器设计被认为是增强处理器性能的一个极有吸引力的选择。其中,处理器中的多线程技术提供了更为有效利用各种处理器资源的可能性,尤其是更为有效利用处理器中执行逻辑的可能性。具体地说,通过将多线程馈送给处理器的执行逻辑,时钟周期可以用来为另一个线程提供服务,所述时钟周期不然因在特定线程处理过程中的停止或其它延时而为空闲。特定线程处理过程中的停止可能由处理器流水线中许多事件发生所引起。例如,对于包含在线程中的指令的高速缓存未命中或转移误预测(即较长等待时间操作),通常导致对相关线程停止的处理。较长等待时间操作对执行逻辑效率的消极影响由于近来执行逻辑吞吐量的增加而加剧,其中,执行逻辑吞吐量的增加已经超过了存储器存取和检索速率的发展。鉴于诸如Windows NT和Unix操作系统的许多流行操作系统对这类多线程应用所提供的支持,多线程计算机应用也日益普及。在多媒体领域中,多线程计算机应用尤为有效。根据相关处理器中所采用的线程交错存取或交换方案,多线程处理器大致上可以分为两类(即精设计或粗设计)。精多线程设计支持处理器中的多活动线程,并且通常逐个周期地交错两个不同的线程。在出现诸如高速缓存未命中的某个长等待时间事件时,粗多线程设计通常交错不同线程的指令。Eickemayer,R.、Johnson,R等人的“商业应用环境的多线程单处理器的评估”一文(The 23rd AnnualInternational Symposium on Computer Architecturepp.203-212,May1996.)中讨论了粗多线程设计。多线程计算机体系结构技术现状概要一书中Laudon,J、Gupta,A的“多环境处理器设计中的体系结构和实现折中”(edited by R.A.Iannuci et al.,Pp.167-200,KluwerAcademic Publisher,Norwell,Massachusetts,1994)进一步说明精设计和粗设计之间的差别。Laudon还建议了一种交错方案,将精设计的逐个周期交换与粗设计的全流水线互锁结合(或封锁方案)。为此,Laudon建议了“补偿”指令,使特定线程(或环境)对于一定数量的周期不可用。在出现诸如高速缓存未命中的预定事件时可发出这种“补偿”指令。这样,通过简单地使其中一个线程不可用,Laudon即避免了必须执行实际的线程交换。在无序的推测性执行处理器体系结构环境下,处理器的多线程体系结构提出了许多其它挑战。更具体地说,当考虑多线程时,可能导致指令流的流程中意外变化的事件处理(例如转移指令、异常或中断)是复杂的。在实现多线程间资源共享的处理器中(即存在有限或无复制的功能单元用于该处理器支持的每个线程),有关特定线程的事件发生的处理的复杂之处在于处理这类事件时必须考虑到其它线程。在多线程处理器中实现资源共享的情况下,还希望尝试增加利用对该多线程处理器中所服务的线程状态中的变化作出响应的共享资源。专利技术概述根据本专利技术,提供了一种方法,该方法包括检测多线程处理器中被处理的第一线程的第一事件发生。对第一事件发生的检测作出响应,监视多线程处理器中被处理的第二线程,以便检测第二线程的清除点。对第二线程的清除点的检测作出响应,把第一和第二线程的数据从多线程处理器中的功能单元清除。通过附图及下面的详细描述,本专利技术的其它特点将会明显。附图简述通过示例来说明本专利技术,但本专利技术并不限于所述附图的表示,附图中相同标号表示相同的单元,附图中附图说明图1是方框图,说明具有多线程支持的处理器流水线的一个实施例。图2是方框图,说明通用多线程微处理器形式的处理器的示例性实施例。图3是方框图,说明示例性多线程微处理器的所选组件,具体描述各个功能单元,它们提供经逻辑分区以适应多线程的缓存(或存储)功能。图4是方框图,说明根据一个实施例的无序群集器。图5是寄存器别名表和寄存器文件的图示,并被用于一个实施例中。图6A是方框图,详细说明根据一个实施例的重新排序缓冲器,它被逻辑分区以为多线程处理器中的多线程提供服务。图6B是按照一个实施例的未决事件寄存器和事件禁止寄存器的图示。图7A是流程图,说明根据一个实施例的、处理多线程处理器中的事件的一种方法。图7B是流程图,说明根据一个实施例的、处理多线程处理器中的“虚拟彻底清除(virtual nuke)”事件的一种方法。图8是根据一个实施例的在多线程处理器中实现的多个可由事件检测器检测的示例性事件的图示。图9和10是方框图,分别说明诸如图6A所示的示例性重新排序缓冲器中重新排序表的示例性内容。图11A是流程图,说明根据一个示例性实施例的、在至少支持第一和第二线程的多线程处理器中执行清除(或彻底清除)操作的一种方法。图11B是方框图,说明根据一个示例性实施例的、用来根据活动线程状态机的输出来配置功能单元的配置逻辑。图12是时序图,说明根据一个实施例断言彻底清除信号。图13是流程图,说明根据一个实施例的、在多线程处理器中提供独占访问事件处理程序的一种方法。图14是状态图,说明根据一个实施例的、在多线程处理器中实现的独占访问状态机的操作。图15是状态图,说明根据一个实施例的可由多线程处理器中实现的活动线程状态机占用的状态。图16A是流程图,说明根据一个实施例的、在检测到多线程处理器中活动线程的睡眠事件时退出该活动线程的一种方法。图16B是根据一个实施例的、在退出线程时储存状态和释放寄存器的图示。图17是流程图,说明根据一个实施例的、在检测到非活动线程的中断事件时将该线程从非活动状态转换为活动状态的一种方法。图18是流程图,说明根据一个实施例的、对多线程处理器中至少一个功能单元的时钟信号的允许和禁止进行管理的一种方法。图19A是方框图,说明根据一个实施例的用于允许和禁止多线程处理器中的时钟信号的时钟控制逻辑。图19B是示意图,说明图19A所示时钟控制逻辑的一个实施例。详细说明现说明用于处理多线程处理器中事件发生的方法和装置。为便于说明,在以下描述中给出了大量具体细节,以便透彻理解本专利技术。然而,本领域的技术人员将清楚,没有这些具体细节也可以实施本专利技术。为便于说明,术语“事件”将包括处理器内部或外部的任何事件,所述事件引起处理器中指令流(宏指令或微指令)服务的改变或中断。因此,术语“事件”将包括但不限于可在处理器内部或外部产生的转移指令进程、异常以及中断。为了便于说明,术语“处理器”应表示能执行指令序列(例如宏指令或微指令)的任何机器,且应包括但不限于通用微处理器、专用微处理器、图形控制器、音频控制器、多媒体控制器、微控制器或网络控制器。此外,术语“处理器”应还表示复杂指令集计算机(CISC)、精简指令集计算机(RISC)或超长指令字(VLIW)处理器。另外,术语“清除点”应包括通过流程标记符在指令流中(包括微指令或宏指令流)提供的任何指令,或可以处理事件的指令流中某位置的其它指令。术语“指令”应包括但不限于宏指令或微指令。对主要以硬件或软件实现的本专利技术某些示例性实施例进行说明。然而,本领域的技术人员将知道,可以容易地以硬件、软本文档来自技高网...

【技术保护点】
一种方法,包括以下步骤: 检测多线程处理器中被处理的第一线程的第一事件发生; 对所述第一事件发生的所述检测作出响应,监视所述多线程处理器中被处理的第二线程,以检测所述第二线程的清除点;以及 对所述第二线程的所述清除点的所述检测作出响应,把所述第一和第二线程的数据从所述多线程处理器中的功能单元中清除。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:D罗杰斯D波格斯A默钱特R科塔R苏K蒂鲁瓦卢尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1