超线程微处理器中经线程优先级提供服务质量的制作方法

文档序号:8430498阅读:263来源:国知局
超线程微处理器中经线程优先级提供服务质量的制作方法
【技术领域】
[0001]本发明涉及处理器领域,并且具体地说,涉及向优先级处理元件提供服务质量。
【背景技术】
[0002]半导体加工和逻辑设计的发展允许增加可在集成电路器件上存在的逻辑量。因此,计算机系统配置已从系统中单个或多个集成电路发展到在各个集成电路上存在的多个核和多个逻辑处理器。处理器或集成电路一般包括单个处理器芯片,其中处理器芯片可包括任意数量的处理元件,如核、线程和/或逻辑处理器。
[0003]在具有多线程的处理器中,由于资源和流水线共享的原因,一个线程的行为可能影响同一处理器核上另一线程的行为。一个线程的行为经常在共享资源和流水线使用上造成不公平。实际上,在一个线程的性能相对于同一核中其它线程发生相当大变化时,经常从共享资源的不平衡使用引起性能方面出现大的不可预测变化性。
[0004]线程经常是执行软件实体,从系统级和用户级角度两者而言,它们在其优先级别方面不同。最高优先级软件实体经常包括具有最终期限的应用程序,如媒体应用程序。例如,如果执行媒体应用程序的第一线程受到在后台执行病毒扫描的另一线程的不利影响,用户可能会遇到跳跃和小故障,这降低了性能。
[0005]以前的工作致力于保持线程之间的公平。然而,对处理资源的公平访问可能不足以保证更高优先级线程/软件实体的服务质量。继续上面的示例,第一和第二线程对处理资源的公平访问可能不足以确保媒体应用程序顺利运行。因此,更高优先级线程/应用程序可能需要更大的不公平的资源量以确保有效的执行。

【发明内容】

