基于平台热以及功率预算约束,对于给定工作负荷的最佳逻辑处理器计数和类型选择的制作方法

文档序号:9422682阅读:334来源:国知局
基于平台热以及功率预算约束,对于给定工作负荷的最佳逻辑处理器计数和类型选择的制作方法
【技术领域】
[0001] 本发明设及处理逻辑、微处理器,W及相关联的指令集架构领域,当它们被处理器 或其他处理逻辑执行时,执行逻辑、数学,或其他功能操作。
【背景技术】
[0002] 中央处理单元(CPU)设计师试图通过增大处理器中的核的数量,提供处理器性能 的一致的改善。缩放处理器的性能并改善能量效率的必要性导致异构型处理器架构的发 展。异构型处理器包括带有不同的功率和性能特征的核。例如,异构型处理器可W集成大 核和小核的混合,如此,可W潜在地实现两种类型的核的优点。需要高处理强度的应用程序 可W分配给大核,而产生低处理强度的应用程序可W分配给小核,W节省电能。在移动或其 他功率受约束的平台上,提高能量效率转换成延长的电池寿命。
[0003] 常规异构型处理器中的核通常在其整个执行持续时间内被分配给处理任务。然 而,任务的处理强度可能会在其执行过程中变化。在任何给定时间,可W有多个任务同时执 行,运些任务可能具有对于处理资源的不同的并且变化的要求。如此,静态核分配不能优化 处理资源的利用率和能量效率。
[0004] 附图简述
[0005] 此处所描述的本发明的各实施例是作为示例说明的,而不仅限于各个附图的图 形。
[0006] 图1是根据一实施例的具有核选择模块的处理器的框图。
[0007] 图2是示出了根据一实施例的执行核选择线程的处理器的框图。
[0008]图3是示出了根据一个实施例的用于执行核选择线程的时间线的示例的时序图。
[0009] 图4是示出了根据一实施例的核选择所使用的性能计数器的框图。
[0010] 图5示出了根据一实施例的多线程应用程序的执行。
[0011] 图6是示出了根据一实施例的要被执行的操作的流程图。
[0012] 图7A是根据一实施例和有序和无序流水线的框图。
[0013] 图7B是根据一实施例和有序和无序核的框图。
[0014] 图8A-B是根据一实施例的比较具体的示例性有序核体系结构的框图。
[0015] 图9是根据一个实施例的处理器的框图。
[0016] 图10是示出了根据一个实施例的系统的框图。
[0017] 图11是根据一个实施例的第二系统的框图。
[0018] 图12是根据本发明的一实施例的第S系统的框图。
[0019] 图13是根据一个实施例的片上系统(SoC)的框图。
[0020] 实施例的描述
[0021] 在下面的描述中,阐述了很多具体细节。然而,应该理解,本发明的各实施例可W 在没有运些具体细节的情况下实施。在其他情况下,没有详细示出已知的电路、结构,W及 技术,W便不至于使对本描述的理解变得模糊。
[0022] 此处所描述的各实施例提供核选择机制,该机制跟踪多线程应用程序的执行,并 向应用程序暴露最合适的核组。多线程应用程序具有可W在多个核上被并发地处理的执行 的多个上下文(即,软件线程,也被称为线程)。运多个线程可W具有在不同的数据集上应 用的相同指令序列(例如,大矩阵乘法),或可W设及不同的任务在不同的线程中的并发执 行(例如,同时的网页浏览和音乐播放)。当运行多线程应用程序时,核选择机制选择处理 器中最适合于线程的并发执行的核的子集。选择可W考虑平台热约束、功率预算和应用程 序可缩放性。在一个实施例中,核选择机制可W通过用于带外控制的微控制器,或用于带内 控制的软件线程来实现。
[0023] 图1是根据一实施例的实现核选择机制的处理器100的框图。在此实施例中,处 理器100包括具有大核类型的两个大核120和具有小核类型的四个小核130。应该理解,在 另一个实施例中,处理器100可包括任意数量的大核120和任意数量的小核130。在某些实 施例中,处理器可包括两个W上的不同的核类型。大核120和小核130中的每一个都是包 括用于执行指令的电路的物理核。如此,在下面的描述中,大核120和小核130统称为物理 核 120 和 130。
[0024] 在一个实施例中,大核120和小核130中的每一个都可W支持被超线程W在一个 物理核上运行的一个或多个逻辑核125。超线程允许物理核对单独的数据并发地执行多个 指令,其中并发执行由被指定了硬件组件和单独的地址空间的重复的副本的多个逻辑核支 持。每一逻辑核125在操作系统(0巧看起来好像是不同的处理单元;如此,OS可W调度两 个进程(即,两个线程)用于并发执行。大核120比小核130具有更大的处理能力并消耗 更大的功率。由于其较高处理能力和较高功率预算,大核120可W比小核130支持更多逻 辑核125。在图1的实施例中,每一大核120都支持两个逻辑核125,每一小核130都支持 一个逻辑核125。在替换实施例中,由物理核120或130支持的逻辑核的数量可W不同于在 图1中所示出的。
[0025] 处理器100还在物理核120和130外面包括硬件电路。例如,处理器100可包括 由物理核120和130共享的缓存140 (例如,末级缓存化LC) ),W及诸如集成存储器控制器 之类的控制单元160,总线/互连控制器等等。应该理解,图1的处理器100是简化表示,并 且可W包括额外的硬件电路。
[0026] 在一个实施例中,处理器100禪合到功率控制单元(PCU) 150。PCU150监测并管 理处理器110中的电压、溫度和功率消耗。在一个实施例中,PCU150是与相同管忍上的 处理器110的其他硬件组件集成的硬件或固件单元。PCU150控制逻辑核125W及物理核 120和130的激活(例如,打开)和去激活,诸如关闭核或将核置于节能状态(例如,睡眠状 态)。
[0027] 在实现带外控制的实施例中,PCU150包括核选择模块152,该模块152确定用于 执行多线程应用程序的逻辑核125的子集。在图1的实施例中,处理器100支持总共八个逻 辑核125。然而,由于功率和热约束,并非所有逻辑核125都可W同时活跃;例如,最大只有 四个逻辑核125可W同时活跃。多线程应用程序可WW任何组合(在允许的功率预算内) 在逻辑核125中的任何一个上运行,最大数量高达四个逻辑核125。核选择模块152可W监 测应用程序的执行,W确定哪些逻辑核125用于执行应用程序。核选择模块152意识到,并 非所有逻辑核125都相同:由大核120支持的逻辑核具有大核类型,而由小核130支持的逻 辑核具有小核类型。具有大核类型的逻辑核(也被称为"大逻辑核")比具有小核类型的逻 辑核(也被称为"小逻辑核")具有更大的处理能力并消耗更大的功率。另外,在相同大核 上并发地运行的两个逻辑核可W比在两个不同的大核上并发地运行的两个逻辑核具有较 小的处理能力并消耗较少的能量。
[0028] 图2是根据另一实施例的实现核选择机制的处理器200的框图。处理器200类似 于图1的处理器100,只是核选择是由执行核选择线程252的物理核中的一个带内执行的。 核选择线程252是控制线程,该控制线程可W由逻辑核125中的任何一个在物理核中的任 何一个(即,大核120和小核130中的任何一个)上执行。在任何给定时间,只有一个核选 择线程252由处理器100执行。在一个实施例中,执行多线程应用程序(或应用程序的一 部分)的逻辑核125(例如,逻辑核LC)还可W执行核选择线程252。如果在应用程序的执 行过程中,逻辑核LC被去激活,则核选择线程252可W被迁移到另一活跃的逻辑核125,W 继续核选择操作。
[0029] 图3是示出了执行多线程应用程序和核选择线程252的逻辑核LC的时序图。在 一个实施例中,核选择线程252每隔N毫秒唤醒W选择执行应用程序的逻辑核的子集。核 选择线程252可W只运行几微秒。一旦选择了逻辑核的子集,逻辑核LC通知PCU150激活 (例如,启动)那些被选择的逻辑核一一如果它们还不在活跃状态的话。可W由PCU150去 激活(例如,关闭或置于节能状态)未被选择的逻辑核。
[0030] 在一个实施例中,由核选择机制(即,图1的核选择模块251或图2的核选择线程 252)作出的选择可W基于若干种因素,包括但不限于:由应用程序执行的操作的类型,核 的可用性,W及功率预算。例如,如果应用程序具有四个线程并且四个线程正在对不同的组 的数据执行正好相同的操作,那么,可W选择四个小逻辑核W优化每瓦特的处理器性能。在 另一个示例中,四个线程可W最初被分配给四个小逻辑核W根据生产者-消费者模型,执 行操作。如果核选择机制检测
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1