CN103377171B - 处理器系统、半导体封装以及用于操作计算机处理器的方法 - Google Patents
处理器系统、半导体封装以及用于操作计算机处理器的方法 Download PDFInfo
- Publication number
- CN103377171B CN103377171B CN201310137331.5A CN201310137331A CN103377171B CN 103377171 B CN103377171 B CN 103377171B CN 201310137331 A CN201310137331 A CN 201310137331A CN 103377171 B CN103377171 B CN 103377171B
- Authority
- CN
- China
- Prior art keywords
- processor
- processors
- chips
- chip
- speed cache
- 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
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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
- H01L25/04—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
- H01L25/065—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L25/0657—Stacked arrangements of devices
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/0001—Technical content checked by a classifier
- H01L2924/0002—Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
-
- 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)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- General Engineering & Computer Science (AREA)
- Microcomputers (AREA)
Abstract
本发明涉及处理器系统、半导体封装以及用于操作计算机处理器的方法。提供了一种三维(3-D)处理器结构,其通过以层叠配置连接处理器而构造。例如,处理器系统包括包含第一处理器的第一处理器芯片,以及包含第二处理器的第二处理器芯片。第一和第二处理器芯片以层叠配置连接,其中第一和第二处理器通过第一和第二处理器芯片之间的垂直连接而连接。处理器系统还包括模式控制电路,其选择性地配置第一和第二处理器芯片中的第一和第二处理器,以在多种运行模式中的一种模式下操作,其中,处理器可被选择性的配置为独立操作、聚集资源、共享资源和/或被组合以形成单个处理器映像。
Description
技术领域
本领域一般涉及通过以层叠配置连接处理器而形成的三维(3-D)多处理器器件,以及用于控制3-D层叠多处理器器件以选择性地在多种操作模式中的一种模式下操作的方法。
背景技术
在半导体处理器芯片制造领域,在处理器技术的早期很多公司都生产单芯片处理器。在最近十年左右,摩尔定律继续缩小尺寸,很多公司和其他实体已经设计了在单层上具有多个处理器的处理器芯片。但是,随着每个芯片上的处理器数量的持续增加,处理器之间的片上通信变得有问题。例如,随着处理器芯片的2D尺寸增加以适应更多处理器,处理器之间的水平布线长度增加(在mm或cm范围中),导致处理器之间通信的周期延迟,并需要沿着处理器之间的通信路径来使用高功率片上驱动器。此外,与处理器之间的通信相关的周期延迟随着处理器工作频率的增加而增加
发明内容
本发明的示例性实施例一般包括通过以层叠配置连接处理器而形成的三维(3-D)处理器器件,以及用于控制3-D层叠多处理器器件以选择性地在多种操作模式中的一种模式下操作的方法。
在本发明的一个示例性实施例中,处理器系统包括包含第一处理器的第一处理器芯片以及包含第二处理器的第二处理器芯片。第一和第二处理器芯片以层叠配置连接,其中第一和第二处理器通过第一和第二处理器芯片之间的垂直连接而连接。处理器系统还包括模式控制电路,其选择性地配置第一和第二处理器芯片的第一和第二处理器,以在多种操作模式中的一种模式下操作。
在一种示例性操作模式下,第一和第二处理器两者都是活动的,并且通过聚集来自第一和第二处理器二者的元件来配置第一处理器芯片的第一处理器的微体系结构,并通过聚集来自第一和第二处理器二者的元件来配置第二处理器芯片的第二处理器的微体系结构。例如,聚集的元件可以是第一和第二处理器的执行单元的部分、高速缓存或寄存器组。
在另一示例性运行模式下,第一处理器芯片是活动的且第二处理器芯片是不活动的,并且通过利用不活动的第二处理器芯片的第二处理器的一部分来增强活动的第一处理器芯片的第一处理器的微体系结构。通过利用不活动的第二处理器芯片的第二处理器的执行单元的部分来增强第一处理器的微体系结构。通过将第一处理器的高速缓存与不活动的第二处理器芯片的第二处理器的高速缓存进行组合来增强第一处理器的微体系结构。在利用不活动的第二处理器芯片的第二处理器的部分时,活动的第一处理器芯片的第一处理器在加速模式下以增加的功率来操作。
在又一示例性操作模式下,第一和第二处理器芯片共享处理器互连结构。
在另一示例性操作模式下,第一和第二处理器芯片两者都是活动,并且第一和第二处理器被配置为作为单个处理器来操作,并聚集其线程来增加可被第一和第二处理器使用的线程数量。
在另一示例性运行模式下,其中第一和第二处理器具有相同的子系统区域布局,通过组合第一和第二处理器的相应子系统区域中的较快区域并关闭第一和第二处理器的相应子系统区域中的较慢区域,第一和第二处理器被配置为作为单个处理器来运行。
在本发明的另一示例性实施例中,一种半导体封装包括封装基板以及处理器系统,该处理器系统包含在封装基板上安装的多个3-D层叠处理器芯片。每个3-D层叠处理器芯片包括包含第一处理器的第一处理器芯片以及具有第二处理器的第二处理器芯片。第一和第二处理器芯片以层叠配置连接,其中第一和第二处理器通过第一和第二处理器芯片之间的垂直连接而连接。所述半导体封装还包括模式控制电路,其选择性地配置每个3-D层叠处理器芯片中的第一和第二处理器芯片的第一和第二处理器,以在多种操作模式中的一种模式下运行。
在本发明的又一示例性实施例中,提供了一种用于操作计算机处理器的方法,该计算机处理器包括具有第一处理器的第一处理器芯片以及具有第二处理器的第二处理器芯片,其中,第一和第二处理器芯片以层叠配置连接,其中第一和第二处理器通过第一和第二处理器芯片之间的垂直连接而连接。所述方法包括产生第一控制信号以在第一模式下操作计算机处理器,在第一模式中,第一和第二处理器被配置为聚集或共享资源;以及产生第二控制信号以在第二模式下操作计算机处理器,在第二模式中,第一和第二处理器两者独立地操作。
根据说明性实施例的下列详细描述并结合附图,本发明的这些和其他示例性实施例、特征、目标和优势将变得明显。
附图说明
图1是多处理器芯片的示意性透视图。
图2是根据本发明的说明性实施例的3-D层叠多处理器结构的示意性透视图。
图3是芯片封装结构的示意图。
图4概念性地示出了根据本发明的另一示例性实施例的3-D层叠多处理器结构。
图5示意性地示出了根据本发明的另一示例性实施例的基于图4所示的概念实现的3-D层叠多处理器结构的物理实现。
图6示意性地示出了根据本发明的示例性实施例的用于控制3-D层叠多处理器结构的多模态操作的方法。
图7是可以应用本发明的原理的处理器的示意性平面图。
图8是根据本发明的示例性实施例的3-D层叠多处理器器件的示意性透视图,该器件包括一对处理器,其具有和图7所示的相同的处理器布局。
图9A是根据本发明示例性实施例的3-D层叠多处理器器件的示意性透视图,该器件包括互相垂直层叠在彼此顶上的具有对准的L2和L3高速缓存的第一和第二处理器。
图9B是根据本发明的示例性实施例的图9A的3-D层叠多处理器器件的示意性透视图,该器件具有结合的L3高速缓存,作为第一和第二处理器的共享L3高速缓存来操作。
图9C是根据本发明的示例性实施例的图9A的3-D层叠多处理器器件的示意性透视图,该器件具有结合的L3高速缓存以及L2高速缓存,作为第一和第二处理器的共享L2高速缓存和共享L3高速缓存来操作。
图10是根据本发明的又一示例性实施例的3-D层叠多处理器器件的示意性透视图。
图11示意性地示出了根据本发明的示例性实施例的图10所示的处理器的各个部件之间的通信路径。
图12示意性地示出了平面处理器系统的处理器互连结构。
图13示意性地示出了根据本发明的示例性实施例的3-D层叠多处理器系统的处理器互连结构。
图14示意性地示出了根据本发明的另一示例性实施例的3-D层叠多处理器系统的处理器互连结构。
图15是根据本发明的示例性实施例的3-D层叠多处理器系统的示意性顶部透视图,其具有基于图14中的处理器互连结构的处理器互连结构。
图16示意性地示出了根据本发明的又一示例性实施例的3-D层叠多处理器系统的处理器互连结构。
图17A示意性地示出了根据本发明的示例性实施例的具有相同布局的两个处理器,其中,两个相同处理器的相应区域被标识为比其对手区域更快或更慢。
图17B示意性地示出了根据本发明的示例性实施例的3-D层叠处理器结构,该结构是通过垂直层叠图17A中示出的两个处理器而形成并作为单处理器来操作,该单处理器由每个处理器的相应区域中的最快区域构成。
图18示意性地示出了根据本发明的示例性实施例的用于实现3-D层叠处理器系统中的提前运行(run-ahead)功能的方法。
具体实施方式
现在将针对通过以层叠配置连接处理器而形成的3-D多处理器器件以及用于控制3-D层叠多处理器器件以选择性地在多种操作模式中的一种模式下操作的方法,来更详细地描述本发明的示例性实施例。
图1是可以应用本发明的原理的多处理器芯片的示意性透视图。特别地,图1示意性地示出了包含半导体管芯12的多处理器芯片10,其具有在管芯12上形成的多个处理器C1、C2、……、C49(一般被表示为Cn)。处理器Cn被布置在“平面”系统中,其中,每个处理器Cn在2-D空间中具有其自己专用的足印(footprint)。如本领域普通技术人员容易理解的,使用形成为芯片10的BEOL(后段制程)结构的水平布线和电互连,处理器Cn可以在2-D平面中互相连接。
在图1所示的平面系统中,随着处理器数量增加,处理器之间的通信变得有问题。例如,芯片的2D尺寸增加以适应更多的处理器,处理器之间的水平布线长度增加(mm或cm的范围中),导致处理器之间的通信路径的周期延迟。该周期延迟需要沿着处理器之间的通信路径来使用高功率片上驱动器。此外,周期延迟还会随着操作频率的增加而增加。
本发明的原理利用片上层叠技术使用多层处理器芯片来形成3-D层叠多处理器结构,其中,两个或更多个处理器芯片被集成到具有单芯片“足印”的单个层叠系统(即,层叠的处理器芯片表现为单个芯片)。这里使用的术语“处理器芯片”是指具有一个或多个处理器的任意半导体芯片或管芯。这里使用的术语“多处理器芯片”是指具有两个或更多个处理器的任意半导体芯片或管芯。通常,在3-D层叠结构中,两个或更多个芯片层包括对准并使用短垂直互连来互连的处理器,从而一个层中的处理器与另一层中的相应处理器对准并垂直连接。可以理解,当不同处理器芯片层上的两个不同处理器或处理器部件/元件被称为互相“对准”时,术语“对准”是指,例如,两个不同处理器或处理器部件/元件在不同层上至少部分重叠或完全重叠。就此,处理器芯片的不同层上的两个处理器或处理器的部件/元件可以完全对准,这在于处理器或部件在处理器芯片的3D层叠中的每个平面的相同2D位置。或者,处理器或处理器的部件/元件可以基本上对准,但在处理器芯片的3D层叠中的每个平面的2D位置之间存在某些偏移量。
例如,图2是根据本发明的示例性实施例的3-D层叠多处理器结构的示意性透视图。特别地,图2示意性地示出了3-D层叠多处理器芯片20,其包含第一多处理器芯片22A和在第一多处理器芯片22A的顶部上垂直层叠的第二多处理器芯片22B。在图2的一个示例性实施例中,多处理器芯片22A和22B基本上相同(部件结构相同,但互连结构可以变化),并被示为具有49个集成的处理器,类似于图1中示出的多处理器芯片10。特别地,第一多处理器芯片22A包括多个处理器C1A、C2A、……、C49A,且第二多处理器芯片22B包括多个处理器C1B、C2B、……、C49B。第一和第二多处理器芯片22A和22B互相垂直层叠并互相连接,从而成对的处理器C1A/C1B、C2A/C2B、……、C49A/C49B(一般地CnA/CnB)对准并使用垂直互连来互相连接。
使用图2所示的示例性结构,每个对准的处理器叠层CnA/CnB包括多个垂直连接的处理器,其共享相同的I/O连接。这些I/O连接被内部多路复用,从而在2D空间中的每个处理器位置,多个垂直层叠(和连接)的处理器CnA/CnB(对应其他层叠的处理器)逻辑上表现为作为单个处理器来操作和实现功能。本发明的原理可被扩展为包含在封装基板上一起封装的多个3-D层叠处理器芯片(例如如图2所示)。现在将参考图3、4和5来更详细地讨论这些原理。
图3是可以应用本发明的原理的芯片封装结构的示意图。特别地,图3示出了处理器系统30,其包含封装基板32和在封装基板32上安装的多个处理器芯片P1、P2、P3、P4、P5和P6。封装基板32包括形成电布线34的多个电互连和迹线(trace),其提供处理器芯片P1、P2、P3、P4、P5和P6之间的全交叉连接。处理器芯片P1、P2、P3、P4、P5和P6中的每个是相同的,且可以是多处理器芯片,每个具有多个处理器。
图4和5示意性地示出了根据本发明的另一示例性实施例的3-D层叠处理器系统。特别地,图4是示例性3-D层叠多处理器封装结构40的概念图。与图3中示出的封装结构30类似,图4中的3-D层叠多处理器封装结构40包括封装基板32和在封装基板32上安装的多个第一层处理器芯片P1A、P2A、P3A、P4A、P5A和P6A。封装基板32包括构成电气布线34的多个电气互连和迹线,其提供了处理器芯片P1A、P2A、P3A、P4A、P5A和P6A之间的全交叉(all-to-all)连接。处理器芯片P1A、P2A、P3A、P4A、P5A和P6A中的每个是相同的,且可以是每个都具有多个处理器的多处理器芯片。
还如图4所示,使用短垂直连接36,多个第二层处理器芯片P1B、P2B、P3B、P4B、P5B和P6B被垂直布置和安装在相应的第一层处理器芯片P1A、P2A、P3A、P4A、P5A和P6A上。第二层处理器芯片P1B、P2B、P3B、P4B、P5B和P6B与相应的第一层处理器芯片P1A、P2A、P3A、P4A、P5A和P6A相同,且可以是多处理器芯片,每个具有多个处理器。图4示出了多条虚线34a,表示第二芯片封装层中的处理器芯片P1B、P2B、P3B、P4B、P5B和P6B之间的虚拟全交叉布线。这些虚拟布线34a不是物理存在的,而是表示第二层处理器芯片P1B、P2B、P3B、P4B、P5B和P6B互相连接并可以使用在封装基板32上形成的相同物理布线34来通信。
图5示意性地示出了根据本发明的另一示例性实施例的基于图4所示的概念实现的3-D层叠多处理器结构50的物理实现。如图5所示,在3-D层叠多处理器封装结构50中物理存在的仅有布线是在封装基板32上形成的布线34以及在相应的处理器芯片叠层P1A/P1B、P2A/P2B、P3A/P3B、P4A/P4B、P5A/P5B和P6A/P6B之间形成的短垂直互连36。在图5的3-D层叠多处理器封装结构50中,给定的垂直叠层P1A/P1B、P2A/P2B、P3A/P3B、P4A/P4B、P5A/P5B和P6A/P6B中的处理器芯片将使用在处理器芯片之间形成的垂直连接36来互相通信(且这些垂直连接36包括在不同处理器芯片层中的相应对准处理器之间形成的连接)。
根据本发明的示例性实施例,可以使用已知的半导体制造技术来结合两个处理器芯片,其中,两个相同的处理器芯片可以“面朝背”或“面对面”地接合在一起。在面朝背的配置中,第一处理器芯片的活动表面(面)与第二处理器芯片的非活动表面(背)连接,其中,两个处理器芯片的处理器和其他相应部件被对准。使用该结构,垂直布线(例如导电过孔)可以被形成在第一处理器芯片的活动表面中,并被暴露作为第一处理器芯片的活动表面上的第一接触衬垫阵列,且垂直布线(例如硅通孔)可被穿过第二处理器芯片的背侧形成并被暴露作为第二处理器芯片的非活动表面上的第二接触衬垫阵列。当第一和第二处理器芯片面朝背结合时,第一和第二接触衬垫阵列可以被焊接在一起,由此形成对准的处理器元件之间的短垂直连接。为了缩短垂直连接的长度,可以使用已知的技术来研磨第二处理器芯片的背侧以使管芯更薄。
在“面对面”的配置中,其中,互为镜像的两个相同的处理器芯片(功能相同)被接合,从而第一处理器芯片的活动表面(面)接合到第二处理器芯片的活动表面(面),两个芯片的处理器和其他元件被对准。使用该结构,垂直布线(例如导电过孔)可以被形成在第一处理器芯片的活动表面中,并被暴露作为第一处理器芯片的活动表面上的第一接触衬垫阵列,且垂直布线可以被形成在第二处理器芯片的活动表面中,并被暴露作为第二处理器芯片的活动表面上的第二接触衬垫阵列。当第一和第二处理器芯片被面对面结合时,第一和第二接触衬垫阵列可以被焊接在一起,由此形成对准的处理器元件之间的短垂直连接
使用3-D层叠处理器系统,两个或更多个处理器大致(或真正)位于其平面空间的同一位置处,但位于不同层,且可以通过聚集和/或共享资源来独立或协作地操作,以增加功能并且和每个芯片在2维封装中都具有各自空间的平面系统中的实现相比改善了操作阈值、可靠性和性能。下面参考图6-18来更详细地描述用于控制3-D层叠多处理器以在一个或多个处理器资源聚集和/或共享模式下选择性地操作的方法。通常,用于选择性地控制3-D层叠多处理器的示例性方法使得一组层叠处理器能同时操作,而对于特定应用仍然互相独立。对于下面讨论的其他应用,两个或更多个垂直层叠的处理器可被控制,使用处理器层之间的短垂直连接作为快速通信路径,可以通过在各层之间共享或聚集资源(例如线程、执行单元、高速缓存等)以协作的方式来选择性地操作,以提供增强的操作。
根据本发明的示例性实施例,控制方案被用于控制两个或更多个垂直层叠处理器的多模态操作,从而垂直叠层中的处理器可被选择性地控制以独立或协作的方式来操作。例如,图6示意性地示出了根据本发明的示例性实施例的用于控制3-D层叠多处理器结构的多模态操作的方法。特别地,如图6所示的控制方案包括多路复用器61,其选择性地接收多个配置参数组62和64以及配置模式控制信号66作为输入。配置参数的不同组A和B被选择性地作为机器输入68输出到给定的处理器的垂直叠层,其中,该机器输入配置处理器叠层以在机器输入68所指定的多种不同操作模式中的一种模式下操作。尽管为了容易说明仅示出了两组输入配置参数A和B,三组或更多个不同组的配置参数可被输入并被多路复用器61选择性地输出。应该理解,图6的控制方案对于一个处理器叠层来说是本地的系统,且给定处理器系统中的每个处理器叠层将具有如图6所示的相应控制电路。
图6的控制系统可以被全局控制系统例如服务处理器控制,该全局控制系统扫描控制信息并将配置控制信号66输出到处理器系统中的每个多路复用器61,以给定的方式来配置处理器叠层。使用在垂直层叠处理器内部(芯片上)的电路来控制各个I/O端口(被共享或旁路),以及可被用于控制给定处理器叠层中的不同处理器层之间的资源共享和/或聚集的其他开关,从每个多路复用器61输出到相应处理器叠层的机器输入68可被进一步多路复用和/或解码。
在如下讨论的本发明的各个示例性实施例中,当垂直叠层叠中的两个或更多个处理器在空间上重合时,处理器及其部件可以以各种方式被协同地组合,给予处理器元组(processor-tupled)系统多种新用途来提升性能。开始,需要注意,由于垂直处理器叠层将两个或更多个处理器(或多或少准确地或大致)在彼此顶上放置,作为初始印象,这看来不可能,因为这使得与主要倾向于位于处理器中的任意热点相关的发热加倍。就此,示例性控制装置可被实现,通过调节操作电压和/或操作频率以在较低功率级别下运行层叠处理器,来控制位于一处的处理器的叠层的功率,例如,从而总功率(例如,总功率密度和/或总功耗)是可管理的。
更具体而言,在本发明的一个示例性实施例中,可以在多种操作模式中的一种模式下操作通过垂直层叠并连接多个处理器芯片而制造的3D层叠处理器器件,以控制3D层叠处理器器件的功率。例如,在具有第一和第二处理器芯片的3D层叠处理器器件中,3D层叠处理器器件可以选择性地在第一模式下操作,其中,第一处理器芯片被开启且第二处理器芯片被关闭。在第一模式下,第一处理器芯片中的每个处理器被开启,并可以以最大频率和满功率来操作,其总功率可以被封装结构支持。(例如,特定热点处的功率密度被控制,从而对于给定的封装结构,封装中的给定热点处的热不会过大)。
在另一操作模式下,3D层叠处理器器件可以选择性地在第二模式下操作,其中,第一和第二处理器芯片两者都被开启。在该情形下,两个处理器芯片都可以以最大频率和功率级别来操作,其总功率(例如功率密度或功耗)可以被封装结构支持。在另一情形下,在操作的第二模式下,第一和第二处理器芯片中的每个处理器可低于全功率来操作,从而3D层叠处理器器件的总功率和在仅有第一处理器芯片或第二处理器芯片中的每个处理器以满功率和/或最大频率操作时的3D层叠处理器器件的总功率基本相同。换句话说,为了获得相同的功耗或功率密度分布图,每个处理器芯片层中的处理器可在较低的电源电压(或较低的工作频率)下操作,从而总功耗与其中只有一个处理器芯片层上的处理器是活动的第一模式相同或类似。
根据本发明的原理的功率控制方案基于下列事实:提供给处理器的功率可被降低相当大的百分比(例如50%),而处理器的工作频率仅需要降低小得多的数量(例如10%)。功率控制方案可被用于选择性地控制处理器的电源电压,或通过调整操作频率,其中每个用于调整处理器芯片的总体功耗。于是,在具有多个平面的处理器的3D层叠处理器芯片结构中,调节电源电压以及选择性地关闭处理器平面的子集的能力使得系统中可以存在包括一个或多个模式的操作模式的范围,其中多个处理器平面以较低的电压来操作,以将总功率保持为与操作单个处理器平面时所消耗的总功率基本相同(或者通过保持在操作多个处理器平面时在3-D层叠的处理器芯片结构中的给定热点处的功率密度与操作一个处理器平面时相同)。
在3-D处理器叠层中,每组垂直层叠处理器在每种功率控制操作模式下使用在封装中以及封装外的相同组的互连信号。就此,由于垂直叠层中的每个处理器芯片层共享相同的互连信号,即使是在处理器芯片以较低的频率操作时(在第二模式下),所需的通信要求也较少(较少的I/O带宽)。这样,由于保持功耗恒定的约束所需的较低频率操作而在3-D叠层中的每层产生的较低带宽要求激发了本发明的原理,其采用互连信号和封装I/O信号的重用(多路复用)技术。
在本发明的另一示例性实施例中,在包括两层或多层层叠处理器芯片的处理器系统中,其中每个处理器芯片包括一个或多个处理器,其中,不同处理器芯片层中的处理器通过不同处理器芯片层之间的垂直连接来连接,模式控制电路(例如如上参考图6所示和描述)可以选择性地配置不同芯片层中的两个或更多个处理器以在多种操作模式中的一种模式下操作。例如,在一个操作模式下,给定层叠中的一个或多个或所有处理器芯片可以独立操作,其中,独立操作的处理器芯片的层之间的垂直连接可被用作叠层中独立操作的处理器芯片之间的通信路径。
在另一操作模式下,不同处理器芯片层中的各部件/资源可被聚集以扩大不同处理器芯片层上的一个或多个处理器的微体系结构。如本领域普通技术人员容易理解,处理器的“微体系结构”是指处理器的物理(硬件)配置。处理器的微体系结构包括部件例如高速缓存、总线结构(路径宽度)、执行单元、指令单元、算术单元等的布置和数量。例如,假设3-D层叠处理器芯片器件包括具有第一处理器的第一处理器芯片以及具有第二处理器的第二处理器芯片。在一种操作模式下,其中第一和第二处理器芯片两者都是活动的,可以通过聚集来自第一和第二处理器二者的元件来配置或增强第一处理器芯片的第一处理器的微体系结构,且可以通过聚集来自第一和第二处理器二者的元件来配置或增强第二处理器芯片的第二处理器的微体系结构。在另一实施例中,第一处理器芯片可以是活动的而第二处理器芯片可以是不活动的,其中,通过利用不活动的第二处理器芯片的第二处理器的一部分来增强活动的第一处理器芯片的第一处理器的微体系结构。聚集元件可以是执行单元、寄存器组、高速缓存等的部分。
在另一示例性操作模式下,可以在不同处理器芯片层上的不同处理器之间共享不同处理器芯片层中的各个部件/资源。例如,如下所解释,不同处理器芯片层上的两个不同处理器可以组合其高速缓存(例如L1、L2、或L3高速缓存)来创建大小加倍的高速缓存,仍然被两个处理器活动共享。在该情形下,聚集(组合)的部件或资源被不同处理器共享。在又一示例性操作模式下,给定叠层中的不同处理器芯片层上的两个或更多个不同的处理器可被组合以操作单个处理器映像。下面将参考图7、8、9A、9B、9C、10、11、12、13、14、15、16、17A、17B和18来更详细地解释本发明的示例性实施例,其示出了用于聚集和/或共享和/或组合处理器资源的不同操作模式。
例如,图7和8示出的示例性操作模式用于选择性地配置不同处理器芯片层上的不同处理器,以聚集和/或共享不同处理器的执行单元的部分来提升一个或多个不同处理器的执行能力。图7是可以应用本发明的原理的处理器70的示意性平面图。图7示意性地示出了处理器70的微体系结构,其中,处理器70包括各部件例如L3高速缓存71、L2高速缓存72、执行单元73和指令单元74。执行单元73包括第一浮点单元75和第二浮点单元76(其中,第一和第二浮点单元75和76是相同的)以及一组浮点寄存器77。可以使用图7中的多个处理器70来形成例如如图8所示的3-D层叠多处理器结构。
特别地,图8是3-D层叠多处理器器件80的示意性透视图,其包括第一处理器70A和在第一处理器70A的顶部垂直层叠的第二处理器70B。在图8的示例性实施例中,处理器70A和70B在结构上相同,并具有如图7所示的处理器布局。特别地,第一处理器70A包括L3高速缓存71A、L2高速缓存72A、执行单元73A以及指令单元74A。执行单元73A包括第一浮点单元75A和第二浮点单元76A(其中,第一和第二浮点单元75A和76A是相同的)以及一组浮点寄存器77A。此外,第二存储器70B包括L3高速缓存71B、L2高速缓存72B、执行单元73B和指令单元74B。指令单元73B包括第一浮点单元75B和第二浮点单元76B(其中,第一和第二浮点单元75B和76B是相同的)以及一组浮点寄存器77B。
在本发明的一个示例性实施例中,第一和第二处理器70A和70B的执行单元73A和73B互相对准并使用短垂直连接来互相连接。使用该结构,执行单元可以被垂直布线,从而对于图8中示出的两个处理器70A和70B,第一处理器70A的执行单元73A功能上可以包括处理器对的执行单元73A/73B的一半元件,且第二处理器70B的执行单元73B功能上可以包括处理器对的执行单元73A/73B的另一半元件,其中,每一对的一半元件被选择,以最小化每个执行单元的平面面积。
与传统的平面几何相比,执行单元的该3-D聚集是有利的。在传统的平面系统中,位于相同平面中的两个处理器的执行单元可以被连接,从而一个执行单元的输出可以是第二执行单元的输入。但是,两个处理器的执行单元之间的“水平”电互连可以相对较长(例如5mm-20mm),从而在处理器之间的信号传输中会存在一个或两个“死”周期,这导致信号传输中的不想要的延迟。相反,在例如如图8所示的3-D层叠处理器上处理器体系结构中,每个处理器上的执行单元的一半元件被有效地聚集成新的执行单元,从而每个平面中的执行单元的面积实际更小。由于每个处理器的相同元件在空间上位于一处,(可以)通过跨3-D层垂直连接执行单元元件来实现两个处理器的聚集部件的面积。
例如,在图8的示例性实施例中,假设每个处理器70A和70B具有两个相同的浮点单元75A/76A和75B/76B。在第一处理器平面70A中,由于浮点单元75A和76A之间的水平距离,需要用1-2个周期的延时从第一浮点单元75A的输出向第二浮点单元76A的输入发送信号。但是,如果在两个平面中位于一处的一对第一浮点单元75A和75B被垂直连接,且位于一处的一对第二浮点单元76A和76B被垂直连接,则第一处理器70A的执行单元73A可以利用垂直连接的一对第一浮点单元7A和75B,且第二处理器70B的执行单元73B可以利用垂直连接的一对第二浮点单元76A和76B,从而每个处理器70A和70B的执行单元仍具有两个浮点单元。
处理器元件75A和76A以及处理器元件75B和76B之间的垂直连接提供了处理器功能的更短路径,并允许使用来自3-D架构中的不同处理器平面的元件来构造每个处理器70A和70B。这有效地降低了每个处理器的平面几何,并从执行流程中移除死周期,因为从(一个平面上的)一个执行元件的输出到(另一平面上的)执行元件的输入的路径要快得多。这些原理可被用于执行单元的其他对准的部件例如算术单元等,以及其他处理器元件例如L2和L3高速缓存,如下将更详细地解释。
在图8所示的本发明的其他示例性实施例中,处理器70A和70B中的每个可以互相独立地使用,其中,跨越处理器层的处理器单元之间的垂直连接不会被用于聚集或共享资源。例如,在一个操作模式下,处理器70A或70B两者都可以以降低的功率(例如一半功率)来运行(典型地在不相关的程序上),从而总功率与仅有一个处理器70A或70B以全功率操作时基本相同。在另一操作模式下,例如,处理器70A或70B中的一个可以被关闭而另一个可以在高速模式(例如加速(turbo)模式)下以双倍功率来操作。
在本发明的另一示例性实施例中,在增强的“加速”操作模式下,处理器70A或70B中的一个可以被停用(不活动),且另一个可以在高速模式(或加速模式)下以双倍功率来操作,但其中,不活动的处理器的执行单元中的特定元件可以被活动的处理器使用,由此提升其执行能力。例如,在图8的示例性实施例中,第二处理器70B(主处理器)可以被开启并在高速的加速模式下以增加的功率来操作,而处理器70A可以被关闭,但其中,可以使用第一(不活动的)处理器70A的元件来增大第二(活动的)处理器70B的微体系结构。通过特定的例子,在增强的加速模式下操作时,第一(不活动的)处理器70A的浮点单元75A和76A以及寄存器77A可以被第二(活动的)处理器70B的执行单元73B使用,于是第二处理器70B可以使用四个浮点单元75A、75B、76A、76B以及额外的寄存器77A以提升的速度来操作。该增大的结构允许第二处理器70B更快速并更有效地操作代码。在该架构中,模式控制方案可以被配置,从而给定的处理器可以被关闭,而允许通过耦合或解耦到不活动处理器的所需部件的功率线路来使不活动的处理器的一个或多个部件被选择性的通电和断电。
在本发明的另一示例性实施例中,可以使用垂直连接来结合不同处理器芯片层中的不同高速缓存,从而处理器可以在高速缓存层级中的任意特定级别下作为单个共享高速缓存来操作高速缓存。例如,如果两个层叠处理器的其L2高速缓存对准且其L3高速缓存对准,则对准的一对L2高速缓存可以作为具有两倍容量的单个共享L2高速缓存来操作,且对准的一对L3高速缓存可以作为具有两倍容量的单个共享L3来操作。现在将参考图9A、9B和9C来更详细地解释这些原理。
图9A是3-D层叠多处理器器件90的示意性透视图,该器件具有第一处理器90A以及在第一处理器90A的顶部上垂直层叠的第二处理器90B。在图9A的示例性实施例中,处理器90A和90B在结构上相同,并具有各自的处理器核心91A和91B、L2高速缓存92A和92B、以及L3高速缓存93A和93B。如图9A所示,L2高速缓存92A和92B被对准并具有相同的足印(2D区域)。此外,L3高速缓存93A和93B被对准并具有相同的足印。在该3-D层叠架构中,对准的L2高速缓存92A和92B可以被垂直连接并作为单个共享L2高速缓存来操作。此外,对准的L3高速缓存93A和93B可以被垂直连接并作为单个共享L3高速缓存来操作。
例如,图9B是图9A中的3-D层叠多处理器器件90的示意性透视图,其中,L3高速缓存93A和93B被结合并可以通过处理器90A和90B中的一个或两者作为共享L3高速缓存93A/B来操作。类似地,图9C是图9A中的3-D层叠多处理器器件90的示意性透视图,其中L2高速缓存92A和92B也被结合并可以通过处理器90A和90B中的一个或两个作为共享L2高速缓存92A/B来操作。特别地,在一个示例性实施例中,其中处理器90A和90B的L2和L3高速缓存被垂直连接在一起,可以在两种备选模式下使用L2和L3高速缓存——或者作为独立的高速缓存,其中它们之间的跨层连接未被使用,或者在层之间共享,由此提升层中所有处理器的高速缓存容量。
3-D层叠高速缓存架构的优势在于,高速缓存的存储容量被加倍,而不用增加高速缓存存取时间。确实,一般已知高速缓存的存取速度与高速缓存面积的平方根成比例。在图9B和9C中所示的示例性实施例中,垂直连接对准的L2和L3高速缓存不会增加高速缓存面积,因为相应的L2和L3高速缓存的足印空间上重合。就此,由于结合的L2高速缓存92A/B的面积以及结合的L3高速缓存93A/B的面积不会由于垂直连接而增加,高速缓存的存取速度保持相同。为了使运行不同程序的处理器90A和90B能够存取相同处理器地址空间,高速缓存控制方案可以被容易地实现,以控制并组织共享的高速缓存目录并维持各高速缓存层之间的高速缓存一致性(cachecoherence)。
在本发明的另一示例性实施例中,3-D层叠处理器器件可被形成为包含可结合的多个处理器,以增加处理器的3-D叠层中的单个处理器映像所支持的线程数量。例如,在3-D层叠处理器器件中,该处理器器件包含具有第一处理器的第一处理器芯片以及具有第二处理器的第二处理器芯片,第一和第二处理器芯片两者都可以是活动的,其中,第一和第二处理器可被配置为作为单个处理器来操作,并聚集其线程来增加第一和第二处理器可使用的线程的数量。这允许3-D叠层中的单个处理器的多线程能力被有效提升,而不需要与在单个处理器自身上必须使用额外的线程相关的开销(线程)。现在将参考图10和11来更详细地解释这些原理。
图10是3-D层叠处理器器件100的示意性透视图,该器件包括第一处理器100A以及在第一处理器100A的顶部上垂直层叠的第二处理器100B。在图10的示例性实施例中,第一和第二处理器100A和100B是多线程处理器,并具有相同的处理器和寄存器组。特别地,第一处理器100A包括四组寄存器101A、102A、103A和104A来实现四个线程。类似地,第二处理器100B包括四组寄存器101B、102B、103B和104B来实现四个线程。
在图10的示例性实施例中,通过垂直对准并连接处理器100A和100B,3-D处理器叠层可以聚集方式作为具有相应的更多的线程的单个多线程处理器来操作。例如,在图10的例子中,两个处理器100A和100B的四个线程101A、101B、102A、102B、103A、103B、104A或104B可以共同运行,从而3-D处理器叠层100表现为运行八个线程的单个处理器。独立地,对于3-D中的系统级仲裁,当两个或更多个处理器被对准时,该组处理器将表现为系统的仲裁方案中的单个节点。这样,当额外的处理器被添加到新的层叠平面时,例如如下讨论的仲裁“树”复杂度不会增加。
对于传统的平面系统,可以用增加数量的独立寄存器组来制造处理器,以实现可同时操作的更多线程,以增加多个程序的处理能力。但是,随着每个处理器的线程数的增加,处理器的平面尺寸增加,导致寄存器组和处理器执行单元之间的通信的周期延迟以及增加的功率。使用如图10所示的3-D层叠体系结构,使用更少的寄存器组来支持每个处理器的更少线程,处理器可被简化,而在需要时聚集处理器层之间的线程,以增加给定层可以使用的线程总数。假设给定应用程序的大多数工作量以四个或更少的线程来操作,如图10所示的处理器100A和100B可以被优化为四线程处理器。如果给定的工作量需要多于四个线程(多达8个线程)而执行,则3-D处理器叠层100中的处理器100A和100B可以被组合并作为具有八个线程的单个处理器来操作。
在图10的示例性实施例中,控制方案和通信路径被实现,以支持跨不同层的线程聚集,并连接层之间的高速缓存并维持高速缓存一致性。这些控制方案和通信路径被设计,以便当不同层的线程实际上共享其地址空间时,每个处理器将看到相同状态。在图11中示意性地示出了这些概念。
特别地,图11示意性地示出了根据本发明的示例性实施例的图10所述的处理器的各个部件之间的通信路径。如图11所示,第一处理器100A包括多个寄存器组101A、102A、103A和104A(还分别被表示为T0、T2、T4和T6),它们和第一处理器单元105A、L2和L3高速缓存110A、指令高速缓存112A以及数据高速缓存114A相关联。类似地,第二处理器100B包括多个寄存器组101B、102B、103B和104B(还分别被表示为T1、T3、T5和T7),它们和第二处理器单元105B、L2和L3高速缓存110B、指令高速缓存112B以及数据高速缓存114B相关联。
指令高速缓存112A和112B以及数据高速缓存114A和114B接收在各L2或L3高速缓存110A和/或110B中存储的程序指令和数据。L2和/或L3高速缓存110A和/或110B可以被结合和共享,例如如上参考图9C所讨论。在指令高速缓存112A和112B中存储的程序指令被各个处理器105A和105B以一个或多个线程来执行,且给定线程的执行状态被存储在线程状态寄存器T0、T1、T2、T3、T4、T5、T6、T7中各自的一个。当从程序指令的执行产生数据时,处理器105A在其数据高速缓存114A中存储数据,且处理器105B在其各自的数据高速缓存114B中存储数据。根据本发明的原理,跨处理器105A和105B以及数据高速缓存114A和114B之间的层的额外通信路径116可被用于促进一致的存储。该通信路径116可以以处理器上处理器(processor-on-processor)来实现,因为当处理器对准时端口在空间上并置。
尽管图10和11的示例性实施例示出的处理器每个具有寄存器组来支持4个工作线程,本发明的原理可被容易地扩展为每个处理器具有n个线程,其中,如果每个处理器是n-路多线程的,处理器对可以作为2n-路多线程处理器来操作,如系统的其余部分所看到的。再一次,使用该实现,在大多数时间操作n个线程时这尤其有用(其中每个处理器的线程不是很繁忙),且由此允许基本处理器针对n-线程操作来优化,但在需要时具有扩展系统到操作2n个线程的能力。
如上所述,当两个或更多个处理器在3-D层叠配置中对准时,处理器将表现为系统的仲裁方案中的单个节点。使用该架构,仲裁“树”(或更一般地,处理器互连结构)可以被构造,从而当额外的处理器被添加到新的层叠平面时,复杂度不会增加。现在将参考图12、13、14、15和16来更详细地讨论根据本发明的原理的示例性处理器互连结构。
图12示意性地示出了平面处理器系统的处理器互连方案。特别地,图12示出了平面处理器系统120,其包括布置在相同平面上的第一处理器120A和第二处理器120B。第一处理器120A包括多个处理器P1A、P2A、P3A、P4A、P5A、P6A、P7A和P8A(全体为PnA)以及各个L3高速缓存。第一处理器120A的处理器PnA通过处理器互连结构122A来通信。类似地,第二处理器120B包括多个处理器P1B、P2B、P3B、P4B、P5B、P6B、P7B和P8B(全体为PnB)以及各个L3高速缓存。第二处理器120A的处理器PnB通过处理器互连结构122B来通信。在图12的示例性实施例中,处理器互连结构122A和122B被表示为“树”结构,其实现标准的仲裁方案。
此外,如图12所示,通信总线122A和122B使用总线互连结构124来互连。在图12的平面系统120中,该总线互连结构124在2D平面中相对较长。根据本发明的原理,该处理器互连结构在3-D层叠架构中可以更为简化,如图13所示。特别地,图13示意性地示出了根据本发明的示例性实施例的3-D层叠多处理器系统的处理器互连方案。特别地,图13示出了平面处理器系统130,其包括第一处理器130A和布置在第一处理器130A的顶部上的第二处理器130B。第一处理器130A包括多个处理器P1A、P2A、……、P8A(全体为PnA),其使用处理器互结合构132A来互连和通信。类似地,第二处理器130B包括多个处理器P1B、P2B、……、P8B(全体为PnB),其使用处理器通信结构132B来互连和通信。处理器互连结构132A和132B被表示为“树”结构,其实现标准的仲裁方案。
还如图13所示,处理器互连结构132A和132B使用连接总线结构134来互连。图13的总体处理器互连方案与图12中的总体处理器互连方案的概念类似,除了总线连接结构134(其连接处理器互连结构132A和132B)是用层叠处理器芯片130A和130B之间的垂直连接而形成。就此,垂直连接总线结构134比图12所示的平面连接总线结构124的长度要短得多。这样,图13中的总体处理器互连方案比图12中示出的总体处理器互连方案明显更小和更快。
图14示意性地示出了根据本发明的另一示例性实施例的3-D层叠多处理器系统的处理器互连方案。图14示意性地示出了3-D层叠处理器结构140,其具有的处理器互连架构在拓扑结构上与图13的3-D层叠处理器的处理器互连架构相同,但更快且在尺寸方面更为简化。更具体来说,如图14所示,使用第二处理器芯片130B上的树结构132B以及多个垂直总线连接141、142、143、144、145、146、147和148来实现处理器互连方案,该垂直总线连接从第二处理器芯片130B上的树总线结构132B的端点延伸到第一处理器芯片130A上的各个处理器。图14的处理器互连方案考虑了第一和第二处理器芯片130A和130B上的处理器互相对准,从而第一和第二处理器芯片130A和130B(见图13)上的树总线结构132A和132B的终端端点也被对准。使用该垂直对准,垂直总线连接141、142、143、144、145、146、147和148(如图14所示)可被实现以代替单个垂直总线互连134(如图13所示)。确实,由于上处理器芯片130B上的总线树结构132B的每个终端点与下处理器芯片130A上的总线树结构132A的终端点对准,可以使用短垂直连接来连接两个树结构132A和132B的终端点,其然后允许树结构132A和132B中的一个被忽略且不被使用。现在将参考图15来进一步讨论并说明这些原理。
特别地,图15是根据本发明的示例性实施例的3-D层叠多处理器系统的示意性顶部透视图,其具有的处理器互连结构基于图14中的处理器互连结构方案。图15示出了3-D层叠多处理器系统150,这是图14所示的概念系统的物理实现,其中,下处理器芯片130A上的处理器PnA和上处理器芯片130B上的处理器PnB与总线树结构132B的终端点对准。这允许总线树结构132B分别使用短垂直导电过孔连接141、142、143、144、145、146、147和148在总线树结构123B的每个端点终端连接到成对的处理器P1A/P1B、P2A/P2B、P3A/P3B、P4A/P4B、P5A/P5B、P6A/P6B、P7A/P7B和P8A/P8B。由于这些垂直的导电过孔相对较短,每对上/下处理器可以被处理为全局总线132B上的单个垂直下降(drop)。再一次,与图13所述的单个垂直总线连接结构134相比,垂直过孔141、142、……、148的使用在对准的处理器之间提供了更短的通信路径。
图16示意性地示出了根据本发明的又一示例性实施例的3-D层叠多处理器系统的处理器互连结构。图16示意性地示出了3-D层叠处理器结构160,其具有和图14类似的总线架构,除了在下处理器芯片130A上包含并使用额外的树结构162A。额外的树结构162A可被用于缩短面内处理器之间的通信路径并增加通信带宽。特别地,在图16的示例性实施例中,树结构162A可被用于第一处理器芯片130A上的处理器PnA之间的处理器到处理器的通信,而不必使用短垂直总线互连141、142、……、148或上树结构132B。类似地,树结构132B可被用于第二处理器芯片130B上的处理器PnB之间的处理器到处理器的通信,而不必使用短垂直总线互连141、142、……、148或下树结构162A。
在另一控制方案中,树结构162A和132B两者都可以同时和短垂直互连141、142、……、148结合来提供任意两个处理器之间的两个独立通信路径,从而可以实现通信带宽的2x增加。确实,假设每个树结构132B和162A是16-字节总线,其需要16个周期在处理器之间传送256字节的信息。在该实施例中,通过在任意两个处理器之间同时使用两个单独的通信路径来同时发送32字节(每个路径16字节),通信带宽可被增加到32字节,由此将通信带宽提高到16个周期的512字节。
在本发明的另一示例性实施例中,3-D层叠多处理器器件可被构造为包括可结合且通过组合每个垂直层叠的处理器的最快部件而配置为超快处理器的多个处理器。使用先进的技术,在相同的处理器之间可以存在器件性能的明显变化,其中一个处理器的某些子系统可以比另一相同处理器的相同子系统更快,而同时,对于不同的子系统关系可能是相反的。确实,基于器件尺寸和形状的变化以及掺杂的变化等,在给定晶片上形成的具有相同布局和宏功能部件的一组相同的处理器可以具有比另一相同处理器的相同部件更快或更慢的部件。
就此,根据本发明的另一示例性实施例,当不同处理器芯片层上的两个处理器(第一和第二处理器)具有相同的子系统区域布局时,在一种操作模式下,通过组合第一和第二处理器的相应子系统区域中较快的子系统区域,并通过关闭第一和第二处理器的相应子系统区域中的较慢子系统区域,第一和第二处理器可被配置为作为单个处理器来操作。现在将参考图17A和17B来更详细地说明和讨论这些原理。
特别地,图17A示意性的示出了根据本发明的示例性实施例的具有相同布局的两个处理器,其中,两个相同处理器的相应区域被标识为比其对手区域更快或更慢。特别地,图17A示出了具有十一个相同主区域(宏)R1、R2、R3、R4、R5、R6、R7、R8、R9和R11的两个相同的处理器170A和170。在制造后,对处理器的这些区域测试速度,因为尽管处理器是相同的,给定处理器的某些区域会比另一相同处理器的相同区域更快/更慢。在图17A的示例性实施例中,第一处理器170A的区域R1、R2、R4、R6、R8、R9和R11被标识为比相同处理器170B的相同区域更快(标记为“F”)。此外,第二处理器170B的区域R2、R5、R7和R10被标识为比相同处理器170A的相同区域更快(标记为“F”)。
图17B是根据本发明的示例性实施例的3-D层叠多处理器系统170的示意图,该系统包括图17A中的处理器170A和170B。特别地,图17B示意性地示出了根据本发明的示例性实施例的3-D层叠处理器结构,该结构是通过垂直层叠图17A所示的两个处理器而形成的,并操作为由每个处理器的最快的相应区域构成的单个处理器。在图17中,处理器被对准且垂直连接,从而相应的区域R1、R2、……、R11被对准并互相连接。两个处理器170A和170B的高速缓存和执行资源被垂直连接,从而3-D层叠处理器系统170可以在多种模式中的一种模式下操作。
例如,在一种模式下,处理器170A和170B可以作为独立的处理器来操作,其中,每个处理器是活动的并以一半功率来操作,如上所讨论。在另一示例性实施例中,处理器170A或170B中的一个可以以满功率或增加的功率(加速模式)来操作,而另一处理器被关闭。在又一实施例中,处理器170A和170B可以作为单个处理器来操作,其包括每个处理器中被标识为最快版本的区域的那些区域,从而产生的处理器可以作为单个超快处理器来操作,其速度比使用来自仅一个处理器层的所有部件要更快。例如,在图17B的示例性实施例中,3-D层叠处理器结构170可作为单个处理器来操作,该单个处理器包括第一处理器170A的快区域R1、R2、R4、R6、R8、R9和R11以及第二处理器170B的快区域R2、R5、R7和R10构成的11个区域。
在本发明的另一示例性实施例中,3-D层叠多处理器器件可以具有逻辑上作为单个处理器映像来操作的多个结合的处理器,但其中,至少一个处理器被用作“提前运行(run-ahead)”功能。特别地,通过示例,在具有对准并互相垂直结合的第一和第二处理器的3-D层叠多处理器器件中,第一处理器可以是主处理器,负责机器的体系结构状态,且二级处理器可以在主处理器之前操作,以解决分支或更早产生不命中,而二级处理器不会被体系结构或程序限制且不能够改变机器的体系结构状态。
在本发明的该示例性实施例中,第一和第二处理器的高速缓存和执行资源被连接在一起,从而它们可以在例如两种备选模式下被使用,即,或用作其中处理器层之间的连接未被使用的独立处理器,或以协作的方式使用,其中,主处理器执行程序且二级处理器操作较简单版本的程序,从而二级处理器可以在主处理器之前产生存储器请求并解决分支,除了其他选项之外,其结果可被主处理器使用以避免长延迟的处理器存取和分支误预测。将参考图18来更详细地描述用于实现3-D层叠处理器系统中的提前运行或辅助线程的概念。
特别地,图18示意性地示出了根据本发明的示例性实施例的用于实现3-D层叠处理器系统中的提前运行功能的方法。特别地,图18示出了由操作主线程的主处理器针对在主和二级处理器之间共享的存储器执行的多个操作181和182,以及与主处理器协作地操作提前运行线程的二级处理器执行的多个操作184、185、186、187、188和189。
特别地,如图18所示,在3-D层叠处理器系统中执行程序时,主处理器从存储器183获取指令181并执行每个程序指令182。在执行指令时,主处理器将从共享存储器183获取并存储程序数据,并维护对于所有外部实体可见的机器(存储)状态。换句话说,主处理器正确执行程序在于主处理器以正确的顺序来执行指令操作,并且只有在那些改变已知为正确的时候,才向系统的其余部分显示状态改变信息。但是,为了使程序执行更快,使用更高的指令级别并行性,二级处理器作为“提前运行”的处理器来操作,其中,二级处理器不会确保正确和合法的操作,且不会向系统的其余部分显示状态改变。相反,它以投机的方式尽可能快地操作,且不会关心和程序流程无关的指令。以这种方式来操作,提前运行的处理器将解决很多分支并比主处理器能更早地产生很多必要的高速缓存不命中。这将允许主处理器比一般情况更快地运行。
特别地,如图18所示,二级处理器将从共享存储器183获取指令184并执行特定的指令,例如数据获取指令,且响应于该数据获取指令从共享存储器183获取数据185。二级处理器将执行数据存储指令并执行存储器存取操作186来确定必要的数据是否被存储在存储器183中。二级处理器将执行简单指令187并执行分支指令188,并抛弃或忽略与确定高速缓存不命中或解决分支重定向无关的所有其他获取的指令189。在步骤186中,当二级处理器看到到来的数据存储指令时,二级处理器将确定对于要存储的数据是否存在高速缓存线。如果高速缓存线不存在,二级处理器将产生高速缓存不命中并继续以具有为数据存储分配的高速缓存线并获取合适的许可以在新分配的高速缓存线中存储数据(即,确保新的高速缓存线的状态是“数据存储准备好”状态)。如果高速缓存线已经存在,二级处理器将确定该高速缓存线是否处于“数据存储就绪”状态,且如果不是则继续获取合适的许可。通过这种方式,当主处理器执行数据存储指令时,高速缓存线将是可用的并处于“存储就绪”状态,由此避免在执行流程中的高速缓存不命中。
二级处理器(提前运行处理器)通过在主处理器看到意外事件之前解决该意外事件来加速主处理器。二级处理器可以以这种方式来操作,因为它不需要执行每个指令,且不需要正确执行程序指令。在3-D层叠配置中,由于主和二级处理器是空间重合的且通过短垂直连接来连接,它们可以共享并查看执行状态,且另外比平面配置更容易和更强健地同步,在平面配置中,需要长的布线来交换合适的同步信息。即使在共平面处理器之间使用共平面布线,共平面处理器可能无法同时查看相互的状态。在3-D层叠配置中,通过主和二级处理器的资源之间的短垂直连接,辅助线程和主线程之间用以共享值和另外同步处理流程的通信和交互会更容易实现。
在本发明的另一示例性实施例中,3-D层叠多处理器器件可以具有可以作为单个处理器映像来操作的多个结合的处理器,但其中,在其体系结构存储的一部分作为私有存储空间(或便笺空间)来操作,该私有空间不能被3-D叠层以外的处理器存取。换句话说,多个处理器可被结合为具有私有存储区域的单个操作实体(从外部看是“处理器”),该私有存储区域可被用于便笺空间或组织其他数据结构,其中,私有存储对于系统中的其他操作实体来说是不可见的。当处理器的元组在提前运行模式或超快加速(Hyperturbo)模式下作为单个逻辑处理器操作或以任意其他方式元组化时,该元组的一个或多个高速缓存可被用作具有应用特定结构的私有存储。
尽管这里参考附图描述了本方面的示例性实施例,可以理解本发明不限于那些精确的实施例,且本领域技术人员可以进行各种其他改变和调整,而不偏离所附权利要求书的范围。
Claims (28)
1.一种处理器系统,包括:
包含第一处理器的第一处理器芯片;
包含第二处理器的第二处理器芯片,
其中,所述第一和第二处理器芯片以层叠配置连接,其中所述第一和第二处理器通过所述第一和第二处理器芯片之间的垂直连接而连接,所述第一和第二处理器具有相同的子系统区域布局;以及
模式控制电路,其选择性地配置所述第一和第二处理器芯片的所述第一和第二处理器,以在多种操作模式中的一种模式下操作,其中所述多种操作模式包括:
第一操作模式,其中所述第一和第二处理器独立地操作;以及
第二操作模式,其中通过组合所述第一和第二处理器的相应子系统区域中的较快区域并关闭所述第一和第二处理器的相应子系统区域中的较慢区域,所述第一和第二处理器被配置为作为单个处理器来操作。
2.如权利要求1所述的处理器系统,其中,所述第一和第二处理器芯片基本相同。
3.如权利要求1所述的处理器系统,其中,所述多种操作模式还包括第三操作模式,其中所述第一和第二处理器芯片两者都是活动的,其中,通过聚集来自所述第一和第二处理器二者的元件来配置所述第一处理器芯片的所述第一处理器的微体系结构,且其中,通过聚集来自所述第一和第二处理器二者的元件来配置所述第二处理器芯片的所述第二处理器的微体系结构。
4.如权利要求3所述的处理器系统,其中,聚集的元件包括所述第一和第二处理器的执行单元的部分。
5.如权利要求3所述的处理器系统,其中,聚集的元件包括高速缓存。
6.如权利要求5所述的处理器系统,其中,聚集的高速缓存包括所述第一和第二处理器的高速缓存,其被垂直连接且逻辑上作为所述第一和第二处理器之间的共享高速缓存来操作。
7.如权利要求3所述的处理器系统,其中,聚集的元件包括寄存器组。
8.如权利要求1所述的处理器系统,其中,所述多种操作模式还包括第四操作模式,其中所述第一处理器芯片是活动的且所述第二处理器芯片是不活动的,并且其中,通过利用不活动的所述第二处理器芯片的所述第二处理器的一部分来增强活动的所述第一处理器芯片的第一处理器的微体系结构。
9.如权利要求8所述的处理器系统,其中,通过利用不活动的所述第二处理器芯片的所述第二处理器的执行单元的一部分来增强所述第一处理器的所述微体系结构。
10.如权利要求8所述的处理器系统,其中,通过将所述第一处理器的高速缓存与不活动的所述第二处理器芯片的所述第二处理器的高速缓存进行组合来增强所述第一处理器的所述微体系结构。
11.如权利要求8所述的处理器系统,其中,在利用不活动的所述第二处理器芯片的所述第二处理器的所述部分时,活动的所述第一处理器芯片的所述第一处理器在加速模式下以增加的功率来操作。
12.如权利要求1所述的处理器系统,其中,所述多种操作模式还包括第五操作模式,其中所述第一和第二处理器芯片共享处理器互连结构。
13.如权利要求1所述的处理器系统,其中,所述多种操作模式还包括第六操作模式,其中所述第一和第二处理器芯片两者都是活动的,并且其中,所述第一和第二处理器被配置为作为单个处理器来操作,并聚集其线程来增加可被所述第一和第二处理器使用的线程数量。
14.如权利要求1所述的处理器系统,其中,所述第一和第二处理器芯片是多处理器芯片,每个具有互相对准的n个相应的处理器,其中,第一处理器芯片包括第一处理器互连结构,所述第一处理器互连结构将所述第一处理器芯片的n个处理器互相连接到一起,其中,所述第一处理器芯片中的每个处理器连接到所述第一处理器互连结构中的点,并且其中,所述第二处理器芯片上的每个相应的对准的处理器通过使用所述第一和第二处理器芯片之间的垂直连接而被连接到所述第一处理器互连结构的相同点。
15.如权利要求14所述的处理器系统,其中,所述第一和第二处理器芯片之间的每组对准的处理器逻辑上表现为在所述处理器系统的仲裁控制方案中的单个节点。
16.如权利要求14所述的处理器系统,其中,所述第二处理器芯片包括第二处理器互连结构,所述第二处理器互连结构将所述第二处理器芯片中的n个处理器连接到一起,其中,所述第一和第二处理器互连结构的组合在所述第一和第二处理器芯片的任意两个处理器之间提供了至少两个独立的通信路径。
17.一种半导体封装,包括:
封装基板;以及
处理器系统,其包含在所述封装基板上安装的多个3-D层叠处理器芯片,其中,每个3-D层叠处理器芯片包括:
包含第一处理器的第一处理器芯片;
包含第二处理器的第二处理器芯片,
其中,所述第一和第二处理器芯片以层叠配置连接,其中所述第一和第二处理器通过所述第一和第二处理器芯片之间的垂直连接而连接,所述第一和第二处理器具有相同的子系统区域布局;以及
模式控制电路,选择性地配置每个所述3-D层叠处理器芯片中的所述第一和第二处理器芯片的所述第一和第二处理器,以在多种操作模式中的一种模式下操作,其中所述多种操作模式包括:
第一操作模式,其中所述第一和第二处理器独立地操作;以及
第二操作模式,其中通过组合所述第一和第二处理器的相应子系统区域中的较快区域并关闭所述第一和第二处理器的相应子系统区域中的较慢区域,所述第一和第二处理器被配置为作为单个处理器来操作。
18.一种操作计算机处理器的方法,所述计算机处理器包括具有第一处理器的第一处理器芯片以及具有第二处理器的第二处理器芯片,其中,所述第一和第二处理器芯片以层叠配置连接,其中所述第一和第二处理器通过所述第一和第二处理器芯片之间的垂直连接而连接,所述第一和第二处理器具有相同的子系统区域布局,所述方法包括:
产生第一控制信号以在第一操作模式下操作所述计算机处理器,在所述第一操作模式中,所述第一和第二处理器被配置为聚集或共享资源;以及
产生第二控制信号以在第二操作模式下操作所述计算机处理器,在所述第二操作模式中,所述第一和第二处理器两者独立地操作,
在所述第一操作模式下,通过组合所述第一和第二处理器的相应子系统区域中的较快区域并关闭所述第一和第二处理器的相应子系统区域中的较慢区域,所述第一和第二处理器被配置为作为单个处理器来操作。
19.如权利要求18所述的方法,其中在所述第一操作模式下,所述第一和第二处理器芯片都是活动的,所述第一和第二处理器芯片都是活动的,其中,通过聚集来自所述第一和第二处理器二者的元件来配置所述第一处理器芯片的所述第一处理器的微体系结构,且其中,通过聚集来自所述第一和第二处理器二者的元件来配置所述第二处理器芯片的所述第二处理器的微体系结构。
20.如权利要求19所述的方法,其中,聚集的元件包括所述第一和第二处理器的执行单元的部分。
21.如权利要求19所述的方法,其中,聚集的元件包括高速缓存。
22.如权利要求21所述的方法,其中,聚集的高速缓存包括所述第一和第二处理器的高速缓存,其被垂直连接且逻辑上作为所述第一和第二处理器之间的共享高速缓存来操作。
23.如权利要求19所述的方法,聚集的元件包括寄存器组。
24.如权利要求18所述的方法,其中,在所述第一操作模式下,所述第一处理器芯片是活动的且所述第二处理器芯片是不活动的,并且其中,通过利用不活动的所述第二处理器芯片的所述第二处理器的一部分来增强活动的所述第一处理器芯片的所述第一处理器的微体系结构。
25.如权利要求19所述的方法,其中,通过利用不活动的所述第二处理器芯片的所述第二处理器的执行单元的部分来增强所述第一处理器的所述微体系结构。
26.如权利要求24所述的方法,其中,通过将所述第一处理器的高速缓存与不活动的所述第二处理器芯片的所述第二处理器的高速缓存进行组合来增强所述第一处理器的所述微体系结构。
27.如权利要求24所述的方法,其中,在利用不活动的所述第二处理器芯片的所述第二处理器的所述部分时,活动的所述第一处理器芯片的所述第一处理器在加速模式下以增加的功率来操作。
28.如权利要求18所述的方法,其中,在所述第一操作模式下,所述第一和第二处理器芯片两者都是活动的,并且其中,所述第一和第二处理器被配置为作为单个处理器来操作,并聚集其线程来增加可被所述第一和第二处理器使用的线程数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/452,078 | 2012-04-20 | ||
US13/452,078 US9569402B2 (en) | 2012-04-20 | 2012-04-20 | 3-D stacked multiprocessor structure with vertically aligned identical layout operating processors in independent mode or in sharing mode running faster components |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103377171A CN103377171A (zh) | 2013-10-30 |
CN103377171B true CN103377171B (zh) | 2016-03-30 |
Family
ID=49381255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310137331.5A Active CN103377171B (zh) | 2012-04-20 | 2013-04-19 | 处理器系统、半导体封装以及用于操作计算机处理器的方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9569402B2 (zh) |
CN (1) | CN103377171B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102467698B1 (ko) * | 2016-07-26 | 2022-11-16 | 삼성전자주식회사 | 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법 |
US10672745B2 (en) * | 2016-10-07 | 2020-06-02 | Xcelsis Corporation | 3D processor |
US11954040B2 (en) * | 2020-06-15 | 2024-04-09 | Arm Limited | Cache memory architecture |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7232708B2 (en) * | 2004-05-06 | 2007-06-19 | Avago Technologies Wireless Ip (Singapore) Pte. Ltd. | Multi-mode integrated circuit structure |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5420754A (en) | 1990-09-28 | 1995-05-30 | At&T Corp. | Stacked board assembly for computing machines, including routing boards |
US5913256A (en) | 1993-07-06 | 1999-06-15 | Lockheed Martin Energy Systems, Inc. | Non-lead environmentally safe projectiles and explosive container |
US5701233A (en) | 1995-01-23 | 1997-12-23 | Irvine Sensors Corporation | Stackable modules and multimodular assemblies |
US5807791A (en) | 1995-02-22 | 1998-09-15 | International Business Machines Corporation | Methods for fabricating multichip semiconductor structures with consolidated circuitry and programmable ESD protection for input/output nodes |
US5568574A (en) | 1995-06-12 | 1996-10-22 | University Of Southern California | Modulator-based photonic chip-to-chip interconnections for dense three-dimensional multichip module integration |
JP3535615B2 (ja) | 1995-07-18 | 2004-06-07 | 株式会社ルネサステクノロジ | 半導体集積回路装置 |
US6525726B1 (en) | 1999-11-02 | 2003-02-25 | Intel Corporation | Method and apparatus for adaptive hierarchical visibility in a tiled three-dimensional graphics architecture |
US6433413B1 (en) | 2001-08-17 | 2002-08-13 | Micron Technology, Inc. | Three-dimensional multichip module |
KR100621992B1 (ko) | 2003-11-19 | 2006-09-13 | 삼성전자주식회사 | 이종 소자들의 웨이퍼 레벨 적층 구조와 방법 및 이를이용한 시스템-인-패키지 |
US7068515B2 (en) | 2004-11-24 | 2006-06-27 | Hewlett-Packard Development Company, L.P. | Multi-chip module with stacked redundant power |
TWI267967B (en) | 2005-07-14 | 2006-12-01 | Chipmos Technologies Inc | Chip package without a core and stacked chip package structure using the same |
US20070165457A1 (en) | 2005-09-30 | 2007-07-19 | Jin-Ki Kim | Nonvolatile memory system |
US20070143546A1 (en) * | 2005-12-21 | 2007-06-21 | Intel Corporation | Partitioned shared cache |
US7554203B2 (en) | 2006-06-30 | 2009-06-30 | Intel Corporation | Electronic assembly with stacked IC's using two or more different connection technologies and methods of manufacture |
KR100843214B1 (ko) | 2006-12-05 | 2008-07-02 | 삼성전자주식회사 | 메모리 칩과 프로세서 칩이 관통전극을 통해 연결된 플래너멀티 반도체 칩 패키지 및 그 제조방법 |
US7615857B1 (en) | 2007-02-14 | 2009-11-10 | Hewlett-Packard Development Company, L.P. | Modular three-dimensional chip multiprocessor |
KR101557273B1 (ko) | 2009-03-17 | 2015-10-05 | 삼성전자주식회사 | 반도체 패키지 |
CN100495383C (zh) * | 2007-10-10 | 2009-06-03 | 山东大学 | 三维多处理器系统芯片 |
JP2010108204A (ja) | 2008-10-30 | 2010-05-13 | Hitachi Ltd | マルチチッププロセッサ |
US8417917B2 (en) | 2009-09-30 | 2013-04-09 | International Business Machines Corporation | Processor core stacking for efficient collaboration |
JP2011082449A (ja) * | 2009-10-09 | 2011-04-21 | Elpida Memory Inc | 半導体装置 |
US20110278412A1 (en) * | 2010-05-17 | 2011-11-17 | Alan Craig Barts | Reversible Keyboard Support |
US8293578B2 (en) | 2010-10-26 | 2012-10-23 | International Business Machines Corporation | Hybrid bonding techniques for multi-layer semiconductor stacks |
US8930676B2 (en) | 2010-12-22 | 2015-01-06 | Via Technologies, Inc. | Master core discovering enabled cores in microprocessor comprising plural multi-core dies |
US8516426B2 (en) * | 2011-08-25 | 2013-08-20 | International Business Machines Corporation | Vertical power budgeting and shifting for three-dimensional integration |
KR101937951B1 (ko) | 2012-05-31 | 2019-01-14 | 에스케이하이닉스 주식회사 | 반도체 집적회로 및 그의 구동방법 |
-
2012
- 2012-04-20 US US13/452,078 patent/US9569402B2/en active Active
- 2012-09-04 US US13/602,807 patent/US9298672B2/en not_active Expired - Fee Related
-
2013
- 2013-04-19 CN CN201310137331.5A patent/CN103377171B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7232708B2 (en) * | 2004-05-06 | 2007-06-19 | Avago Technologies Wireless Ip (Singapore) Pte. Ltd. | Multi-mode integrated circuit structure |
Also Published As
Publication number | Publication date |
---|---|
US20130283008A1 (en) | 2013-10-24 |
US20130283006A1 (en) | 2013-10-24 |
US9298672B2 (en) | 2016-03-29 |
CN103377171A (zh) | 2013-10-30 |
US9569402B2 (en) | 2017-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103514139B (zh) | 堆叠式多处理器结构和用于实现可靠的处理器操作的方法 | |
CN103378076B (zh) | 半导体器件、半导体封装以及操作计算机的方法 | |
US7761687B2 (en) | Ultrascalable petaflop parallel supercomputer | |
US9880972B2 (en) | Computer subsystem and computer system with composite nodes in an interconnection structure | |
CN105579979A (zh) | 具有可依据多于一组的规则和/或配置分割、联合并管理的多个缓存的三维处理系统 | |
US20130073814A1 (en) | Computer System | |
CN105359119A (zh) | 具有使得能够实现多维中的不同访问模式的配线结构的存储器架构 | |
US11656662B2 (en) | Layered super-reticle computing : architectures and methods | |
CN103377171B (zh) | 处理器系统、半导体封装以及用于操作计算机处理器的方法 | |
CN103377169B (zh) | 处理器系统以及用于操作计算机处理器的方法 | |
Yang et al. | Venus: A versatile deep neural network accelerator architecture design for multiple applications | |
Orenes-Vera et al. | Massive data-centric parallelism in the chiplet era | |
US9081891B2 (en) | Reconfigurable crossbar networks | |
CN104050141B (zh) | 具有局部电力和冷却层以及全局互连的计算机处理器系统 | |
Rezaei et al. | Fault-tolerant 3-D network-on-chip design using dynamic link sharing | |
Huang et al. | Computing en-route for near-data processing | |
Azimi et al. | On-chip interconnect trade-offs for tera-scale many-core processors | |
US20240047364A1 (en) | Connectivity layer in 3d devices | |
Wilkinson | Overlapping connectivity interconnection networks for shared memory multiprocessor systems | |
Fulton | Active-Routing: Parallelization and Scheduling of 3D-Memory Vault Computations | |
WO2022023500A1 (en) | A high-performance computing system. | |
Wills et al. | Pica: A MIMD Architecture for Multi-Node Chip Implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |