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

向另一设备委托轮询操作制造技术

技术编号:8026965 阅读:247 留言:0更新日期:2012-12-02 18:17
在一个实施例中,本发明专利技术包括一种用于处理从主机处理器接收的注册消息的方法,其中注册消息将相对于设备的轮询操作从主机处理器委托给另一部件。来自于该消息的信息可以存储在轮询表中,并且该部件可以发送读请求以对设备进行轮询,并且基于设备的状态向主机处理器报告轮询的结果。还描述并要求了其它实施例。

【技术实现步骤摘要】
【国外来华专利技术】向另一设备委托轮询操作
技术介绍
现代计算机系统通常包括处理器和耦合在一起的各种其它部件。此外,许多系统包括一个或多个外围或输入/输出(10)设备。为了支持在处理器上执行的软件与可以由其它设备执行的操作之间的通信,可以使用不同的机制。一般的机制包括轮询方法和中断方法。然而,这些方法都不是最优的。使用轮询技术,软件在IO设备的任务是细粒度的情况下持续地对IO设备上的状态寄存器进行轮询,或者在IO设备的任务是粗粒度的情况下依赖于通过操作系统(OS)的异步中断。虽然轮询方法可以确保良好的性能,但是它也具有缺点。首先,需要知道完成状态的核心/线程必须(例如,经由忙循环操作)持续地检查存储器映射输入/输出(MMIO)状态寄存器,从而防止其自身进入低功率状态。第二,对不可缓存的MMIO地址进行重复轮询会导致系统互连上的大流量。总之,快速响应时间的代价是功率消耗(尤其针对超低功率环境而言是主要问题)和系统资源浪费。中断方法避免了处理器对状态寄存器的忙循环。在等待的同时,核心/线程可以进行上下文切换以执行另一进程,或者进入低功率状态。IO设备上的任务的完成触发到OS的中断。然而,在典型的系统中,内核中断处理程序会引发数百个高速缓存未命中以及数以万计个时钟周期。中断处理的这种性能开销对于许多细粒度逻辑块来说是不可接受的。因此,由于轮询抵消了使用IO设备获得的任何功率益处的大部分,而中断引入了严重的性能恶化,因此对于低功率应用而言,轮询和中断技术都不是令人满意的。附图说明图I是根据本专利技术的一个实施例的系统的框图。图2是根据本专利技术的一个实施例的方法的流程图。图3是根据本专利技术的另一实施例的系统的框图。具体实施例方式在各种实施例中,可以实现轮询委托技术,其中互联在轮询和通知过程中用作代理。在一个实施例中,互连可以是输入/输出(IO)互连,然而本专利技术的范围并不限于这一点。使用该技术,互连为诸如中央处理单元(CPU)等的主机处理器轮询IO设备,并且使用诸如测试和保持操作等多个技术中的一个、或者通过对用户选择的存储器位置进行更新(这触发处理器从最佳功率状态退出),来将给定事件通知给应用程序软件。在一个实施例中,可以使用诸如M0NIT0R/MWAIT等的用户级指令来通知应用程序软件。在各种实施例中,轮询委托可以使响应时间如轮询一样短,并且使功耗/资源使用如基于中断的技术一样低,从而提供了 IO设备状态的用户级通知,而不需要轮询或中断。在一个实施例中,IO互连可以包括专用硬件来对IO设备的状态寄存器进行轮询。然后,一旦状态改变,则IO互连可以发出对由主机监视的存储器地址的写操作(例如,一致性写入)。该一致性写入将被该硬件检测到,并且使在该地址上等待的线程恢复执行。因此,在各种实施例中,处理器可以保持在低功率状态直到IO设备完成其任务,并且几乎如同其进行忙循环一样快地恢复执行。不需要对处理器核心、高速缓存、系统一致性互连或IO设备进行改变。M0NIT0R/MWAIT指令对可以支持线程间同步。该指令对可以在所有的特权级处均是可用的。MONITOR可以用于使CPU设置CPU的监视硬件,以检测对有效地址范围(通常为高速缓存行)的存储。该地址范围属于一致性回写地址范围。在一个实施例中,高速缓存一致性硬件可以监视对该目的地址的写入。当发生该写入时,高速缓存一致性控制器将向处理器发送退出低功率状态的消息。在该设置之后,随后的MWAIT指令将处理器核心置于所选择的低功率状态(例如,时钟门控状态或功率门控状态)。当监视硬件检测到对该地址范围内的任意字节的存储时,停止的线程从MWAIT后面的指令恢复执行。从架构上讲,MWAIT的行为类似于空操作(NOP)。虽然MONITOR和MWAIT指令被设计为实现性能和功率最优的线程间同步,但是实施例也可以利用用于IO设备 完成通知的指令。现在参照图1,示出的是根据本专利技术的一个实施例的系统的框图。如图I所示,系统100可以是片上系统(SoC),该片上系统(SoC)包括互连在一起的各种部件并且可以提供用于根据本专利技术的实施例来处理轮询委托的机制。具体地,在图I的实施例中,SoC 100可以包括多个处理器核心,为了便于说明,仅示出了其中的一个核心,即核心110a。该一个或多个核心可以经由一致性互连115耦合到一个或多个高速缓存存储器120a。一致性互连115可以包括各种硬件、软件和/或固件,以实现诸如修改排他共享无效(MESI)协议等的高速缓存一致性协议,从而维持存储在系统中的信息的一致性。在一些实现中,一致性互连115可以是包括诸如协议层、链路层、以及可能的物理层等的各种层的分层协议(其中该系统不在单管芯上)。继而,一致性互连115可以经由中心部件120耦合到存储器控制器130,该存储器控制器130继而可以耦合到例如动态随机存取存储器(DRAM)等的系统存储器。注意,由于这种存储器可以位于SoC外部,因此没有在图I中示出该存储器。此外,一致性互连115可以稱合到10互连140的上游侧,该1/0互连140可以具有给定的通信协议,诸如根据基于 “PCI Express Specification Base Specificationversion 2. 0” (2007 年 I 月 17 日公布)(下文称为 PCIe Specif ication)的链路的“Peripheral Component Interconnect Express”(PCIExpress (PCIe ))协议、或者其它这种协议。根据本专利技术的实施例,10互连140可以包括轮询表150。虽然示出为存在于该互连中,但是其它实现可以将该缓冲器设置于与该互连紧密相关的其它位置。继而,可以是10设备、知识产权(IP)块等的各种设备(例如,设备Ieoc^P 160i)可以耦合到I0互连140的下游侧。如图I所示,轮询表150存储包括例如条目156等的多个条目。每个条目可以包括设备监视位置,诸如多个设备160之一中存在的状态寄存器的地址;存储器监视地址,其可以对应于系统存储器中的物理地址,该物理地址对应于MWAIT指令的监视位置;以及初始值,其可以是设备监视位置的初始值,例如,状态寄存器的初始值。因此,实施例本质上将10设备上的每个状态寄存器与由CPU监视的对应存储器地址相关联。虽然在图I的实施例中示出了该特定实现,但是本专利技术的范围并不限于这一点。现在参照图2,示出的是根据本专利技术的一个实施例的方法的流程图。具体地,图2示出了可以由代表主机处理器处理轮询委托的IO或其它互连的逻辑执行的流程图。在一些实现中,方法200可以通过状态机或其它互连逻辑来实现,然而其它实现也是可行的。如图2所示,可以通过从应用程序接收注册消息来开始方法200(框210)。在一个实施例中,注册消息可以包括由丽IO地址、真实物理存储器地址和初始值构成的元组。在一个实施例中,该注册消息可以包括位置和备份被监视虚拟地址范围的被监视系统存储器的物理地址范围;用于获得要被监视的设备中的位置的状态(例如,状态寄存器)的丽IO地址;以及这种寄存器的初始值,该初始值还可以对应于存储在系统存储器的监视地址中的初始值。在一个实施例中,应用程序可以例如使用主机处理器进行系统调用,以将该信息传递到互连。仍然本文档来自技高网...

【技术保护点】

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

【专利技术属性】
技术研发人员:M·E·埃斯皮希Z·方R·伊耶D·J·哈里曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1