CN100416545C - 处理器阵列 - Google Patents

处理器阵列 Download PDF

Info

Publication number
CN100416545C
CN100416545C CNB038198207A CN03819820A CN100416545C CN 100416545 C CN100416545 C CN 100416545C CN B038198207 A CNB038198207 A CN B038198207A CN 03819820 A CN03819820 A CN 03819820A CN 100416545 C CN100416545 C CN 100416545C
Authority
CN
China
Prior art keywords
row
processor
array
bus
processor elements
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.)
Expired - Lifetime
Application number
CNB038198207A
Other languages
English (en)
Other versions
CN1675633A (zh
Inventor
威廉·罗宾斯
迈克尔·戴维森
西蒙·豪厄尔
安东尼·彼得·约翰·克莱唐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Picochip Designs Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Picochip Designs Ltd filed Critical Picochip Designs Ltd
Publication of CN1675633A publication Critical patent/CN1675633A/zh
Application granted granted Critical
Publication of CN100416545C publication Critical patent/CN100416545C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2051Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant in regular structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Eye Examination Apparatus (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供了一种集成有一定冗余度的处理器阵列。特别地,除实现预定功能或设备功能所要求的数量以外,处理器阵列还包括一个或多个备用的、或冗余的阵元行。如果在设备中的一个处理器出现故障,那么不再使用包含有故障处理器的整行,并用备用行来代替。

Description

处理器阵列
技术领域
本发明涉及一种处理器阵列,尤其涉及一种具有一定冗余度的处理器阵列,该冗余度允许该处理器阵列正常操作,即使在存在一个或多个故障处理器的情况下。
背景技术
GB-A-2370380号专利公开了一种处理器阵列,其中,数据处理功能分布于阵列的处理器中,处理器通过总线和开关元件连接,开关元件决定数据如何从一个阵元传送到另一个阵元。
半导体器件的制造过程并不是完美的。这些不完美导致分布于硅晶片上的点缺陷。在给定缺陷密度的情况下,管芯尺寸越大,器件具有缺陷的比例就会越高。对于大多数半导体器件,如果管芯上任意位置发生缺陷,那么就必须废弃该管芯,因为器件中的所有电路都要求正确运行。
对于这一个已知的例外是存储装置的情况,诸如随机存储器(RAM)。这种情况下,因为大量装置包括存储单元的规则阵列,存储单元的备用(冗余)列可以结合到装置中,该冗余列可以代替在检测期间检测到有缺陷的列。为了实现有缺陷列的替换,通过激光熔丝控制,在电路中加入开关。根据检测获取的信息结果,选择性地烧断这些熔丝。这提高了可以从晶片获取的可用装置的比例。
发明内容
本发明提供了一种处理部件阵列,其可以结合一定程度的冗余。特别地,该阵列除实现预定功能或装置功能所要求的数量以外,还包括一个或多个备用、或冗余的阵元行。如果在装置中的一个处理器出现故障,那么包含缺陷处理器的整行都不再使用,并用备用行来代替。
根据本发明的第一方面,提供了替换故障处理器元件的方法,在包括排列在行和列阵列中的多个处理器元件的处理器阵列中,处理器元件通过在行和列之间延伸的总线以及通过位于总线交点处的开关相互连接,阵列包括冗余行,最初不给冗余行分配任何功能。如果发现第一处理器元件出现故障,就将功能从包含所述第一处理器的行去除,替代地,将该功能分配到冗余行。
这样,允许执行所要求的功能,甚至在包括有故障处理器元件的装置上仍然可以执行所要求的功能。这可以显著提高从制造过程中获取的可用装置的比例。
根据本发明的第二方面,提供了一种处理器阵列,其包括:多个处理器元件,排列在行和列阵列中,其中,各行处理器元件的排列与其他各行处理器元件的排列相同;水平总线对,在处理器元件行之间延伸,每个总线对都包括在第一方向上传送数据的第一水平总线和在与第一方向相反的第二方向上传送数据的第二水平总线;垂直总线,在处理器元件列之间延伸,其中,一些对处理器元件的相邻列没有在其间延伸的垂直总线,但其他对相邻列之间有在第一方向上传输数据的两条总线,和在与第一方向相反的第二方向上传输数据的两条总线;以及,开关,位于水平总线与垂直总线的交点上。
该阵列,特别是垂直总线的非均匀排列,允许最有效地运用根据本发明第一方面所述的方法。
附图说明
为了更好地理解本发明,并示出本发明是如何实施的,下面将通过实施例和附图进行说明,其中:
图1是根据本发明的阵列的框图。
图2是在图1的阵列中的开关的方框图。
图3是图1的阵列的一部分的半导体晶片的放大框图。
图4是用于制造图1的阵列的半导体晶片的示意图。
图5是图1的阵列的方框图,示出了可能的故障的影响。
图6至图16是图1的阵列的一部分的放大方框图,示出了如果发生可能缺陷的装置的操作。
具体实施方式
图1示出了根据本发明的阵列结构。该阵列结构通常在第GB-A-2370380号专利与第GB-A-2370381号专利中描述,在此结合其作为参考,以下将进一步描述本发明所作的修改。
该阵列包括排列成矩阵的多个阵元20。为了简单说明,图1中所述实例含有6行,每行包括10个阵元(AE0,AE1,...,AE9),给出了总共60个阵元,但是本发明的实际实施例可以具有例如总共超过400个阵元。每个阵元20都通过各自的连接器50连接到从左向右延伸的各自的第一水平总线32,并连接到各自的从右向左延伸的第二水平总线36。水平总线部分32、36在开关55处连接到向上延伸的垂直总线部分41、43和向下延伸的垂直总线部分42、44。特别地,每个开关55都具有左至右输入水平总线部分32,右至左输入水平总线部分36,两条向上的输入垂直总线部分41、43,和两条向下的输入垂直总线部分42、44,加上左至右输出水平总线部分32,右至左输出水平总线部分36,两条向上的输出垂直总线部分41、43,和两条向下的输出垂直总线部分42、44。
所有水平总线部分32、36和垂直总线部分41、43、42、44都为32比特位宽。
因此,处理器元件的一些相邻列对(如AE1与AE2,AE6与AE7)之间没有在其间延伸的垂直总线,其它相邻列对有(如AE4与AE5,AE8与AE9)在其间延伸的在第一方向上传送数据的两条总线,和在与第一方向相反的第二方向上传送数据的两条总线。在一组四列阵元后提供两对垂直总线,而不是在一组两列阵元后提供一对垂直总线,这种不均匀间隔排列将更有效率,原因将在下面描述。
图2示出一个开关55的结构,各开关是相同的。开关包括随机存储器RAM 61,其预加载有数据。开关55由控制器60在本地控制,控制器包含计数器,计数器计数按预定顺序排列的RAM 61的地址。无限重复该相同的顺序,以系统时钟周期测量,一次完成该顺序所占用的时间被作为顺序周期。在各个时钟周期,来自RAM61的输出数据被加载到寄存器62,并且使用多路复用器64将寄存器62的内容用来选择用于每个输出总线66的源。
用于输出总线66的源可以为六条输入总线的任意一条,即左至右输入水平总线部分LeftIn,右至左输入水平总线部分RightIn,两条向上的输入总线部分Up1In和Up2In,或两条向下的输入总线部分Down1In和Down2In。此外,可以选择值零作为输出总线的源,也可以是在以前时钟周期期间输出总线上的值,该值在寄存器62中的一比特的控制下被加载到寄存器65中。
当不使用输出总线时,最好选择零作为源,以使总线上的值将持续几个时钟周期保持不变,从而保持电能。
尽管用于每个输出总线的一个开关55包括六个这样的多路复用器和相关的寄存器,在图2中,仅示出了一个多路复用器64和其相关寄存器65。
开关55的最大组件是RAM 61,尽管通常按RAM标准来看,这还是小的。因此,RAM 61的尺寸在很大程度上由RAM的地址解码部规定。因为这不取决于开关55中切换的总线数量,所以与在每组两列阵元后提供一对垂直总线和在每行中提供一个开关相比,在一组四列阵元后提供两对垂直总线和在每行中提供一个开关,可以使器件的整体尺寸缩小。
图3更详细地示出了在连接器50处每个阵元20如何连接到水平总线部分32、36。每个这样的连接器50都包括多路复用器51,该总线部分被定义为在两个这样的多路复用器51之间的部分。每个左至右水平总线部分32通过连接部21连接到各自阵元20的输入。各阵元20的输出22通过另一个多路复用器51连接到各自的右至左水平总线部分36。
每个多路复用器51都由相关阵元20中的电路(未显示)控制,该电路决定多路复用器是输出输入总线部分上的数据还是阵元输出上的数据。
阵列中的所有通信都以预定顺序发生,持续预定数量(例如,1024个)的时钟周期(以上描述的顺序周期)。每个开关和每个阵元都包含计数器,计算顺序周期。如上所述,在该序列的每个周期中,每个开关都从八个可能源中一个选择数据到其六条输出总线的每条上。在预定周期,阵元通过各自的连接部21从各自的输入总线部分加载数据,且用多路复用器51切换数据到各自的输出总线部分。
每个阵元都可以控制它连接的多路复用器,并在正确的时间按顺序从总线部分加载数据,并可以对数据执行一些有用的功能。该有用的功能可能只包括储存数据。
然而,在本发明的优选实施例中,每个阵元都包含复杂的微处理器,其区域比每个开关区域大几倍。尺寸上的区别使本发明特别地有效,因为本发明关注于克服阵元而不是开关中的故障。
如果阵元不全相同,那么为使本发明最有效地可用,至少在阵列中的每一列中所有阵元应当相同。
半导体器件的制造过程是有缺陷的。这些缺陷导致分布于硅晶片上的点缺陷。对于在给定成熟状态的给定制造过程,该缺陷密度将大致恒定。图4示出了这种情况,显示了圆形硅晶片60的边界,各个正方形方块61用于制造独立器件,和随机地分布缺陷62。
对于给定的缺陷密度,管芯(die)尺寸越大,器件具有缺陷的比例就会越高。
对于大多数半导体器件,如果管芯上任意位置发生缺陷,那么就必须废弃该管芯,因为器件里的所有电路都要求正确运行。
根据本发明,处理部件集成了一定的冗余度。更特别地,阵列中包括除实现预定功能或设备功能所要求的数量以外,还包括一个或多个备用(冗余)的阵元行。如果在一个处理部件中出现缺陷,不管缺陷出现在部件制造期间还是在运行期间,包含缺陷处理部件的整行都不再使用,并用备用行来代替。
因为列中的阵元都相同(如上所述),所以每行阵元都相同,包含缺陷处理部件的行的全部功能都可以由备用行来执行。
图5示出图1所示的处理部件阵列,具有表示为Row n(n=0,1,...,5)的六行,每行中表示为AEnm(m=0,1,...,9)的十个阵元。例如,如果在第二行中的任意一个阵元被检测有缺陷,那么不使用该整行阵元。更具体地,如果最初打算备用行应为第五行,产品检测过程检测到在第二行中的阵元有缺陷,那么将本来要加载到第二行中的阵元中的软件程序加载到对应的第三行的阵元中;将本来要加载到第三行中的阵元中的软件程序加载到对应的第四行的阵元中;将本来要加载到第四行中的阵元中的软件程序加载到对应的第五行中的阵元中。
将最初用于任何一个阵元AEnm的软件程序表示为Prognm,以下定义了程序的完成重分配:
  阵元   原始程序   修订程序   阵元   原始程序   修订程序   阵元   原始程序   修订程序
  AE00   Prog00   Prog00   AE01   Prog01   Prog01   AE02   Prog02   Prog02
  AE03   Prog03   Prog03   AE04   Prog04   Prog04   AE05   Prog05   Prog05
  AE06   Prog06   Prog06   AE07   Prog07   Prog07   AE08   Prog08   Prog08
  AE09   Prog09   Prog09   AE10   Prog10   Prog10   AE11   Prog11   Prog11
  AE12   Prog12   Prog12   AE13   Prog13   Prog13   AE14   Prog14   Prog14
  AE15   Prog15   Prog15   AE16   Prog16   Prog16   AE17   Prog17   Prog17
  AE18   Prog18   Prog18   AE19   Prog19   Prog19   AE20   Prog20   Unused
  AE21   Prog21   Unused   AE22   Prog22   Unused   AE23   Prog23   Unused
  AE24   Prog24   Unused   AE25   Prog25   Unused   AE26   Prog26   Unused
  AE27   Prog27   Unused   AE28   Prog28   Unused   AE29   Prog29   Unused
  AE30   Prog30   Prog20   AE31   Prog31   Prog21   AE32   Prog32   Prog22
  AE33   Prog33   Prog23   AE34   Prog34   Prog24   AE35   Prog35   Prog25
  AE36   Prog36   Prog26   AE37   Prog37   Prog27   AE38   Prog38   Prog28
  AE39   Prog39   Prog29   AE40   Prog40   Prog30   AE41   Prog41   Prog31
  AE42   Prog42   Prog32   AE43   Prog43   Prog33   AE44   Prog44   Prog34
  AE45   Prog45   Prog35   AE46   Prog46   Prog36   AE47   Prog47   Prog37
  AE48   Prog48   Prog38   AE49   Prog49   Prog39   AE50   Unused   Prog40
  AE51   Unused   Prog41   AE52   Unused   Prog42   AE53   Unused   Prog43
  AE54   Unused   Prog44   AE55   Unused   Prog45   AE56   Unused   Prog46
  AE57   Unused   Prog47   AE58   Unused   Prog48   AE59   Unused   Prog49
除了重新分配在阵元上运行的程序,开关中RAM的内容也必须改变,使得数据被传送到将使用它的阵元。从上表可以看出,程序以这样的方式被重新分配,方式为在有缺陷阵元行之上的阵元中运行的程序在相同的阵元上运行,而在有缺陷的阵元之行中或之下的阵元中运行的程序,则在它们的原始行下面的行中的对应阵元上运行。因此,以同样的方式,RAM被程序重调,使得数据所占用的通路随着有故障的行和它下面的行下移,而有故障的行上面的行保持在原来的位置。当通路开始于或结束于有故障的行或穿过有故障的行时,情况将稍微复杂一些。借助图6将说明所有情况,图6示出图5的阵列的一部分的详细示图,图7至图16示出用于开关程序重调请求的具体实例。
如图5所示,假定第二行中的一个阵元已出现故障,因此将不再使用该行中的所有阵元。特别地,参考图6,在AE24、AE25、和AE26上运行的程序分别转移到AE34、AE35、和AE36上。同样地,应在AE34、AE35、和AE36上运行的程序转移到AE44、AE45、和AE46上,等等。在图7至图16中,粗虚线表示用于原来的(无故障)配置的资源(连接器、开关或多路复用器),双线表示用于新配置的资源,粗实线表示同时用于原来的配置和新配置的资源。
根据下面陈述的规则发送数据。
如果水平通路在故障行上面,那么不作改变。
对于有故障的行或它下面的行上的水平通路,所有的通路都下移一行。图7示出从AE24到AE25的通路(经由总线部分80与81和开关SW21)移至从AE34到AE35(经由总线部分88与89和开关SW31)的通路。
如图8所示,整体位于有故障的行上面的通路不受影响。
整体位于有故障的行下面的通路与以上描述的水平通路的方式相同,全部下移一行。
从下面到有故障的行的通路以与整体在有故障的行下面的通路相同的方式处理,且在图9中示出。示出从AE35到AE25(经由总线部分95、开关SW41、总线部分91、开关SW31、总线部分83、开关SW21、和总线部分81)的通路移到从AE45到AE35(经由总线部分105、开关SW51、总线部分101、开关SW41、总线部分91、开关SW31、和总线部分89)的通路。
从上面到有故障的行的通路(其中,原通路包括至少一条垂直总线部分)要求垂直通路必须通过一个以上的开关向下延伸。如图10所示。示出从开关SW11到AE25(经由总线部分73、开关SW21、和总线部分81)的部分通路,从开关SW21延伸到AE35(经由总线部分85、开关SW31、和总线部分89)。
从有故障的行上面的行到有故障的行,不使用任何垂直总线部分,形成一种特殊情况。特别地,如图11所示,原通路不包含延伸的垂直总线部分,不同于图10中所示的实例。结果,必须插入新的垂直部。这将导致潜在的问题,因为在请求的时隙中,为新通路请求的垂直总线部分可能已经被分配给另外的通路。
因此,当分配通路时,该要求必须加以考虑。特别地,不使用任何垂直总线部分,使任何通路从一行到另一行时,那么系统应保留一个在总线部分上的连接,如果在两行中的低行中出现故障,请求该连接。
如上所述,垂直总线的不均匀间隔分布(其中,一组四列阵元后提供两对垂直总线)与可替换的更均匀的间隔分布(在一组两列阵元后提供一对垂直总线)相比,允许这些连接被更有效地保持。
在图11中,从阵元AE15到阵元AE25的通路(经由总线部分75、开关SW21、和总线部分81)被移动,不使用总线部分81,开关SW21的通路延伸到阵元AE35(经由垂直总线部分85、开关SW31、和总线部分89)。通过该时隙,必须通过原通路分配程序保留总线部分(或从开关SW21延伸到SW31的其他总线部分82)85上的连接。
如图12所示,从有故障的行开始并向下的通路以与整体在有故障的行下面的通路相同的方式处理。例如,从阵元AE25到AE35(经由总线部分87、开关SW31、和总线部分89)的通路,被移到从阵元AE35到AE45(经由总线部分95、开关SW41、和总线部分107)的通路。
应当注意,这种情况中,原通路不包括任何垂直总线部分,而且替换的通路也不包括任何垂直总线部分。结果,这不会导致根据图11中描述的潜在问题。
如图13所示,从有故障的行开始并向上的通路(其中,原通路包括至少一个垂直总线部分)通过一段垂直总线部分延伸。这里,从阵元AE25到AE15(经由总线部分87、开关SW31、总线部分83、开关SW21、总线部分71、和开关SW11)的通路被切换,使它经由总线部分95、开关SW41、和总线部分91,从阵元AE35开始到开关SW31,从而像前面继续到达AE15。
图14示出从有故障的行到上面的行、不使用任何垂直总线部分的通路。这和上面图11中所示的情况相似。特别地,从阵元AE24到AE 14(经由总线部分80、开关SW21、和总线部分74)的通路,被替换为从阵元AE34到AE14(经由总线部分88、开关SW31、总线部分84、开关SW21、和总线部分74)的通路。因此,在该时隙,必须通过原通路分配程序保持总线部分84(或从开关SW31延伸到开关SW21的其他总线部分83)上的连接,以避免冲突的可能性。
图15(向上延伸)和图16(向下延伸)示出穿过有故障行的通路。这些情况中,在有故障的行下面的所有垂直总线部分分配都下移一行,且将额外总线部分分配在有故障的行中。
本领域技术人员应当明白,在上述各种情况中确定请求的每个开关的RAM 61的内容的处理程序。
上述描述示出怎样用备用行来替换单一有故障的行。如果阵列中包括两个备用行,那么可以替换两个有故障的行。替换过程和上述过程完全相同,不过要重复进行两次。第一次,替换最高的故障行,忽视第二故障行。然后,替换低故障行。原理上,任何数量的故障行都可用相同的方式替换,但是在替换数量上会有实际限制,因为在将各行替换后垂直通路会更长(因为通路在有故障的行上显著地“伸长”了),这将延长数据的传输时间。最终,该延长的传输时间将意味着不能按要求的速率处理数据。
如果产品测试中检测到故障,那么关于哪一行含有故障的信息可以用于在测试下烧断设备上的激光熔丝。将程序加载到阵元上和操作开关的RAM中的数据的处理过程,可以在设置阵列时使用该信息。可选地,本文所描述的方法可以用于修复实际操作中中发生的故障。在这种情况中,可以通过运行在阵元上的测试软件来检测阵元中的故障。
本文所描述的方法和设备,主要涉及一种包括微处理器的处理器元件的分布。如上所述,处理器元件可以简单地储存数据。相反地,每个处理器元件本身可以包含更小的处理器元件阵列。

Claims (7)

1. 一种将功能分配给处理器阵列中的处理器元件(20)的方法,其中,所述处理器阵列包括以行和列阵列设置的多个处理器元件(20),所述处理器元件(20)通过在行和列之间延伸的总线(32,36,41-44)以及位于所述总线(32,36,41-44)交叉点上的开关(55)相互连接,其中,在所述处理器阵列操作中,在时隙期间,在位于处理器元件(20)的行之间延伸的水平总线(32,36)上的处理器元件(20)和位于处理器元件(20)的列之间延伸的垂直总线(41-44)上的处理器元件(20)之间传输数据,所述方法包括:
将一行识别为最初没有分配功能的冗余行,从而使得,在发现第一处理器元件有故障的情况下,从包含所述第一处理器元件的所述行去除功能,并分配功能到所述冗余行;
当分配功能到所述处理器元件时,在不使用任何垂直总线的情况下,经由所述开关之一,在第一时隙期间定时将数据从处于第一行中的第一处理器元件传输到处于不同于所述第一行的第二行中的第二处理器元件,为在垂直总线部分上的所述数据传输保留所述时隙,所述垂直总线部分用于功能重新分配的情况下,在确定所述第一处理器元件或所述第二处理器元件出现故障后进行功能的重新分配。
2. 根据权利要求1所述的方法,包括:
在发现第一处理器元件有故障时,将从包含所述第一处理器元件的行去除的功能分配到相邻行;以及
根据需要,将功能从所述相邻行重新分配到与所述相邻行相邻的另一行,直到功能已经分配到所述冗余行。
3. 根据权利要求1或2所述的方法,其中,所述冗余行位于所述阵列的边缘。
4. 一种处理器阵列,包括:
多个处理器元件(20),以行和列阵列设置;
在所述行和所述列之间延伸的总线(32、36、41-44);以及
位于所述总线(32、36、41-44)的交叉点的开关(55);
其中,所述多个处理器元件(20)通过所述总线(32、36、41-44)及所述开关(55)相互连接;
其中,所述处理器阵列用于在时隙期间,在位于处理器元件(20)的行之间延伸的水平总线(32,36)上的处理器元件(20)和位于处理器元件(20)的列之间延伸的垂直总线(41-44)上的处理器元件(20)之间传输数据;
其中,将一行识别为最初没有分配功能的冗余行,从而使得,在发现第一处理器元件有故障的情况下,从包含所述第一处理器元件的所述行去除功能,并分配功能到所述冗余行;
其中,当分配功能到所述处理器元件时,在不使用任何垂直总线的情况下,经由所述开关之一,在第一时隙期间定时将数据从处于第一行中的第一处理器元件传输到处于不同于所述第一行的第二行中的第二处理器元件,为在垂直总线部分上的所述数据传输保留所述时隙,所述垂直总线部分用于功能重新分配的情况下,在确定所述第一处理器元件或所述第二处理器元件出现故障后进行功能的重新分配。
5. 根据权利要求4所述的处理器阵列,
其中,每行中的所述处理器阵列的结构与其他行中的所述处理器阵列的结构相同;
其中,所述水平总线(32,36)包括在所述处理器元件(20)的行之间延伸的多对水平总线,每对水平总线包括在第一方向上传送数据的第一水平总线和在与所述第一方向相反的第二方向上传送数据的第二水平总线;
其中,一些对处理器元件的相邻列没有在其间延伸的垂直总线(41-44),其他对相邻列之间有在第一方向上传送数据的两条总线(41,43)和在与所述第一方向相反的第二方向上传送数据的两条总线(42,44);以及
其中,所述开关(55)位于所述水平总线和所述垂直总线的交点上。
6. 根据权利要求5所述的处理器阵列,其中,每个开关(55)都包括:
多条输入总线和多条输出总线;
存储装置(61),将信息储存在其每个地址上,指示哪些数据将被切换到各输出总线上去;以及
控制器(60),用于按预定顺序计数通过所述存储装置(61)的地址。
7. 根据权利要求6所述的处理器阵列,其中,所述存储装置(61)储存指示所述数据是否将被切换到各输出总线上的信息,所述信息包括:
在所述输入总线中的一条上的所述数据值;
在所述输出总线上的先前数据值;或
所述值零。
CNB038198207A 2002-07-19 2003-06-27 处理器阵列 Expired - Lifetime CN100416545C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0216880A GB2391083B (en) 2002-07-19 2002-07-19 Processor array
GB0216880.5 2002-07-19

Publications (2)

Publication Number Publication Date
CN1675633A CN1675633A (zh) 2005-09-28
CN100416545C true CN100416545C (zh) 2008-09-03

Family

ID=9940825

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038198207A Expired - Lifetime CN100416545C (zh) 2002-07-19 2003-06-27 处理器阵列

Country Status (11)

Country Link
US (1) US7549081B2 (zh)
EP (1) EP1535192B1 (zh)
JP (1) JP4467430B2 (zh)
CN (1) CN100416545C (zh)
AT (1) ATE362139T1 (zh)
AU (1) AU2003250383A1 (zh)
DE (1) DE60313781T2 (zh)
ES (1) ES2285191T3 (zh)
GB (2) GB2417586B (zh)
TW (1) TWI314682B (zh)
WO (1) WO2004010321A2 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
CN1310133C (zh) * 2004-08-04 2007-04-11 联合信源数字音视频技术(北京)有限公司 一种视频图象象素插值装置
GB2454865B (en) 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
GB2457309A (en) 2008-02-11 2009-08-12 Picochip Designs Ltd Process allocation in a processor array using a simulated annealing method
GB2457310B (en) * 2008-02-11 2012-03-21 Picochip Designs Ltd Signal routing in processor arrays
WO2009145916A1 (en) * 2008-05-30 2009-12-03 Advanced Micro Devices, Inc. Redundancy methods and apparatus for shader column repair
US9093040B2 (en) 2008-05-30 2015-07-28 Advanced Micro Devices, Inc. Redundancy method and apparatus for shader column repair
GB2466661B (en) * 2009-01-05 2014-11-26 Intel Corp Rake receiver
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
US8688957B2 (en) * 2010-12-21 2014-04-01 Intel Corporation Mechanism for conflict detection using SIMD
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
JP2014016894A (ja) * 2012-07-10 2014-01-30 Renesas Electronics Corp 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム
US9160617B2 (en) 2012-09-28 2015-10-13 International Business Machines Corporation Faulty core recovery mechanisms for a three-dimensional network on a processor array
US8990616B2 (en) * 2012-09-28 2015-03-24 International Business Machines Corporation Final faulty core recovery mechanisms for a two-dimensional network on a processor array
US9411592B2 (en) 2012-12-29 2016-08-09 Intel Corporation Vector address conflict resolution with vector population count functionality
US9411584B2 (en) 2012-12-29 2016-08-09 Intel Corporation Methods, apparatus, instructions, and logic to provide vector address conflict detection functionality
US20140244218A1 (en) * 2013-02-25 2014-08-28 International Business Machines Corporation Architecture optimization
TWI490784B (zh) * 2013-05-16 2015-07-01 Wistron Neweb Corp 功能模組管理方法及電子系統
US10552740B2 (en) * 2014-11-10 2020-02-04 International Business Machines Corporation Fault-tolerant power-driven synthesis
CN107547451B (zh) * 2017-05-31 2020-04-03 新华三信息技术有限公司 一种多路服务器、cpu连接方法及装置
JP6926708B2 (ja) * 2017-06-14 2021-08-25 住友電気工業株式会社 車載通信システム、スイッチ装置、通信制御方法および通信制御プログラム
CN113918481A (zh) 2017-07-30 2022-01-11 纽罗布拉德有限公司 一种存储器芯片
US10691632B1 (en) * 2019-03-14 2020-06-23 DeGirum Corporation Permutated ring network interconnected computing architecture
CN112820202B (zh) * 2019-10-30 2023-03-28 海信视像科技股份有限公司 一种显示装置及其显示方法
US20230237011A1 (en) * 2022-01-21 2023-07-27 Nvidia Corporation Mapping logical and physical processors and logical and physical memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253308A (en) * 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
WO2000050624A1 (de) * 1999-02-22 2000-08-31 Forschungszentrum Jülich GmbH Verfahren zur mikrobiellen herstellung von l-valin
WO2001002960A1 (fr) * 1999-07-02 2001-01-11 Commissariat A L'energie Atomique Procede de reconfiguration applicable a un reseau d'elements fonctionnels identiques

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US174318A (en) * 1876-02-29 Improvement in safety hoisting apparatus
US4389715A (en) * 1980-10-06 1983-06-21 Inmos Corporation Redundancy scheme for a dynamic RAM
JPS58137192A (ja) * 1981-12-29 1983-08-15 Fujitsu Ltd 半導体記憶装置
GB2129585B (en) * 1982-10-29 1986-03-05 Inmos Ltd Memory system including a faulty rom array
EP0190813B1 (en) * 1985-01-29 1991-09-18 The Secretary of State for Defence in Her Britannic Majesty's Government of the United Kingdom of Great Britain and Processing cell for fault tolerant arrays
GB8612454D0 (en) * 1986-05-22 1986-07-02 Inmos Ltd Redundancy scheme for multi-stage apparatus
HU900629D0 (en) 1990-02-01 1990-04-28 Cellware Mikroelektronikai Kut Cicuit arrangement for inhomogen operating processors with homogen structure and cellular building
US6408402B1 (en) * 1994-03-22 2002-06-18 Hyperchip Inc. Efficient direct replacement cell fault tolerant architecture
JP3345626B2 (ja) 1994-09-29 2002-11-18 富士通株式会社 マルチプロセッサシステムにおけるプロセッサ異常対策装置およびマルチプロセッサシステムにおけるプロセッサ異常対策方法
US5795797A (en) * 1995-08-18 1998-08-18 Teradyne, Inc. Method of making memory chips using memory tester providing fast repair
GB2348976A (en) * 1999-04-09 2000-10-18 Pixelfusion Ltd Single instruction multiple data array
JP5285828B2 (ja) * 1999-04-09 2013-09-11 ラムバス・インコーポレーテッド 並列データ処理装置
US6681341B1 (en) * 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
GB2370380B (en) * 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253308A (en) * 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
WO2000050624A1 (de) * 1999-02-22 2000-08-31 Forschungszentrum Jülich GmbH Verfahren zur mikrobiellen herstellung von l-valin
WO2001002960A1 (fr) * 1999-07-02 2001-01-11 Commissariat A L'energie Atomique Procede de reconfiguration applicable a un reseau d'elements fonctionnels identiques

Also Published As

Publication number Publication date
WO2004010321A3 (en) 2005-03-31
GB0520346D0 (en) 2005-11-16
CN1675633A (zh) 2005-09-28
TW200417853A (en) 2004-09-16
WO2004010321A2 (en) 2004-01-29
GB2391083B (en) 2006-03-01
US7549081B2 (en) 2009-06-16
AU2003250383A1 (en) 2004-02-09
EP1535192A2 (en) 2005-06-01
GB2417586A (en) 2006-03-01
ES2285191T3 (es) 2007-11-16
JP4467430B2 (ja) 2010-05-26
EP1535192B1 (en) 2007-05-09
US20050257105A1 (en) 2005-11-17
DE60313781D1 (de) 2007-06-21
GB2417586B (en) 2007-03-28
DE60313781T2 (de) 2008-01-24
TWI314682B (en) 2009-09-11
GB2391083A (en) 2004-01-28
ATE362139T1 (de) 2007-06-15
GB0216880D0 (en) 2002-08-28
JP2005534091A (ja) 2005-11-10

Similar Documents

Publication Publication Date Title
CN100416545C (zh) 处理器阵列
US20180231605A1 (en) Configurable Vertical Integration
CN103809964B (zh) 用线程组执行顺序代码的系统和方法和包含其的simt处理器
EP2966650B1 (en) Memory built-in self test for a data processing apparatus
US7584390B2 (en) Method and system for alternating between programs for execution by cells of an integrated circuit
EP1665065B1 (en) Integrated data processing circuit with a plurality of programmable processors
WO2018130105A1 (zh) 一种多路服务器时钟系统、多路服务器及其控制方法
JP2009003862A (ja) 複数コンポーネントシステム
CN102782653A (zh) 负载控制设备
CN103443774A (zh) 信息处理装置和控制方法
CN102047317A (zh) 冗余方法以及着色器列修复的装置
US5206952A (en) Fault tolerant networking architecture
CN111164523B (zh) 分散控制系统
KR20080020468A (ko) 반도체 메모리 시험 장치
JP2008077498A (ja) 保守制御装置
US7702972B2 (en) Method and apparatus for SRAM macro sparing in computer chips
KR20190126938A (ko) 제어 장치 및 기억 매체에 저장된 대체 선출 프로그램
US7984118B2 (en) Persistent configuration in a multiple processor repairable system
JP2010015390A (ja) 生産管理装置、生産システム、生産管理方法、生産管理プログラム、および記録媒体
JPS60189003A (ja) 機器制御システム
JPH05282172A (ja) 共有予備を有するマルチプロセッサシステム
JP2000269340A (ja) 分散故障シミュレーション方法

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
ASS Succession or assignment of patent right

Owner name: INTEL CORP .

Free format text: FORMER OWNER: PICOCHIP LTD.

Effective date: 20140905

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee

Owner name: PICOCHIP CO., LTD.

Free format text: FORMER NAME: PICOCHIP DESIGUS LTD.

Owner name: PICOCHIP LTD.

Free format text: FORMER NAME: PICOCHIP CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: Bath in Britain

Patentee after: PICOCHIP Ltd.

Address before: Bath in Britain

Patentee before: Bikeqi Co.,Ltd.

Address after: Bath in Britain

Patentee after: Bikeqi Co.,Ltd.

Address before: Bath in Britain

Patentee before: PICOCHIP DESIGNS LTD.

TR01 Transfer of patent right

Effective date of registration: 20140905

Address after: California, USA

Patentee after: INTEL Corp.

Address before: Bath in Britain

Patentee before: Picochip Ltd.

TR01 Transfer of patent right

Effective date of registration: 20200330

Address after: California, USA

Patentee after: Apple Inc.

Address before: California, USA

Patentee before: INTEL Corp.

TR01 Transfer of patent right
CX01 Expiry of patent term

Granted publication date: 20080903

CX01 Expiry of patent term