制造具有多处理器的数据处理系统的设计和方法 本发明一般地涉及制造微处理器的方法,具体地涉及制造具有多个处理部件的数据处理系统的设计和方法。
随着技术的进展,对数据处理系统不断提出速度更快、性能更有效的要求。为了达到所需的性能要求,经常采用并行执行操作的多处理器以提高数据处理系统的总处理能力。这种多处理器系统典型地由多个互连执行所需功能的硅片实施。
在集体使用多个处理器来提供单个功能时,重要的是,要以一种容易实现的方法补偿某个处理器中的故障并且减少实现多处理器系统所带来的系统开销量或成本。多处理器地现行实现典型地包含着多个处理器,其中把至少一部分的多处理器设置成冗余处理器,以确保任何时候多处理模块正确地运行。例如,Patrick de Corlien等人的美国专利4,891,810公开一种包含冗余部件的计算机,其中某个冗余部件取代故障部件以确保关键阶段的处理不会产生错误结果。类似地,Bishop等人的美国专利4,823,256公开一种双处理器系统,该系统具有二种运行方式:集中方式和分散方式。在分散运行方式下,二个处理器都是现有的并且执行不同的任务。在该方式下,该双处理器系统使二个处理器中的一个处理器必须成为主处理器。在集中运行方式下,美国专利4,823,256的双处理器系统使一个处理器为现用的,而另一个处理器是备用的以便从第一处理器终止执行处继续任务的执行。在又一个例子中,Stevens的美国专利3,681,578公开一种数据处理系统,其具有用于处理相同信息的三个数据处理器。当某数据处理器的输出明显不符合其它多数处理器的输出时给出警告或隔离该特别的处理器。在Heene等的美国专利4,802,119和McLaughlin等的美国专利5,136,498中可找到其它的利用重复处理器或电路纠错的处理器系统的示例。
尽管上述各种多处理器系统为确保多处理器系统正常运行提供独特的方法,采用多处理器以执行这种功能造成过度的系统开销要求。此外,上述各专利不能应付某冗余数据处理器出故障或者不需要执行某特定数据处理应用程序的情况。在这些情况下,上述专利所公开的数据处理系统需要负担和每个冗余数据处理系统有关的开销。
本发明实现上述需要。因此,本发明在第一种形式下提供第一级集成电路组件。该第一级集成电路包括第一处理部件和第二处理部件。第一处理部件能执行第一数据处理操作,第二处理部件能执行第二数据处理操作。第一数据处理操作和第二数据处理操作是并行执行的。该第一级集成电路还包括第一组多条嵌入控制线,用于选择性地禁止第一处理部件执行第一数据处理操作。同样,该第一级集成电路还包括第二组多条嵌入控制线,用于选择性地禁止第二处理部件执行第二数据处理操作。
进而,本发明在第二形式下提供制造一种数据处理系统的方法,该数据处理系统包括多个在单块集成电路和第一级集成电路组件上实现的多个处理部件。该方法包括测试数据处理系统的第一处理部件和第二处理部件的步骤,以便根据某技术要求判断何时第一处理部件和第二处理部件中的至少一个出故障不能运行。该方法还包括当根据该技术要求第一处理部件出故障不能运行时选择性地利用第一嵌入控制线禁止第一处理部件的运行的步骤。该方法包括当根据该技术要求第二处理部件出故障不能运行时选择性地利用第二嵌入控制线禁止第二处理部件的运行的步骤。此外,该方法还包括当根据该技术要求第一处理部件和第二处理部件运行时选择性地使第一处理部件和第二处理部件运行的步骤。第一处理部件和第二处理部件并行地执行数据处理应用程序。
此外,本发明在第三形式下提供一种数据处理系统。该数据处理系统包括一块集成电路。该集成电路包括第一处理部件和第二处理部件,第一处理部件能执行第一数据处理操作,第二处理部件能执行第二数据处理操作。第一数据处理操作和第二数据处理操作是并行执行的。该数据处理系统还包括一个集成电路组件。该集成电路组件包括第一组多条嵌入控制线,用于选择性地禁止第一处理部件执行第一数据处理操作,并且包括第二组多条嵌入控制线,用于选择性地禁止第二处理部件执行第二数据处理操作。
从下面的连带着附图的详细说明将使人们更清楚地理解这些和其它的特点和优点。重要的是,请注意,这些附图不是用来表示本发明的仅有形式的。
为了更完整地理解本发明以及其优点,现在结合附图查阅下面的说明,附图是:
图1以方块图的形式表示根据本发明的一种实施方式的在单块硅片上实现的多处理器系统;
图2以透视图的形式表示集成电路第一级组件的一部分,该组件具有在其上连接着本发明的多处理器系统的一种实施方式;
图3以剖面图的形式表示根据本发明的一种实施方式实现的多处理器系统;
图4以剖面图的形式表示根据本发明的一种实施方式实现的多处理器系统;以及
图5以流程图形式表示实现本发明的一种实施方式所采用的方法。
在本发明中,在单块硅片上实现多个数据处理器。由于在单个硅器件上实现多个数据处理器(一种“多处理”系统),所得到的集成电路在面积上明显大于大多数只实现单个处理器的单核心系统设计。由于这种集成电路尺寸的增大,与制造这种多处理系统相关的产量通常明显地低于仅具有单个处理器的器件的产量,因为当测定较大的硅区时更有可能出现缺陷。从而,在其中所有的处理器都起作用的多处理系统的出现可能性相对较低。换一个角度来说,更为经常的是,在多处理系统上只有一部分的处理器是起作用的。因此,在本发明对多处理系统要求大面积的情况下,大量制成的多处理系统中有可能带有至少一个有毛病的处理器,从而不能提供全部都完好的器件。然而,当不能使用在其中只有一部分的处理器不能正常工作的多处理系统器件时将是不经济的并且带来明显的“废品”成本。
为了解决这些问题以使废品成本为最小和使产量为最大,本发明实施“部分有效的”集成电路的概念。“部分有效的”集成电路的例子包括在多处理器设计下实现四个处理器核心但根据制造商和设计者的技术要求只有三个处理器能工作的集成电路。在该情况下,出售只具有三个处理器核心而非完整的四个处理器核心的多处理系统,以用于性能要求较小的应用。类似地,也可以在可应用的市场上出售仅具有二个核心处理器的多处理系统,以帮助回收与这种功能度相关的成本开销。
在本发明中,一种数据处理系统和方法确保在完整功能度下或部分功能度下实现一种多处理系统,以保证最有效地使用制造商的集成电路产品。在本发明中,在集成电路第一级组件或基片中设置嵌入控制线,以隔离多处理器件的不起作用的区域。请注意,在本发明的一种实施方式中,可以把集成电路第一级组件实施成球型网状阵列。从而,利用这种结构,若多处理器件内的一个处理器是不起作用的,则可使用嵌入控制线隔离有毛病的区域,因此对于外部用户看起来在数据处理系统上没有有毛病的器件。在本发明的一种备择实施方式中,还可采用分区段的供电以便隔离硅器件的不能工作的区域。通过采用这种配置,可以开发支持多处理器系统的不同等级的功能度的集成电路第一级组件,以支持多处理器件的各种可能配置。
下面会更详细地描述本发明的实施。在下述说明中,为对本发明提供全面的理解陈述各种具体细节。但是,很明显,熟练的技术人员不用这些具体细节也可实施本发明。在其它的情况下,用方块图的形式表示周知的电路,以便不把本发明限制在不必要的细节上。在大多数情况下,省略了有关定时考虑等的细节,因此对于完整理解本发明这些细节不是必不可少的,而且一般的技术人员对这些细节是了解的。此外,在对实施本发明的说明中,为避免涉及到“高位有效”逻辑信号和“低位有效”逻辑信号的混用时的混淆,采用术语“认定”和“拒绝”以及各种语法形式。“认定”用于表示使逻辑信号或寄存器位变成有效状态或逻辑“真”状态。“拒绝”用于表示使逻辑信号或寄存器位变成无效状态或逻辑“假”状态。
现参照附图,附图中所描述的部件未必是按比例示出的,并且在各附图中用相同的参考数字标示不同视图中相同的或类似的部件。
图1表示根据本发明的一种实施方式的数据处理系统100。数据处理系统100包括一块集成电路第一级组件102和多处理系统104。多处理系统104包括:控制逻辑电路106,数据处理器A 108,L1高速缓存A110,数据处理器B112,L1高速缓存B114,数据处理器C116,L1高速缓存C118,数据处理器D120,L1高速缓存D122,单片高速缓存124以及外部高速缓存控制器126。禁止A信号、禁止B信号、禁止C信号、禁止D信号、禁止E信号和禁止F信号各提供到控制逻辑电路106。此外,控制逻辑电路106和数据处理器A108连接以提供禁止A信号,并且和数据处理器B112连接以提供禁止B信号。控制逻辑电路106还和数据处理器C116连接以提供禁止C信号并且和数据处理器D120连接以提供禁止D信号。单片高速缓存124和外部高速缓存控制器126连接。外部高速缓存控制器126提供外部信息总线。控制逻辑电路106和单片高速缓存124连接以提供禁止E信号,并且和外部高速缓存控制器126连接以提供禁止F信号。此外,以业内技术人员周知的方式向多处理系统104的各个部件提供电源信号和接地信号。多处理系统104的大多数部件同样需要电源连接和接地连接,出于简明本发明的目的图中未示出可见的连接。利用周知的路由技术分别向数据处理器A108和L1高速缓存A110提供电源A(PA)信号和地A(GA)信号。类似地,向数据处理器B112和L1高速缓存B114提供电源B(PB)信号和地B(GB)信号,向数据处理器C116和L1高速缓存C118提供电源C(PC)信号和地C(GC)信号,并且向数据处理器D120和L1高速缓存D122提供电源D(PD)信号和地D(GD)信号。同样,向单片高速缓存124提供电源E(PE)信号和地E(GE)信号。向外部高速缓存控制器126提供电源F(PF)信号和地F(GF)信号。
在运行期间,控制逻辑电路106响应来自外部用户的编程输入从集成电路第一级组件102上的另一个器件接收禁止A信号、禁止B信号、禁止C信号、禁止D信号、禁止E信号和禁止F信号。此外,按照集成电路第一级组件102的设计规定,各个禁止A信号、禁止B信号、禁止C信号、禁止D信号、禁止E信号和禁止F信号可能接到集成电路第一级组件102的某适当接地及供电面上。替代地,可能不连接禁止A信号、禁止B信号、禁止C信号、禁止D信号、禁止E信号和禁止F信号,从而把它们浮动到实施多处理系统104的技术所规定的某逻辑电平上。在本发明的一种替代实施方式中,禁止A信号、禁止B信号、禁止C信号、禁止D信号、禁止E信号和禁止F信号可具有由控制逻辑电路106控制的逻辑状态,以便选择性地启用这些信号中的各信号从而使用或停用多处理系统104上的对应器件。
此外,可以把多处理系统104上实现的各器件的对电源和对地的连接选择性地接到某适当的电源或接地面上,以当该处理器件是起作用时启用该处理器并适当运行。替代地,对各处理器件的电源输入端和接地端可以是浮动的或者接到某适当的参照电压电平(电源、接地等等)上以使对应的处理器件不在多处理系统104内正确地运行。
假定在本发明的一种实施方式中,禁止信号A、禁止信号B、禁止信号C、禁止信号D、禁止信号E和禁止信号F中的一个是认定的并提供给控制逻辑电路106,从而控制逻辑电路106向数据处理器A108、数据处理器B112、数据处理器C116、数据处理器D120、单片高速缓存124及外部高速缓存控制器126中对应的一个提供适当的停用信号。请注意,可能对控制逻辑电路106不提供、提供其中一个或提供其中多个禁止A信号、禁止B信号、禁止C信号、禁止D信号、禁止E信号及禁止F信号,从而不停用、停用其中一个或停用其中多个数据处理器A108、数据处理器B112、数据处理器C116、数据处理器D120、单片高速缓存124及外部高速缓冲控制器126。通过选择性地不停用、停用其中一个数据处理器108至120或者停用其中选定的一部分,本发明实现一种多处理系统,其使多处理系统104的制造商能达到产量最大并能达到与制造相关的开销成本最低。这样,对于某些要求不太高的应用,采用具有部分功能度的并且其性能等级是较低的多处理系统是足够的,并且提供了一种回收与制造大型多处理系统相关的制造成本及开销成本的方法。
替代地,假定在本发明的一种实施方式中,PA、PB、PC、PD、PE或PF值中的一个或者是处于浮动的或者连接到接地基准电压上,从而停用数据处理器A108、数据处理器B112、数据处理器C116、数据处理器D120、单片高速缓存124或外部高速缓存控制器126中的一个。在运行期间,PA、PB、PC、PD、PE及PF或全都不、或者其中之一、或其中多个是处于浮动的或者是连接到接地基准电压上的,从而数据处理器A108、数据处理器B112、数据处理器C116、数据处理器D120、单片高速缓存124及外部高速缓存控制器126都不停用、或停用其中之一、或停用其中多个。如上面所说明,通过对多个数据处理器108至120选择性地不停用任一个、或停用其中之一、或停用其中选定的一部分,本发明实现一种允许该系统的制造商使产量最大并使与制造相关的开销成本最低的多处理系统。
图2表示根据本发明的一种实施方式的实现多处理系统204的集成电路第一级组件200的透视图。如图2中所示,多处理系统204通过多个焊球250和集成电路第一级组件200连接。在一种替代的实施方式中,多处理系统204可通过多个焊柱、金属引线阵列以及集成电路制造中所采用的任何其它周知的连接机制和集成电路第一级组件200连接。
在运行期间,输入到多处理系统的各部件的各信号经集成电路第一级组件200内的适当迹线传递到多个焊球250中的一个。这样,各个禁止A信号、禁止B信号、禁止C信号、禁止D信号、禁止E信号及禁止F信号连接到多个焊球250中的一个上。类似地,还把电源信号和接地信号提供到多个焊球250中的至少一个上。请注意,集成电路第一级组件200是多层的,并且可能以相关技术中的熟练技术人员周知的方式包含独立的电源面和接地面。另外,应注意,在集成电路第一级组件200内可能存在多条电源边界和接地边界。这样,可把电源A信号提供给数据处理器A208,并把电源B信号提供给数据处理器B212。电源A信号和电源B信号可能连接到同一电源面上,或者可能连接到集成电路第一级组件200中的不同电源面上。
如前面所述,在本发明的一种实施方式中,可选择性地认定各个禁止A信号、禁止B信号、禁止C信号、禁止D信号、禁止E信号及禁止F信号,并提供到数据处理器A208、数据处理器B212、数据处理器C216、数据处理器D220、单片高速缓存224及外部高速缓存控制器226中相应的一个。此外,作为对使用禁止A信号、禁止B信号、禁止C信号、禁止D信号、禁止E信号及禁止F信号的替代或者在使用这些禁止信号之外,可在设计集成电路第一级组件200期间分区段地实现集成电路第一级组件200上的各电源面和接地面,以便有效地避免对数据处理器A208、数据处理器B212、数据处理器C216、数据处理D220、单片高速缓存224及外部高速缓存控制器226中有毛病的一个器件提供电源。在本发明的一种实施方式中,可以在模上而不是在该组件上出现分段。此外,应注意,在本发明的各种备择实施方式中,可把在第一级集成电路组件200上实现的电源面和接地面都接到用于某些类型的故障的基准接地电压上。尤其当这些故障涉及到电源短路或接地短路、过度的漏电或缺口时,这些备择方式证明是优选的。
图3是集成电路第一级组件200的一部分的剖视图。图3表示本发明一种实施方式,在其中利用一条通路把禁止信号(如图中所示的禁止A和禁止B)选择性地连接到集成电路第一级组件200的电源面和接地面的一个上。例如,假定禁止A信号被拒绝以确保数据处理器A208是起作用的,并被用于多处理系统204中。通过使用一条通路把禁止A信号接到电源面上以确保数据处理器A208逻辑地启用成是起作用的。另外,假定数据处理器B212不起作用并且应被禁止参与多处理系统204的运行。从而,输入到数据处理器B212的禁止B被接到集成电路第一级组件200内的接地面上。应注意,在本发明的备择实施方式中可通过采用搭接片或熔丝进行禁止信号和电源面及接地面的连接。
另外,请注意,在适当的位置上可通过机械手段或者通过使用激光激励器或离子流切断集成电路第一级组件200的表面上的迹线以启用禁止信号。请注意,在本发明的一种实施方式中这样的迹线是供选用的。因而,假定多处理器系统204的制造商希望采用图3中示出的集成电路第一级组件结构,在本发明的一种实施方式中,可以在物理上断开连接着从通道到电源面的禁止A信号的迹线,从而把提供到多处理系统204的焊球输入端的禁止信号浮动到负逻辑电平。
图4表示集成电路第一级组件200的一部分的剖面图。图4表示本发明的一种实施方式,在其中在多处理系统上实现的器件的电源和接地馈线选择性地连接到不同电源面和接地面上以使相关的处理器件正确运行。例如,数据处理器A208接收分别用PA和GA标记的电源信号和接地信号以使数据处理器A208正确地运行。如图4中所示,PA信号连接到第一电源面即电源A402上。类似地,GA信号接到接地A面404。请注意,电源A面402和接地A面404可以是分区段的并只向数据处理器A208提供电源电压和接地电压。
备择地,若集成电路第一级组件上实现的处理器件中的一个是有毛病的,该基片的制造商可以选择把对该故障处理器的电源连接转接到接地面以便有效地停用该处理器件。如图4中所示,外部高速缓存控制器226包括电源F(PF)连接件。此外,假定外部高速缓存控制器226是有毛病的。因此,把电源F输入端连接到接地F面408。这样,该电源连接件转换到接地基准电压,从而不能用于对外部高速缓存控制器226“加电”。若外部高速缓存控制器226是起作用的,则应把PF连接件连接到电源F面406。
替代地,多处理系统200的制造商可以选择使故障处理器件的电源连接成为浮动的。在对数据处理器B212提供的连接中示出这种实现。如图中所示,电源连接件PB是未连接的,而接地连接件GB连接到接地B面412。请注意,可以通过同一个电源面或通过如图4中示出的分区段的电源面向各数据处理器A208、外部高速缓存控制器226及数据处理器B212提供电源。类似地,可通过同一个面或通过如图4中示出的分区段的接地面提供接地基准电压。
图5表示本发明的一种实施方式中采用的方法,这种方法以有效和经济的方式确保有效地、正确地使用多处理系统。在图5的第一步骤502中,测试仍处于晶片形式下的多处理硅器件。对于数据处理技术业内人士而言,这种晶片级的测试是周知的,从而不在本文中详述。
通过采用晶片级测试,对硅器件上实现的处理器组的功能度进行测试。接着,确定该功能度并把它用于对制造好的半导体器件进行分类。这些分类可包括全好芯片类型,它表示多处理器件上制造的所有处理器都是能工作的。此外,在本发明的一种实施方式中,分类可包括三处理器功能度、二处理器功能度和单处理器功能度。在本发明的一种实施方式中,类别还可包括L2高速缓存功能度和L3高速缓存控制器功能度。该分类步骤对应于图5中的步骤506。
集成电路第一级组件设计成与多处理系统内的各种可能的处理器配置相对应。这样,一种集成电路第一级组件可配置成当数据处理器A和数据处理器C不能正确工作时拒绝禁止A信号和禁止C信号。备择地,一种集成电路第一级组件可配置成在功能测试指出数据处理器A和数据处理器C不正确工作时把禁止A信号和禁止C信号转接到某基准电压,即接地或VDD上。通过使用这样配置的集成电路第一级组件,可把具有二个功能核心的多处理器件出售到要比全功能器件所期待的应用更为简单以及更少要求的应用上。
这样,本发明以使与制造在其上具有多个数据处理器和多个处理器件的大型集成电路相关的开销成本为最优的方式,提供一种实现多处理器系统的独有方法和设计。本发明实现一种单块的在其上具有多个处理器的硅集成电路,并且提供一种有效的在处理器件不工作时停用这些不工作的器件的方法。可以根据多处理系统的功能度通过对集成电路第一级组件的电源分配区段化或者通过提供预先选定逻辑状态的禁止信号达到停用,其中的功能度是在包括晶片级测试的初始测试过程中得到的。
请注意本文中提供的说明只是实现本发明的一种示侧。还请注意为实现本发明可采用许多其它的实施方法。例如,通过选择性地启用和停用集成电路第一级组件上的多个处理器可以利用禁止信号便利晶片测试。
尽管本文说明了本发明的原则,但熟练的技术人员容易理解该说明仅是以示例的方式给出的,并且不是对本发明的范围的限制。因此,由附属权利要求书复盖本发明的所有在本发明的真正精神和范围之内的修改。