用于智能地对异构处理器组件供电的装置和方法

文档序号:8501081阅读:227来源:国知局
用于智能地对异构处理器组件供电的装置和方法
【专利说明】用于智能地对异构处理器组件供电的装置和方法 【背景技术】 技术领域
[0001] 本发明总体涉及计算机处理器领域。更具体地说,本发明涉及用于智能地对诸如 核、图形单元和其他功能单元之类的异构处理器组件供电的装置和方法。
[0002] 相关技术描述
[0003] 现代的能量受约束的和受热约束的手持设备中的功率预算是非常贫乏的。然而, 消费者期望这些设备中有越来越多的功能,这要求越来越多的计算功率。为此目的,许多计 算元件存在于当前的手持设备中所使用的处理器中,该手持设备通常被实现为芯片上系统 (SoC)〇
[0004] 先前的解决方案一般孤立地对待SoC中的每一个计算组件以致力于能效。这些解 决方案采用诸如轮停、功率和时钟门控、发布宽度减少、变频等之类的技术来改变给定计算 组件的功率/性能特性。
[0005] 所需要的是诸如SoC之类的处理器,其将提供非同一般的性能,但是其将仍然在 精密的功率和热包络下操作。 【附图说明】
[0006] 结合以下附图,从以下【具体实施方式】中可获得对本发明更好的理解,其中:
[0007] 图1A是示出根据本发明的多个实施例的示例性有序流水线和示例性的寄存器重 命名的无序发布/执行流水线的框图;
[0008] 图1B是示出根据本发明的多个实施例的要包括在处理器中的有序架构核的示例 性实施例和示例性的寄存器重命名的无序发布/执行架构核的框图;
[0009] 图2是根据本发明的多个实施例的具有集成的存储器控制器和图形器件的单核 处理器和多核处理器的框图。
[0010] 图3示出根据本发明的一个实施例的系统的框图;
[0011] 图4示出根据本发明的实施例的第二系统的框图;
[0012] 图5示出根据本发明的实施例的第三系统的框图;
[0013] 图6示出根据本发明的实施例的芯片上系统(SoC)的框图;
[0014]图7示出根据本发明的多个实施例的、对照使用软件指令转换器将源指令集中的 二进制指令转换成目标指令集中的二进制指令的框图;
[0015] 图8示出异构处理器架构的一个实施例。
[0016] 图9A和9B分别示出包括被隐藏的大型核和被隐藏的小型核的实施例。
[0017] 图10示出用于将虚拟核映射至物理核的方法的一个实施例。
[0018] 图lla-b示出具有被隐藏的大型核和多个可见的小型核的系统的一个实施例。
[0019] 图12示出用于将虚拟核映射至物理核的方法的一个实施例。
[0020] 图I3a-C示出具有被隐藏的小型核和多个可见的大型核的系统的一个实施例。
[0021] 图13d示出用于多种类型线程的核分配。
[0022] 图14a_b示出用于智能地向异构处理器组件分配功率的本发明的多个实施例。 [0023]图15a_b是示出根据本发明的多个实施例的通用向量友好指令格式及其指令模 板的框图;
[0024] 图16a_d是根据本发明的多个实施例的示例性专用向量友好指令格式的框图;以 及
[0025] 图17是根据本发明的一个实施例的寄存器架构的框图。 【具体实施方式】
[0026] 在下面的描述中,为了进行解释,阐述了众多具体细节以便提供对以下描述的本 发明的多个实施例的透彻理解。然而,对本领域技术人员显而易见的是,可以在没有这些具 体细节中的一些细节的情况下实施本发明的各实施例。在其他实例中,公知的结构和设备 以框图形式示出,以避免使本发明的多个实施例的基本原理模糊。
[0027] 示例件处理器架构和数据类塑
[0028] 图1A是示出根据本发明的多个实施例的示例性有序流水线和示例性的寄存器重 命名的无序发布/执行流水线的框图。图1B是示出根据本发明的多个实施例的要包括在 处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的无序发布/执行架构 核的框图。图1A-B中的实线框示出了有序流水线和有序核,而可选增加的虚线框示出了寄 存器重命名的、无序发布/执行流水线和核。考虑到有序方面是无序方面的子集,将描述无 序方面。
[0029] 在图1A中,处理器流水线100包括取出级102、长度解码级104、解码级106、分配 级108、重命名级110、调度(也被称为分派或发布)级112、寄存器读取/存储器读取级 114、执行级116、写回/存储器写入级118、异常处理级122和提交级124。
[0030] 图1B示出处理器核190,其包括耦合到执行引擎单元150的前端单元130,且执行 引擎单元和前端单元两者都耦合到存储器单元170。核190可以是精简指令集计算(RISC) 核、复杂指令集计算(CISC)核、超长指令字(VLIW)核或混合或替代核类型。作为又一选项, 核190可以是专用核,诸如例如,网络或通信核、压缩引擎、协处理器核、通用计算图形处理 单元(GPGPU)核、图形核等。
[0031] 前端单元130包括親合到指令高速缓存单元134的分支预测单元132,该指令高 速缓存单元耦合到指令转换后备缓冲器(TLB) 136,该指令转换后备缓冲器耦合到指令取出 单元138,指令取出单元耦合到解码单元140。解码单元140 (或解码器)可解码指令,并生 成从原始指令解码出的、或以其他方式反映原始指令的、或从原始指令导出的一个或多个 微操作、微代码进入点、微指令、其他指令或其他控制信号作为输出。解码单元140可使用 各种不同的机制来实现。合适机制的示例包括但不仅限于,查找表、硬件实现、可编程逻辑 阵列(PLA)、微代码只读存储器(ROM)等。在一个实施例中,核190包括微代码ROM或存储 用于某些宏指令的微代码的其他介质(例如,在解码单元140中或以其他方式在前端单元 130内)。解码单元140耦合至执行引擎单元150中的重命名/分配器单元152。
[0032] 执行引擎单元150包括耦合到引退单元154和一个或多个调度器单元的集合156 的重命名/分配器单元152。调度器单元156表示任意数量的不同调度器,包括预留站、中 央指令窗等。调度器单元156耦合到物理寄存器组单元158。物理寄存器组单元158中的 每一个表示一个或多个物理寄存器组,其中不同的物理寄存器组存储一个或多个不同的数 据类型,例如,标量整数、标量浮点、紧缩整数、紧缩浮点、向量整数、向量浮点,状态(例如, 作为要被执行的下一条指令的地址的指令指针)等。在一个实施例中,物理寄存器组单元 158包括向量寄存器单元、写掩码寄存器单元和标量寄存器单元。这些寄存器单元可以提供 架构向量寄存器、向量掩码寄存器、和通用寄存器。物理寄存器组单元158被引退单元154 覆盖,以示出可实现寄存器重命名和无序执行的各种方式(例如,使用重排序缓冲器和引 退寄存器组;使用未来文件(future file)、历史缓冲器、引退寄存器组;使用寄存器映射 和寄存器池等)。引退单元154和物理寄存器组单元158耦合至执行群集160。执行群集 160包括一个或多个执行单元的集合162以及一个或多个存储器访问单元的集合164。执行 单元162可执行多种操作(例如,移位、加法、减法、乘法),并且可对多种数据类型(例如, 标量浮点、紧缩整数、紧缩浮点、向量整数、向量浮点)执行操作。尽管一些实施例可以包括 专用于特定功能或功能集的多个执行单元,但其他实施例可包括全部执行所有功能的仅一 个执行单元或多个执行单元。调度器单元156、物理寄存器组单元158、执行群集160被示 出为可能是复数个,因为某些实施例为某些数据/操作类型创建了诸个单独流水线(例如, 均具有各自调度器单元、物理寄存器组单元和/或执行群集的标量整数流水线、标量浮点/ 紧缩整数/紧缩浮点/向量整数/向量浮点流水线、和/或存储器访问流水线,以及在单独 的存储器访问流水线的情况下特定实施例被实现为仅仅该流水线的执行群集具有存储器 访问单元164)。还应当理解,在使用分开的流水线的情况下,这些流水线中的一个或多个可 以是无序发布/执行的,并且其余流水线可以是有序发布/执行的。
[0033] 存储器访问单元的集合164耦合到存储器单元170,该存储器单元包括耦合到数 据高速缓存单元174的数据TLB单元172,其中,数据高速缓存单元耦合到第二级(L2)高速 缓存单元176。在一个示例性实施例中,存储器访问单元164可包括加载单元、存储地址单 元和存储数据单元,其中的每一个均親合至存储器单元170中的数据TLB单元172。指令高 速缓存单元134还耦合到存储器单元170中的第二级(L2)高速缓存单元176。L2高速缓 存单元176耦合到一个或多个其他级的高速缓存,并最终耦合到主存储器。
[0034] 作为示例,示例性的寄存器重命名的、无序发布/执行核架构可按如下方式实现 流水线100 :1)指令取出138执行取出和长度解码级102和104 ;2)解码单元140执行解 码级106 ;3)重命名/分配器单元152执行分配级108和重命名级110 ;4)调度器单元156 执行调度级112 ;5)物理寄存器组单元158和存储器单元170执行寄存器读取/存储器读 取级114 ;执行群集160执行执行级116 ;6)存储器单元170和物理寄存器组单元158执行 写回/存储器写入级118 ;7)各单元可牵涉到异常处理级122 ;以及8)引退单元154和物 理寄存器组单元158执行提交级124。
[0035] 核190可支持一个或多个指令集(例如,x86指令集(在更新的版本中加入了一 些扩展);加利福尼亚州桑尼维尔市的MIPS技术公司的MIPS指令集;加利福尼州桑尼维尔 市的ARM控股公司的ARM指令集(具有诸如NEON之类的可选附加扩展)),其中包括本文中 描述的各指令。在一个实施例中,核190包括用于支持紧缩数据指令集扩展(例如,AVX1、 AVX2和/或先前描述的一些形式的一般向量友好指令格式(U = 0和/或U = 1))的逻辑, 从而允许由许多多媒体应用使用的操作能够使用紧缩数据来执行。
[0036] 应当理解,核可支持多线程操作(执行两个或更多个并行的操作或线程的集合), 并且可以按各种方式来完成该多线程操作,各种方式包括时分多线程操作、同步多线程操 作(其中,单个物理核为物理核正在同步进行多线程操作的多个线程中的每一个线程提供 逻辑核)或其组合(例如,时分取出和解码以及此后诸如利用Intel?超线程技术的同步多 线程操作)。
[0037] 尽管在无序执行的上下文中描述了寄存器重命名,但应当理解,可在有序架构中 使用寄存器重命名。尽管所示出的处理器的实施例还包括分开的指令和数据高速缓存单元 134/174以及共享L2高速缓存单元176,但替代实施例可以具有用于指令和数据两者的单 个内部高速缓存,诸如例如一级(L1)内部高速缓存或多个级别的内部高速缓存。在一些实 施例中,该系统可包括内部高速缓存和在核和/或处理器外部的外部的高速缓存的组合。 或者,所有高速缓存都可在核和/或处理器的外部。
[0038] 图2是根据本发明的多个实施例的、可能具有多于一个的核、可能具有集成存储 器控制器、并且可能具有集成图形器件的处理器200的框图。图2中的实线框示出具有单 个核202A、系统代理210、一个或多个总线控制器单元216的集合的处理器200,而虚线框的 可选附加示出具有多个核202A-N、系统代理单元210中的一个或多个集成存储器控制器单 元214的集合以及专用逻辑208的替代处理器200。
[0039] 因此,处理器200的不同实现可包括:1) CPU,其中专用逻辑208是集成图形和/或 科学(吞吐量)逻辑(其可包括一个或多个核),并且核202A-N是一个或多个通用核(例 如,通用有序核、通用无序核、这两者的组合);2)协处理器,其中核202A-N是旨在主要用于 图形和/或科学(吞吐量)的大量专用核;以及3)协处理器,其中核202A-N是大量通用有 序核。因此,处理器200可以是通用处理器、协处理器或专用处理器,该专用处理器诸如例 如,网络或通信处理器、压缩引擎、图形处理器、GPGPU (通用图形处理单元)、高吞吐量的集 成众核(MIC)协处理器(包括30个或更多核)、嵌入式处理器等。该处理器可以被实现在 一个或多个芯片上。处理器200可以是一个或多个基板的一部分,并且/或者可使用多种 工艺技术(诸如,BiCMOS、CMOS、或NMOS)中的任意技术被实现在一个或多个基板上。
[0040] 存储器层次结构包括核内的一个或多个层级的高速缓存、一组或一个或多个共享 高速缓存单元206以及耦合至集成存储器控制器单元的集合214的外部存储器(未示出)。 共享高速缓存单元的集合206可包括一个或多个中级高速缓存,诸如,第二级(L2)、第三级 (L3)、第四级(L4)或其他层级的高速缓存、末级高速缓存(LLC)和/或以上的组合。尽管在 一个实施例中,基于环的互连单元212将集成图形逻辑208、共享高速缓存单元的集合206 以及系统代理单元210/集成存储器控制器单元214互连,但替代实施例可使用任何数量的 公知技术来将此类单元互连。在一个实施例中,可维护一个或多个高速缓存单元206和核 202A-N 之间的一致性(coherency)。
[0041] 在一些实施例中,一个或多个核202A-N能够进行多线程操作。系统代理210包括 协调和操作核202A-N的那些组件。系统代理单元210可包括例如功率控制单元(P⑶)和 显示单元。PCU可以是或可包括调节核202A-N和集成图形逻辑208的功率状态所需的逻辑 和组件。显示单元用于驱动一个或多个外部连接的显示器。
[0042] 核202A-N在架构指令集方面可以是同构的或异构的;也就是说,这些核202A-N中 的两个或更多个核可能能够执行相同的指令集,而其他核可能能够执行该指令集的仅仅子 集或不同的指令集。在一个实施例中,核202A-N是异构的并且包括下述"小型"核和"大 型"核两者。
[0043] 图3-6是示例性计算机架构的框图。本领域已知的对膝上型计算机、台式机、手持 PC、个人数字助理、工程工作站、服务器、网络设备、网络集线器、交换机、嵌入式处理器、数 字信号处理器(DSP)、图形设备、视频游戏设备、机顶盒、微控制器、蜂窝电话、便携式媒体播 放器、手持设备以及各种其他电子设备的其他系统设计和配置也是合适的。一般地,能够包 含本文中所公开的处理器和/或其他执行逻辑的多个系统和电子设备通常都是合适的。
[0044] 现在参考图3,所示出的是根据本发明一个实施例的系统300的框图。系统300可 包括一个或多个处理器310、315,这些处理器耦合到控制器中枢320。在一个实施例中,控 制器中枢320包括图形存储器控制器中枢(GMCH) 390和输入/输出中枢(IOH) 350 (其可在 分开的芯片上);GMCH 390包括存储器和图形控制器,存储器340和协处理器345耦合到该 存储器和图形控制器;IOH 350将输入/输出(I/O)设备360耦合到GMCH 390。或者,存储 器和图形控制器中的一个或两者可以被集成在处理器内(如本文中所描述的),存储器340 和协处理器345直接耦合到处理器310以及控制器中枢320,该控制器中枢与IOH 350处于 单个芯片中。
[0045] 附加的处理器315的可选性质在图3中通过虚线来表示。每个处理器310、315可 包括本文中描述的处理核中的一个或多个,并且可以是处理器200的某一版本。
[0046] 存储器340可以是例如动态随机存取存储器(DRAM)、相变存储器(PCM)或这两者 的组合。对于至少一个实施例,控制器中枢320经由诸如前端总线(FSB)之类的多分支总 线、诸如快速通道互连(QPI)之类的点对点接口、或者类似的连接395与处理器310、315进 行通信。
[0047] 在一个实施例中,协处理器345是专用处理器,诸如例如,高吞吐量MIC处理器、网 络或通信处理器、压缩引擎、图形处理器、GPGPU、嵌入式处理器等。在一个实施例中,控制器 中枢320可以包括集成图形加速器。
[0048] 在物理资源310、315之间可以存在包括架构、微架构、热、和功耗特征等的一系列 品质度量方面的各种差异。
[0049] 在一个实施例中,处理器310执行控制一般类型的数据处理操作的指令。协处理 器指令可嵌入在这些指令中。处理器310将这些协处理器指令识别为应当由附连的协处理 器345执行的类型。因此,处理器31
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1