CN112947736A - 具有相同的指令集架构(isa)的非对称性能多核架构 - Google Patents
具有相同的指令集架构(isa)的非对称性能多核架构 Download PDFInfo
- Publication number
- CN112947736A CN112947736A CN202110256803.3A CN202110256803A CN112947736A CN 112947736 A CN112947736 A CN 112947736A CN 202110256803 A CN202110256803 A CN 202110256803A CN 112947736 A CN112947736 A CN 112947736A
- Authority
- CN
- China
- Prior art keywords
- cores
- core
- power
- core processor
- processor
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 13
- 238000013461 design Methods 0.000 claims description 17
- 238000007726 management method Methods 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 11
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims description 4
- 230000003542 behavioural effect Effects 0.000 claims description 2
- 238000012300 Sequence Analysis Methods 0.000 claims 1
- 230000006399 behavior Effects 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 239000004744 fabric Substances 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012358 sourcing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- 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
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
本申请涉及具有相同的指令集架构(ISA)的非对称性能多核架构。根据本申请,描述了一种方法,该方法包括允许多核处理器的各核的操作,使得两种核都用相同的指令集支持各自的软件例程,在一组相同的所施加的供电电压和工作频率下,第一核比第二核具有更高的性能且消耗更多的功率。
Description
本申请是针对分案申请201810311226.1再次提出的分案申请。分案申请201810311226.1是PCT国际申请号为PCT/US2012/068274、国际申请日为2012年12月6日、进入中国国家阶段的申请号为201280063860.9,题为“具有相同的指令集架构(ISA)的非对称性能多核架构”的申请的分案申请。
技术领域
本发明的领域通常涉及计算系统架构,且尤其涉及具有相同的指令集架构(ISA)的非对称性能多核架构。
背景技术
图1示出典型的多核处理器100_1。如图1中可见,多核处理器100_1包括在相一半导体管芯100_1上的多个处理器核101_1到101_N。处理器核中的每一个通常包含用于缓存数据和/或指令的至少一个缓存层。交换组织结构102把处理器核101_1到101_N彼此互连起来,并将其互连到一个或多个附加的缓存层103_1到103_N。根据一种方法,处理器101_1到101_N和一个或多个缓存层具有内部一致性逻辑,例如,以便防止两个不同的核并发地修改相同的数据项。
还包括系统存储器接口(它也可以包括附加的一致性逻辑)104。在这里,如果核请求具有所需要的指令或数据项的特定的缓存线,并且,在任何缓存层中都找不到该缓存线,则把该请求提交给系统存储器接口104。如果所寻找的缓存线不在直接耦合到接口104的系统存储器105_1中,则通过系统网络接口106把该请求转发给另一多核处理器,以便从其本地系统存储器(例如,多核处理器100_X的系统存储器105_X)取出所期望的数据/指令。在多处理器核100_1到100_X之间存在分组交换网络107,以便支持这些种类的系统存储器请求。
多处理器核上还包括到系统I/O组件108_1到108_Y的接口(例如,诸如硬盘驱动器、打印机、外部网络接口等等的深度非易失性存储)。这些接口可以采取诸如高速以太网接口和/或高速PCIe接口等的高速链路接口的形式。
一些多核处理器也可以具有到交换组织结构102的端口105,以便向上扩展与相同的(也向上扩展的)缓存结构相关联的处理器核的数量。例如,如图1可见,多处理器核101_1和101_2通过交换组织结构端口105耦合,以便有效地形成共享公共缓存结构的2N个核的平台(处理器100_2通过到其交换组织结构的相似的端口耦合到处理器100_1)。
附图简要说明
在附图的各图中,作为示例而非限制阐释本发明,附图中,类似的标号指示相似的元素,且附图中:
图1示出多核处理器和周围的计算机系统(现有技术);
图2示出功率管理策略(现有技术);
图3示出逻辑门驱动电路;
图4示出具有支持相同的指令集的高功率核和低功率核的多核处理器;
图5比较高功率核和低功率核的功率消耗;
图6示出第一功率管理方法;
图7示出第二功率管理方法;
图8示出一种设计方法。
具体实施方式
计算系统功率消耗正变得越来越受到关注。因而,多种不同的功率管理方案被合并到现代计算系统中。通常,系统的功率管理组件将随着系统的工作量增加而扩展系统的处理性能,且随着系统的工作量减少而缩减系统的处理性能。由于系统的功率消耗与其性能能力强相关,降低系统的处理性能对应于功率节省。
随工作量缩放处理性能和功率消耗的典型方式响应于系统工作量启用/禁用整个核并提高/降低它们的供电电压和工作频率。例如,如图2可见,在最大性能和功率消耗状态201下,启用所有核,且给每一核提供最大供电电压和最大时钟频率。作为对比,在最小值性能和功率消耗状态202下(此时仍然可以执行程序代码),仅启用一个核。给该单个核提供最小供电电压和最小工作频率。
图3中可见电子电路功率消耗的一些基本概念。在这里,观察到逻辑门311的驱动电路310部分,驱动接下来的一个或多个逻辑门312。具体地,互连的逻辑门311、312的操作速度随着其驱动晶体管302_1、302_2的宽度(对于每一晶体管,沿着垂直于电流方向的半导体表面进行测量)增加且随着它驱动的线304的电容303(以及负载逻辑门312的输入电容)减少而提高。在这里,为了把线上的电压从逻辑低电平提高到逻辑高电平,需要由源晶体管302_1通过线驱动充分强的电流305,以便快速把电荷施加到电容303(且由此提高线上的电压)。类似地,为了把线上的电压从逻辑高电平降低到逻辑低电平,需要由吸收晶体管302_2通过线“吸收”充分强的电流306,以便从电容快速抽取电荷(且由此降低线上的电压)。
本质上,晶体管302_1、302_2将提供/吸收的电流量是它们各自的宽度的函数。即是说,晶体管越宽,它们将提供/吸收的电流就越多。此外,晶体管302_1、302_2将提供/吸收的电流量也是图3中可见的施加到驱动电路310的供电电压VCC的函数。本质上,供电电压越高,提供/吸收电流就越强。
更进一步,晶体管将能够向电容器施加/从其抽取电荷的速度是正在被驱动的线304的电容303的尺寸的函数。具体地,当电容304增加时,晶体管将更慢地施加/抽取电荷,且当电容304减少时,更快地施加/抽取电荷。线的电容304基于其物理尺度。即是说,线更长和更宽,电容304增加,相反,线更短和更窄,电容304减少。一旦制成了电路,线本身是固定尺度。然而,线宽度和线长度是设计师必须考虑的设计参数。线的宽度不能太过狭窄,否则它将具有增加线的阻抗的影响,这也将减慢向电容器施加/从其抽取电荷的速度。
最终的速度因素是线上的信号本身的频率。本质上,相比于具有较慢的时钟信号的电路,用更快的时钟信号驱动的电路将更快地在向线电容304施加/从其抽取电荷之间切换。在这里,更快速的切换对应于更快地发送二进制信息的电路。
以上所描述的用于增加施加/抽取电容器上的电荷的速度的所有因素也引起消耗更多功率的电路。即是说,被设计成具有相对宽的源/吸收晶体管、高的供电电压、短的负载线且接收更高频率的时钟信号的电路将操作得更快,且因此相比于与这些相同的参数定位相反的电路消耗更多的功率。
回忆图1和图2的讨论,注意,已经在其组成核相同的处理器上实现现有技术的多核处理器功率管理方案。即是说,参见图1,核101_1到101_N中在设计上全部都是相同的。在其他方法中,核不是等同的,而且是根本不同。具体地,核中的一个是低功率核,但是,通过相比于其他核剥离相当大量的逻辑电路来实现较低功率特性。更具体地,所剥离的相当大量的逻辑电路对应于执行程序代码指令的逻辑。换句话说,相比于较高性能核,低功率核支持精简指令集。然而,这种方法的问题在于,系统软件难以调整在具有不同的指令集的处理器核之间的切换操作。
图4描述其中核401中的至少一个被设计为具有较低性能且因此比处理器中的其他核402消耗较少功率的新方法。然而,(各)较低功率核401具有与(各)较高功率核402相同的逻辑设计,且因此支持与(各)高功率核402相同的指令集403。(各)低功率核401取得较低功率设计点,通过具有比(各)较高功率核更狭窄的驱动晶体管宽度和/或具有其他功率消耗相关的设计特征,例如以上相对于图3所描述的那些中的任何,它们与较高功率核中的相同的设计特征相反地定位。
根据一种方法,下面更详细地讨论的,在设计多处理器核时,把相同的高级描述(例如,相同的VHDL或Verilog描述)用于(各)较高性能/功率核和(各)较低性能/功率核两者。然而,在把高级描述综合到RTL网表时,对于从RTL网表到晶体管级网表的随后综合,相比于(各)高功率核,把不同的技术库用于(各)低功率核。如上面提到的,相比于与用于高功率核的库相关联的“相同的”逻辑门的“相同的”晶体管,与用于(各)低功率核库相关联的逻辑门的驱动晶体管具有更狭窄的各自宽度。
在多处理器的设计方面,参见图5,相比于(各)较高功率核,(各)较低功率核呈现出固有的较低功率消耗(和处理性能)。即是说,对于相同的所施加的时钟或工作频率,例如,因为其更狭窄驱动晶体管宽度,较低功率核将比较高功率核消耗较少的功率。然而,因为更狭窄驱动晶体管宽度,较低功率核具有比较高功率核的最大工作频率更少的最大工作频率。
然而,较低功率核的重要之处在于,多处理器可以接受与已经存在的功率管理策略相同/相似但仍然在较低/最低的性能/功率状态中实现甚至更低的功率消耗的功率管理策略。具体地,简要回忆起图2的功率状态202,其中仅剩下一个核可操作(禁用剩余的核)。在这里,如果一个剩余的可操作核是低功率核,则处理器将呈现出比现有技术低功率状态202甚至更低的功率消耗。
图5中可直接观察所减少的功率节省的量503。在这里,回忆起在对于图2的现有技术低功率状态202讨论的多处理器中所有处理器都是相同的。因而,即使供电电压和操作电压被减少到最小值,功率消耗也将消耗较高功率处理器(例如,具有较宽的驱动晶体管宽度)的功率。这一操作点由图5的点504表示。作为对比,在改进的多处理器的最低功率操作状态中,如果可操作核是低功率核,则它将消耗由图5的点505表示的功率。因而,改进的处理器比现有技术多处理器在较低/最低的性能操作状态处呈现出相对较低的功率消耗,然而,与此同时,完全地支持软件被设计为对其操作的指令集架构。
图6示出可以例如借助于在多处理器(或另一多处理器或分离的控制器等等)上运行的功率管理软件执行的功率管理过程流。相反地,完全可以在多处理器上的硬件中或由这样的硬件和软件的某种组合执行图6的功率管理过程流。
根据图6的过程流,从其中至少一些高功率处理器核和(各)低功率核正在操作的初始状态601开始,响应于对多处理器的需求的持续下降,每当需求的持续下降到低于某个接下来的更低的阈值时,禁用另一高功率核。例如,在具有十六个核的多处理器核中,其中十四个核是高功率核且两个核是低功率核,初始状态601可以对应于其中高功率核中的七个和两个低功率核都操作的状态。
响应于对多处理器设置的持续降低的需求,对于每一个新的更低的需求阈值602,将逐一禁用七个高功率核。举例来说,如在插图610所见,需求水平611调整七个高功率核和两个低功率核的启用。当需求连续下降到接下来的更低的阈值612时,禁用高功率核中的一个613,留下六个可操作的高功率核和两个低功率核。
在禁用高功率核之前,作为设计者的选择,核的自己的工作频率,或经启用的高功率核中的全部(或一些)的工作频率,或经启用的高功率核和低功率核中的全部(或一些)的工作频率,可以被降低到一个或多个更低的工作频率水平。
对于施加到核的供电电压,存在相似的设计者的选择。即是说,在禁用高功率核之前,作为设计者的选择,核的自己的供电电压,或经启用的高功率核中的全部(或一些)的供电电压,或经启用的高功率核和低功率核中的全部(或一些)的供电电压,可以被降低到一个或多个较低的供电电压。供电电压可以与工作频率的降低结合而降低,或者,可以如上所述降低这些参数中的仅一个或者一个都不降低。
最终,随着需求的继续下降,在需求的下降到低于某种较低的阈值614之后,将禁用最后剩余的高功率核615。这仅留下低功率核操作。当需求在水平614下继续下降时,可以同样地降低(各)低功率核的工作频率和/或供电电压。随着需求的继续下降,继续与需求的下降到低于每一接下来的更低的需求阈值604相似的禁用核的过程,直到多处理器核仅保留一个低功率核作为其唯一操作核606。
在其中处理器仅具有一个较低功率核的实现中,当然,随着最后的高功率核的禁用达到状态606。再次,当需求继续下降时,可以降低唯一剩余低功率核的供电电压和/或工作频率。重要的是,在如以上所描述的状态606中,相比于具有相同的功率管理方案但其组成核全都是高功率核的其他多处理器核,多处理器将呈现出更低的功率消耗。如果给唯一操作低功率核提供比施加用到高功率核的最低的工作供电电压和/或工作频率更低的供电电压和/或更低的工作频率,在状态606中可以提供甚至更低的功率消耗。
在禁用了所有高功率核之后,在系统仅在(各)低功率核上运行时,不需要由应用软件、虚拟机或虚拟机监视器或者为它们做出专门的调整。再次,跨越系统中的所有核保留了相同的指令核,这对应于从软件的角度来看对底层核的透明性。借助于较低的核,可以实现较低的性能,但关于指令流的内容的专门调整是不必要的。在各种备选的实现中:1)硬件/机器可读的固件可以监视和控制核组合;或者,2)该硬件可以放弃对操作系统的控制,且使它监视需求并控制核组合。
图7实质上示出了以上所描述的倒转。如图7可见,从其中仅单个低功率核操作的状态701开始,当对多处理器的需求连续地增加时,启用额外的低功率核(如果有更多的话)702。最终,启用高功率核703。值得注意的是,相比于从操作的高功率处理器启用接下来的处理器所需要的需求阈值,从操作的低功率处理器启用接下来的处理器所需要的需求阈值可以对应于较低的需求增量。
即是说,插图710示出,在面临增加的需求时,在首次启用低功率处理器之后触发接下来的处理器的启用所需要的需求711的增加。在面临增加的需求时,在首次启用高功率处理器之后,触发接下来的高功率处理器的启用所需要的需求712的增加大于前述需求711。这是因为高功率处理器可以比低功率处理器处理更多的总需求,且因此不必像低功率处理器那样必须得到附加的“帮助”。
以逻辑上与以上相对于核的启用所描述的相反的方式,在面临增加的需求时,也可以结合核的启用增加工作频率和/或供电电压。
图8示出用于设计与以上所描述的原理一致的多核处理器的设计过程。作为设计过程的一部分,处理器的核中的每一个的高级行为描述800(例如,VHDL或Verilog描述)被综合到寄存器传输级(RTL)网表801。借助于对应于较高功率/性能设计(例如具有较宽的驱动晶体管的逻辑电路)的库,RTL网表被综合802到相应的(多个)较高功率核门级网表(每一高功率核一个网表)。借助于对应于较低功率/性能设计(例如具有较宽的驱动晶体管的逻辑电路)的库,RTL网表也被综合803到相应的(多个)较低功率核门级网表(每一低功率核一个网表)。在这里,高功率和低功率核的逻辑设计是相同的,但它们的相应的逻辑电路的设计具有不同的性能/功率设计要点。
然后,把各个核的晶体管电平网表用作执行各自的放置、布线和时序分析806和设计布局807的基础。在这里,由于通过逻辑电路以及在逻辑电路之间的较大的可允许传播延时,较低功率/性能核可以具有较不严格的放置和时序原则。换句话说,从图3的讨论回忆起较长负载线得到较慢的上升时间和下降时间,较低的性能核可以准许在晶体管和门之间的较长的负载线,这是因为这些核被设计为具有较慢的操作(当然,如果负载线被增加得太多,并且包括更狭窄的驱动晶体管,则性能的下降会比所期望的更多)。
在完成布局和时序分析之后,就根据清洁制造接地规则检查808清理各核以便生产。
以上讨论教示的进程可利用程序代码执行,诸如机器可执行指令,其导致机器执行这些指令以实现某些功能。在这种背景下,“机器”可以是将中间形式(或抽象)指令转换成处理器专用指令(例如,抽象执行环境,诸如“虚拟机”(例如,Java虚拟机)解释器、公共语言运行时、高级语言虚拟机等)的机器和/或设置在被设计成执行指令的半导体芯片中的电子电路(例如以晶体管实现的“逻辑电路”),诸如通用处理器和/或专用处理器。以上讨论示教的进程还可通过设计成执行进程(或其一部分)的电子电路来执行(替换机器或与机器组合),而不执行程序代码。
相信以上讨论示教的进程也可按各种软件部署框架(例如微软公司的.NET、Mono、Java,甲骨文公司的Fusion等)支持的各种面向对象或非面向对象的计算机编程语言(例如,Java、C#、VB、Python、C、C++、J#、APL、Cobol、Fortran、Pascal、Perl等)在源级程序代码中描述。源极程序代码可被转换成中间形式的程序代码(诸如Java字节代码、微软中间语言等),可将其理解为抽象执行环境(例如,Java虚拟机、公共语言运行时、高级语言虚拟机、解释器等),或者可直接编译成对象代码。
根据各种方法,通过1)编译中间形式的程序代码(例如在运行时(例如JIT编译器)),2)解释中间形式的程序代码或3)在运行时编译中间形式的程序代码和解释中间形式的程序代码的组合,抽象执行环境可将中间形式的程序代码转换成处理器专用代码。抽象执行环境可运行在各种操作系统上(诸如UNIX、LINUX、包括Windows族的微软操作系统、包括MacOS X的苹果计算机操作系统、Sun/Solaris、OS/2、Novell等)。
制品可用于存储程序代码。存储程序代码的制品可体现为但不限于一个或多个存储器(例如,一个或多个闪存、随机存取存储器(静态、动态或其它))、光盘、CD-ROM、DVDROM、EPROM、EEPROM、磁或光卡或适于存储电子指令的其它类型的机器可读介质。还可从远程计算机(例如,服务器)将程序代码作为体现在传播介质中的数据信号(例如,经由通信链路(例如,网络连接))下载至请求计算机(例如,客户机)。
在上述说明书中,已参考本发明具体示例实施例描述了本发明。然而,显然可对这些实施例作出各种修改和改变,而不背离如所附权利要求所述的本发明的更宽泛精神和范围。
Claims (10)
1.一种多核处理器,包括:
支持相同指令集的第一多个核和第二多个核,其中,所述第一多个核比所述第二多个核具有更高性能并且消耗更多功率;
缓存,由所述第一多个核和所述第二多个核共享;以及
功率管理硬件,用于启用和禁用所述第一多个核和所述第二多个核,其中,所述功率管理硬件用于基于对所述多核处理器的需求来控制所述第一多个核和所述第二多个核的核组合。
2.如权利要求1所述的多核处理器,其中,所述第二多个核中的每一个核具有比所述第一多个核中的每一个核的最大工作频率更低的最大工作频率。
3.如权利要求1所述的多核处理器,其中,所述第一多个核中的每一个核和所述第二多个核中的每一个核包括其中相应的缓存。
4.如权利要求3所述的多核处理器,其中,所述第一多个核中的每一个核进一步包括其中用于数据的缓存和用于指令的缓存。
5.如权利要求1所述的多核处理器,其中,所述核组合包括其中所述第一多个核中的一些核但不是所有核和所述第二多个核被启用的状态。
6.如权利要求1所述的多核处理器,进一步包括系统存储器接口,所述系统存储器接口用于耦合至系统存储器以搜索由所述第一多个核和所述第二多个核中的任意核请求的在所述缓存中未找到的缓存线。
7.如权利要求1所述的多核处理器,其中,所述第一多个核至少为三个。
8.如权利要求1所述的多核处理器,进一步包括一致性逻辑电路,所述一致性逻辑电路用于维护由所述第一多个核和所述第二多个核共享的所述缓存中的缓存一致性。
9.一种非瞬态机器可读介质,其包含程序代码,所述程序代码当被机器所处理时,致使方法被执行,所述方法包括:
由在多核处理器上执行的操作系统监视对所述多核处理器的需求,其中,所述多核处理器包括支持相同指令集的第一多个核和第二多个核以及缓存,所述第一多个核比所述第二多个核具有更高性能并且消耗更多功率,所述缓存由所述第一多个核和所述第二多个核共享;以及
基于所述需求利用所述多核处理器的功率管理硬件来控制所述第一多个核和所述第二多个核的核组合。
10.一种多核处理器的设计方法,包括:
为处理器核中的每一个创建高级行为描述;
将所述高级行为描述综合到RTL级网表;
针对每一个高功率核,基于高功率设计库,将所述RTL级网表综合到对应的较高功率核门级网表;
针对每一个低功率核,基于低功率设计库,将所述RTL级网表综合到对应较低功率核门级网表;
针对所述较高功率核门级网表和所述较低功率核门级网表,分别开展布局和时序分析,得到晶体管级网表;
基于所述晶体管级网表进行设计布局;
执行清洁制造接地规则检查。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110256803.3A CN112947736B (zh) | 2011-12-22 | 2012-12-06 | 具有相同的指令集架构(isa)的非对称性能多核架构 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/335,257 US9569278B2 (en) | 2011-12-22 | 2011-12-22 | Asymmetric performance multicore architecture with same instruction set architecture |
US13/335,257 | 2011-12-22 | ||
PCT/US2012/068274 WO2013095944A1 (en) | 2011-12-22 | 2012-12-06 | An asymmetric performance multicore architecture with same instruction set architecture (isa) |
CN201280063860.9A CN104011704B (zh) | 2011-12-22 | 2012-12-06 | 具有相同的指令集架构(isa)的非对称性能多核架构 |
CN202110256803.3A CN112947736B (zh) | 2011-12-22 | 2012-12-06 | 具有相同的指令集架构(isa)的非对称性能多核架构 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280063860.9A Division CN104011704B (zh) | 2011-12-22 | 2012-12-06 | 具有相同的指令集架构(isa)的非对称性能多核架构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112947736A true CN112947736A (zh) | 2021-06-11 |
CN112947736B CN112947736B (zh) | 2024-04-09 |
Family
ID=46578386
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810311226.1A Active CN108763129B (zh) | 2011-12-22 | 2012-12-06 | 具有相同的指令集架构(isa)的非对称性能多核架构 |
CN201280063860.9A Active CN104011704B (zh) | 2011-12-22 | 2012-12-06 | 具有相同的指令集架构(isa)的非对称性能多核架构 |
CN202110256803.3A Active CN112947736B (zh) | 2011-12-22 | 2012-12-06 | 具有相同的指令集架构(isa)的非对称性能多核架构 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810311226.1A Active CN108763129B (zh) | 2011-12-22 | 2012-12-06 | 具有相同的指令集架构(isa)的非对称性能多核架构 |
CN201280063860.9A Active CN104011704B (zh) | 2011-12-22 | 2012-12-06 | 具有相同的指令集架构(isa)的非对称性能多核架构 |
Country Status (4)
Country | Link |
---|---|
US (3) | US9569278B2 (zh) |
CN (3) | CN108763129B (zh) |
TW (1) | TWI470418B (zh) |
WO (1) | WO2013095944A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014032240A1 (zh) * | 2012-08-29 | 2014-03-06 | 东莞宇龙通信科技有限公司 | 终端和终端工作状态的调整方法 |
US9164570B2 (en) * | 2012-12-13 | 2015-10-20 | Advanced Micro Devices, Inc. | Dynamic re-configuration for low power in a data processor |
KR102005765B1 (ko) * | 2012-12-17 | 2019-07-31 | 삼성전자주식회사 | 시스템-온 칩과, 이의 동작 방법 |
KR102082859B1 (ko) | 2013-01-07 | 2020-02-28 | 삼성전자주식회사 | 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법 |
JP6051924B2 (ja) * | 2013-02-21 | 2016-12-27 | 富士通株式会社 | 情報処理装置の制御方法、制御プログラム、情報処理装置 |
WO2014149041A1 (en) * | 2013-03-20 | 2014-09-25 | Empire Technology Development Llc | Heterogeneous router clock assignment and packet routing |
US9634486B2 (en) * | 2014-07-09 | 2017-04-25 | Qualcomm Incorporated | Dynamic power rail control for clusters of loads |
US10248180B2 (en) | 2014-10-16 | 2019-04-02 | Futurewei Technologies, Inc. | Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system |
US9952650B2 (en) | 2014-10-16 | 2018-04-24 | Futurewei Technologies, Inc. | Hardware apparatus and method for multiple processors dynamic asymmetric and symmetric mode switching |
US10928882B2 (en) | 2014-10-16 | 2021-02-23 | Futurewei Technologies, Inc. | Low cost, low power high performance SMP/ASMP multiple-processor system |
KR20160054850A (ko) * | 2014-11-07 | 2016-05-17 | 삼성전자주식회사 | 다수의 프로세서들을 운용하는 장치 및 방법 |
US20160306416A1 (en) * | 2015-04-16 | 2016-10-20 | Intel Corporation | Apparatus and Method for Adjusting Processor Power Usage Based On Network Load |
TWI609578B (zh) * | 2015-09-17 | 2017-12-21 | 財團法人資訊工業策進會 | 具有程式編譯功能之線上討論系統及其方法 |
US10551868B2 (en) * | 2016-03-16 | 2020-02-04 | Mediatek, Inc. | Multiprocessor systems having processors with different processing capabilities connecting to a clock generator |
US10591966B1 (en) * | 2019-02-20 | 2020-03-17 | Blockchain Asics Llc | Actively controlled series string power supply |
US20220164442A1 (en) * | 2019-08-12 | 2022-05-26 | Hewlett-Packard Development Company, L.P. | Thread mapping |
WO2021081813A1 (zh) * | 2019-10-30 | 2021-05-06 | 阿里巴巴集团控股有限公司 | 多核处理器及其调度方法、设备及存储介质 |
JP2023020219A (ja) * | 2021-07-30 | 2023-02-09 | 株式会社リコー | 情報処理装置、方法およびプログラム |
GB202202793D0 (en) * | 2022-03-01 | 2022-04-13 | Graphcore Ltd | External exchange connectivity |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110012A1 (en) * | 2001-12-06 | 2003-06-12 | Doron Orenstien | Distribution of processing activity across processing hardware based on power consumption considerations |
US20060171244A1 (en) * | 2005-02-03 | 2006-08-03 | Yoshiyuki Ando | Chip layout for multiple cpu core microprocessor |
CN101076770A (zh) * | 2004-09-28 | 2007-11-21 | 英特尔公司 | 根据可用并行数目改变每条指令能量的方法和设备 |
CN101233475A (zh) * | 2005-08-02 | 2008-07-30 | 先进微装置公司 | 增加于多核心处理器上的一个或多个核心的工作量效能 |
CN101241390A (zh) * | 2007-02-07 | 2008-08-13 | 华硕电脑股份有限公司 | 多核心处理器的效能调整方法 |
US20100131781A1 (en) * | 2008-11-21 | 2010-05-27 | Memon Mazhar I | Reducing network latency during low power operation |
CN102033596A (zh) * | 2009-09-26 | 2011-04-27 | 英特尔公司 | 用于多核心处理器的低功率操作的方法和装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070083785A1 (en) * | 2004-06-10 | 2007-04-12 | Sehat Sutardja | System with high power and low power processors and thread transfer |
US20060112226A1 (en) * | 2004-11-19 | 2006-05-25 | Hady Frank T | Heterogeneous processors sharing a common cache |
DE112005003343B4 (de) * | 2004-12-30 | 2011-05-19 | Intel Corporation, Santa Clara | Mechanismus für eine befehlssatzbasierte Threadausführung an mehreren Befehlsablaufsteuerungen |
KR101108397B1 (ko) * | 2005-06-10 | 2012-01-30 | 엘지전자 주식회사 | 멀티-코어 프로세서의 전원 제어 장치 및 방법 |
KR101177125B1 (ko) * | 2005-06-11 | 2012-08-24 | 엘지전자 주식회사 | 멀티-코어 프로세서의 합성모드 구현 방법 및 장치 |
US20080263324A1 (en) * | 2006-08-10 | 2008-10-23 | Sehat Sutardja | Dynamic core switching |
US20080127192A1 (en) * | 2006-08-24 | 2008-05-29 | Capps Louis B | Method and System for Using Multiple-Core Integrated Circuits |
US8527789B2 (en) * | 2007-08-13 | 2013-09-03 | Dell Products, Lp | System and method of modifying power use within an information handling system |
US8055822B2 (en) * | 2007-08-21 | 2011-11-08 | International Business Machines Corporation | Multicore processor having storage for core-specific operational data |
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 |
US7992020B1 (en) | 2008-03-05 | 2011-08-02 | Xilinx, Inc. | Power management with packaged multi-die integrated circuit |
US20090271646A1 (en) * | 2008-04-24 | 2009-10-29 | Vanish Talwar | Power Management Using Clustering In A Multicore System |
US8006112B2 (en) * | 2008-06-09 | 2011-08-23 | Dell Products L.P. | System and method for managing blades after a power supply unit failure |
US8296773B2 (en) * | 2008-06-30 | 2012-10-23 | International Business Machines Corporation | Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance |
US20100058086A1 (en) | 2008-08-28 | 2010-03-04 | Industry Academic Cooperation Foundation, Hallym University | Energy-efficient multi-core processor |
JP5237739B2 (ja) | 2008-09-29 | 2013-07-17 | 株式会社日立製作所 | 情報処理装置 |
US9043795B2 (en) * | 2008-12-11 | 2015-05-26 | Qualcomm Incorporated | Apparatus and methods for adaptive thread scheduling on asymmetric multiprocessor |
CN101436098A (zh) * | 2008-12-24 | 2009-05-20 | 华为技术有限公司 | 降低多核对称多处理系统的功耗的方法及装置 |
US8892931B2 (en) * | 2009-10-20 | 2014-11-18 | Empire Technology Development Llc | Power channel monitor for a multicore processor |
US8423717B2 (en) * | 2009-12-02 | 2013-04-16 | Honeywell International Inc. | Multi-core processing cache image management |
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 |
US8489904B2 (en) * | 2010-03-25 | 2013-07-16 | International Business Machines Corporation | Allocating computing system power levels responsive to service level agreements |
US8381006B2 (en) * | 2010-04-08 | 2013-02-19 | International Business Machines Corporation | Reducing power requirements of a multiple core processor |
US8627128B2 (en) * | 2010-11-09 | 2014-01-07 | International Business Machines Corporation | Power management for processing capacity upgrade on demand |
US8695008B2 (en) * | 2011-04-05 | 2014-04-08 | Qualcomm Incorporated | Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device |
US9348656B2 (en) * | 2011-12-19 | 2016-05-24 | Advanced Micro Devices, Inc. | Apparatus and method for managing power among a plurality of processors sharing a thermal platform |
-
2011
- 2011-12-22 US US13/335,257 patent/US9569278B2/en active Active
-
2012
- 2012-12-06 WO PCT/US2012/068274 patent/WO2013095944A1/en active Application Filing
- 2012-12-06 CN CN201810311226.1A patent/CN108763129B/zh active Active
- 2012-12-06 CN CN201280063860.9A patent/CN104011704B/zh active Active
- 2012-12-06 CN CN202110256803.3A patent/CN112947736B/zh active Active
- 2012-12-13 TW TW101147200A patent/TWI470418B/zh active
-
2017
- 2017-02-13 US US15/431,527 patent/US10049080B2/en active Active
-
2018
- 2018-08-14 US US16/103,798 patent/US10740281B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110012A1 (en) * | 2001-12-06 | 2003-06-12 | Doron Orenstien | Distribution of processing activity across processing hardware based on power consumption considerations |
CN101076770A (zh) * | 2004-09-28 | 2007-11-21 | 英特尔公司 | 根据可用并行数目改变每条指令能量的方法和设备 |
US20060171244A1 (en) * | 2005-02-03 | 2006-08-03 | Yoshiyuki Ando | Chip layout for multiple cpu core microprocessor |
CN101233475A (zh) * | 2005-08-02 | 2008-07-30 | 先进微装置公司 | 增加于多核心处理器上的一个或多个核心的工作量效能 |
CN101241390A (zh) * | 2007-02-07 | 2008-08-13 | 华硕电脑股份有限公司 | 多核心处理器的效能调整方法 |
US20100131781A1 (en) * | 2008-11-21 | 2010-05-27 | Memon Mazhar I | Reducing network latency during low power operation |
CN102033596A (zh) * | 2009-09-26 | 2011-04-27 | 英特尔公司 | 用于多核心处理器的低功率操作的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104011704A (zh) | 2014-08-27 |
US9569278B2 (en) | 2017-02-14 |
US20120198207A1 (en) | 2012-08-02 |
CN104011704B (zh) | 2018-05-08 |
US10049080B2 (en) | 2018-08-14 |
US20170154012A1 (en) | 2017-06-01 |
US10740281B2 (en) | 2020-08-11 |
WO2013095944A1 (en) | 2013-06-27 |
TW201342029A (zh) | 2013-10-16 |
CN108763129A (zh) | 2018-11-06 |
TWI470418B (zh) | 2015-01-21 |
CN112947736B (zh) | 2024-04-09 |
US20190073336A1 (en) | 2019-03-07 |
CN108763129B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763129B (zh) | 具有相同的指令集架构(isa)的非对称性能多核架构 | |
US9075610B2 (en) | Method, apparatus, and system for energy efficiency and energy conservation including thread consolidation | |
EP3198438B1 (en) | Hardware apparatus and method for multiple processors dynamic asymmetric and symmetric mode switching | |
US10635337B2 (en) | Dynamic configuration of compressed virtual memory | |
US11853787B2 (en) | Dynamic platform feature tuning based on virtual machine runtime requirements | |
US20140173312A1 (en) | Dynamic re-configuration for low power in a data processor | |
KR102306084B1 (ko) | 클럭 디바이더 디바이스 및 그 방법 | |
Greengard | GPUs reshape computing | |
Ditzel | Accelerating ML Recommendation With Over 1,000 RISC-V/Tensor Processors on Esperanto's ET-SoC-1 Chip | |
CN108139791B (zh) | 功率监控的cpu功率网设计 | |
EP2853983A1 (en) | Utilization of processor capacity at low operating frequencies | |
Vougioukas et al. | Nucleus: Finding the sharing limit of heterogeneous cores | |
KR20230175308A (ko) | 랜덤 기입 ssd 작업부하에 대한 동적 프로그램 일시중단 디스에이블 | |
JP2021177367A (ja) | プロセッサアイドル時間のインテリジェント予測装置及び方法 | |
CN113366458A (zh) | 用于自适应互连路由的系统、装置和方法 | |
US20230115542A1 (en) | Programmable matrix multiplication engine | |
WO2021056032A2 (en) | Apparatus and method of intelligent power allocation using a power controller | |
SIVAKUMAR et al. | Dynamically Adaptive Cache Design for Energy Efficiency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |