用于提高事件处理的涡轮加速性能的方法和装置的制造方法

文档序号:8527822阅读:315来源:国知局
用于提高事件处理的涡轮加速性能的方法和装置的制造方法
【专利说明】用于提高事件处理的涡轮加速性能的方法和装置
[0001]本申请是2010年9月26日提交的,申请号为201010293325.5的同名专利申请的分案申请。
技术领域
[0002]本发明的实施例涉及中断事件处理;更具体地,本发明的实施例涉及提高事件处理的性能。
【背景技术】
[0003]在多内核处理器中,控制处理内核以使用可用的功率余量来最大化性能是令人期望的。在不是所有的处理内核都必须用于处理特定的工作负荷的情况下,关闭空闲的内核并将功率引导到其他活动的内核。通常通过以更高的频率操作活动的内核来将活动的内核转换到祸轮加速模式(turbomode)。
[0004]多内核处理器中的任务和事件处理算法通常是伪随机的并且不考虑当内核操作于涡轮加速模式时的影响。因此,影响了系统的整体性能。
【附图说明】
[0005]根据下面给出的详细描述以及本发明的各个实施例的附图可以更充分地理解本发明的实施例,然而,其不应被用于将本发明限制到特定的实施例,而只是用于解释和理解。
[0006]图1示出了计算机系统的实施例,该计算机系统包括用于响应于中断事件来选择处理元件以执行任务的装置。
[0007]图2是用于响应于中断事件来选择处理元件以执行任务的处理的一个实施例的流程图。
[0008]图3说明了与本发明的一个实施例一起使用的计算机系统。
[0009]图4说明了与本发明的一个实施例一起使用的点对点计算机系统。
【具体实施方式】
[0010]介绍了用于提高事件处理的性能的装置的实施例。在一个实施例中,装置包括多个处理元件和任务路由逻辑。如果处理元件中的至少一个处理元件处于涡轮加速模式,那么任务路由逻辑至少基于性能损失的比较来选择用于执行任务的处理元件。
[0011]在以下描述中,阐述了大量细节以提供对本发明的实施例的更透彻的解释。然而,对本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实施本发明的实施例。在其他示例中,以框图的形式而非细节的形式示出了公知的结构和设备,以避免模糊本发明的实施例。
[0012]在其他示例中,没有详细地描述公知的部件或方法,例如,微处理器架构、虚拟机监视器、功率控制、时钟门控、以及已知逻辑的操作细节,以避免不必要地模糊本发明。
[0013]但是,应当牢记,所有这些以及类似的术语应与合适的物理量相关联,并且仅仅是应用到这些量的方便的标记。除非明确地声明,否则根据以下讨论显而易见的是,应该意识到,贯穿本说明书的使用诸如“处理”或“计算”或“运算”或“确定”或“显示”等术语的讨论指代计算机系统或类似的电子计算设备的动作和处理过程,其对表示为计算机系统的寄存器和存储器内的物理(电子)量的数据进行操作,并将所述数据转换成类似地表示为计算机系统存储器或寄存器或其它这种信息存储、传输或显示设备内的物理量的其它数据。
[0014]本发明的实施例还涉及用于执行本文中的操作的装置。可以针对需要的目的特别地构造一些装置,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。可以将这种计算机程序存储在计算机可读存储介质中,例如但不限于,任何类型的盘,其包括软盘、光盘、CD-ROM、DVD-ROM、以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM, EEPROM、NVRAM、磁或光卡,或适合用于存储电子指令的任何类型的介质,并且每一个都耦合到计算机系统总线。
[0015]本文描述的方法和装置用于选择用于事件处理的处理元件。更具体地说,参考多内核处理器计算机系统主要地讨论了选择用于事件处理的处理元件。然而,用于选择用于事件处理的处理元件的方法和装置并不限制于此,因为可以在任何集成电路设备或系统上或与任何集成电路设备或系统相关联地实现该方法和装置,所述集成电路设备或系统例如是蜂窝电话、个人数字助理、嵌入式控制器、移动平台、台式平台和服务器平台,以及结合任何类型的处理元件,例如内核、硬件线程、软件线程、或逻辑处理器、加速器内核、或其他处理资源。此外,选择用于事件处理的处理元件可以发生在任何硬件/软件环境中,例如操作系统或在硬件上执行的管理程序。
[0016]臟
[0017]介绍了用于提高事件处理的性能的装置的实施例。在一个实施例中,装置包括多个处理元件和任务路由逻辑。如果处理元件中的至少一个处理元件处于涡轮加速模式,那么任务路由逻辑至少基于性能损失的比较来选择用于执行任务的处理元件。
[0018]图1示出了计算机系统的实施例,该计算机系统包括用于响应于事件来选择处理元件以执行任务的装置。没有示出许多相关的部件(例如总线和外围设备)以避免模糊本发明。参考图1,在一个实施例中,处理器160包括性能计算逻辑110、任务路由逻辑130、涡轮加速模式逻辑140、以及多个处理元件,例如处理元件131-134。在一个实施例中,性能计算逻辑还包括存储器111。
[0019]在一个实施例中,处理元件包括线程、进程、上下文、逻辑处理器、硬件线程、内核、加速器内核或共享对处理器160的其他共享资源(例如,预留单元、执行单元、更高层高速缓存、存储器等)的访问的任何处理元件。在一个实施例中,处理元件是线程单元,即,能够具有由软件线程独立地调度以用于执行的指令的元件。在一个实施例中,物理处理器是集成电路,其包括任意数量的其他处理元件,例如内核或硬件线程。
[0020]在一个实施例中,内核是位于集成电路上的能够针对另一个内核保持独立架构状态的逻辑。每一个独立地保持的架构状态与至少某些专用的执行资源相关联。在一个实施例中,硬件线程是位于集成电路上的能够针对另一个硬件线程保持独立架构状态的逻辑。每一个独立地保持的硬件线程共享对执行资源的访问。在一些实施例中,可交换地使用内核和硬件线程。在一个实施例中,内核或硬件线程也被称为处理元件。
[0021]在一个实施例中,操作系统或管理软件将硬件线程、内核、或处理元件视为单独的逻辑处理器。软件程序能够在每一个逻辑处理器上单独地调度操作。此外,在一些实施例中,每一个内核包括用于执行多个软件线程的多个硬件线程。
[0022]在一个实施例中,管理程序(未示出)提供软件(例如,虚拟机)和硬件资源(例如,处理器160)之间的接口。在一个实施例中,管理程序对硬件进行抽象以使得多个虚拟机独立地并行运行。在一个实施例中,虚拟机提供程序的软件执行环境,所述程序例如是任务、用户级应用、客户机软件、操作系统、另一个虚拟机、虚拟机监视器、其他可执行代码、或它们的任何组合。在一个实施例中,管理程序将硬件资源(例如,内核、硬件线程、处理元件)分配给不同的程序。
[0023]在一个实施例中,计算机系统包括用于经由互连发送和接收信号的输入/输出(I/O)缓冲器。互连的示例包括射电收发机逻辑(GTL) (Gunning Transceiver Logic)总线、GTL+总线、双倍数据速率(DDR)总线、泵式总线(pumped bus)、差分总线、高速缓存一致总线(cache coherent bus)、点对点总线、多点下传(mult1-drop)总线或实现任何已知总线协议的其他已知互连。
[0024]在一个实施例中,计算机系统(具体地说,处理器160)根据高级配置和电源接口(ACPI)规范(参见,2006年10月10日发布的高级配置和电源接口规范3.0b版)支持不同的功率状态(例如,C2-状态和C3-状态)。在一个实施例中,休眠状态(例如,C2-状态和C3-状态)也被称为空闲状态。在一个实施例中,处于空闲状态的处理元件被称为休眠内核、空闲内核或非活动内核。在一个实施例中,功率门控关闭对空闲处理元件的功率供应。空闲处理元件必须被唤醒以便再次开始执行程序。
[0025]在一个实施例中,涡轮加速模式逻辑140控制处理元件131-134以使得如果至少另一个处理元件保持空闲那么至少一个活动处理元件以更高的频率操作。因此,由活动处理元件使用可用的功率和热余量以增加或提高系统的整体性能。在一个实施例中,这种操作模式在本文中被称为涡轮加速模式。当处于涡轮加速模式时,涡轮加速模式
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1