本申请描述了用于实现热代码段的智能再循环的装置、方法和系统。确定热代码段,并将开始和结束指令进行标记。当开始指令被解码时,处理器的后端中的再循环逻辑进入检测模式并加载经解码的循环指令。当结束指令被解码时,再循环逻辑进入再循环模式。在再循环模式期间,将循环指令从再循环逻辑直接分派至执行级以供执行。由于该循环在后端之外被直接服务,所以可将前端断电以进入待机状态以节能并提高能效。在完成该循环时,前端被恢复供电并继续正常操作,这可能包括传送在前端进入待机模式之前预取出的该循环之后接下来的指令。
【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】本申请描述了用于实现热代码段的智能再循环的装置、方法和系统。确定热代码段,并将开始和结束指令进行标记。当开始指令被解码时,处理器的后端中的再循环逻辑进入检测模式并加载经解码的循环指令。当结束指令被解码时,再循环逻辑进入再循环模式。在再循环模式期间,将循环指令从再循环逻辑直接分派至执行级以供执行。由于该循环在后端之外被直接服务,所以可将前端断电以进入待机状态以节能并提高能效。在完成该循环时,前端被恢复供电并继续正常操作,这可能包括传送在前端进入待机模式之前预取出的该循环之后接下来的指令。【专利说明】包括代码再循环技术的用于能效和节能的方法、装置和系 统
本公开涉及集成电路中的能效和节能以及在集成电路上执行的代码,更具体地但 不排他地涉及代码再循环。
技术介绍
半导体处理和逻辑设计的进步已允许在集成电路器件上可能存在的逻辑量的增 力口。因此,计算机系统配置已经从系统中的单个或多个集成电路进化至各个集成电路上的 多个硬件线程、多个核、多个设备和/或完整的系统。此外,随着集成电路密度增长,计算系 统(从嵌入式系统到服务器)的功率需求也逐步提高。此外,软件低效率及其对硬件的要 求也已造成了计算设备能耗的提高。实际上,一些研究表明计算机消耗了美国全部电力供 应的大部分。 因此,存在对与集成电路相关联的能效和节能的关键需求。而且,随着服务器、桌 面计算机、笔记本、超极本、平板、移动电话、处理器、嵌入式系统等等变得更加流行(从包 括在典型的计算机、汽车和电视中到生物技术),计算设备销售的影响已然超出能耗的范围 而延伸至对经济系统存在显著、直接的影响。 当功耗变得更加重要,总是趋向于提高性能的趋势将要与功耗考虑相互平衡。因 此,已经投机地将集成电路的多个部分断电,诸如将处理器置于睡眠状态。不过,现有处理 器通常仍保持它们的流水线的多个部分活动;甚至在它们可能是空闲时也如此,这样为了 在无工作执行时保持逻辑活动可能浪费功率。此外,通常也错过诸如使处理流水线的部分 变成空闲(例如从流水线的一个部分卸载工作来释放它以实现节能)之类的其它节能机 会。例如,在代码执行期间,一些热部分(例如通常执行的代码段)可能通过整个前端流水 线浪费功率,并且可能导致不利的性能问题(例如当指令在两个高速缓存行上未对齐,从 而要在两个循环上被取出时)。 【专利附图】【附图说明】 本专利技术通过示例进行说明,而且不旨在受限于附图的各图。 图1示出包括具有多个处理元件(2个核和4个线程槽)的处理器的系统的逻辑 表示的实施例。 图2示出计算机系统配置的逻辑表示的实施例。 图3示出计算机系统配置的逻辑表示的另一实施例。 图4示出计算机系统配置的逻辑表示的另一实施例。 图5示出用于提供代码的热部分的智能代码再循环的设备的逻辑表示的实施例。 图6示出用于提供代码的热部分的智能代码再循环的设备的逻辑表示的另一实 施例。 图7示出能够对代码内的嵌套循环进行重新计算的再循环逻辑的逻辑表示的实 施例。 图8示出用于在处理器流水线的前端中再循环热代码同时节能的流程图的实施 例。 【具体实施方式】 在以下描述中,陈述了多个特定细节,诸如特定类型的处理器和系统配置的示例、 特定硬件结构、特定架构和微架构细节、特定寄存器配置、标记指令的特定方法、特定类型 的热代码、特定再循环结构、特定循环指令、特定前端逻辑、特定处理器流水线级和操作、特 定的结束循环迭代条件等等,以提供对本专利技术的透彻理解。然而,对本领域普通技术人员显 而易见的是,不一定要采用这些具体细节来实施本专利技术。在其它实例中,未详细描述公知的 组件或方法,诸如特定和替代的处理器架构、用于所描述算法的特定逻辑电路/代码、特定 固件代码、特定互连操作、特定分支预测逻辑和方法、特定热代码标识方法、特定动态编译 技术、特定断电和门控技术/逻辑以及处理器的其它特定操作细节,以免不必要地模糊本 专利技术。 虽然参考特定集成电路中(诸如计算平台或微处理器中)的节能和能效描述了以 下实施例,但其它实施例可适用于其它类型的集成电路和逻辑器件。在此描述的实施例的 相似的技术和教导可适用于也可受益于更好能效和节能的其它类型的电路或半导体器件。 例如,所公开的实施例不限于桌面计算机系统。也可用于其它设备,诸如手持式设备、芯片 上系统(S0C)以及嵌入式应用。手持式设备的一些示例包括蜂窝电话、因特网协议设备、数 码相机、个人数字助理(PDA)、手持式PC。嵌入式应用典型地包括微控制器、数字信号处理 器(DSP)、芯片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机、或 可执行以下教导的功能和操作的任何其他系统。此外,本申请中描述的装置、方法和系统不 限于物理计算设备,而是也涉及用于节能和能效的软件优化。如将在以下描述中容易变得 明显地,本申请中描述的方法、装置和系统的实施例(不论是参考硬件、固件、软件还是其 组合)对于与性能考虑相平衡的"绿色技术"未来是关键的。 本申请中描述的方法和装置用于提供智能代码再循环。具体地,在下文中主要参 考微处理器以及其中的节能来讨论代码再循环。不过,本申请中描述的装置和方法不限于 此,因为它们可结合任何集成电路器件来实现。例如,本申请中描述的代码再循环技术可用 于执行迭代和/或热代码的图形处理器。或者,它可用于小形状因数设备、手持式设备、S0C 或嵌入式应用,如上所讨论。 参考图1,示出了包括多个核的处理器的实施例。处理器100包括任何处理器或处 理设备,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、 应用处理器、协处理器、芯片上系统(S0C)或用于执行代码的其它器件。在一个实施例中, 处理器100包括至少两个核--核101和102,这两个核可包括不对称核或对称核(所示实 施例)。然而,处理器100可包括任何数量的处理元件,这些处理元件可以是对称的或不对 称的。 在一个实施例中,处理元件指的是用于支持软件线程的硬件或逻辑。硬件处理元 件的示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件 线程、核、和/或能保持处理器的诸如执行状态或架构状态之类的状态的任何其它元件。换 言之,在一个实施例中,处理元件指的是能够与诸如软件线程、操作系统、应用、或其它代码 之类的代码独立地相关联的任何硬件。物理处理器通常指的是集成电路,其可能包括任意 数量的诸如核或硬件线程之类的其它处理元件。 核通常指的是位于集成电路上的能够维持独立架构状态的逻辑,其中每个独立维 持的架构状态与至少某些专用执行资源相关联。与核相反,硬件线程通常指的是位于集成 电路上的能维持独立架构状态的任何逻辑,其中独立维持的架构状态共享对执行资源的访 问。可以看出,当某些资源是共享的而其它资源是架构状态专用时,硬件线程与核的术语之 间的界线交叠。不过通常,核和硬件线程被操作系统视为各个逻辑处理器,其中操作系统能 够分别在每个逻辑处理器上调度操作。 如图1中所示的物理处理器100包括两个核,即核101和102。在此,核101和102 被视为对称核,即具有本文档来自技高网...
【技术保护点】
一种用于高效能耗的装置,包括:前端逻辑,配置成至少取出迭代的热代码段;解码逻辑,耦合至所述前端逻辑,所述解码逻辑被配置成识别所述迭代的热代码段;再循环逻辑,耦合至所述解码逻辑,所述再循环逻辑被配置成保持来自所述迭代的热代码段的指令的经解码格式;执行逻辑,耦合至所述再循环逻辑,所述执行逻辑被配置成迭代地执行所述再循环逻辑中保持的指令的所述经解码格式,直到检测到迭代结束条件为止;以及功率逻辑,被配置成在所述执行逻辑迭代执行指令的所述经解码格式期间将所述前端逻辑断电至待机模式,直到检测到所述迭代结束条件为止。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:J·郑,吴友峰,C·C·王,H·金,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。