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

共享已空闲的处理器执行资源的方法和装置制造方法及图纸

技术编号:2845266 阅读:149 留言:0更新日期:2012-04-11 18:40
处理器包括多个逻辑处理器,以及指令集,所述指令集包括一条或更多条指令,当所述指令被第一逻辑处理器执行时,所述指令响应于第一逻辑处理器被调度进入空闲状态,导致第一逻辑处理器使之前为第一处理器保留的处理器执行资源对所述多个逻辑处理器中的第二处理器可用。

【技术实现步骤摘要】
【国外来华专利技术】背景在附图说明图1a中描述的处理器高级视图中,处理器被概念化为由两个组件组成,第一个实现处理器的体系结构状态(举例来说,例如它的寄存器和程序计数器),并且第二个由处理器执行资源(举例来说,例如翻译后备缓冲区(Translation Lookaside Buffer,TLB))组成。如图1b所描述的,在一类基于多处理技术处理器的系统中,多个物理处理器通过总线系统互连,并且每个物理处理器维持在硬件上的单独的体系结构状态以及在硬件上的处理器执行资源的单独的集合。在调度这样的系统的每个处理器去执行不同线程的线程调度情形(scenario)中,当出现下列情况时可能发生一实例系统中的处理器中的一个已经空闲,因为它正在系统中较慢的设备(例如硬盘驱动器)上等待,或者因为它当前未被调度去执行线程。在该实例中,处理器和它的执行资源的全部也是空闲的,并且对系统的其他处理器是不可用的。在例如图1c中描述的另一类基于处理器的系统中,为多个逻辑处理器维持在处理器硬件上的单独的体系结构状态的硬件处理器却可以具有单一的处理器核心流水线(corepipeline),所述处理器核心流水线由逻辑处理器以及单个集合的处理器执行资源(包括由逻辑处理器共享的TLB)共享。其中,这样的处理器体系结构可以用具有超线程技术的IntelXeonTM处理器来举例说明,并且这样的处理器体系结构在本领域是公知的。在这样的逻辑多处理技术系统中,线程调度器可以调度不同的线程以在逻辑处理器中的每一个上执行,因为每个逻辑处理器以与所有其他逻辑处理器分开的方式维持其体系结构状态。当操作系统线程调度器使得逻辑处理器空闲或者逻辑处理器正在等待来自慢储存设备的数据时,逻辑处理器可以或者执行空闲任务(典型地为紧凑循环(tight loop)),并且周期性地检查中断;或者它可以挂起其活动并且等待某个类型的唤醒信号来恢复线程的执行。与处理器执行资源在物理上是分开的多处理技术系统形成对照,在这类逻辑多处理技术系统中,当这样的系统中的多个逻辑处理器中的一个为空闲时,未被已空闲的逻辑处理器使用的动态分配的处理器执行资源对当前正为用户或系统执行线程的其他逻辑处理器可以是可用的。然而,可以为逻辑处理器保留逻辑多处理技术系统中的处理器执行资源。这可以以不同的方式来进行。对于一个实施例,逻辑处理器可以锁定动态分配的处理器执行资源(例如来自TLB的翻译寄存器(TR)),从而使它对其他逻辑处理器不可用。在另一实例中,逻辑处理器可以是静态分配的处理器执行资源(例如TC),并且因此这些静态分配的资源可能对其他逻辑处理器不可用。即使在资源保留所针对的逻辑处理器为空闲之后,这些保留的(reserved)资源通常仍然对其他逻辑处理器不可用。因此,在逻辑处理器处于空闲时,由逻辑处理器锁定的TR通常仍然被所述逻辑处理器锁定;并且,在逻辑处理器处于空闲时,分配给逻辑处理器的静态分配的TC仍然被静态地分配给所述逻辑处理器。附图简要说明图1描述不同类型的处理器体系结构的高级视图。图2是在一个实施方案中的处理的流程图。图3描述在一个实施方案中的基于处理器的系统。详细说明在一个实施方案中,处理的发生如图2中的高级流程图中所示。在附图中,两个逻辑处理器,处理器1(200)和处理器2(205),正在执行由包括线程调度器210的操作系统调度的线程。在215中,例如,由于线程的终止或页错误,处理器1从执行线程中切换出来,并且返回线程调度器。如果不再为该逻辑处理器调度任务(220),那么处理器执行空闲序列(225-230)。首先,逻辑处理器放弃由逻辑处理器持有的(held)任何保留的处理器执行资源(225),将它们释放到公共池260。因此,例如,处理器1可以将翻译缓存项或翻译缓存寄存器返回到翻译后备缓冲区中的寄存器通用池。在不同的实施方案中,在步骤225中的处理可以不同。在一些实施方案中,被释放的以排他方式持有的资源可以是动态分配的资源,并且之前已经被处理器1锁定。在这样的实施方案中,在步骤225,逻辑处理器解锁所述资源并由此使得其对其他逻辑处理器可用。在另一个实施方案中,以排他方式持有的资源可能之前已经被静态地分配给了处理器1。在这样的实施方案中,在步骤225,静态分配的资源被解除分配,并且被返回到动态分配的资源的池260。在处理器1进入空闲状态(例如在本实施方案中的挂起状态230)后,通过例如中断235的唤醒信号可以请求执行新的或被恢复的线程。在其他实施方案中,处理器可以进入空闲任务循环而不是进入在230中描述的挂起,并且周期性地检查中断。在唤醒信号之后,通过按需将以排他方式保留的资源锁定到或者静态地分配给它自身,逻辑处理器重新获得以排他方式保留的资源(240)。逻辑处理器随后切换到要引入的(incoming)线程,并且继续该线程的执行(245)。在挂起或空闲状态之前,由处理器1在225中释放的资源对于另一个例如处理器2(205)的逻辑处理器成为可用的,所述处理器2(205)执行例如被描述的用户线程250的线程。这些资源随后可以在线程的执行期间(255)按需从共享的处理器执行资源的池动态地分配给逻辑处理器。图3描述在一个实施方案中的基于处理器的系统,其中所述逻辑处理器被实现为处理器300的一部分。在逻辑处理器上执行的程序被储存在通过总线系统320以连接方式耦合到处理器的存储器340中。存储器可以包括储存固件的非易失性存储器部分(section),所述固件包括基本上如上所述地执行处理的线程调度器。许多其他的实施方案是可能的。例如,尽管上面的描述将其自身限制到逻辑处理器,但是,类似的处理可以适用于共享任何公共的执行资源的物理上分开的多处理器。在这样的实施方案中,实现了逻辑和物理多处理技术的混合方案,其中单独的体系结构状态和一些执行资源在硬件上是分开的,但是其他的执行资源在硬件上是共享的,并且可以使用类似于在图2中描述的处理来释放。在一些实施方案中,上面谈到的线程调度器可以形成驻留在如图3中描述的非易失性存储器中的固件的一个组件,而在其他实施方案中,它可以是储存在处理器可访问的盘介质上的操作系统软件的一部分。在一些实施方案中,被采取来释放和保留处理器执行资源的动作可以直接在硬件上实现,并且附属于处理器的指令执行系统,而在其他的实施方案中,它们可以是被处理器所采取的作为一个或更多个指令的执行的一部分。在一些实施方案中,共享的执行资源可以包括与TLB无关的专用寄存器。实施方案不限于两个处理器,三个或更多个处理器可以共享执行资源并且执行类似于上面描述的处理。与所要求保护的主题相一致的实施方案可以作为包括机器可读介质的计算机程序产品来提供,所述机器可读介质具有储存在其上的数据,当所述数据被机器访问时,所述数据可以导致机器执行根据所要求保护的主题的处理。机器可读介质可以包括软盘、光盘、DVD-ROM盘、DVD-RAM盘、DVD-RW盘、DVD+RW盘、CD-R盘、CD-RW盘、CD-ROM盘以及磁光盘、ROM、RAM、EPROM、EEPROM、磁或光卡、闪存或适于储存电子指令的其他类型的介质/机器可读介质,但不限于此。此外,实施方案还可以作为计算机程序产品被下载,其中所述程序可以通过在载波或其他传播介质中具体实施的数字信号的本文档来自技高网...