[0006]根据本发明的一个方面提供了一种设备,包括:
[0007]第一处理元件;
[0008]第二处理元件;
[0009]存储区域,保存与所述第一处理元件相关联的第一优先级别和与所述第二处理元件相关联的第二优先级别;以及
[0010]控制逻辑,将所述第一处理元件与保留资源第一部分相关联,并将所述第二处理元件与所述保留资源第二部分相关联,其中,响应于所述第一优先级别高于所述第二优先级别,所述第一部分大于所述第二部分。
[0011]根据本发明的另一个方面还提供了另一种设备,包括:
[0012]处理器,包括由至少第一和第二处理元件共享的流水线,其中所述处理器又包括:
[0013]存储区域,保存与所述第一处理元件相关联的第一优先级别和与所述第二处理元件相关联的第二优先级别;
[0014]选择逻辑,为在所述流水线中的进一步处理选择所述第一处理元件或所述第二处理元件;以及
[0015]偏置逻辑,根据所述第一优先级别是比所述第二优先级别更高的优先级,将所述选择逻辑偏向所述第一处理元件。
[0016]根据本发明的又一方面提供了一种方法,包括:
[0017]在第一存储元件中存储与处理器第一处理元件相关联的第一优先级别并在第二存储元件中存储与所述处理器第二处理元件相关联的第二优先级别;
[0018]确定所述第一优先级别是否为比所述第二优先级别更高的优先级别;
[0019]根据所述第一优先级别是比所述第二优先级别更高的优先级别,使处理资源耗用偏向所述第一处理元件。
【附图说明】
[0020]本发明通过示例描述,并不限于附图的图形。
[0021]图1示出能够基于优先级在多个处理元件中提供服务质量的处理器实施例。
[0022]图2A示出能够基于优先级分配条目到处理元件的保留单元实施例。
[0023]图2B示出基于优先级别比较将保留条目分配到处理元件的逻辑实施例。
[0024]图3A示出包括偏置逻辑以将流水线耗用偏向更高优先级处理元件的实施例流水线。
[0025]图3B示出将流水线耗用偏向更高优先级处理元件的偏置逻辑实施例。
[0026]图4示出基于优先级将处理资源耗用偏向某个处理元件的方法流程图实施例。
[0027]图5示出基于优先级将共享流水线耗用偏向某个处理元件的方法流程图实施例。
【具体实施方式】
[0028]在下面的说明中,陈述了许多特定的细节,如在处理元件之间提供服务质量的特定偏置逻辑实施例、特定处理器组织、特定流水线级等示例,以便提供本发明的详尽理解。但是,本领域的技术人员将明白,实践本发明可无需采用这些特定细节。在其它实例中,诸如流水线的各种变化、空周期检测、处理元件识别、处理元件选择及微处理器特定操作细节等熟知的组件或方法未详细描述,以免不必要地混淆本发明。
[0029]本文所述方法和设备用于基于优先级向处理元件提供服务质量。具体而言,主要参照具有多线程的微处理器论述提供服务质量。但是,提供服务质量的方法和设备并不限于此,因为它们可在任何集成电路器件或系统上实现或与其相关联,如蜂窝电话、个人数据助理、嵌入式控制器、移动平台、桌面平台和服务器平台,以及与任何类型的处理元件结合实现,如核、硬件线程、软件线程、逻辑处理器或其它处理元件。
[0030]参照图1,示出了能够基于优先级,向处理元件提供服务质量的处理器实施例。处理元件指线程、进程、上下文、逻辑处理器、硬件线程、核和/或任何处理元件,共享对诸如保留单元、执行单元、流水线和更高级高速缓存/存储器等处理器资源的访问。例如,处理元件指要在硬件线程或物理处理器核上执行的软件线程。如下所述,诸如软件线程的处理元件可与某个优先级别相关联。物理处理器一般指集成电路,它可能包括任何数量的其它处理元件,如核或硬件线程。
[0031]核通常指位于能够保持独立架构状态(如架构状态101和102)的集成电路上的逻辑,其中每个独立保持的架构状态与至少一些专用执行资源相关联。与核不同,硬件线程一般指位于能够保持独立架构状态的集成电路上的任何逻辑,其中独立保持的架构状态共享对执行资源的访问。
[0032]正如可看到的一样,在某些资源共享,而其它资源专用于某种架构状态时,硬件线程与核的名称之间的界线重叠。然而,核和硬件线程经常被操作系统视为单独的逻辑处理器,这种情况下,操作系统能够单独调度每个逻辑处理器上的操作。换而言之,软件将物理处理器上的两个核或线程视为两个独立的处理器。此外,每个核可能包括用于执行多个软件线程的多个硬件线程。因此,处理元件包括能够保持上下文的任何上述元件,如核、线程、硬件线程、虚拟机或其它资源,它们共享对诸如共享流水线或共享保留单元/站的处理器共享资源的访问。
[0033]在一个实施例中,处理器100是能够并行执行多个线程的多线程处理器。此处,第一线程与架构状况寄存器101相关联,第二线程与线程102相关联。因此,下面线程101和102分别指第一和第二线程。线程101和102共享对保留单元的访问,这些单元可分布在处理器100中或位于诸如调度程序/执行模块140或重命名/分配器模块130等单元中。存储元件103和104均要保存分别与线程101和102相关联的优先级别。如下所述,在一个实施例中,基于线程101和102的优先级别,部分保留单元能够专用于每个线程,在两个线程中共享,或者被保留,即,不与任一线程相关联。
[0034]另外,流水线或诸如流水线前端或指令解码部分等部分流水线由线程101和102共享。此处,在一个实施例中,流水线或部分流水线能够基于优先级别向线程101和102提供服务质量。
[0035]如图所示,架构状况寄存器101在架构状况寄存器102中复制,以便各个架构状态/上下文能够存储用于逻辑处理器101和逻辑处理器102。诸如指令指针和重命名分配器逻辑130中的重命名逻辑等其它更小的资源也可复制用于线程101和102。诸如重排序/退役单元135中的重排序缓冲器、ILTB 120、加载/存储缓冲器及队列等一些资源可通过分区共享。但诸如通用内部寄存器、页表基址寄存器、低级数据高速缓存和数据TLB 150、执行单元140及失序(out-of-order)单元135等资源可能完全共享。注意,如下所述,存储元件103和104可包括在单个物理存储区域内及位于硬件线程物理结构外。
[0036]总线接口模块105与处理器100外的器件通信,如系统存储器175、芯片集、北桥或其它集成电路。存储器175可专用于处理器100或与系统中的其它器件共享。存储器175的示例包括动态随机存取存储器(DRAM)、静态RAM(SRAM)、非易失性存储器(NV存储器)和长期储存。
[0037]一般情况
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1