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

用户级别线程暂停的方法、设备、和指令技术

技术编号:19247143 阅读:58 留言:0更新日期:2018-10-24 08:54
一方面的处理器包括用于解码用于指示第一备选状态的用户级别暂停线程指令的解码单元。处理器还包括与解码单元耦合的执行单元。执行单元用于在用户特权级别执行指令。响应于指令,执行单元将:(a)暂停用户级别线程的执行,将已从所述用户级别线程接收到指令;(b)将其上将已正运行用户级别线程的逻辑处理器过渡到所指示的第一备选状态;以及(c)当逻辑处理器处于所指示的第一备选状态时,通过这样的延迟来恢复用户级别线程的执行,所述延迟将小于当逻辑处理器处于停止处理器功率状态时可以恢复执行线程的延迟的一半。

【技术实现步骤摘要】
【国外来华专利技术】用户级别线程暂停的方法、设备、和指令
本文描述的实施例一般涉及处理器。特别地,本文描述的实施例一般涉及暂停处理器中线程的执行。
技术介绍
软件线程通常通过对共享存储器位置的改变进行通信或同步。作为一个示例,当锁(lock)或信号量(semaphore)变得可用时,可以改变共享存储器位置。作为另一示例,当要由软件线程来执行的工作可用(例如,在工作队列中)时,可以改变共享存储器位置。软件线程可使用来检测何时对共享存储器位置进行改变的一种可能方法是实现轮询循环,例如空闲循环、忙循环、忙等待循环、或诸如此类。在循环期间,软件线程可以重复执行指令以测试共享存储器位置是否已经改变。附图说明通过参考用于图示实施例的以下描述和附图,可以最好地理解本专利技术。在附图中:图1是在其中可以实现本专利技术的实施例的计算机系统的实施例的框图。图2是适合于实施例的同时多线程化(SMT)核的示例实施例的框图。图3是执行用户级别设立监测器地址指令的方法的实施例、以及执行用户级别监测的访问暂停线程指令的方法的实施例的框流程图。图4是具有C1处理器功率状态、C0.1处理器功率状态、和C0.2处理器功率状态的逻辑处理器的示例实施例的框图。图5是执行用户级别监测的访问暂停线程指令的方法的第二实施例的框流程图,该方法包括使用监督系统软件施加的最大超时值。图6是可操作以执行用户级别监测的访问暂停线程指令的实施例的处理器的实施例的框图。图7是执行事务存储器事务内的事务存储器兼容的用户级别暂停线程指令以暂停第一用户级别线程而不中止事务存储器事务的方法的示例实施例的框流程图。图8是执行事务存储器兼容的用户级别暂停线程指令的方法的第二实施例的框流程图。图9A是图示有序流水线的实施例和寄存器重命名乱序发布/执行流水线的实施例的框图。图9B是包括耦合到执行引擎单元的前端单元(并且两者都耦合到存储器单元)的处理器核的实施例的框图。图10A是单个处理器核连同其到管芯上互连网络的连接以及连同其2级(L2)高速缓存的本地子集的实施例的框图。图10B是图10A的处理器核的一部分的展开图的实施例的框图。图11是可具有多于一个核、可具有集成存储器控制器、并且可具有集成图形的处理器的实施例的框图。图12是计算机架构的第一实施例的框图。图13是计算机架构的第二实施例的框图。图14是计算机架构的第三实施例的框图。图15是计算机架构的第四实施例的框图。图16是根据本专利技术的实施例的、使用软件指令转换器来将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式本文所公开的是用户级别暂停线程指令、用于执行指令的处理器、由处理器在处理或执行指令时执行的方法、以及结合一个或多个处理器以处理或执行指令的系统。在以下描述中,提出许多具体细节(例如具体指令操作、处理器配置、微架构细节、逻辑划分/集成决策、操作序列等)。然而,在没有这些具体细节的情况下也可实践实施例。在其它实例中,公知的电路、结构或技术尚未被详细示出以避免使本描述的理解模糊。图1是在其中可以实现本专利技术的实施例的计算机系统100的实施例的框图。该系统包括至少一个处理器101。处理器101通过耦合机构108与存储器109耦合或以其它方式与存储器109进行通信。存储器可以包括相同或不同类型的一个或多个存储器装置。将处理器与存储器耦合的各种常规方式是合适的。例如,耦合机构可以包括一个或多个总线、中枢、存储器控制器、芯片集部件、或诸如此类、以及其各种组合。在各种实施例中,计算机系统可以表示桌上型计算机、膝上型计算机、笔记本计算机、平板计算机、上网本、智能电话、服务器、网络装置(例如,路由器、交换机等)、或者具有一个或多个处理器的其它类型的系统。在一些实施例中,处理器101可以是通用处理器(例如使用在桌上型、膝上型或其它计算机中的类型的通用微处理器或中央处理单元(CPU))。备选地,处理器可以是专用处理器。适合的专用处理器的示例包括但不限于:网络处理器、通信处理器、加密处理器、图形处理器、协处理器、嵌入式处理器、数字信号处理器(DSP)和控制器(例如微控制器)。处理器可具有任何各种复杂指令集计算(CISC)架构、简化指令集计算(RISC)架构、超长指令字(VLIW)架构、混合架构、其它类型的架构,或具有不同架构的组合(例如,不同核可具有不同架构)。处理器101至少包括第一逻辑处理器102-1。处理器101可以可选地包括第一逻辑处理器102-1作为单个逻辑处理器,或者处理器可以可选地包括多个此类逻辑处理器。计算机系统还包括至少第二逻辑处理器102-2,并且可以可选地包括其它逻辑处理器。虚线用于示出第二逻辑处理器可以是处理器101的一部分,或者可以在处理器101的外部。作为示例,第二逻辑处理器可以可选地被包括在第二处理器(例如,第二管芯)上或在另一组件(例如,直接存储器存取(DMA)装置)中。合适类型的逻辑处理器的示例包括但不限于单线程核、硬件线程、线程单元、线程槽、具有专用上下文或架构状态存储装置和程序计数器的逻辑处理器、具有专用上下文或架构状态存储装置和程序计数器的逻辑处理器(在其上可以独立地调度软件)、和诸如此类。术语“核”常常用于指位于集成电路上的逻辑,其能够维持独立架构状态(例如,执行状态),并且其中架构状态与专用执行和某些其它专用资源相关联。相反,术语“硬件线程”常常用于指位于集成电路上的逻辑,其能够维持独立架构状态,并且其中架构状态共享对执行和某些其它资源的访问。取决于在给定实现中哪些资源被共享和专用,术语“核”和“硬件线程”的此类使用之间的界限可能倾向于较不明显。然而,核、硬件线程和其它逻辑处理器通常被软件视为单独的逻辑处理器或处理器元件。通常,软件(例如,软件线程、处理器、工作负载、或诸如此类)可以在每个逻辑处理器上被调度并与每个逻辑处理器独立关联。存储器可以存储一个或多个监督系统软件模块110,例如,一个或多个操作系统模块、一个或多个虚拟机监测器模块、一个或多个管理程序、或诸如此类。存储器还可以存储一个或多个用户级别应用模块111。此类用户级别应用模块的几个代表性示例是文字处理器应用模块、电子表格模块、电子邮件应用模块、互联网浏览器模块、网络应用模块、视频游戏应用模块、和诸如此类。本专利技术的范畴不限于任何已知类型的应用模块。在操作期间,监督系统软件模块可以在第一逻辑处理器上调度第一软件线程107-1,并在第二逻辑处理器上调度第二软件线程107-2。在运行时,第一和第二软件线程107可操作以访问共享存储器区域115。如所示的,共享存储器区域可以包括第一共享存储器位置116-1直到第N共享存储器位置116-N,其中数量N可以表示适合于特定实现的任何合理数量。共享存储器位置也可以可选地由其它软件线程共享。在一些情况下,第一软件线程可能想要监测和检测第二软件线程(或另一软件线程)何时已写入到和/或修改这些存储器位置中的一个或多个。作为一个说明性示例,这可以是结合同步的情况。代表性地,不同的存储器位置可以表示锁、信号量、消费者-生产者邮箱、或诸如此类。当相关联的锁或信号量变得可用时,软件线程可以修改给定的存储器位置,并且第一软件线程可能想要能够监测存储器位置,使得它可以确定锁或信号量何时变得可用。作为另一个说本文档来自技高网...

