多管芯处理器的制作方法

文档序号:6441754阅读:137来源:国知局
专利名称:多管芯处理器的制作方法
技术领域
本发明一般地涉及信息处理系统,更具体地,涉及其逻辑被划分在多个堆叠管芯(die)中的处理器。
背景技术
诸如蜂窝电话、笔记本电脑之类的电子设备一般包含许多安装在印刷电路板(PCB)上的集成电路(IC)封装件。IC封装件一般包括衬底或引线框架上的单个IC管芯。管芯和衬底被包封在诸如塑料之类的材料中。被包封的封装件然后被安装到诸如PCB之类的其他衬底上。已经应用了各种封装方法来提高这样的电子设备的性能。
多芯片模块(MCM)是一种IC封装件,它在普通衬底上包含互连的两个或多个“裸”集成电路管芯或未封装的集成电路管芯。因为MCM一般以横向相邻的方式在单个封装内安装有多个独立IC管芯,所以可以减小使用MCM的电子设备的尺寸。
片上系统(SoC)技术是将一个“系统”(例如蜂窝电话或数码相机)必需的电子电路和元件中的大部分或者全部封装在单个IC管芯上。例如,用于声音检测设备的片上系统可以在单个IC管芯上包括音频接收器、模数转换器、微处理器、存储器和输入/输出控制逻辑。
另一类试图减少IC封装件的覆盖区(footprint)和体积的IC封装件结构被称为堆叠式芯片规模封装(堆叠式CSP)。堆叠式CSP实质上是空间效率高的MCM,其中多个管芯被堆叠(以面对背的方向)并被集成到单个封装件中。堆叠式CSP封装使得移动电话和其他便携式设备的制造商通过在单个封装件内垂直地堆叠不同种类的管芯,例如堆叠闪存和SRAM(静态随机访问存储器)管芯,使他们的产品变得更小。通过利用在单个封装件中垂直安装了两个或更多个不同种类IC管芯的堆叠式CSP产品,所生产的无线设备相对于用传统单管芯封装件制成的设备,可以具有更低的成本、重量和板空间。

发明内容
根据本发明的一个方面,提供了一种装置,包括具有第一正面和第一背面的第一管芯,所述第一管芯包括第一逻辑部分;具有第二正面和第二背面的第二管芯,所述第二管芯包括第二逻辑部分;所述第一和第二管芯彼此正面相对地耦合在一起;其中,所述第一逻辑部分和所述第二逻辑部分将协作执行指令。
根据本发明的另一个方面,一种处理器,包括在第一管芯上的第一分区;在第二管芯上的第二分区;和执行逻辑,用于调用所述第一分区和所述第二分区以执行与指令相关联的执行操作。
根据本发明的另一个方面,提供了一种装置,包括第一管芯,所述第一管芯包括执行单元和第一阵列片(array fraction);和第二管芯,所述第二管芯包括第二阵列片,所述第二阵列片通过管芯到管芯耦合被耦合到所述第一寄存器文件片,以连同所述第一阵列片一起作为阵列来协作操作。


