CN106155265B - 有功率效率的处理器体系结构 - Google Patents

有功率效率的处理器体系结构 Download PDF

Info

Publication number
CN106155265B
CN106155265B CN201610536651.1A CN201610536651A CN106155265B CN 106155265 B CN106155265 B CN 106155265B CN 201610536651 A CN201610536651 A CN 201610536651A CN 106155265 B CN106155265 B CN 106155265B
Authority
CN
China
Prior art keywords
cores
core
interrupt
processor
interrupts
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
Application number
CN201610536651.1A
Other languages
English (en)
Other versions
CN106155265A (zh
Inventor
A·J·赫德瑞奇
R·G·伊利卡尔
R·艾耶
S·斯里尼瓦桑
J·摩西
S·马基嫩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN201610536651.1A priority Critical patent/CN106155265B/zh
Publication of CN106155265A publication Critical patent/CN106155265A/zh
Application granted granted Critical
Publication of CN106155265B publication Critical patent/CN106155265B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • H04W52/028Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof switching on or off only a part of the equipment circuit blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B70/00Technologies for an efficient end-user side electric power management and consumption
    • Y02B70/30Systems integrating technologies related to power network operation and communication or information technologies for improving the carbon footprint of the management of residential or tertiary loads, i.e. smart grids as climate change mitigation technology in the buildings sector, including also the last stages of power distribution and the control, monitoring or operating management systems at local level
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

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)体系结构或
Figure BDA0001044714470000041
快速路径互连 (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 (19)

1.一种处理器,包括:
第一多个核;
第二多个核,所述第二多个核中的一个核在操作时比所述第一多个核中的一个核具有较低的功耗;
互连,耦合至所述第一多个核和所述第二多个核;以及
与至少所述第一多个核耦合的共享高速缓存存储器;
其中,至少部分基于性能要求,使执行状态从所述第二多个核中的所述核被传输至所述第一多个核中的所述核以便使所述第一多个核中的所述核执行一操作;
所述处理器还包括使所述第一多个核中的所述核执行所述操作的逻辑,其中所述逻辑用于在所述第一多个核中的所述核以及所述第二多个核中的所述核处于低功率状态时,使所述第二多个核中的所述核而非所述第一多个核中的所述核响应于一中断而被唤醒,且所述逻辑用于分析多个中断,且如果所述多个中断的大部分要被所述第一多个核中的所述核处理,则所述逻辑不响应于所述中断而唤醒所述第二多个核中的所述核,而是唤醒所述第一多个核中的所述核。
2.如权利要求1所述的处理器,其特征在于,所述逻辑用于在表格的条目指出所述第二多个核中的所述核响应于与所述中断相同类型的前一中断产生过未定义故障时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断而被唤醒。
3.如权利要求1所述的处理器,其特征在于还包括中断控制器,用于接收多个中断并且将所述多个中断引导至所述第一多个核和所述第二多个核中的至少一者中的一个或多个核。
4.如权利要求1所述的处理器,其特征在于,所述执行状态包括多个寄存器,所述多个寄存器包括通用寄存器和配置寄存器。
5.如权利要求1所述的处理器,其特征在于,所述执行状态包括所述第二多个核中的所述核的执行状态的子集。
6.如权利要求5所述的处理器,其特征在于,响应于所述第二多个核中的所述核不能处理至少一个所请求的操作的确定,所述执行状态的所述子集与所述第一多个核中的所述核的执行状态的其余部分合并。
7.一种用于优化功率效率的设备,包括:
用于执行指令的第一多个核装置;
用于执行指令的第二多个核装置,所述第二多个核装置中的一个核装置在操作时比所述第一多个核装置中的一个核装置具有较低的功耗;
互连装置,用于耦合至所述第一多个核装置且用于耦合至所述第二多个核装置;以及
与至少所述第一多个核装置耦合的共享高速缓存存储器装置;
其中,至少部分基于性能要求,使执行状态从所述第二多个核装置中的所述核装置被传输至所述第一多个核装置中的所述核装置以便使所述第一多个核装置中的所述核装置执行一操作;
所述设备还包括使所述第一多个核装置中的所述核装置执行所述操作的逻辑,其中所述逻辑用于在所述第一多个核装置中的所述核装置以及所述第二多个核装置中的所述核装置处于低功率状态时,使所述第二多个核装置中的所述核装置而非所述第一多个核装置中的所述核装置响应于一中断而被唤醒,且所述逻辑用于分析多个中断,且如果所述多个中断的大部分要被所述第一多个核装置中的所述核装置处理,则所述逻辑不响应于所述中断而唤醒所述第二多个核装置中的所述核装置,而是唤醒所述第一多个核装置中的所述核装置。
8.如权利要求7所述的设备,其特征在于还包括:用于使所述执行状态从所述第二多个核装置中的所述核装置传输至所述第一多个核装置中的所述核装置的装置。
9.如权利要求7所述的设备,其特征在于还包括中断控制装置,用于接收多个中断并且将所述多个中断引导至所述第一多个核装置和所述第二多个核装置中的至少一者中的一个或多个核装置。
10.一种用于优化功率效率的方法,包括:
使一处理器的第二多个核中的一个核执行一操作,所述处理器包括第一多个核、所述第二多个核、耦合至所述第一多个核且耦合至所述第二多个核的互连、以及与至少所述第一多个核耦合的共享高速缓存存储器,所述第二多个核中的所述核在操作时比所述第一多个核中的一个核具有较低的功耗;以及
至少部分基于性能要求,使执行状态从所述第二多个核中的所述核被传输至所述第一多个核中的所述核以便使所述第一多个核中的所述核执行所述操作;
分析多个中断;以及
如果所述多个中断的大部分要被所述第一多个核中的所述核处理,则唤醒所述第一多个核中的所述核来处理所述中断,而不唤醒所述第二多个核中的所述核,
其中所述方法还包括:在所述第一多个核中的所述核以及所述第二多个核中的所述核处于低功率状态时,使所述第二多个核中的所述核而非所述第一多个核中的所述核响应于所述中断而被唤醒。
11.如权利要求10所述的方法,其特征在于还包括:在表格的条目指出所述第二多个核中的所述核响应于与所述中断相同类型的前一中断产生过未定义故障时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断而被唤醒。
12.包括指令的至少一个计算机可读存储介质,所述指令在被执行时使一系统用于:
使一处理器的第二多个核中的一个核执行任务的一操作,所述处理器包括第一多个核、所述第二多个核、耦合至所述第一多个核且耦合至所述第二多个核的互连、以及与至少所述第一多个核耦合的共享高速缓存存储器,所述第二多个核中的所述核在操作时比所述第一多个核中的一个核具有较低的功耗;
至少部分基于与所述任务的执行持续时间相关联的值超出阈值时间,使执行状态从所述第二多个核中的所述核被传输至所述第一多个核中的所述核以便使所述第一多个核中的所述核执行所述任务的所述操作;
分析多个中断;以及
如果所述多个中断的大部分要被所述第一多个核中的所述核处理,则唤醒所述第一多个核中的所述核来处理所述中断,而不唤醒所述第二多个核中的所述核,
其中所述至少一个计算机可读存储介质还包括在被执行时使所述系统执行以下操作的指令:在所述第一多个核中的所述核以及所述第二多个核中的所述核处于低功率状态时,使所述第二多个核中的所述核而非所述第一多个核中的所述核响应于所述中断而被唤醒。
13.如权利要求12所述的至少一个计算机可读存储介质,其特征在于还包括在被执行时使所述系统执行以下操作的指令:
在表格的条目指出所述第二多个核中的所述核响应于与所述中断相同类型的前一中断产生过未定义故障时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断而被唤醒。
14.一种用于优化功率效率的系统,包括:
处理器,包括:
第一多个核;
第二多个核,所述第二多个核中的一个核在操作时比所述第一多个核中的一个核具有较低的功耗;
互连,耦合至所述第一多个核且耦合至所述第二多个核;
与至少所述第一多个核耦合的共享高速缓存存储器;
其中,至少部分基于性能要求,使执行状态从所述第二多个核中的所述核被传输至所述第一多个核中的所述核以便使所述第一多个核中的所述核执行一操作;
使所述第一多个核中的所述核执行所述操作的逻辑,其中所述逻辑用于在所述第一多个核中的所述核以及所述第二多个核中的所述核处于低功率状态时,使所述第二多个核中的所述核而非所述第一多个核中的所述核响应于一中断而被唤醒,且所述逻辑用于分析多个中断,且如果所述多个中断的大部分要被所述第一多个核中的所述核处理,则所述逻辑不响应于所述中断而唤醒所述第二多个核中的所述核,而是唤醒所述第一多个核中的所述核;
耦合至所述处理器的动态随机存取存储器(DRAM);以及
耦合至所述处理器的至少一个通信设备。
15.如权利要求14所述的系统,其特征在于,所述逻辑进一步用于:
在表格的条目指出所述第二多个核中的所述核响应于与所述中断相同类型的前一中断产生过未定义故障时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断而被唤醒。
16.如权利要求15所述的系统,其特征在于,所述逻辑在基于用户的选择相对于功率节省而偏向性能时,使所述第一多个核中的所述核而非所述第二多个核中的所述核响应于所述中断被唤醒。
17.如权利要求14所述的系统,其特征在于,所述处理器还包括中断控制器,用于接收多个中断并且将所述多个中断引导至所述第一多个核和所述第二多个核中的至少一者中的一个或多个核。
18.如权利要求14所述的系统,其特征在于,所述处理器还包括密码加速器以及媒体处理器中的至少一者。
19.如权利要求14所述的系统,其特征在于,所述系统包括智能电话。
CN201610536651.1A 2011-09-06 2011-09-06 有功率效率的处理器体系结构 Active CN106155265B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610536651.1A CN106155265B (zh) 2011-09-06 2011-09-06 有功率效率的处理器体系结构

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201180073263.XA CN103765409A (zh) 2011-09-06 2011-09-06 有功率效率的处理器体系结构
CN201610536651.1A CN106155265B (zh) 2011-09-06 2011-09-06 有功率效率的处理器体系结构
PCT/US2011/050580 WO2013036222A1 (en) 2011-09-06 2011-09-06 Power efficient processor architecture

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
CN106155265A CN106155265A (zh) 2016-11-23
CN106155265B true CN106155265B (zh) 2020-03-31

Family

ID=47832464

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610536651.1A Active CN106155265B (zh) 2011-09-06 2011-09-06 有功率效率的处理器体系结构
CN201180073263.XA Pending CN103765409A (zh) 2011-09-06 2011-09-06 有功率效率的处理器体系结构

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201180073263.XA Pending CN103765409A (zh) 2011-09-06 2011-09-06 有功率效率的处理器体系结构

Country Status (9)

Country Link
US (5) US9360927B2 (zh)
JP (1) JP6197196B2 (zh)
KR (6) KR101889755B1 (zh)
CN (2) CN106155265B (zh)
DE (1) DE112011105590T5 (zh)
GB (1) GB2507696B (zh)
IN (1) IN2014CN01367A (zh)
TW (4) TWI622875B (zh)
WO (1) WO2013036222A1 (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886917B1 (en) * 2007-04-25 2014-11-11 Hewlett-Packard Development Company, L.P. Switching to core executing OS like codes upon system call reading greater than predetermined amount of data
TWI454905B (zh) * 2011-09-30 2014-10-01 Intel Corp 在多核心平台中之受限制的啓動技術
US8984200B2 (en) * 2012-08-21 2015-03-17 Lenovo (Singapore) Pte. Ltd. Task scheduling in big and little cores
US9009508B2 (en) 2012-08-28 2015-04-14 Advanced Micro Devices, Inc. Mechanism for reducing interrupt latency and power consumption using heterogeneous cores
KR102082859B1 (ko) * 2013-01-07 2020-02-28 삼성전자주식회사 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법
US9727345B2 (en) 2013-03-15 2017-08-08 Intel Corporation Method for booting a heterogeneous system and presenting a symmetric core view
JP6175980B2 (ja) * 2013-08-23 2017-08-09 富士通株式会社 Cpuの制御方法、制御プログラム、情報処理装置
US10218645B2 (en) * 2014-04-08 2019-02-26 Mellanox Technologies, Ltd. Low-latency processing in a network node
US9575537B2 (en) * 2014-07-25 2017-02-21 Intel Corporation Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states
KR20160054850A (ko) * 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
US9898071B2 (en) 2014-11-20 2018-02-20 Apple Inc. Processor including multiple dissimilar processor cores
US9958932B2 (en) 2014-11-20 2018-05-01 Apple Inc. Processor including multiple dissimilar processor cores that implement different portions of instruction set architecture
US10127046B2 (en) 2014-12-14 2018-11-13 Via Alliance Semiconductor Co., Ltd. Mechanism to preclude uncacheable-dependent load replays in out-of-order processor
WO2016097796A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Mechanism to preclude i/o-dependent load replays in out-of-order processor
WO2016097790A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Apparatus and method to preclude non-core cache-dependent load replays in out-of-order processor
US10146540B2 (en) 2014-12-14 2018-12-04 Via Alliance Semiconductor Co., Ltd Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor
US10209996B2 (en) 2014-12-14 2019-02-19 Via Alliance Semiconductor Co., Ltd. Apparatus and method for programmable load replay preclusion
WO2016097814A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Mechanism to preclude shared ram-dependent load replays in out-of-order processor
US10089112B2 (en) 2014-12-14 2018-10-02 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor
US10108427B2 (en) * 2014-12-14 2018-10-23 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor
WO2016097802A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Mechanism to preclude load replays dependent on long load cycles in an out-order processor
US10120689B2 (en) 2014-12-14 2018-11-06 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor
US10146546B2 (en) 2014-12-14 2018-12-04 Via Alliance Semiconductor Co., Ltd Load replay precluding mechanism
US10228944B2 (en) 2014-12-14 2019-03-12 Via Alliance Semiconductor Co., Ltd. Apparatus and method for programmable load replay preclusion
US10146539B2 (en) 2014-12-14 2018-12-04 Via Alliance Semiconductor Co., Ltd. Load replay precluding mechanism
US9804845B2 (en) 2014-12-14 2017-10-31 Via Alliance Semiconductor Co., Ltd. Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor
US10108430B2 (en) 2014-12-14 2018-10-23 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor
US10175984B2 (en) 2014-12-14 2019-01-08 Via Alliance Semiconductor Co., Ltd Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor
US10114646B2 (en) 2014-12-14 2018-10-30 Via Alliance Semiconductor Co., Ltd Programmable load replay precluding mechanism
US10083038B2 (en) 2014-12-14 2018-09-25 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on page walks in an out-of-order processor
US9740271B2 (en) * 2014-12-14 2017-08-22 Via Alliance Semiconductor Co., Ltd. Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor
WO2016097804A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Programmable load replay precluding mechanism
US10133580B2 (en) 2014-12-14 2018-11-20 Via Alliance Semiconductor Co., Ltd Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor
EP3055769B1 (en) 2014-12-14 2018-10-31 VIA Alliance Semiconductor Co., Ltd. Mechanism to preclude load replays dependent on page walks in out-of-order processor
EP3055768B1 (en) 2014-12-14 2018-10-31 VIA Alliance Semiconductor Co., Ltd. Mechanism to preclude uncacheable-dependent load replays in out-of-order processor
WO2016097800A1 (en) 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Power saving mechanism to reduce load replays in out-of-order processor
US10108420B2 (en) 2014-12-14 2018-10-23 Via Alliance Semiconductor Co., Ltd Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor
US10108421B2 (en) 2014-12-14 2018-10-23 Via Alliance Semiconductor Co., Ltd Mechanism to preclude shared ram-dependent load replays in an out-of-order processor
US10088881B2 (en) 2014-12-14 2018-10-02 Via Alliance Semiconductor Co., Ltd Mechanism to preclude I/O-dependent load replays in an out-of-order processor
KR102352756B1 (ko) 2015-04-29 2022-01-17 삼성전자주식회사 애플리케이션 프로세서, 시스템 온 칩, 및 이를 포함하는 컴퓨팅 장치
US9928115B2 (en) 2015-09-03 2018-03-27 Apple Inc. Hardware migration between dissimilar cores
US10037227B2 (en) * 2015-12-17 2018-07-31 Intel Corporation Systems, methods and devices for work placement on processor cores
US10856220B2 (en) * 2015-12-21 2020-12-01 Apple Inc. Energy-efficient signal processing
US11061730B2 (en) * 2016-11-18 2021-07-13 Red Hat Israel, Ltd. Efficient scheduling for hyper-threaded CPUs using memory monitoring
KR102482896B1 (ko) 2017-12-28 2022-12-30 삼성전자주식회사 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
CN109996185B (zh) * 2017-12-29 2022-02-15 腾讯科技(深圳)有限公司 终端的定位方法和装置、存储介质、电子装置
EP3750057B1 (en) * 2018-02-08 2022-10-19 Alibaba Group Holding Limited Hybrid system-on-chip for power and performance prediction and control
KR102552666B1 (ko) 2018-11-12 2023-07-10 삼성전자주식회사 전자 장치 및 그것의 동작 방법
CN113254070B (zh) 2020-02-07 2024-01-02 阿里巴巴集团控股有限公司 加速单元、片上系统、服务器、数据中心和相关方法
WO2022126036A1 (en) * 2020-12-31 2022-06-16 Innopeak Technology, Inc. Diagnosis and troubleshooting of devices using multiple layer architecture
US20230205297A1 (en) * 2021-12-27 2023-06-29 Advanced Micro Devices, Inc. Method and apparatus for managing power states
CN114253694B (zh) * 2022-02-25 2022-06-24 杭州雄迈集成电路技术股份有限公司 一种基于神经网络加速器的异步处理方法与装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1860446A (zh) * 2003-12-16 2006-11-08 苹果计算机公司 支持高性能和高能效执行的准对称多处理器

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5257375A (en) 1991-08-23 1993-10-26 International Business Machines Corp. Method and apparatus for dispatching tasks requiring short-duration processor affinity
JPH06348513A (ja) 1993-06-11 1994-12-22 Sony Corp 割込制御装置
JPH08249018A (ja) 1995-03-10 1996-09-27 Omron Corp マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ
US5768594A (en) 1995-07-14 1998-06-16 Lucent Technologies Inc. Methods and means for scheduling parallel processors
US6728892B1 (en) 1999-09-15 2004-04-27 Koninklijke Philips Electronics N.V. Method for conserving power in a can microcontroller and a can microcontroller that implements this method
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US7376954B2 (en) 2003-08-28 2008-05-20 Mips Technologies, Inc. Mechanisms for assuring quality of service for programs executing on a multithreaded processor
US7516456B2 (en) 2003-09-25 2009-04-07 International Business Machines Corporation Asymmetric heterogeneous multi-threaded operating system
US7451146B2 (en) 2004-06-30 2008-11-11 Hewlett-Packard Development Company, L.P. Almost non-blocking linked stack implementation
US7664970B2 (en) 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
CN100474214C (zh) * 2004-08-05 2009-04-01 松下电器产业株式会社 信息处理装置
US20060075404A1 (en) 2004-10-06 2006-04-06 Daniela Rosu Method and system for scheduling user-level I/O threads
US8607235B2 (en) 2004-12-30 2013-12-10 Intel Corporation Mechanism to schedule threads on OS-sequestered sequencers without operating system intervention
JP3866749B2 (ja) 2005-03-07 2007-01-10 富士通株式会社 マイクロプロセッサ
US7461275B2 (en) 2005-09-30 2008-12-02 Intel Corporation Dynamic core swapping
GB0519981D0 (en) * 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
US8798571B2 (en) 2005-10-11 2014-08-05 Via Technologies Inc. Method of managing power consumption of portable computer and portable computer using the same
JP4621113B2 (ja) * 2005-10-28 2011-01-26 ルネサスエレクトロニクス株式会社 半導体集積回路装置
EP1785809A1 (en) 2005-11-14 2007-05-16 Texas Instruments Inc. Standby mode for power management
JP2007148952A (ja) * 2005-11-30 2007-06-14 Renesas Technology Corp 半導体集積回路
US7647509B2 (en) * 2006-05-12 2010-01-12 Intel Corporation Method and apparatus for managing power in a processing system with multiple partitions
JP2007328461A (ja) 2006-06-06 2007-12-20 Matsushita Electric Ind Co Ltd 非対称マルチプロセッサ
JP4837780B2 (ja) 2006-07-28 2011-12-14 アーム・リミテッド マスタおよびスレーブを有するデータ処理デバイスにおける電力管理
US20080263324A1 (en) * 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
US8028290B2 (en) 2006-08-30 2011-09-27 International Business Machines Corporation Multiple-core processor supporting multiple instruction set architectures
US20080126747A1 (en) * 2006-11-28 2008-05-29 Griffen Jeffrey L Methods and apparatus to implement high-performance computing
JP2007188523A (ja) * 2007-03-15 2007-07-26 Toshiba Corp タスク実行方法およびマルチプロセッサシステム
US20080307240A1 (en) 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
CN101689106B (zh) * 2007-06-12 2013-10-09 松下电器产业株式会社 多处理器控制装置、多处理器控制方法以及多处理器控制电路
US7962679B2 (en) 2007-09-28 2011-06-14 Intel Corporation Interrupt balancing for multi-core and power
US7603504B2 (en) * 2007-12-18 2009-10-13 Intel Corporation Reducing core wake-up latency in a computer system
US8615647B2 (en) 2008-02-29 2013-12-24 Intel Corporation Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state
CN101546276B (zh) * 2008-03-26 2012-12-19 国际商业机器公司 多核环境下实现中断调度的方法及多核处理器
US8010822B2 (en) 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US20110213947A1 (en) * 2008-06-11 2011-09-01 John George Mathieson System and Method for Power Optimization
US20100030927A1 (en) * 2008-07-29 2010-02-04 Telefonaktiebolaget Lm Ericsson (Publ) General purpose hardware acceleration via deirect memory access
US8199917B2 (en) 2008-10-29 2012-06-12 International Business Machines Corporation SID management for access to encrypted drives
JP5109935B2 (ja) * 2008-11-10 2012-12-26 富士通株式会社 プロセッサシステムの動作方法およびプロセッサシステム
US8135972B2 (en) 2009-03-10 2012-03-13 Cortina Systems, Inc. Data interface power consumption control
US8458676B2 (en) * 2009-06-30 2013-06-04 International Business Machines Corporation Executing platform-independent code on multi-core heterogeneous processors
US8364857B2 (en) * 2009-08-31 2013-01-29 Qualcomm Incorporated Wireless modem with CPU and auxiliary processor that shifts control between processors when in low power state while maintaining communication link to wireless network
US8234431B2 (en) 2009-10-13 2012-07-31 Empire Technology Development Llc Interrupt masking for multi-core processors
US8566836B2 (en) 2009-11-13 2013-10-22 Freescale Semiconductor, Inc. Multi-core system on chip
US9098274B2 (en) * 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
KR101697937B1 (ko) * 2010-01-08 2017-02-01 삼성전자주식회사 멀티프로세서 시스템에서 동적 태스크 마이그레이션을 위한 방법 및 시스템
US20110213935A1 (en) * 2010-03-01 2011-09-01 Arm Limited Data processing apparatus and method for switching a workload between first and second processing circuitry
US8418187B2 (en) 2010-03-01 2013-04-09 Arm Limited Virtualization software migrating workload between processing circuitries while making architectural states available transparent to operating system
CN101923491A (zh) 2010-08-11 2010-12-22 上海交通大学 多核环境下线程组地址空间调度和切换线程的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1860446A (zh) * 2003-12-16 2006-11-08 苹果计算机公司 支持高性能和高能效执行的准对称多处理器

Also Published As

Publication number Publication date
US9360927B2 (en) 2016-06-07
WO2013036222A1 (en) 2013-03-14
TW201640276A (zh) 2016-11-16
JP6197196B2 (ja) 2017-09-20
US20160306415A1 (en) 2016-10-20
DE112011105590T5 (de) 2014-07-03
US9870047B2 (en) 2018-01-16
KR102082241B1 (ko) 2020-02-27
KR20160060162A (ko) 2016-05-27
US9864427B2 (en) 2018-01-09
KR101873935B1 (ko) 2018-07-04
US10664039B2 (en) 2020-05-26
US20160299558A1 (en) 2016-10-13
KR102082242B1 (ko) 2020-02-27
TWI622872B (zh) 2018-05-01
KR20140056322A (ko) 2014-05-09
TWI622875B (zh) 2018-05-01
TW201329693A (zh) 2013-07-16
GB2507696B (en) 2017-08-02
JP2014528115A (ja) 2014-10-23
US10048743B2 (en) 2018-08-14
CN106155265A (zh) 2016-11-23
KR20160060163A (ko) 2016-05-27
KR101624061B1 (ko) 2016-05-24
TWI564704B (zh) 2017-01-01
KR20190049927A (ko) 2019-05-09
TW201631441A (zh) 2016-09-01
KR101889755B1 (ko) 2018-08-21
TWI622874B (zh) 2018-05-01
GB201402807D0 (en) 2014-04-02
GB2507696A (en) 2014-05-07
CN103765409A (zh) 2014-04-30
US20130262902A1 (en) 2013-10-03
KR20180077308A (ko) 2018-07-06
KR101889756B1 (ko) 2018-08-21
US20160299559A1 (en) 2016-10-13
IN2014CN01367A (zh) 2015-04-24
US20180329478A1 (en) 2018-11-15
TW201629693A (zh) 2016-08-16
KR20160086421A (ko) 2016-07-19

Similar Documents

Publication Publication Date Title
US10664039B2 (en) Power efficient processor architecture
US7490254B2 (en) Increasing workload performance of one or more cores on multiple core processors
US9720730B2 (en) Providing an asymmetric multicore processor system transparently to an operating system
JP6409218B2 (ja) 電力効率の優れたプロセッサアーキテクチャ
GB2537300A (en) Power efficient processor architecture
US7634672B2 (en) Power saving method of central processing unit
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