公开了一种处理器和一种方法。在一个实施例中,处理器包括用于存储宏指令的预取缓冲器。此外,处理器还包括时钟电路,所述时钟电路可以为该处理器中的功能单元中的至少一些提供时钟信号。另外,处理器还包括宏指令译码逻辑,所述宏指令译码逻辑可以确定每一个宏指令的类型。此外,处理器还包括时钟管理单元,所述时钟管理单元可以使时钟信号在进入处理器中的不对正在被译码的当前宏指令进行操作的至少一个单元时,保持在稳定状态。最后,处理器还包括可以将第一宏指令译码成一个或多个操作码的至少一个指令译码器单元。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及通过对给定的指令类型或者指令中的特定内容不使用处理器的各部分进行时钟门控,来管理处理器的功耗。
技术介绍
在中央处理单元(CPU)中存在着在指令管道的某些级中操作的多个不同功能单元。根据指令的类型或者指令中的内容,通常不是在同一时间使用所有这些功能单元。因此,不存在同时地开启CPU中的所有功能单元的内在原因。相反,在任何给定时刻,一些单元可能不具有要进行操作的数据。当功能单元没有数据要操作时,其事实上空闲。但是,仍然馈送活动时钟的这种空闲单元将由于所接收的时钟信号,使得通过锁存器的不断切换(即,翻转)而贯穿该单元承受功耗。x86指令包括一些字段。最基本字段中的三个字段是指令操作码字段(例如,move、shift等等)、立即操作数字段和位移字节字段。虽然指令管道中的很多功能单元具有处理这些字段的电路,但在管道中移动的一些指令并不包含任何位移字节信息或者立即操作数信息。在这些情况下,填补这些字段的数据并不被使用,其通常包括随机数据比特。随着该指令在管道中移动,虽然并不使用这些字段,但功能单元仍然观测到输入该信息时它们锁存器的切换。这种切换进一步增加了 CPU的这些功能单元中的功耗。附图说明本专利技术通过示例来说明并且不受附图的限制,在附图中,相同的附图标记指示类似的元件,其中:图1描绘了一种计算机系统的实施例,其中该计算机系统能够基于在该系统中的至少一个处理器中执行的指令的类型和内容,对处理器功耗进行管理。图2描绘了给定的核心中的具体有关单元和功能逻辑块,其使该核心能够通过指令类型确定和指令内容确定来对核心功耗进行管理。图3描述了用于跟踪流经指令管道的浮点微操作的状态机的实施例。图4是用于对译码器中的一个或多个可编程逻辑阵列进行时钟门控的处理的实施例的流程图,其中该译码器配置为对进入该译码器的当前指令进行译码。图5是用于当在管道中不对分支指令进行译码时,对分支单元进行时钟门控的处理的实施例的流程图。图6是用于当在指令管道中不存在浮点指令时,对浮点单元进行时钟门控的处理的实施例的流程图。图7是用于当指令不使用指令的立即和位移字节字段时,将这些字段清零的处理的实施例的流程图。具体实施方式公开了基于指令管道中的指令的类型和内容,对处理器功率进行管理的处理器和方法的实施例。图1描绘了一种计算机系统的实施例,其中该计算机系统能够基于在该系统中的至少一个处理器中执行的指令的类型和内容,对处理器功耗进行管理。示出了计算机系统100。该计算机系统可以是台式计算机、服务器、工作站、膝上型计算机、手持装置、电视机顶盒、媒体中心、游戏控制台、集成系统(例如在汽车中)或者其它类型的计算机系统。在一些实施例中,计算机系统100包括还称为“处理器”的一个或多个中央处理单元(CPU)。虽然在很多实施例中,可以存在多个CPU,但在图1所示的实施例中,为了简单起见,只示出了 CPU102。CPU102可以是Intel 公司cpu或者另一个品牌的cpu。在不同的实施例中,CPU102包括一个或多个核心。CPU102示出为包括四个核心(核心104、106,108 和 110)。在很多实施例中,每一个核心包括一些内部功能模块/单元/逻辑组件,例如,在核心104的放大视图中所示出的那些。例如,核心104至少包括指令/数据(S卩,层1、LI)高速缓存112、预取缓冲器114、预译码高速缓存116、指令译码器118、分支地址计算单元120、指令队列122、浮点执行单元124、分配/引退单元126和时钟管理/生成逻辑128。下面参照图2来更详细地讨论这些单元和逻辑组件中的一些。通常,与核心104中所示的这些单元相比,在每一个核心中存在更多的单元、寄存器和其它电路,其包括所示出的每一个单元的潜在几个复制(例如,一个或多个整数/地址执行单元、3个浮点单元等等),但为了维持图1的重要构成元素的清楚性,没有示出其它的单元。在单线程核心中,每一个核心可以称为一个硬件线程。当核心是多线程或者超线程时,则在每一个核心内运行的每一个线程也可以称为一个硬件线程。因此,在计算机系统100中运行的任何单个线程的执行都可以称为一个硬件线程。例如,在图1中,如果每一个核心是单线程的,则在该系统中存在四个硬件线程(四个核心)。另一方面,如果每一个核心是多线程的,具有同时维持两个线程的状态的能力,则在该系统中存在八个硬件线程(四个核心,每一个核心两个线程)。CPU102还可以包括一个或多个非LI高速缓存,例如非LI高速缓存112。在很多实施例中,在CPU102中在任何给定的核心之外存在至少一个非LI高速缓存(例如,高速缓存130)。另外,在很多实施例中,在所示出的四个核心之间共享高速缓存130。在没有示出的其它实施例中,实现不同于高速缓存130的其它非LI高速缓存。在不同的实施例中,以不同的方式分配高速缓存130。另外,在不同的实施例中,高速缓存130可以具有多种不同大小中的一种。例如,高速缓存130可以是8兆字节(MB)高速缓存、16MB高速缓存等等。另外,在不同的实施例中,高速缓存130可以是直接映射高速缓存、全相联高速缓存、多路组相联高速缓存或者具有其它类型的映射的高速缓存。在很多实施例中,高速缓存130可以包括在所有核心之间共享的一个很大部分,或者其可以划分成一些单独地功能切片(例如,每一个核心一个切片)。高速缓存130还可以包括在所有核心之间共享的一个部分,以及作为每一个核心的单独功能切片的一些其它部分。在很多实施例中,CPU102包括集成的系统存储器控制器132,以提供用于与系统存储器134进行通信的接口。在没有示出的其它实施例中,存储器控制器132可以位于计算机系统100中分立的不同地方。系统存储器134可以包括动态随机存取存储器(DRAM)(如,双倍数据速率(DDR)DRAM的类型)、诸如闪存之类的非易失性存储器、相变存储器(PCM)或者另一种类型的存储器技术。系统存储器134可以是用于存储数据和指令以便由CPU102进行操作的通用存储器。另外,在计算机系统100中还可以存在其它潜在设备,其中这些设备具有从/向系统存储器进行读取/写入的能力,如具有直接存储器存取(DMA)能力的I/O (输入/输出)设备。耦合CPU102与系统存储器134的链路(即,总线、互连等等)可以包括一个或多个光学、金属或者能够传输数据、地址、控制和时钟信息的其它线(即,线路)。平台控制器中心(PCH) 136 (例如,I/O控制器和其它电路的复合体)包括I/O接口,所述I/O接口能实现CPU102和外部I/O设备之间的通信。该复合体可以包括一个或多个I/o适配器,例如,I/O适配器138。I/O适配器将CPU102中使用的主机通信协议转换成与特定的I/O设备(例如,I/O设备140)相兼容的协议。给定的I/O适配器可以转换的这些协议中的一些包括:快速外围组件互连(PCI)、通用串行总线(USB)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、廉价磁盘冗余阵列(RAID)和1394 “火线”等等。另夕卜,可以存在一个或多个无线协议I/O适配器。无线协议的示例是蓝牙、基于IEEE802.11的无线协议和蜂窝协议等等。除I/O设备之外,PCH136还可以耦本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:V·R·马杜里,J·Y·童,H·张,
申请(专利权)人:英特尔公司,
类型:
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。