【技术保护点】
1.一种处理器,包括:用于解码用于指示第一备选状态的用户级别暂停线程指令的解码单元;与所述解码单元耦合的执行单元,所述执行单元用于在用户特权级别执行所述指令,响应于所述指令,所述执行单元将:暂停用户级别线程的执行,将已从所述用户级别线程接收到所述指令;将其上将已正运行所述用户级别线程的逻辑处理器过渡到所指示的第一备选状态;以及当所述逻辑处理器处于所指示的第一备选状态时,通过这样的延迟来恢复所述用户级别线程的所述执行,所述延迟将小于当所述逻辑处理器处于停止处理器功率状态时可以恢复执行线程的延迟的一半。

【技术特征摘要】
【国外来华专利技术】2016.02.09 US 15/0191121.一种处理器,包括:用于解码用于指示第一备选状态的用户级别暂停线程指令的解码单元;与所述解码单元耦合的执行单元,所述执行单元用于在用户特权级别执行所述指令,响应于所述指令,所述执行单元将:暂停用户级别线程的执行,将已从所述用户级别线程接收到所述指令;将其上将已正运行所述用户级别线程的逻辑处理器过渡到所指示的第一备选状态;以及当所述逻辑处理器处于所指示的第一备选状态时,通过这样的延迟来恢复所述用户级别线程的所述执行,所述延迟将小于当所述逻辑处理器处于停止处理器功率状态时可以恢复执行线程的延迟的一半。2.如权利要求1所述的处理器,其中所述解码单元用于对将具有用于选择所述第一备选状态作为多个不同可能备选状态中的任何一个的字段的所述指令进行解码。3.如权利要求2所述的处理器,其中所述多个不同可能备选状态包括第二备选状态,并且其中所述第二备选状态将允许通过这样的延迟来恢复用户级别线程的执行,所述延迟将不多于当所述逻辑处理器处于所述停止处理器功率状态时的所述延迟。4.如权利要求1至3中任一项所述的处理器,还包括存储位置,所述存储位置用于存储监督系统软件施加的超时值,并且其中响应于所述指令,所述执行单元将:确定所述监督系统软件施加的超时值已经过期;以及响应于确定所述监督系统软件施加的超时值已经过期而恢复所述用户级别线程的所述执行。5.如权利要求4所述的处理器,还包括架构上可见的存储位置,并且其中响应于所述指令,所述执行单元将在所述架构上可见的存储位置中存储由于所述监督系统软件施加的超时值过期而恢复所述用户级别线程的所述执行的指示。6.如权利要求5所述的处理器,其中响应于所述指令,所述执行单元将通过修改用于存储多个标志的寄存器中的架构标志来存储所述指示。7.如权利要求1至3中任一项所述的处理器,其中所述解码单元用于解码用于指示用户级别超时值的所述指令,并且其中响应于所述指令,所述执行单元将:确定所述用户级别超时值已经过期;以及响应于确定所述用户级别超时值已经过期而恢复所述用户级别线程的所述执行。8.如权利要求1所述的处理器,其中当所述逻辑处理器处于所指示的第一备选状态时,响应于所述指令,所述执行单元将通过这样的延迟来恢复所述用户级别线程的所述执行,所述延迟将小于当所述逻辑处理器处于所述停止处理器功率状态时的所述延迟的五分之一。9.如权利要求1所述的处理器,其中当所述逻辑处理器处于所指示的第一备选状态时,响应于所述指令,所述执行单元将通过将小于五百个时钟周期的所述延迟来恢复所述用户级别线程的所述执行。10.如权利要求1至3中任一项所述的处理器,其中响应于所述指令,所述执行单元将恢复所述用户级别线程的所述执行而无需退出所述用户特权级别。11.一种处理器中的方法,包括:从用户级别线程接收用户级别暂停线程指令,所述指令指示第一备选状态;以及在用户特权级别执行所述指令,包括:暂停所述用户级别线程的执行;将其上曾正运行所述用户级别线程的逻辑处理器过渡到所指示的第一备选状态;当所述逻辑处理器处于所指示的第一备选状态时,通过这样的延迟来恢复所述用户级别线程的所述执行,所述延迟小于当所述逻辑处理器处于停止处理器功率状态时恢复执行线程的延迟的一半。12.如权利要求11所述的方法,其中接收包括接收具有用于选择所...

【专利技术属性】
技术研发人员:M米夏利JW布兰特G奈格AK马利克RM桑卡兰R马卡拉姆BC查芬JB克罗斯兰德HP安文
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1