处理器包括指令调度和分派(调度/分派)单元,其用于接收单指令多数据(SIMD)指令,该SIMD指令用于对存储在由第一源操作数指示的存储位置中的多个数据元素执行操作。该指令调度/分派单元用于基于第二源操作数确定数据元素中的第一数据元素,该第一数据元素将不被操作而生成被写入到目的地操作数中的结果。该处理器进一步包括:多个处理元件,耦合至指令调度/分派单元,这些处理元件用于以向量方式处理SIMD指令的数据元素;以及功率管理单元,耦合至指令调度/分派单元,该功率管理单元用于减少多个处理元件中的配置为用于处理第一数据元素的第一处理元件的功耗。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的多个实施例总体涉及微处理器。更具体地说,本专利技术的多个实施例涉及 微处理器的功率管理。
技术介绍
功耗是现代电子器件和基于处理器的设备中的主要顾虑。近几年中,将膝上型计 算机和笔记本计算机用于移动计算已变得常见。同样,移动设备正变成忙碌的专业人员的 标准配件。此外,如今的移动设备中的许多设备包括作为标准特征的功能,从而使得用户可 在移动时访问email、玩电脑游戏或访问互联网。在所有这些示例中,电子设备依赖于诸如 电池之类的有限的电源。因此,减少功耗并进而增加电池寿命是投放对市场有吸引力的产 品并因此有经济利益可图的重要因素。 减少基于处理器的设备中的功耗的一种方法是减少该处理器的功耗。通常的技术 是基于在给定时刻正在被执行的操作或操作集,禁用该处理器内不被使用的功能块。此外, 启用和禁用功能块的过程固有地是动态的,因为这些块应当被启用以便不引进任何处理等 待时间,但是应当被迅速地禁用以便使过度的当前使用最小化。 诸如英特尔的高级向量扩展(AVX)之类的更先进的处理器能以向量方式处理单 指令多数据(SMD)指令。这些指令中的一些基于掩码操作数,对多个数据元素执行多个操 作。图1是示出向量执行规则的框图。例如,指令VADDPS 2匪1作1},2匪2,2匪3对512位寄 存器中的32位数据元素执行多至16个单精度(SP)加法操作,这些操作全部并行地执行。 掩码kl是16位寄存器,该16位寄存器的每一位与将以该向量指令被处理的每一个数据元 素有关。如果掩码位是一,则数据元素被处理,并且被写入到目的地中。如果掩码位是零, 则处理器写入零或保持目的地不变(取决于写掩码操作模式)。在硬件中,全部16个元素 总是在作为单个实体的向量算术逻辑单元(ALU)内被操作。遗憾的是,由于在向量ALU内 被执行的一定百分比的操作将由于其相关的掩码位被设置为零而被丢弃,因此存在功率效 率损失。图2是示出掩码驱动AVX操作的示例的伪代码。【附图说明】 在所附附图的多个图中,以示例方式而非限制方式说明本专利技术的多个实施例,在 附图中,同样的参考标号指示类似的元件。 图1是示出向量执行规则的框图。 图2是示出掩码驱动AVX操作的示例的伪代码。 图3是根据本专利技术的一个实施例的处理器或处理器核的执行流水线的框图。 图4是示出根据本专利技术的一个实施例的掩码驱动SIMD指令的操作的框图。 图5是根据本专利技术的另一实施例的处理器或处理器核的框图。 图6是示出根据本专利技术的一个实施例的、由处理器执行的方法的流程图。 图7A示出根据本专利技术的一个实施例的示例性高级向量扩展(AVX)指令格式。 图7B示出根据本专利技术的另一实施例的示例性高级向量扩展(AVX)指令格式。 图7C示出根据本专利技术的又一实施例的示例性高级向量扩展(AVX)指令格式。 图8A是示出根据本专利技术的多个实施例的通用向量友好指令格式及其A类指令模 板的框图。 图8B是示出根据本专利技术的多个实施例的通用向量友好指令格式及其B类指令模 板的框图。 图9A是示出根据本专利技术的一个实施例的示例性专用向量友好指令格式的框图。 图9B是示出根据本专利技术的另一实施例的通用向量友好指令格式的框图。 图9C是示出根据本专利技术的另一实施例的通用向量友好指令格式的框图。 图9D是示出根据本专利技术的另一实施例的通用向量友好指令格式的框图。 图10是根据本专利技术的一个实施例的寄存器架构的框图。 图11A是示出根据本专利技术的多个实施例的示例性有序流水线和示例性的寄存器 重命名的无序发布/执行流水线的框图。 图11B是示出根据本专利技术的多个实施例的要包括在处理器中的有序架构核的示 例性实施例和示例性的寄存器重命名的无序发布/执行架构核的框图。 图12A是根据本专利技术的一个实施例的处理器核的框图。 图12B是根据本专利技术的另一实施例的处理器核的框图。 图13是根据本专利技术的多个实施例的处理器的框图。 图14是根据本专利技术的一个实施例的系统的框图; 图15是根据本专利技术的实施例的更具体的示例性系统的框图。 图16是根据本专利技术的另一实施例的更具体的示例性系统的框图。 图17是根据本专利技术的实施例的SoC的框图。 图18是根据本专利技术的多个实施例的、对照使用软件指令转换器将源指令集中的 二进制指令转换成目标指令集中的二进制指令的框图。【具体实施方式】 将参考以下所讨论的细节来描述本专利技术的各实施例和方面,并且所附附图将说明 各实施例。下列描述和附图是说明本专利技术的,并且不应当被解释为限制本专利技术。描述许多 具体的细节以提供对本专利技术的各实施例的透彻理解。然而,在某些实例中,不描述公知的或 常规的细节,以便提供本专利技术实施例的简洁讨论。 在本说明书中提到"一个实施例"或"实施例",意思是指结合该实施例所描述的特 定特征、结构或特性可以被包括在本专利技术的至少一个实施例中。在本说明书中的不同位置 出现短语"在一个实施例中"不一定都是指同一个实施例。 根据一些实施例,SMD指令的掩码值可用于确定特定的数据元素是否将由将向目 的地写入值的对应的ALU处理。如果确定了数据元素将不被处理,则对应的向量通道(例 如,处理该数据元素的处理元件(包括ALU)、寄存器组、数据总线分派路径、引退单元中的 写回路径等)的功耗可减少或被关闭。 在一个实施例中,可在向量指令的分派开始时读取掩码值,使得可在向量ALU流 水线中,在数据元素层级上执行时钟门控,从而避免因对将不会在目的地上被更新的数据 元素的值进行的不必要的位切换而造成的动态功耗浪费。时钟门控可应用于多个流水线 级,包括向量寄存器读取、数据总线分派、混洗和数据变换、ALU执行和写回等。 图3是根据本专利技术的一个实施例的处理器或处理器核的框图。参考图3,处理器 100可表示任何种类的指令处理装置或处理元件。处理元件是指线程、进程、上下文、逻辑处 理器、硬件线程、核和/或共享对处理器的其他共享资源(例如,预留单元、执行单元、流水 线和更高层级的高速缓存/存储器)的访问的任何处理元件。物理处理器通常是指潜在地 包括诸如核或硬件线程之类的任意数量的其他处理元件的集成电路。核通常是指位于集成 电路上的、能够维持独立架构状态的逻辑,其中,每一个被独立地维持的架构状态与至少一 些专用执行资源相关联。在一个实施例中,处理器100可以是通用处理器。处理器100可 以是各种复杂指令集计算(CISC)处理器、各种精简指令集计算(RISC)处理器、各种超长指 令字(VLIW)处理器中的任何处理器,可以是上述处理器的各种混合,或者可以完全是其他 类型的处理器。处理器100也可表示一个或多个处理器核。 可在不同的处理器中,出于不同的目的,以不同的方式来实现处理器核。例如,此 类核的实现可包括:1)旨在用于通用计算的通用有序核;2)旨在用于通用计算的高性能通 用无序核;3)旨在主要用于图形和/或科学(吞吐量)计算的专用核。不同处理器的实现 可包括:1)中央处理单元(CPU),其包括旨在用于通用计算的一个或多个通用有序核和/或 旨在用于通用计算的一个或多个通用无序核;以及2)协处理器,其包括旨在主要用于图形 和/或科学(吞吐量)的一个或多个专用核。此类不同处理器导致不同的计算机系统架构, 其可包括:1)在与CPU分开的芯片上的协处理器;2)本文档来自技高网...
【技术保护点】
一种处理器,包括:指令调度和分派(调度/分派)单元,用于接收单指令多数据(SIMD)指令,所述SIMD指令用于对存储在由第一源操作数指示的存储位置中的多个数据元素执行操作,所述指令调度/分派单元用于基于第二源操作数确定所述数据元素中的第一数据元素,所述第一数据元素将不被操作而生成被写入到目的地操作数中的结果;多个处理元件,耦合至所述指令调度/分派单元,所述多个处理元件用于以向量方式处理所述SIMD指令的所述数据元素;以及功率管理单元,耦合至所述指令调度/分派单元,所述功率管理单元用于减少所述多个处理元件中的配置为用于处理所述第一数据元素的第一处理元件的功耗。
【技术特征摘要】
【国外来华专利技术】
【专利技术属性】
技术研发人员:J·考博尔,D·R·布拉德福德,J·C·豪尔,T·D·弗莱切,B·J·希克曼,D·马可维奇,A·格雷德斯廷,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。