参考下面的附图可以理解本发明,在附图中类似的元素用类似的标号表示。这些附图不是限制性的,而是被提供来图示多管芯处理器装置和系统的经选择的实施例,其中所述多管芯处理器的处理器逻辑被划分在多个管芯中。
图1是呈现公开特征的多管芯处理器的至少一个实施例的框图。
图2是图示了多管芯处理器的至少一个实施例的进一步细节的框图。
图3是图示了示例性指令执行流水线的至少一个实施例的数据流图。
图4是图示了加载访问数据通道的数据流图。
图5是图示了调度执行数据通道的数据流图。
图6是图示了在多个管芯的正面上的导电元件的框图。
图7是图示了示例性的标量单管芯处理器的逻辑的示例标量平面布局图的框图。
图8是图示了图7中所图示的逻辑在两个面对面堆叠管芯之间的划分和分配的至少一个实施例的框图。
图9是多管芯处理器的至少一个实施例的长度缩短的加载访问数据通道的平面图。
图10是多管芯处理器的至少一个实施例的长度缩短的调度执行数据通道的平面图。
图11是图示了根据至少一个实施例的在两个面对面堆叠管芯之间划分的处理器逻辑块之间的锯齿形数据通道的框图。
图12是图示了在两个面对面堆叠管芯之间划分的被拆分阵列的至少一个实施例的框图。
图13是在两个面对面堆叠管芯之间划分的被拆分执行逻辑的至少一个实施例的框图。
图14是在两个面对面堆叠管芯之间划分的被拆分调度逻辑的至少一个实施例的框图。
图15是在两个面对面堆叠管芯之间划分的被拆分浮点执行逻辑的至少一个实施例的框图。
图16是在两个面对面堆叠管芯之间划分的被拆分地址生成逻辑的至少一个实施例的框图。
图17是图示了包括多管芯处理器的处理系统的至少一个实施例的框图。
具体实施例方式
这里描述了多管芯处理器装置和系统的经选择的实施例。在下面的描述中,列出了许多具体细节以提供对本发明的更彻底的理解,这些细节例如部件间通信机制、具体流水线阶段、被拆分逻辑的重叠配置等。但是,应该理解,没有这些具体细节,本领域的技术人员也可以实施本发明。另外,没有详细示出某些公知的结构、电路等,以避免不必要地模糊本发明。
这里公开了将一起来实现处理器设备的多个管芯堆叠在单个封装件中的封装方法。例如,通过在共同工作以协作执行指令的两个堆叠管芯之间拆分处理器核心的逻辑,可以实现处理器性能(例如,以每时钟周期指令数测量)、发热和功率管理中的高效。
图1是用于执行一个或多个指令的多管芯处理器核心100的框图。处理器核心可以是通用或专用微处理器、数字信号处理器、图像处理器、通信处理器、网络处理器或任何其他执行一个或多个指令的处理器。图1图示出处理器封装件100包括第一管芯102和第二管芯104。第一和第二管芯协作工作以执行指令。就是说,管芯102、104都不是完整功能的处理器;处理器的功能被“拆分”在两个管芯102、104之间。
第一管芯102和第二管芯104中的每个的至少一个实施例具有正面和背面。“正面”是指其上形成有集成电路的管芯面。该正面可以是指拥有活性硅的管芯面。管芯的“背面”是拥有诸如热沉(heat sink)、C4 I/O突点、衬底等的可以耦合到其他结构的非活性物质(例如硅衬底)的那一面。
从图1可以看到第一管芯102和第二管芯104的至少一个实施例以面对面方向被耦合到一起。第一管芯102和第二管芯104的正面可以经由导电接口耦合在一起,而并非采用环氧树脂和其他基于粘附的耦合机制。对于至少一个实施例,第一管芯102正面上的导电元件106被耦合到第二管芯104正面上的导电元件108。例如,相应的导电元件106、108可以是铜过孔,它们可以被接合在一起以建立导电的管芯间接口(见图2的275)。
简要参考图6,进一步图示了第一管芯602和第二管芯604上的导电元件106和108的放置的选择范围。图6图示了第一管芯602和第二管芯604的正面。应该注意到,导电元件106、108可以被放置在各自的管芯602、604正面上的任何位置。虽然图6图示了覆盖每个管芯602、604整个正面的多个导电元件106、108,但是本领域的技术人员会认识到,每个管芯602、604的正面区域的任何子集可以包括导电元件106、108。
图6图示出每个管芯602、604具有周边区606和中央区608。第一管芯602的导电元件106可以被放置在管芯中央区608a内和/或沿着管芯周边区606a放置。类似地,第二管芯604的导电元件108也可以被放置在沿管芯604正面的任何地方,包括管芯604的中央区和/或周边区。结果,两个管芯的正面都没有“排除(keep out)”的区域。相应地,第一和第二管芯602、604可以具有相同的尺寸和形状。这样当它们在被堆叠时,可以彼此完全重叠。在其他实施例中,可以使用不同的尺寸和形状,以及/或者重叠可以是更受限的或是局部的。
图2是图示了根据公开的技术制造的多管芯处理器的至少一个实施例200的进一步细节的框图。第一管芯102的正面包括活性硅层203和一个或多个金属层214。第二管芯104的正面也包括活性硅层205和一个或多个金属层216。
图2还图示出管芯102、104的每一个的背面分别包括一层非活性体硅220、230。第一管芯102的背面还可以包括一个或多个背面过孔233,用于提供从第一管芯102正面上的活性硅203到金属输入/输出(I/O)焊接突点212的通信通道。过孔233可以由例如铜制成。
I/O突点212提供用于与诸如处理系统接口部分(见图17的1704)之类的多管芯处理器200的外部结构通信的装置。接口部分可以被耦合到可能在两个管芯上都存在的I/O突点212上。或者,I/O突点212可以只存在于两个管芯中的一个上,例如在图2所示的第一管芯102上。相应地,接口部分可以只被耦合到多个管芯中的一个上。与I/O突点212相通信的接口部分可以向多管芯处理器200提供与处理系统其他部件通信的机制。例如,接口部分和I/O突点212可以促进处理器200和存储器系统(见图17的1750)之间的通信,以处理来自处理器的存储器访问请求。
图2图示出第二管芯104的非活性硅230背面层可以被耦合到热沉210。
图3是图示了处理器的示例执行流水线300的流程框图。图3中图示的示例性执行流水线300包括下列阶段指令指针生成302、指令取304、指令译码306、寄存器重命名308、调度312、执行313、指令退役(retirement)314。图3中所图示的流水线300只是示例性的;这里描述的技术可以被用于任何处理器。对于其中处理器利用执行流水线300的实施例,流水线300的阶段可以以不同于图3描述的顺序出现,或者可以被拆分为更多的、不同的或其他的阶段。
这里公开的技术可以用于这样的处理器该处理器的流水线300可以包括与图3中所图示的流水线阶段不同的或额外的流水线阶段。例如,流水线300的另外的实施例可以包括用于循环、扩展、异常检测等的额外的流水线阶段。此外,EPIC(显式并行指令计算)型处理器可以包括不同的流水线阶段,例如字线译码阶段、体系结构重命名阶段等,这些流水线阶段出现在用于在其指令集中包括可变长度指令的处理器的流水线中。此外,某些处理器也可以不包括用于将指令译码为微操作的译码段306。
图4和图5图示出在指令执行期间,可以随之出现通过流水线300的各种数据通道。这些通道中的某些可以构成性能关键的数据环(dataloop)。例如,图4图示出在加载指令的执行期间,可以随之出现在执行流水线阶段313期间从加载/存储执行单元(未示出)到数据高速缓存365的加载访问数据通道420。这样的加载访问数据通道420是性能关键的环,因为软件代码中固有的数据依存性——某些较晚的指令直到较早的加载指令的数据从存储器被读取并对该较晚的指令可用时,才能被执行。
类似地,在处理器的指令执行期间可以发生其他性能关键的环。例如,图5图示出调度执行数据通道520也可能是性能关键的环。同样,这样的调度执行数据通道520可能是性能关键的环,由于软件代码中固有的数据依存性——某些较晚的指令(消费者)直到较早的指令(生产者)已经计算了将由消费者指令使用的寄存器值才能被执行。
例如,诸如图1和图2中分别图示的实施例100、200之类的多管芯处理器可以在多个管芯之间被划分,使得可以缩短关键数据通道。例如,可以通过在面对面的第一和第二管芯之间慎重地划分和分配处理器逻辑,缩短图4和图5中分别图示的加载访问通道420和调度执行通道520。
例如,图7图示了示例标量处理器布局图,其中处理器的逻辑被分配给单个管芯700。图7图示了在图4和图5中分别图示的数据通道420、520。加载访问数据通道420在通用寄存器文件702处开始,接着通过执行单元逻辑块704中的加载/存储执行单元,接着进入数据高速缓存706以获取加载数据。穿过执行单元逻辑704到达数据高速缓存706的延时用参考标号732表示。一旦从数据高速缓存706读取了加载数据,数据就被返回到执行逻辑704的前端。从数据高速缓存706获取希望的加载数据到执行逻辑704的前端的延时用参考标号730表示。
考虑调度执行数据通道520,图7图示了示例标量处理器逻辑700上的这样的通道520。图7图示出该通道520的数据在调度逻辑708处开始,依次通过通用寄存器文件702、执行逻辑704、数据高速缓存706,然后回到调度逻辑708。
图8图示了诸如图7中图示的示例处理器逻辑之类的处理器逻辑的至少一个实施例,该处理器逻辑被分配在两个分立的管芯802、804之间。虽然图8中图示了具体的逻辑分配,但是应该理解,图8只是被用于表现如下的一般目的举例说明处理器的指令处理逻辑可以在两个或多个管芯之间被拆分。如图8中所图示的在第一和第二管芯802、804间的处理器逻辑的具体分配不应该被看作是限制的。
可以设计至少一种用于在两个管芯802、804间分配处理器逻辑的分配方案,例如出于改善功率密度的考虑。就是说,处理器经常努力达到一个等于或小于预定阈值的每区域电流值。相对高的功率密度区需要相对大的电流量。通过将高功率密度区的一部分逻辑分配到第一管芯,并将高功率密度区的其余部分逻辑保持在第二管芯,可以缓解对该区域的实施方式的限制,而产生较低功率密度的设计。这种划分高功率密度区逻辑以减少其覆盖区并及降低其功耗的能力只是图8所图示的堆叠方法的一个优点。如下文马上就要解释的那样,这样的方法还可以实现其他优点。
图8图示出图7中所图示的标量处理器管芯700的指令处理逻辑可以被划分,使得执行逻辑704被划分到第一管芯802,而数据高速缓存706被划分到第二管芯804。执行逻辑704可以被放置在第一管芯802的正面上,数据高速缓存706可以被放置在第二管芯804的正面上。数据高速缓存逻辑706和执行逻辑704可以进一步被划分,使得当第一管芯802被堆叠在第二管芯804顶部上时,数据高速缓存逻辑706与执行逻辑704重叠。例如,逻辑可以被划分,使得当两个管芯802、804被堆叠时,数据高速缓存706的前沿830与执行逻辑704的前沿820重叠。
图8中还图示了标量处理器逻辑的进一步划分。例如,图7中所图示的调度逻辑708已经被划分到两个逻辑部分708a和708b中,这两个逻辑部分已经被分配到分立的管芯。另外,图8图示出L3高速缓存可以被划分在两个管芯中,同样,存储器控制器(“mem”)、L2高速缓存、退役逻辑(“ret”)、整数寄存器文件(“ireg”)、浮点寄存器文件(“freg”)、输入/输出逻辑(“I/O”)、取逻辑(“取”)、浮点执行逻辑(“fp”)和指令队列逻辑(“iq”)也可以被划分。
转到图9,在图8中图示的多管芯方法下,图4和图7中图示的加载访问环420的新数据通道420a更短,且更具时间效率。具体地说,图9图示了一个实施例的加载访问数据通道420,其中,处理器的逻辑已经被拆分,使得第二管芯904的数据高速缓存706和第一管芯902上的执行逻辑704重叠,使得数据高速缓存706的前沿830与执行逻辑704的前沿820重叠。(虽然在图9中没有示出,但是本领域的技术人员将会认识到,通用寄存器文件702也可以被拆分在两个管芯902、904间,例如如图8中所图示的那样)图9图示出新加载访问数据通道420a更有效率,在于已经从数据高速缓存707读出加载数据后,数据不需要为了到达执行逻辑704的前沿820而沿着执行逻辑704的整个长度传输。而是,数据可以经由导电的管芯内接口275,被直接传输到执行逻辑704的前沿820。以这种方式,数据不需要花时间穿过执行逻辑704,这样就避免或减少了从数据高速缓存706获取期望的加载数据到执行逻辑704前沿的延时(见图7的730)。对于图7中参考标号732所表示的数据通道部分也可以实现相似的延时降低。
除了上面讨论的时间效率外,图9中图示的实施例还可以提供有益的热管理效果。就是说,对至少某些处理器实施例,执行逻辑704中的执行单元代表相对“热”的逻辑块。就是说,它们有着大量内部晶体管切换,因此比其他块产生相对更多的热量。相反,对至少某些实施例,数据高速缓存706是相对“冷”的逻辑块,它不产生“热”块那么多的热量。因此,图9中图示的实施例享受了将“热”块和“冷”块堆叠使得它们至少部分重叠的额外好处。这样的热/冷堆叠可以使有害热效应最小化,其中所述有害热效应可能由在多管芯处理器中堆叠“热”块使得它们互相重叠而产生。就是说,冷块可以被有效地用作热沉,以消散来自热块的热量。
图10图示出将调度逻辑708划分到两个部分708a、708b也可以产生图5和图7中图示的调度执行数据通道520的效率,其中这两个部分708a、708b各自被分配到不同的管芯1002、1004。图10图示出新的调度执行数据通道520a也享受了通过管芯内接口275的管芯到管芯通信的效率。管芯内通信的每一个只包括通过管芯到管芯接口275在彼此重叠的逻辑元件708a和708b、704和706之间通信所包括的时间。
图11图示了多管芯处理器1100的实施例,该多管芯处理器1100已经被划分,使得用于执行流水线300(例如,见图3)的阶段302、304、306、308、312、313、314的逻辑部分已经被分配在两个管芯1102、1104之间。流水线阶段的逻辑已经被分配在两个管芯1102、1104之间,使得流水线的通信信号经由管芯到管芯接口275,沿着第一管芯1102和第二管芯1104之间的锯齿形通道1106,访问流水线状态逻辑的被分配部分。这种类型的分配在某些实施例中可能是有利的,因为沿锯齿形通道的管芯到管芯通信是更有效率的,在于它们可以减少通道长度,因而提高性能。
另外,图11图示出多管芯处理器的至少一个实施例1100可以包括如上所述的I/O突点212和热沉210。
图12图示了多管芯处理器的至少一个实施例,其中标量平面布局图1200的阵列1208被拆分并分配在两个管芯1202、1204之间。阵列1208可以是任何阵列,包括通用寄存器文件、高速缓存、浮点寄存器文件或者微代码ROM(只读存储器)。图12图示出阵列可以被拆分为第一部分1208a和第二部分1208b,这两个部分可以分别被分配到不同的管芯1202、1204。当两个管芯1202、1204被堆叠时,两个逻辑部分1208a、1208b可以至少部分重叠。以这样的方式,通过利用管芯到管芯接口(见图2的275)以帮助重叠部分1208a、1208b之间的通信,可以减少阵列访问时间,因为阵列的总长度减少了。在某些实施例中这可能是有利的,例如,在阵列是寄存器文件阵列的情况下为了减少寄存器之间的总的最坏情况转移时间。
当然,应该注意到,两个部分1208a、1208b可以但非必需彼此完全重叠。例如,为了补偿可能与“热”处理器逻辑块彼此重叠部分相关联的潜在热效应,可以将重叠部分偏移,使得部分1208a、1208b只有一部分彼此重叠。
图13图示了多管芯处理器布局图的至少一个另外的实施例。图13图示出标量处理器1300的平面布局图,包括整数执行单元1306、加载/存储执行单元1308和浮点执行单元1310。执行单元逻辑块1306、1308和1310可以被分配在两个管芯1302和1304的正面之间。图13图示出执行单元逻辑块1306、1308、1310可以被分配,使得整数执行单元1306和加载/存储执行单元1308被分配到第一管芯1302,而浮点执行单元1310可以被分配到第二管芯1304,从而当第一管芯1302和第二管芯1304被堆叠时,它们至少彼此部分重叠。这种类型的分配在某些实施例中是有利的,至少因为在两个管芯1302、1304间拆分执行单元1306、1308、1310允许了该执行单元具有多至两倍的晶体管密度,并因此可以通过缩短通道长度延时来提高性能。
图14图示了多管芯处理器布局图的至少一个另外的实施例。图14图示出标量处理器1400的平面布局图,包括调度逻辑1408。调度逻辑1408可以被划分为两个逻辑部分1408a和1408b。例如,调度逻辑1408可以被划分为算术调度部分1408a和存储器请求调度部分1408b。两个逻辑部分1408a和1408b可以被分别划分在第一管芯1402和第二管芯1404间,使得当第一管芯1402和1404被堆叠时,它们至少彼此部分重叠。这些重叠的部分可以工作以协作完成用于执行指令的调度操作。这种类型的分配在某些实施例中是有利的,至少因为可以增加调度逻辑1408的信号带宽。因此,通过允许不止一个信号在调度部分1408a、1408b之间同时传输,提高了性能。
图15图示了多管芯处理器布局图的至少一个另外的实施例。图15图示出标量处理器1500的平面布局图包括浮点执行逻辑1508。浮点执行逻辑1508可以被划分为两个逻辑部分1508a和1508b。例如,逻辑1508可以被划分为非SIMD(单指令多数据)浮点执行逻辑部分1508a和SIMD浮点执行逻辑部分1508b。两个逻辑部分1508a和1508b可以被分别划分在第一管芯1502和第二管芯1504间,使得当第一管芯1502和第二管芯1504被堆叠时,它们至少彼此部分重叠。这种类型的分配在某些实施例中是有利的,至少是由于上述的涉及晶体管密度增加和信号带宽增加的那些原因。
图16图示了多管芯处理器布局图的至少一个另外的实施例。图16图示出标量处理器1600的平面布局图,包括地址生成1608。地址生成逻辑1608可以被划分为两个逻辑部分1608a和1608b。两个逻辑部分1608a和1608b可以被分别划分在第一管芯1602和第二管芯1604间,使得当第一管芯1602和第二管芯1604被堆叠时,它们至少彼此部分重叠。同样,这种类型的分配在某些实施例中是有利的,至少是由于上述的涉及晶体管密度增加和信号带宽增加的那些原因。
虽然图8至图16图示了多管芯处理器的各种实施例,其中处理器的指令处理逻辑被分配在两个管芯中,但是提供这些实施例是为了说明的目的,它们不应该被理解为是限制的。例如,图8至图16中图示的任意一个或多个具体划分和/或分配的实施例可以被单独实施,或者结合其他这样的实施例实施。就是说,例如,在单个多管芯处理器中,图9中所图示的划分可以结合图12、13、14、15和/或图16中图示的划分被实施。
同样作为示例,虽然所图示的实施例表示了双管芯处理器,其中每一个管芯其上设置有处理器的逻辑部分,但是处理器的逻辑也可以被划分在多个管芯中。例如,面对面的管芯可以重叠,使得第一顶管芯的一部分和第二顶管芯的一部分与第三底管芯重叠。在多管芯上被划分的逻辑,无论数目多少,都协作工作,以执行一个或多个指令。
就是说,如这里所公开的那样,被分配到分别的多个管芯的逻辑部分可以被调用,以执行与指令相关联的一个或多个执行操作。逻辑部分工作以协作完成执行操作,例如对执行流水线(例如,见图3中图示的示例流水线300)所示出的那些操作。这些执行操作可以包括但不限于地址生成、指令指针生成、取指令、将指令译码为微操作、重命名寄存器以消除某类数据依存性、分派、调度、执行和退役。同样地,执行操作可以包括响应于指令而执行的子指令级任务。
逻辑部分可以被分配在多个管芯中,使得某些功能被拆分。就是说,地址生成单元逻辑可以被拆分为第一部分和第二部分,第一部分被分配到第一管芯,第二部分被分配到第二管芯。第一和第二逻辑部分可以至少部分重叠,并可以一起动作以协作执行地址生成单元的操作。类似地,调度单元可以被拆分,诸如通用寄存器文件、高速缓存、浮点寄存器文件或微代码存储器阵列之类的阵列也同样可以被拆分。存储器控制器也可以被拆分,高速缓存、翻译后援缓冲器(translation lookaside buffer)、译码逻辑、重命名逻辑、取逻辑、退役逻辑和浮点执行单元逻辑也同样可以被拆分。
如上所示,逻辑部分也可以被分配,使得不是拆分逻辑块,而是将用于连续的流水线阶段的完整逻辑块分配在处理器的多个管芯中。这样的流水线阶段逻辑的分配可以产生如图11所图示的通过管芯到管芯接口275的锯齿形通信通道1106。
与执行流水线的执行阶段相关联的执行操作还可以包括由执行单元执行诸如整数或浮点指令代码之类的算术指令代码。这里使用的术语“指令代码”指的是包括任何可以被诸如浮点执行单元、算术逻辑单元或加载/存储执行单元之类的执行单元理解和执行的工作单元。指令代码可以是微操作。
与执行流水线阶段相关联的执行操作还可以包括由执行单元执行诸如存储器读或存储器写指令代码之类的存储器指令代码。
前面的讨论公开了多管芯处理器的经选择的实施例。诸如这里所描述的多管芯处理器1702可以被利用在诸如图17中图示的处理系统1700之类的处理系统上。例如,系统1700可以被用来执行指令集的一个或多个指令。为了本公开的目的,例如,处理系统包括任何拥有诸如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的处理系统,其中这些处理器是如上面讨论的实施例中所描述的多管芯处理器。处理系统1700代表基于Itanium和Itanium2微处理器以及Pentium、PentiumPro、PentiumII、PentiumIII、Pentium4微处理器的处理系统,所有这些微处理器可以从Intel公司获得。也可以使用其他系统(包括拥有其他微处理器的个人计算机(PC)、工程工作站、个人数字助理和其他手持装置、置顶盒等)。系统1700的至少一个实施例可以执行可从Microsoft公司获得的WindowsTM操作系统版本,不过也可以使用例如其他操作系统和图形用户界面。
处理系统1700包括存储器系统1705和处理器1702。存储器系统1705可以存储用于控制处理器1702操作的指令1740和数据1741。存储器系统1705是存储器的一般化表示,可以包括多种形式的存储器,例如硬盘驱动器、CD-ROM、随机访问存储器(RAM)、动态随机访问存储器(DRAM)、静态随机访问存储器(SRAM)、闪存以及相关电路系统。存储器系统1705可以存储由数据信号代表的指令1740和/或数据1741,这些指令可以被处理器1702执行。
处理系统1700包括接口部分1704。不同于处理器1702的第一管芯102和第二管芯104之间的管芯到管芯接口275,接口部分1704可以被耦合到管芯102、104中的一个或两个。接口部分1704会产生处理器1702和系统1700其他部件之间的部件间信号。例如,接口部分1704可以产生处理器1702和存储器系统1705之间的部件间信号。举例来说,接口部分1704可以产生处理器1702和存储器系统1705之间的信号,以执行诸如从存储器的数据取出读操作或到存储器的数据写之类的存储器事务。接口部分1704还可以产生处理器1702与诸如RF单元、键盘、外部存储器设备、监视器、鼠标等的其他系统部件1707之间的信号。
在前面的描述中,公开了多管芯处理器的装置和系统的各个方面。为了说明的目的,给出了具体的数字、示例、系统和配置,以提供更彻底的理解。但是,对本领域的技术人员而言清楚的是,所描述的装置和系统可以不用这些具体细节也能被实施。对本领域的技术人员而言清楚的是,可以做出变化和修改,而不脱离在较宽方面下的本发明。虽然已经示出并描述了本发明的具体实施例,但是权利要求在其范围之内包括了所有这些变化和修改,它们都落在本发明的真正范围之内。
权利要求
1.一种装置,包括具有第一正面和第一背面的第一管芯,所述第一管芯包括第一逻辑部分;具有第二正面和第二背面的第二管芯,所述第二管芯包括第二逻辑部分;所述第一和第二管芯彼此正面相对地耦合在一起;其中,所述第一逻辑部分和所述第二逻辑部分将协作执行指令。
2.根据权利要求1所述的装置,其中所述第一和第二管芯还被耦合使得所述第一逻辑部分和所述第二逻辑部分至少部分地重叠。
3.根据权利要求1所述的装置,其中协作执行指令还指响应于指令,协作完成子指令级任务。
4.根据权利要求1所述的装置,还包括在所述第一和第二管芯的相对表面之间的导电的管芯间接口。
5.根据权利要求4所述的装置,其中所述管芯间接口被设置在所述第一管芯的所述正面的子集与所述第二管芯的所述正面的子集之间。
6.根据权利要求5所述的装置,其中所述第一管芯的所述正面的所述子集是中央区。
7.根据权利要求5所述的装置,其中所述第二管芯的所述正面的所述子集是中央区。
8.根据权利要求5所述的装置,其中所述第一管芯的所述正面的所述子集是周边区。
9.根据权利要求5所述的装置,其中所述第二管芯的所述正面的所述子集是周边区。
10.根据权利要求4所述的装置,还包括接口部分,所述接口部分可操作地耦合到所述第一逻辑部分和所述第二逻辑部分中的至少一个,以产生处理器与部件之间的部件间信号。
11.根据权利要求10所述的装置,其中所述接口部分被耦合到所述第一管芯。
12.根据权利要求10所述的装置,其中所述部件是存储器系统。
13.根据权利要求1所述的装置,其中所述第一逻辑部分和所述第二逻辑部分共同形成地址生成逻辑。
14.根据权利要求1所述的装置,其中所述第一逻辑部分和所述第二逻辑部分共同形成调度逻辑。
15.根据权利要求14所述的装置,其中所述第一逻辑部分包括算术调度逻辑,并且其中所述第二逻辑部分包括存储器请求调度逻辑。
16.根据权利要求1所述的装置,其中所述第一逻辑部分包括阵列的第一部分,并且其中所述第二逻辑部分包括所述阵列的第二部分。
17.根据权利要求16所述的装置,其中所述阵列是寄存器文件阵列。
18.根据权利要求16所述的装置,其中所述阵列是微代码存储器阵列。
19.根据权利要求1所述的装置,其中所述第一逻辑部分包括热逻辑块,并且所述第二逻辑部分包括冷逻辑块。
20.根据权利要求19所述的装置,其中所述第一逻辑部分与所述第二逻辑部分至少部分地重叠。
21.根据权利要求19所述的装置,其中所述第一逻辑部分还包括执行单元,并且其中所述第二逻辑部分还包括数据高速缓存。
22.根据权利要求1所述的装置,其中所述第一逻辑部分包括第一执行单元,并且所述第二逻辑部分包括第二执行单元。
23.根据权利要求22所述的装置,其中所述第一执行单元包括整数执行单元,并且所述第二执行单元包括浮点执行单元。
24.根据权利要求22所述的装置,其中所述第一执行单元包括浮点执行单元,并且所述第二执行单元包括单指令多数据执行单元。
25.根据权利要求1所述的装置,其中所述第一逻辑部分被设置在所述第一管芯的所述正面。
26.根据权利要求1所述的装置,其中所述第二逻辑部分被设置在所述第二管芯的所述正面。
27.根据权利要求1所述的装置,其中所述第一逻辑部分包括用于执行第一流水线阶段以执行所述指令的逻辑;以及所述第二逻辑部分包括用于执行第二流水线阶段以执行所述指令的逻辑。
28.根据权利要求27所述的装置,其中用于额外流水线阶段的逻辑块被设置在所述第一和第二管芯上,使得所述流水线的信号通道沿着所述第一和第二管芯之间的锯齿形通道。
29.一种处理器,包括在第一管芯上的第一分区;在第二管芯上的第二分区;和执行逻辑,用于调用所述第一分区和所述第二分区以进行与指令相关联的执行操作。
30.根据权利要求29所述的处理器,其中所述执行操作还包括调度操作。
31.根据权利要求29所述的处理器,其中所述执行操作还包括地址生成操作。
32.根据权利要求29所述的处理器,其中响应于所述指令,所述执行逻辑还将调用在第一管芯上的分区以调用与所述指令相关联的第二执行操作,并将调用在所述第二管芯上的分区以执行与所述指令相关联的第三执行操作。
33.根据权利要求32所述的处理器,其中所述第二执行操作还包括与指令流水线的执行阶段相关联的操作。
34.根据权利要求32所述的处理器,其中所述第二执行操作还包括指令指针生成操作。
35.根据权利要求29所述的处理器,其中所述执行操作还包括指令取操作。
36.根据权利要求29所述的处理器,其中所述第二执行操作还包括译码操作。
37.根据权利要求29所述的处理器,其中所述第二执行操作还包括重命名操作。
38.根据权利要求29所述的处理器,其中所述第二执行操作还包括退役操作。
39.一种装置,包括第一管芯,包括执行单元;和第一阵列片;和第二管芯,包括第二阵列片,所述第二阵列片通过管芯到管芯耦合被耦合到所述第一寄存器文件片,以连同所述第一阵列片一起作为阵列来协作操作。
40.根据权利要求39所述的装置,其中所述第一管芯还包括第一调度片;以及所述第二管芯还包括第二调度片,所述第二调度片通过管芯到管芯耦合被耦合到所述第一调度片,以连同所述第一调度片一起作为调度单元来协作操作。
41.根据权利要求39所述的装置,其中所述第一管芯还包括第一地址生成片;以及所述第二管芯还包括第二地址生成片;其中,所述第一地址生成片被耦合到所述第二地址生成片,以连同所述第二地址生成片一起作为地址生成单元来协作操作。
42.根据权利要求39所述的装置,其中所述阵列是寄存器文件。
43.根据权利要求39所述的装置,其中所述阵列是微代码存储器阵列。
44.根据权利要求39所述的装置,其中,一个微处理器包括包括所述第一分区的所述第一管芯,包括所述第二分区的所述第二管芯,以及被设置在所述第一管芯上的接口,其中所述装置是一个系统,还包括与所述微处理器的所述接口部分耦合的存储器,所述存储器用于存储指令,所述指令当被所述微处理器执行时,引起所述微处理器调用所述第一管芯上的所述第一分区和所述第二管芯上的所述第二分区。
45.根据权利要求38所述的系统,还包括包括射频单元的额外系统部件。
46.根据权利要求1所述的装置,其中所述第一逻辑部分包括低功率密度区,并且所述第二逻辑部分包括高功率密度区。
47.根据权利要求46所述的装置,其中所述第一逻辑部分与所述第二逻辑部分至少部分地重叠。
全文摘要
本发明公开了多管芯处理器装置和系统。用于执行一个或多个指令的处理器逻辑被分配在两个或更多个面对面堆叠的管芯中。处理器包括在堆叠管芯之间的导电接口,以帮助管芯到管芯的通信。
文档编号G06F17/50GK1630080SQ20041009556
公开日2005年6月22日 申请日期2004年11月29日 优先权日2003年12月16日
发明者布赖恩·P·布莱克, 尼古拉斯·G·萨姆拉, M·克莱尔·韦布 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1