【技术保护点】
一种方法,包括:在多个处理器共享处理器执行资源的基于处理器的系统中,响应于所述多个处理器中的第一处理器被调度进入空闲状态,使之前为所述第一处理器保留的处理器执行资源对所述多个处理器中的第二处理器可用。

【技术特征摘要】
【国外来华专利技术】US 2004-2-4 10/772,7501.一种方法,包括在多个处理器共享处理器执行资源的基于处理器的系统中,响应于所述多个处理器中的第一处理器被调度进入空闲状态,使之前为所述第一处理器保留的处理器执行资源对所述多个处理器中的第二处理器可用。2.如权利要求1所述的方法,还包括响应于所述第一处理器被调度去执行任务,为所述第一处理器保留所述处理器执行资源。3.如权利要求2所述的方法,其中所述多个处理器中的每一个是所述基于处理器的系统中的逻辑处理器。4.如权利要求3所述的方法,其中所述第一处理器被调度进入空闲状态还包括所述第一处理器执行请求所述第一处理器进入空闲状态的处理器指令。5.如权利要求4所述的方法,其中使之前为所述第一处理器保留的所述处理器执行资源对第二处理器可用的操作还包括将所述处理器执行资源释放到从所述第二处理器可访问的处理器执行资源的公共池。6.如权利要求5所述的方法,其中所述第一处理器被调度去执行任务还包括所述第一处理器接收唤醒信号。7.如权利要求6所述的方法,其中之前为所述第一处理器保留的所述处理器执行资源还包括之前静态地分配给所述第一处理器的所述处理器执行资源;并且其中将所述处理器执行资源释放到处理器执行资源的公共池的操作还包括解除分配所述处理器执行资源。8.如权利要求6所述的方法,其中之前为所述第一处理器保留的所述处理器执行资源还包括之前由所述第一处理器锁定的所述处理器执行资源;并且其中将所述处理器执行资源释放到处理器执行资源的公共池的操作还包括所述第一处理器解锁所述处理器执行资源。9.如权利要求6所述的方法,其中处理器执行资源的所述公共池包括翻译后备缓冲区,并且所述处理器执行资源是来自所述翻译后备缓冲区的翻译缓存项。10.一种处理器,包括多个逻辑处理器;以及指令集,所述指令集包括一条或多条指令,当所述指令被第一逻辑处理器执行时,所述指令响应于所述第一逻辑处理器被调度进入空闲状态,导致所述第一逻辑处理器使之前为所述第一处理器保留的处理器执行资源对所述多个处理器中的第二处理器可用。11.如权利要求10所述的处理器,其中所述第一逻辑处理器被调度进入空闲状态还包括所述第一处理器执行请求所述第一逻辑处理器进入空闲状态的处理器指令。12.如权利要求11所述的处理器,其中导致所述第一逻辑处理器使之前为所述第一逻辑处理器保留的所述处理器执行资源对第二逻辑处理器可用的操作还包括将所述处理器执行资源释放到从所述第二逻辑处理器可访问的处理器执行资源的公共池。13.如权利要求12所述的处理器,其中之前为所述第一逻辑处理器保留的所述处理器执行资源还包括之前静态地分配给所述第一逻辑处理器的所述处理器执行资源;并且其中将所述处理器执行资源释放到处理器执行资源的公共池的操作还包括解除分配所述处理器执行资源。14.如权利要求12所述的处理器,其中之前为所述第一逻辑处理器保留的所述处理器执行资源还包括之前静态地分配给所述第一逻辑处理器的所述处理器执行资源;并且其中将所述处理器执行资源释放到处理器执行资源的公共池的操作还包括所述第一处理器解锁所述处理器执行资源。15.一种系统,包括处理器,所述处理器包括多个逻辑处理器;以及指令集,所述指令集包括一条或多条指令,当所述指令...

【专利技术属性】
技术研发人员:K山田艾伦凯
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1