CN106020424B - 有功率效率的处理器体系结构 - Google Patents
有功率效率的处理器体系结构 Download PDFInfo
- Publication number
- CN106020424B CN106020424B CN201610364515.9A CN201610364515A CN106020424B CN 106020424 B CN106020424 B CN 106020424B CN 201610364515 A CN201610364515 A CN 201610364515A CN 106020424 B CN106020424 B CN 106020424B
- Authority
- CN
- China
- Prior art keywords
- core
- processor
- state
- logic
- cores
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 14
- 230000008878 coupling Effects 0.000 claims description 7
- 238000010168 coupling process Methods 0.000 claims description 7
- 238000005859 coupling reaction Methods 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 5
- 238000011084 recovery Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 9
- 230000005611 electricity Effects 0.000 description 7
- 230000002618 waking effect Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 229910003460 diamond Inorganic materials 0.000 description 3
- 239000010432 diamond Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 210000000352 storage cell Anatomy 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- ZDXPYRJPNDTMRX-VKHMYHEASA-N L-glutamine Chemical compound OC(=O)[C@@H](N)CCC(N)=O ZDXPYRJPNDTMRX-VKHMYHEASA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 229940069807 nutrestore Drugs 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003716 rejuvenation Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明涉及有功率效率的处理器体系结构。在一个实施例中,本发明包括用于从加速器接收中断,响应于中断,将恢复信号直接发送到小核,将大核的执行状态的子集提供到第一小核,以及判断小核是否可以处理与中断相关联的请求,如果判断是肯定的,在小核中执行与该请求相对应的操作,否则,将大核执行状态和恢复信号提供到大核的方法。描述并要求保护其他实施例。
Description
本申请是申请日为2011年9月6日申请号为第201180073263.X号发明名称为“有功率效率的处理器体系结构”的中国专利申请的分案申请。
技术领域
本法明涉及处理器领域,并且更具体地,涉及有功率效率的处理器体系结构。
背景技术
通常,当可能时,处理器使用电能节省睡眠模式,诸如根据高级配置和电源接口(ACPI)标准(例如,2006年10月10日发布的Rev.3.0b)。当核空闲或不完全被使用时,除电压和频率调整(DVFS或ACPI性能状态(P状态))之外,这些所谓的C状态核低功率状态(ACPI C状态)可以节省电能。然而,甚至在多核处理器上下文中,核常常从生效的睡眠状态醒来,以执行相对简单的操作,然后,返回到睡眠状态。此操作会对功率效率产生不利的影响,因为退出和返回低功率状态存在延迟和功率消耗的成本。在状态转换过程中,在一些类型的处理器中可能消耗电能但并不完成有用的工作,这对功率效率不利。
在退出低功率状态时要处理的操作的示例包括:键盘输入、计时器中断、网络中断、等等。为以功率敏感的方式来处理这些操作,当前操作系统(OS)通过一次处理较大的数据量或移动到无空循环OS(其中没有周期性的计时器中断,只有零星的编程中断),来改变程序行为。另一策略是使用计时器聚合,其中,将多个中断组合起来并同时处理。但是,除了改变程序的行为之外,这些选项中全部都产生复杂性,并仍会导致功率效率低的操作。进一步地,某些类型的软件(例如,媒体播放)会通过请求频繁的周期性唤醒(不管多少工作需要完成),而尝试击败硬件功率效率机制。如此,无空循环/计时器聚合策略可以通过减少不需要的从深C状态中醒来的次数,来节省一定功率,但是,它们需要对OS进行侵害性的改变,并可能花费大量的时间穿过计算生态系统,因为这样的改变直到操作系统的新版本被分发之前不会被实现。
附图说明
图1是根据本发明的一个实施例的处理器的框图。
图2是根据本发明的另一实施例的处理器的框图。
图3是根据本发明的一个实施例的在核之间的恢复流选项的流程图。
图4是根据本发明的一个实施例的方法的流程图。
图5是根据本发明的一个实施例的用于传输执行状态的方法的流程图。
图6是根据本发明的再一个实施例的处理器的框图。
图7是示出了根据本发明的更进一步的实施例的处理器的框图。
图8是根据本发明的再一个实施例的处理器的框图。
图9是根据本发明的一个实施例的时序图。
图10是根据本发明的一个实施例的节电量的图解说明。
图11是根据本发明的实施例的系统的框图。
具体实施方式
在各种实施例中,在异构型处理器环境中,平均功率消耗会缩小。此异构型环境由于系统和功率效率原因,可以包括大型的快速核和较小的更有功率效率的核。进一步地,各实施例可以对在处理器上执行的操作系统(OS)透明的方式来提供此功率控制。然而,本发明的范围不仅限于异构型环境,也可以用于同质的环境(以对OS透明的,但不一定硬件异构的角度而言),以降低平均功率(例如,在多处理器环境中,使尽可能多的核睡眠)。各实施例可以在硬件加速的环境(诸如其中核常常睡眠的基于平板计算机和芯片上系统(SoC)体系结构)中特别合适。
一般而言,各实施例通过将所有唤醒信号定向到较小的核而并非较大的核,来进行功率控制。如此,当系统95%空闲时,平均功率可以降低超过两倍。如下文所描述的,在许多实施例中,可以将此较小的核与OS分离。即,此较小的核的存在对OS来说是未知的,如此,此核对OS不可见。如此,各实施例可以对OS以及在处理器上执行的应用程序所透明的方式,通过处理器硬件提供有功率效率的处理器操作。
现在参考图1,所示是根据本发明的一个实施例的处理器的框图。如图1所示,处理器100可以是具有若干个大核、小核和加速器的异构型处理器。虽然此处是在多核处理器的上下文中描述的,但是,可以理解,实施例不受限制,在各实现中,可以在SoC或其他基于半导体的处理设备内。请注意,加速器可以基于输入工作的队列来执行工作,无论处理器核是否已经通电。在图1的实施例中,处理器100包括多个大核。在所示出的特定实施例中,示出了两个这样的核110a和110b(一般性地,大核110),虽然可以理解,可以提供两个以上的这样的大核。在各实现中,这些大核可以是具有相对复杂的流水线体系结构并根据复杂指令集计算(CISC)体系结构来操作的无序(out-of-order)处理器。
另外,处理器100还包括多个小核120a-120n(一般性地,小核120)。虽然在图1的实施例中示出了8个这样的核,但是,可以理解,本发明的范围在此方面不受限制。在各种实施例中,小核120可以是有功率效率的有序(in-order)处理器,例如,以根据CISC或精简指令集计算(RISC)体系结构来执行指令。在某些实现中,这些核中的两个或更多的核可以串联耦合在一起,以执行相关处理,例如,如果多个大核处于节能状态,那么,一个或多个较小的核可以处于活动以执行工作,否则这些工作将唤醒大核。在许多实施例中,小核120可以对OS是透明的,虽然在其他实施例中,小核和大核可以暴露于OS,有配置选项可用。一般而言,可以在不同的实施例中使用大核的和小核之间的任何核的混合。例如,可以对每个大核提供单个小核,或者在其他实施例中,单个小核可以与多个大核相关联。
如此处所使用的,术语“大核”可以是具有相对复杂的设计并与“小核”相比可能消耗相对大的芯片面积的处理器核,而小核可以具有复杂性较小的设计并消耗相应地小一些的的芯片面积。另外,小一些的核相比于较大的核而言功率效率更高,因为它们可能比较大的核具有更小的热设计功耗(TDP)。然而,可以理解,与大核相比,较小的核在其处理能力方面是受限制的。例如,这些较小的核可能不能处理在大核中可行的所有操作。另外,较小的核在指令处理时可能是效率相对较低的。即,在大核中比在小核中更快速地执行指令。
进一步可以看出,大核110和小核120都可以耦合到互连130。在不同的实施例中,可以实现此互连结构的不同的实现。例如,在某些实施例中,互连结构可以根据前端总线(FSB)体系结构或快速路径互连(QPI)协议。在其他实施例中,互连结构可以根据一给定的系统互连结构。
仍参考图1,多个加速器140a-140c还可以耦合到互连130。虽然本发明的范围在这方面不受限制,但是,加速器还可以包括媒体处理器,诸如音频和/或视频处理器、密码处理器,固定功能单元、等等。这些加速器可以由设计核的相同设计人员来设计,或者可以是包括到处理器中的独立第三方智能属性(IP)块。一般而言,专用处理任务可以在这些加速器中比它们在大核或小核中更有效率地执行,无论是就性能而言还是就功率消耗而言。虽然在图1的实施例中利用此特定实现示出的,但是可以理解,本发明的范围在这方面不受限制。例如,代替只有两种类型的核(即,大核和小核),其他实施例可以具有多个核的层次结构,包括至少大核、中等核和小核,中等核具有比小核更大的芯片面积,但是比大核更小的芯片面积,并具有在大核和小核的功率消耗之间的对应的功率消耗。在其他实施例中,小核可以嵌入在较大的核内,例如,作为较大的核的逻辑和结构的子集。
此外,尽管在图1的实施例中被示为包括多个大核和多个小核,但是,对于诸如移动处理器或SoC之类的某些实现,可以只提供单个大核和单个小核。具体而言,现在参考图2,所示是根据本发明的另一实施例的处理器的框图,其中,处理器100"包括单个大核110和单个小核120,以及互连130和加速器140a-c。如上文所提及的,此实现可以适于移动应用。
作为典型的大核的示例功率图形,功率消耗可以是大约大致6000毫瓦(mW),而对于中等核,功率消耗可以是大约大致500mW,而对于非常小核,功率消耗可以是大约大致15mW。在避免唤醒大核的一种实现中,可以实现显著的功率效益。
各实施例使较大的,功率效率稍低的核保持在低功率睡眠状态的时间比它们在其他情况下所能保持的更长。通过将中断及其他核唤醒事件定向到较小的核而不是较大的核,较小的核可以运行更长的时间,并唤醒得更频繁,但是,这比唤醒大核来执行诸如数据移动之类的无足轻重的任务而言更有功率效率。请注意,如下面对于某些操作所描述的,例如当较小的核可能无法支持矢量运算(例如,AVX运算)、复杂寻址模式或浮点(FP)运算时,大核被通电以执行。在这样的情况下,可以将唤醒信号从小核重新路由到大核。
例如,当在处理器上执行硬件加速的1080p视频播放时,每秒发生进出核C6状态的超过1000次的过渡以及几乎1200次的中断。如果使用本发明的实施例,甚至这些唤醒事件的一部分被重新定向到较小的核,则可以实现显著的的节电量。
图3概述了根据本发明的一个实施例的核之间的恢复流选项。如图3所示,存在软件域210和硬件域220。一般而言,软件域210对应于相对于电源管理的OS操作,例如,根据ACPI实现。一般而言,OS,根据其调度机制,基于它的对即将来临的任务的了解,可以选择多个C状态中的一个,以请求处理器进入到低功率模式。例如,OS可以发出MWAIT调用,该调用包括正在被请求的特定低功率状态。
一般而言,CO对应于执行指令的正常操作状态,而状态C1-C3是OS较低功率状态,每一状态都具有不同级别的节电量,以及返回到CO状态的对应不同级别的延迟。可以看出,取决于处理器的预期的工作负荷,OS可以选择非空闲状态,例如,OS CO或多个空闲状态中的一个,例如,OS C状态C1-C3。这些空闲状态中的每一个都可以被映射到在处理器硬件的控制之下的对应的硬件低功率状态。如此,处理器硬件可以将给定OS C状态映射到对应的硬件C状态,该C状态可以比由OS所指定的节电量提供更大的节电量。一般而言,较浅的C状态(例如,Cl)比起较深的C状态(例如,C3)节省更少功率,但是具有较低的恢复时间。在各种实施例中,硬件域220和OS C状态到处理器C状态的映射可以由处理器的功率控制单元(PCU)来执行,虽然本发明的范围在这方面不受限制。此映射可以基于以前的基于OS的电源管理请求的历史。此外,判断可以基于整个系统的状态、配置信息等等。
另外,PCU或其他处理器逻辑还可以被配置成将所有唤醒事件定向到最小的可用核(在各种实施例中,可以是OS不可见的核)。如图3所示,在从给定基于硬件的空闲状态退出时,控制直接恢复到最小的可用核,由此状态被传输到此最小的核。相比之下,在常规硬件/软件恢复中,控制只返回到大核。一般而言,OS基于预期的空闲时间和恢复延迟要求,来选择C状态,体系结构将该C状态映射到硬件C状态。如此,如图3的实施例所示,所有恢复信号(诸如中断)被路由到最小的可用核,该核判断它是否可以处理恢复操作,或相反,将唤醒信号发送到较大的核以继续。请注意,各实施例不干扰现有的P状态或C状态自动降级,其中,在现有的P状态或C状态自动降级中,硬件基于测量到的试验性的效率而自动地选择带有较低的恢复延迟的硬件C状态。请注意,PCU或另一可编程的实体可以检查传入的唤醒事件来判断将它们路由到哪一个核(大核还是小核)。
如上文所描述的,在某些实现中,小核本身可以不让OS和应用程序软件看见。例如,小-大核配对可以是被分离的,并不让应用程序软件看见。在低功率状态,所有核都可以是睡眠的,而加速器(诸如视频解码加速器)执行诸如解码任务之类的给定任务。当加速器用完数据时,它定向唤醒信号,以请求可以来自于小核的另外的数据,该小核唤醒并判定可以实现此简单数据移动操作而不会唤醒大核,如此,节省了电能。如果计时器中断到达并且小核唤醒并检测到在指令流中存在复杂矢量操作(诸如256比特AVX指令),则可能唤醒大核以处理复杂指令(及此流中的其他指令),以缩短延迟。在替换实现中,全局硬件观察机制可以位于PCU中,或位于PCU附近的另一非核位置,或作为全局互连上的硬件逻辑的单独部分,或作为对小核的内部控制逻辑的补充,全局硬件观察机制可以检测到小核遇到AVX指令,并可以生成未定义指令故障,该故障可能会导致小核关闭,并在唤醒较大的核之后将指令流重新定向到该较大的核。请注意,此行为可以不限于指令,并扩展到配置或特征。例如,如果小核遇到向只存在大核上的配置空间的写入,它可以请求大核的唤醒。
现在参考图4,所示是根据本发明的实施例的方法的流程图。请注意,取决于给定实现,图4的方法可以通过各种代理来执行。例如,在某些实施例中,方法300可以部分地通过处理器内的诸如功率控制单元之类的系统代理电路(可以处于系统代理中或处理器的非核部分)来实现。在其他实施例中,方法300可以部分地通过互连结构内的诸如功率控制逻辑之类的互连逻辑来实现,互连逻辑可以例如从耦合到互连结构的加速器接收中断,并将中断转发到选择的位置。
如图4所示,方法300可以通过将大核和小核置于睡眠状态来开始(框310)。即,假定在核中没有活动的操作正在被执行。如此,可以它们将置于所选的低功率状态,以降低功率消耗。虽然核可能不是活动的,但是,处理器或诸如一个或多个加速器之类的SoC内的其他代理可以执行任务。在框320,可以从这样的加速器接收到中断。当加速器完成了任务、遇到错误、或当加速器需要另外的数据、或其他处理将由另一组件(诸如,给定核)执行时,可以发送此中断。控制进入框330,在那里,逻辑可以将恢复信号直接发送到小核。即,逻辑可以被编程为当大核和小核两者都处于低功率状态时,始终将恢复信号发送到小核(或发送到多个这样的小核中的所选的一个小核,取决于系统实现)。通过将中断直接并始终发送到小核,对于那些小核可以处理所请求操作的中断的许多情况,可以避免大核中的更大的功率消耗。请注意,可以向框330添加某些类型的过滤或高速缓存机制,以便根据需要而始终将某些中断源路由到一个核或另一核,以平衡性能和功率。
仍参考图4,控制接下来转到菱形340,在那里,可以判断小核是否可以处理与中断相关联的请求。虽然本发明的范围在这方面不受限制,但是,在某些实施例中,可以在小核被唤醒之后在小核其本身中进行此判断。或者,执行图4的方法的逻辑可以执行判断(在这样的情况下,在向小核发送恢复信号之前,可以执行此分析)。
作为示例,小核可以基于小核的性能要求和/或和/或指令集体系结构(ISA)能力来判断它是否可以处理所请求的操作。如果小核由于它没有ISA支持而不能处理所请求的操作,则小核的前端逻辑可以解析接收到的指令流,并判定流中的至少一个指令不被小核支持。相应地,小核可以发出未定义指令故障。可以将此未定义故障发送到PCU(或另一实体),该PCU(或另一实体)可以分析故障和小核的状态以判断未定义故障是否是由于小核没有用于处理指令的硬件支持,或者如果它是真正的未定义故障。在后一种情况下,未定义故障可以被转发到OS,用于进一步处理。如果故障是由于小核没有合适的用于处理指令的硬件支持,则PCU可以将传输到此小核的执行状态传输到对应的大核,以处理请求的指令。
在其他实施例中,当判断小核已经执行了太长时间或性能级别太低时,可以发生执行状态在小核和大核之间的传输。即,假设小核已经执行了数千或数百万处理器周期,以执行请求的任务。由于在大核中有更多有利的执行可用,通过将状态传输到大核以使大核能够更快速地结束任务,可以发生更大的功率减小。
仍参考图4,如果判断可以在小核中处理所请求的操作,则控制进入框350,在那里,如此,在小核中执行操作。例如,假设搜请求的操作是数据移动操作,则小核可以执行所请求的处理,如果对于小核没有其他任务是待办的,则可以再次将它置于低功率状态。
如果相反在菱形340中判断小核不能处理所请求的操作,例如,如果操作是小核没有配置处理的相对复杂操作,则控制转到框360。在那里,可以发送唤醒信号,例如,直接从小核发送到大核,以使大核被通电。相应地,控制进入框370,在那里,请求的操作如此可以在大核中执行。请注意,虽然在图4的实施例中利用此特定操作组来描述的,但是,可以理解,本发明的范围在这方面不受限制。
如此,在各种实施例中,可以提供允许硬件中断及其他唤醒信号被直接路由到小核而不会唤醒大核的机制。请注意,在不同的实现中,小核其本身或监督代理可以判断是否可以在不唤醒大核的情况下完成唤醒信号和处理。在代表性的情况下,较小的核的功率效率可以比较大的核要高得多,并且结果可只支持大核所支持指令的子集。在从低功率状态中醒来时要执行的许多操作可以被推卸给更简单的,功率效率更高的核,以避免在异构环境中唤醒更大的更强力的核(在异构环境中由于性能或功率效率原因,许多各种大小的核被包括在系统中)。
现在参考图5,所示是根据本发明的一个实施例的用于传输执行状态的方法的流程图。如图5所示,在一个实施例中,方法380可以由PCU的逻辑来执行。此逻辑可以响应于将大核置于低功率状态的请求而触发。响应于这样的请求,方法380可以从框382开始,在那里,大核的执行状态可以被存储在临时存储区中。请注意,此临时存储区可以是与核相关联的专用状态保存区,或者,它可以在诸如末级高速缓存(LLC)之类的共享高速缓存器内。虽然本发明的范围在这方面不受限制,但是,执行状态可包括通用寄存器、状态和配置寄存器,执行标记等等。另外,此时,可以执行使大核被置于低功率状态的额外的操作。这样的操作包括清空内部缓存,及其他状态以及用于关闭给定核的信令。
仍参考图5,可以判断小核是否恢复(菱形384)。此恢复可以作为响应于中断而接收到的恢复信号的结果而发生,该中断来自例如处理器的加速器。作为小核恢复的一部分,控制进入框386,在那里,可以从临时存储区中提取大核状态的至少一部分。更具体而言,此提取的部分可以是大核的执行状态中将被小核所使用的那部分。作为示例,此状态部分可以包括主寄存器内容,诸如某些执行标记之类的各种标记、机器状态寄存器等等。然而,某些状态可能不能被提取,诸如与大核中存在的但在小核中没有对应执行单元的一个或多个执行单元相关联的状态。可以将状态的此提取的部分发送到小核(框388),如此,使小核能响应于给定中断而执行任何合适的操作。虽然在图5的实施例中利用此特定实现示出的,但是,可以理解,本发明的范围在这方面不受限制。
现在参考图6,所示是根据本发明的实施例的处理器的框图。如图6所示,处理器400可以是多核处理器,包括可以向OS公开的第一多个核410i-410n,对OS透明的第二多个核410a-x。
可以看出,各种核可以通过互连415而耦合到包括各种组件的系统代理或非核420。可以看出,非核420可以包括作为末级高速缓存的共享高速缓存器430。另外,非核可以包括集成的存储器控制器440、各种接口450a-n、功率控制单元455,以及高级可编程中断控制器(APIC)465。
PCU 450可以包括根据本发明的一个实施例的实现有功率效率的操作的各种逻辑。可以看出,PCU 450可包括可以执行如上文所述唤醒的唤醒逻辑452。如此,逻辑452可以被配置成始终首先唤醒小核。然而,此逻辑可以被动态地配置,以在某些情况下,不执行这样的小核直接唤醒。例如,系统可以被动态地配置成用于电能节省操作,例如,当系统是利用电池运行的移动系统时。在这样的情况下,逻辑可以被配置成始终唤醒小核。相反,如果系统是连接到墙上电源的服务器系统、台式机或膝上型计算机系统,则实施例可以提供基于用户的选择,以选择延迟和性能而不是节电量。如此,在这样的情况下,唤醒逻辑452可以被配置为响应于中断,唤醒大核,而并非小核。当判断大量的小核唤醒会导致重定向到大核时,可以执行大核的类似的唤醒。
为进一步实现有功率效率的操作,PCU 450还可以包括可以在大核和小核之间进行执行状态传输的状态传输逻辑454。如上文所讨论的,在低功率状态,可以使用此逻辑来获取存储到临时存储器中的大核的执行状态,并提取该状态的至少一部分,以在小核唤醒时提供给小核。
进一步地,PCU 450可以包括中断历史存储器456。这样的存储器可以包括多个条目,每一条目都标识在系统操作过程中发生的中断以及中断是否成功地被小核处理。然后,基于此历史,当接收到给定中断时,可以访问此存储器的对应的条目,以判断相同类型的前一中断是否成功地被小核处理。如果是,则PCU可以将新传入的中断定向到相同小核。相反,如果基于此历史判断,这种类型的中断没有被小核成功地处理(或带有不能令人满意的低性能),相反,中断可以被发送到大核。
仍参考图6,PCU 450还可以包括未定义处理逻辑458。这样的逻辑可以接收由小核所发出的未定义故障。基于此逻辑,可以访问小核中的信息。然后,可以判断未定义故障是否是由于缺乏对于小核中的指令的支持或另一种原因。响应于此判断,逻辑可以导致小核的状态与大核执行状态(存储在临时存储区中)的剩余部分的合并并在那之后被发送到大核用于对中断的处理,或者将未定义故障发送到OS以用于进一步的处理。当判断小核不能处理中断时,随即从小核获取提供给小核的执行状态的一部分,并保存回到临时存储位置,相应地,可以将小核断电。然后,可以将此合并的状态以及大核的剩余执行状态提供回到大核,以使大核能够处理小核不能处理的中断。还应注意,可以响应于小核的这样的处理不当,可以写入中断历史存储器456中的条目。虽然在图6的实施例中利用此特定逻辑示出的,但是,可以理解,本发明的范围在这方面不受限制。例如,在其他实施例中,PCU 450的各种逻辑可以以单一逻辑块来实现。
APIC 465可以接收各种中断(例如,从加速器发出的),并相应地将中断定向到给定的一个或多个核。在某些实施例中,为将小核维持为对OS隐藏,APIC 465可以动态地将传入的中断(每一个中断都可以包括与它相关联的APIC标识符)从与大核相关联的APIC ID重新映射到与小核相关联的APIC ID。
进一步参考图6,处理器400可以,例如,通过存储器总线,与系统存储器460进行通信。另外,通过接口450,可以连接到诸如外围设备、大容量存储器等等之类的各种芯片外组件。尽管在图6的实施例中利用此特定实现示出的,但是,本发明的范围在这方面不受限制。
请注意,各种体系结构实现大核和小核的不同的耦合或集成也是可以的。作为示例,这些完全不同的核之间的耦合度可以依赖于与管芯区域、功率、性能和响应性相关的各种设计优化参数。
现在参考图7,所示是根据本发明的另一个实施例的处理器的框图。如图7所示,处理器500可以是包括大核510和小核520的真正的异构型处理器。可以看出,每一处理器都可以与其自己的专用高速缓存存储器层次结构(即,可以包括1级和2级高速缓存存储器的高速缓存存储器515和525)相关联。核又可以通过环形互连530耦合在一起。多个加速器540a和540b和LLC(即,L3高速缓存550,可以是共享高速缓存器)也耦合到环形互连。在此实现中,两个核之间的执行状态可以通过环形互连530来传输。如上文所描述的,大核500的执行状态可以在进入到给定低功率状态之前被存储在高速缓存550中。然后,在小核520的唤醒时,至少此执行状态的子集可以被提供到小核,以读取核,以便执行触发其唤醒的操作。如此,在图7的实施例中,核通过此环形互连松散耦合。虽然为便于图示利用单个大核和单个小核示出的,但是,应理解,本发明的范围在这方面不受限制。通过使用诸如图7的实现,可以通过环形体系结构(还可以是总线或者互连结构体系结构)来处理要被交换的任何状态或通信。或者,在其他实施例中,此通信可以通过两个核之间的专用总线(在图7中未示出)。
现在参考图8,所示是根据本发明的再一个实施例的处理器的框图。如图8所示,处理器500"可以是混合型异构型处理器,其中,在大核和小核之间有紧密耦合或集成。具体而言,如图8所示,大核510和小核520可以共享一共享高速缓存器存储器518,该存储器518在各种实施例中可以包括1级和2级高速缓存。如此,执行状态可以通过此高速缓存存储器从一个核被转移到其他核,如此,避免了通过环形互连530的通信的延迟。请注意,此布局由于减少的数据移动开销并且核之间的通信更快而获得更低的功率,但是,可能不够灵活。
应该注意,图7和8只示出了两种可能的实现(只示出了数量有限的核)。还可以有更多实现,包括核的不同的布局,两种方案的组合,两种以上的类型的核等等。在图8的变体中,两个核可以共享某些组件,诸如执行单元、指令指针或寄存器文件。
如讨论的,各实施例可以是完全透明的,对操作系统不可见,如此,没有软件修改,只有最少的从C状态的恢复时间的延长。在其他实施例中,小核的存在和可用性可以向OS公开,如此,使得OS能作出是将中断提供到小核还是大核的决定。此外,各实施例还可以在诸如基本输入输出系统(BIOS)之类的系统软件中提供向OS公开大核和小核,或配置是否公开小核的机制。各实施例会增加明显的从C状态的恢复时间,但是,这是可以接受的,因为当前平台在恢复延迟方面有差异,当前,在核的状态正在被恢复的时间,不执行有用的工作。小核和大核如何不同的比率可以从微不足道的差异到较大的微体系结构差异之间变化。根据各实施例,异构核之间的大多数主要区别可以是管芯区域以及由核消耗的功率。
在某些实现中,可以提供控制机制,以便如果检测到在恢复时大核大部分时间都是醒着的,则可以回避对小核的唤醒,并可以直接唤醒大核至少达预定的时间长度以保持性能。请注意,在某些实施例中,一般地将所有中断及其他唤醒信号重新定向到小核或者大核的机制可以向软件(系统和用户级别的软件)公开,这取决于应用和系统的功率和性能要求。作为一个这样的示例,可以提供用户级别的指令,以将唤醒操作定向到指定的核。这样的指令可以是类似于MWAIT的指令的变体。
在某些实施例中,加速器可以将带有中断的暗示发送到PCU或其他管理代理,以指出所请求的操作是相对简单的操作,由此可以在小核中有效地处理它。此加速器提供的暗示可以被PCU用来自动地将传入的中断定向到小核,用于进行处理。
现在参考图9,所示是示出了根据本发明的一个实施例的在大核710和小核720中发生的操作的时序图。可以看出,可以通过允许设备中断被直接提供到小核720,并在小核中判断它是否可以处理中断,来实现大核710的比较长的睡眠持续时间。如果可以,大核710可以保持在睡眠状态,并在小核720中处理中断。
现在参考图10,所示是根据本发明的一个实施例的节电量的图解说明。如图10所示,在具有从活动CO状态到深的低功率状态(例如,C6状态)的过渡的常规系统中,大核的核功率消耗从相对较高的级别(例如,在每次进入到CO状态过程中的500mW)到C6中的零功率消耗级别(中间视图)之间变化。相反,在本发明的一个实施例中(底视图),到CO状态的唤醒可以被从大核离开并被定向到小核,由此,并非是500mW功率消耗级别,小核可以在低得多的功率级别处理CO状态,例如,在图10的实施例中是10mW。
各实施例可以以许多不同的系统类型来实现。现在参考图11,所示是根据本发明的实施例的系统的框图。如图11所示,多处理器系统600是点对点互连系统,并包括通过点对点互连650而耦合的第一处理器670和第二处理器680。如图11所示,处理器670和680中的每一个都可以是多核处理器,包括第一和第二处理器核(即,处理器核674a和674b以及处理器核684a和684b),虽然潜在地更多核可以存在于处理器中。更具体而言,处理器中的每一个都可包括大核,小核(以及可能还有中等核),加速器等等的混合,还有当至少大核处于低功率状态时,将唤醒定向到最小的可用核的逻辑,如此处所描述的。
仍参考图11,第一处理器670还包括存储器控制器中枢(MCH)672和点对点(P-P)接口676和678。类似地,第二处理器680包括MCH 682和P-P接口686和688。如图11所示,MCH672和682将处理器耦合到相应的存储器,即,存储器632和存储器634,它们可以是本地连接到相应的处理器的系统存储器(例如,DRAM)的一部分。第一处理器670和第二处理器680可以分别通过P-P互连652和654来耦合到芯片集690。如图11所示,芯片集690包括P-P接口694和698。
此外,芯片集690还包括接口692,接口692通过P-P互连639而将芯片集690与高性能图形引擎638耦合。芯片集690又可以通过接口696耦合到第一总线616。如图11所示,各种输入/输出(I/O)设备614以及总线桥接器618可以耦合到第一总线616,总线桥接器618将第一总线616耦合到第二总线620。各种设备可以耦合到第二总线620,包括,例如,键盘/鼠标622、通信设备626和数据存储单元628,数据存储单元628诸如磁盘驱动器或可以包括代码630的其他大容量存储设备。进一步地,音频I/O 624可以耦合到第二总线620。各实施例可以被包括到其他类型的系统中,包括诸如智能蜂窝电话、平板电脑、上网本等等之类的移动设备。
各实施例可以以代码来实现,并可以存储在在其上存储了指令的非瞬时的存储介质上,指令可以被用来对系统进行编程以执行指令。存储介质可以包括,但不仅限于,任何类型的磁盘,包括软盘、光盘、固态驱动器(SSD)、光盘只读存储器(固态驱动器)、光盘可重写(CD-RW),以及磁光盘、诸如只读存储器(ROM)之类的半导体器件、诸如动态随机存取存储器(DRAM)、和静态随机存取存储器(SRAM)之类的随机访问存储器(RAM)、可擦除编程只读存储器(EPROM)、闪存、电可擦除编程只读存储器(EEPROM)、磁卡或光卡,或适于存储电子指令的任何其他类型的介质。
尽管是参考数量有限的实施例来描述本发明的,但是,那些精通本技术的人将从其中理解很多修改和变体。所附权利要求书涵盖所有这样的修改和变体都将在本发明的真正的精神和范围内。
Claims (17)
1.一种处理器,包括:
密码加速器;
视频加速器;
存储器控制器;
第一多个核;
第二多个核,所述第二多个核与所述第一多个核是异构的并且具有较低的功耗;
互连,用于耦合所述第一多个核和所述第二多个核;
与至少所述第一多个核耦合的共享高速缓存存储器;以及
使所述第二多个核中的核执行操作的逻辑,其中,至少部分基于所述第二多个核中的所述核的性能级别,所述逻辑用于使所述第二多个核中的所述核的执行状态被传输至所述第一多个核中的核以便使所述第一多个核中的所述核执行所述操作,所述逻辑用于基于中断历史,在所述第一多个核中的所述核以及所述第二多个核中的所述核处于低功率状态时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断而被唤醒。
2.如权利要求1所述的处理器,其特征在于,所述逻辑用于在表格的条目指出所述第二多个核中的所述核响应于与所述中断相同类型的前一中断产生过未定义故障时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断而被唤醒。
3.如权利要求1所述的处理器,其特征在于,所述逻辑用于响应于所述中断而将所述第一多个核中的所述核的执行状态的子集提供给所述第二多个核中的所述核。
4.如权利要求3所述的处理器,其特征在于,响应于所述第二多个核中的所述核不能处理至少一个所请求的操作的确定,所述逻辑用于从所述第二多个核中的所述核获得所述执行状态的所述子集并且用于将所述执行状态子集与临时存储区域中存储的所述第一多个核中的所述核的执行状态的其余部分合并。
5.如权利要求1所述的处理器,其特征在于,所述视频加速器用于执行一任务并且用于在所述任务完成之际将所述中断发送至所述逻辑。
6.如权利要求1所述的处理器,其特征在于,所述逻辑用于分析多个中断,且如果所述多个中断的大部分要被所述第一多个核中的所述核处理,则所述逻辑不响应于所述中断而唤醒所述第二多个核中的所述核,而是唤醒所述第一多个核中的所述核。
7.如权利要求1所述的处理器,其特征在于,所述处理器包括多核处理器,所述逻辑包括:
唤醒逻辑;
状态传输逻辑;
未定义处理逻辑;以及
中断历史存储器。
8.如权利要求1所述的处理器,其特征在于还包括中断控制器,用于接收多个中断并且将所述多个中断引导至所述第一多个核和所述第二多个核中的至少一者中的一个或多个核。
9.一种在处理器中执行操作的方法,包括:
使所述处理器的第二多个核中的核执行操作,其中,至少部分基于所述第二多个核中的所述核的性能级别,所述处理器包括密码加速器、视频加速器、存储器控制器、第一多个核、所述第二多个核、互连以及与至少所述第一多个核耦合的共享高速缓存存储器,所述第二多个核与所述第一多个核异构并且具有较低功耗,所述互连用于将所述第一多个核与所述第二多个核耦合;
使所述第二多个核中的所述核的执行状态被传输至所述第一多个核中的核以便使所述第一多个核中的所述核继续所述操作的执行;以及
基于中断历史,在所述第一多个核中的所述核以及所述第二多个核中的所述核处于低功率状态时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断而被唤醒。
10.如权利要求9所述的在处理器中执行操作的方法,其特征在于还包括,在表格的条目指出所述第二多个核中的所述核响应于与所述中断相同类型的前一中断产生过未定义故障时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断而被唤醒。
11.如权利要求9所述的在处理器中执行操作的方法,其特征在于还包括,响应于所述中断而将所述第一多个核中的所述核的执行状态的子集提供给所述第二多个核中的所述核。
12.如权利要求11所述的在处理器中执行操作的方法,其特征在于,响应于所述第二多个核中的所述核不能处理至少一个所请求的操作的确定,从所述第二多个核中的所述核获得所述执行状态的所述子集并且用于将所述执行状态子集与临时存储区域中存储的所述第一多个核中的所述核的执行状态的其余部分合并。
13.如权利要求9所述的在处理器中执行操作的方法,其特征在于还包括,分析多个中断,且如果所述多个中断的大部分要被所述第一多个核中的所述核处理,则不响应于所述中断而唤醒所述第二多个核中的所述核,而是唤醒所述第一多个核中的所述核。
14.包括指令的至少一个计算机可读存储介质,所述指令在被执行时使一系统用于:
使处理器的第二多个核中的核执行操作,其中,至少部分基于所述第二多个核中的所述核的性能级别,所述处理器包括密码加速器、视频加速器、存储器控制器、第一多个核、所述第二多个核、互连以及与至少所述第一多个核耦合的共享高速缓存存储器,所述第二多个核与所述第一多个核异构并且具有较低功耗,所述互连用于将所述第一多个核与所述第二多个核耦合;
使所述第二多个核中的所述核的执行状态被传输至所述第一多个核中的核以便使所述第一多个核中的所述核继续所述操作的执行;以及
基于中断历史,在所述第一多个核中的所述核以及所述第二多个核中的所述核处于低功率状态时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断而被唤醒。
15.如权利要求14所述的至少一个计算机可读存储介质,其特征在于还包括指令,所述指令在被执行时使所述系统在表格的条目指出所述第二多个核中的所述核响应于与所述中断相同类型的前一中断产生过未定义故障时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断而被唤醒。
16.如权利要求14所述的至少一个计算机可读存储介质,其特征在于还包括指令,所述指令在被执行时使所述系统响应于所述中断而将所述第一多个核中的所述核的执行状态的子集提供给所述第二多个核中的所述核。
17.如权利要求16所述的至少一个计算机可读存储介质,其特征在于还包括指令,所述指令在被执行时使所述系统响应于所述第二多个核中的所述核不能处理至少一个所请求的操作的确定,从所述第二多个核中的所述核获得所述执行状态的所述子集并且用于将所述执行状态子集与临时存储区域中存储的所述第一多个核中的所述核的执行状态的其余部分合并。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610369305.9A CN106095046A (zh) | 2011-09-06 | 2011-09-06 | 有功率效率的处理器体系结构 |
CN201610364515.9A CN106020424B (zh) | 2011-09-06 | 2011-09-06 | 有功率效率的处理器体系结构 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610364515.9A CN106020424B (zh) | 2011-09-06 | 2011-09-06 | 有功率效率的处理器体系结构 |
CN201180073263.XA CN103765409A (zh) | 2011-09-06 | 2011-09-06 | 有功率效率的处理器体系结构 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180073263.XA Division CN103765409A (zh) | 2011-09-06 | 2011-09-06 | 有功率效率的处理器体系结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106020424A CN106020424A (zh) | 2016-10-12 |
CN106020424B true CN106020424B (zh) | 2019-08-06 |
Family
ID=57128003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610364515.9A Active CN106020424B (zh) | 2011-09-06 | 2011-09-06 | 有功率效率的处理器体系结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020424B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10444813B2 (en) * | 2017-09-28 | 2019-10-15 | Intel Corporation | Multi-criteria power management scheme for pooled accelerator architectures |
CN114356445B (zh) * | 2021-12-28 | 2023-09-29 | 山东华芯半导体有限公司 | 一种基于大小核架构的多核芯片启动方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100474214C (zh) * | 2004-08-05 | 2009-04-01 | 松下电器产业株式会社 | 信息处理装置 |
US20080263324A1 (en) * | 2006-08-10 | 2008-10-23 | Sehat Sutardja | Dynamic core switching |
US20080126747A1 (en) * | 2006-11-28 | 2008-05-29 | Griffen Jeffrey L | Methods and apparatus to implement high-performance computing |
CN101546276B (zh) * | 2008-03-26 | 2012-12-19 | 国际商业机器公司 | 多核环境下实现中断调度的方法及多核处理器 |
US20100030927A1 (en) * | 2008-07-29 | 2010-02-04 | Telefonaktiebolaget Lm Ericsson (Publ) | General purpose hardware acceleration via deirect memory access |
-
2011
- 2011-09-06 CN CN201610364515.9A patent/CN106020424B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106020424A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664039B2 (en) | Power efficient processor architecture | |
CN104169832B (zh) | 提供处理器的能源高效的超频操作 | |
CN107209548A (zh) | 在多核处理器中执行功率管理 | |
TWI283341B (en) | Structure of dynamic management device power source and its method | |
CN106020424B (zh) | 有功率效率的处理器体系结构 | |
US7272731B2 (en) | Information handling system having reduced power consumption | |
CN106095046A (zh) | 有功率效率的处理器体系结构 | |
JP6409218B2 (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
GB2537300A (en) | Power efficient processor architecture | |
JP2017021811A (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
JP2016212907A (ja) | 電力効率の優れたプロセッサアーキテクチャ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |