DE60313781T2 - Gatterprozessor - Google Patents

Gatterprozessor Download PDF

Info

Publication number
DE60313781T2
DE60313781T2 DE60313781T DE60313781T DE60313781T2 DE 60313781 T2 DE60313781 T2 DE 60313781T2 DE 60313781 T DE60313781 T DE 60313781T DE 60313781 T DE60313781 T DE 60313781T DE 60313781 T2 DE60313781 T2 DE 60313781T2
Authority
DE
Germany
Prior art keywords
processor
buses
row
elements
functionality
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
DE60313781T
Other languages
English (en)
Other versions
DE60313781D1 (de
Inventor
William Robbins
Michael Davidson
Simon Howell
Anthony Peter Claydon
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.)
Picochip Designs Ltd
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 DE60313781D1 publication Critical patent/DE60313781D1/de
Application granted granted Critical
Publication of DE60313781T2 publication Critical patent/DE60313781T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • 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/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
    • 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)

Description

  • Die Erfindung betrifft eine Prozessoranordnung und insbesondere eine Prozessoranordnung mit einem gewissen Grad an Redundanz, der es der Anordnung auch dann erlaubt, normal zu arbeiten, wenn ein oder mehrere Prozessoren defekt sind.
  • GB-A-2370380 offenbart eine Prozessoranordnung, in der Datenverarbeitungsfunktionen auf die Prozessoren in der Anordnung verteilt sind, wobei die Prozessoren über Busse und Schaltelemente verbunden sind, die bestimmen, wie Daten von einem Feldelement zu einem anderen übertragen werden.
  • Die Herstellungsverfahren für Halbleitervorrichtungen arbeiten nicht völlig fehlerfrei. Diese Fehler führen zu punktuellen Defekten, die über einen Siliciumwafer verteilt sind. Werden für eine vorgegebene Defektdichte die Abmessungen größer, so steigt der Anteil an fehlerbehafteten Vorrichtungen. Für die meisten Halbleitervorrichtungen gilt, dass bei einem Defekt irgendwo auf dem Halbleiterplättchen das Plättchen verworfen werden muss, da für einen korrekten Betrieb alle Schaltkreise in der Vorrichtung benötigt werden.
  • Eine bekannte Ausnahme hiervon sind Speichervorrichtungen, beispielsweise Random Access Memories (RAMs). Da in diesem Fall der überwiegende Teil der Vorrichtung aus einer regelmäßigen Anordnung von Speicherzellen besteht, kann man (redundante) Ersatzspalten von Zellen in die Vorrichtung aufnehmen, die man dazu verwenden kann, Spalten zu ersetzen, in denen beim Prüfen Defekte erkannt werden. Zum Ersetzen der defekten Spalten werden Schalter in die Schaltungen aufgenommen, die über Laserfuses gesteuert werden. Die Fuses werden anhand der im Prüfvorgang gewonnenen Information gezielt durchgebrannt. Dadurch erhöht sich der Anteil der nutzbaren Vorrichtungen, die man aus einem Wafer erhält.
  • In US-5,253,308 ist eine Prozessoranordnung offenbart, die mindestens eine redundante Spalte enthält. Falls ein Fehler in einem bestimmten Prozessorelement innerhalb einer Spalte von Chips erkannt wird, kann für diese Spalte von Chips ein Umgehungssignal aktiviert werden, und die Funktionalität wird auf die redundante Zeile übertragen.
  • In einem Artikel von Popli und Bayoumi ("A reconfigurable VLSI array for reliability and yield enhancement", Proceedings of the International Conference on Systolic Arrays, San Diego CA, IEEE Comput. Soc. Proc., pp 631–642) ist ein ähnliches Schema offenbart, wodurch die Funktion eines fehlerhaften Verarbeitungselements auf ein korrekt arbeitendes benachbartes Verarbeitungselement übertragen wird.
  • Die Erfindung stellt eine Anordnung von Prozessorelementen bereit, in der ein gewisser Grad an Redundanz enthalten sein kann. Im Einzelnen enthält die Anordnung eine oder mehrere Ersatz- oder Redundanzzeilen von Feldelementen zusätzlich zu der Anzahl, die zum Implementieren der beabsichtigten Funktion oder Funktionen der Vorrichtung erforderlich ist. Tritt in einem der Prozessoren in der Vorrichtung ein Defekt auf, so wird die gesamte Zeile, die den fehlerhaften Prozessor enthält, nicht verwendet und durch eine Ersatzzeile ersetzt.
  • Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zum Zuweisen einer Funktionalität an Prozessorelemente in einer Prozessoranordnung bereitgestellt. Die Prozessoranordnung umfasst zahlreiche Prozessorelemente, die in einer Anordnung mit Zeilen und Spalten arrangiert sind, und die Prozessorelemente sind durch Busse verbunden, die zwischen den Zeilen und Spalten verlaufen, und durch Schalter, die sich an den Kreuzungen der Busse befinden. Bei Betrieb der Prozessoranordnung werden Daten während Zeitschlitzen zwischen Prozessorelementen übertragen, und zwar über horizontale Busse, die zwischen den Zeilen der Prozessorelemente verlaufen, und über vertikale Busse, die zwischen den Spalten der Prozessorelemente verlaufen. Das Verfahren umfasst das Kennzeichnen einer Zeile als redundante Zeile, der anfänglich keine Funktionalität zugewiesen wird, so dass man für den Fall, dass man ein erstes Prozessorelement als fehlerhaft erkennt, die Funktionalität von der Zeile entfernen kann, die das erste Prozessorelement enthält, und man die Funktionalität statt dessen der redundanten Zeile zuweisen kann. Beim Zuweisen der Funktionalität an die Prozessorelemente, so dass Daten, die für das Übertragen eingeplant sind, und zwar während eines ersten Zeitschlitzes von einem ersten Prozessorelement in einer ersten Zeile an ein zweites Prozessorelement in einer zweiten Zeile, die sich von der ersten Zeile unterscheidet, und dies über einen der Schalter ohne irgendeinen vertikalen Bus zu benutzen, wird der Zeitschlitz für die geplante Datenübertragung auf einem Segment eines vertikalen Busses reserviert, den man im Fall der Neuzuweisung von Funktionalität verwendet, nachdem man festgestellt hat, dass entweder das erste Prozessorelement oder das zweite Prozessorelement fehlerhaft ist.
  • Dies erlaubt es, die erforderliche Funktionalität auch auf einer Vorrichtung auszuführen, die ein fehlerhaftes Prozessorelement enthält. Dies kann den Anteil der nutzba ren Vorrichtungen, die man aus dem Herstellungsvorgang erhält, beträchtlich erhöhen.
  • Gemäß einem zweiten Aspekt der Erfindung wird eine Prozessoranordnung bereitgestellt, die das beschriebene Verfahren ausführt. In einer bevorzugten Ausführungsform verlaufen Paare von horizontalen Bussen zwischen den Zeilen der Prozessorelemente, wobei jedes Paar einen ersten horizontalen Bus umfasst, der Daten in einer ersten Richtung überträgt, und einen zweiten horizontalen Bus, der Daten in einer zweiten Richtung entgegengesetzt zur ersten Richtung überträgt. Vertikale Busse laufen zwischen den Spalten von Prozessorelementen, wobei einige Paare von benachbarten Spalten der Prozessorelemente keine vertikalen Busse aufweisen, die zwischen ihnen verlaufen, und andere Paare von benachbarten Spalten zwei zwischen ihnen verlaufende Busse aufweisen, die Daten in einer ersten Richtung befördern, und zwei Busse, die Daten in einer zweiten Richtung befördern, die der ersten Richtung entgegengesetzt ist. An den Kreuzungspunkten der horizontalen und vertikalen Busse befinden sich Schalter.
  • Diese Feldgestaltung und insbesondere die ungleichmäßige Anordnung der vertikalen Busse erlaubt den wirksamsten Gebrauch des Verfahrens gemäß dem ersten Aspekt der Erfindung.
  • Die Erfindung wird nunmehr zur besseren Darstellung und um zu zeigen, wie sie ausgeführt werden kann, beispielhaft mit Bezug auf die beiliegenden Zeichnungen beschrieben.
  • Es zeigt:
  • 1 einen Blockschaltplan einer Anordnung der Erfindung;
  • 2 einen Blockschaltplan eines Schalters in der Anordnung in 1;
  • 3 einen vergrößerten Blockschaltplan eines Teils der Anordnung in 1;
  • 4 eine Skizze eines Halbleiterwafers, der zum Herstellen der Anordnung in 1 verwendet wird;
  • 5 einen Blockschaltplan der Anordnung in 1, wobei die Auswirkung eines möglichen Defekts dargestellt ist;
  • 616 vergrößerte Blockschaltpläne eines Teils der Anordnung in 1, wobei die Arbeitsweise der Vorrichtung im Fall möglicher Defekte dargestellt wird.
  • 1 zeigt eine Feldarchitektur der Erfindung. Die Feldarchitektur entspricht im Allgemeinen der Beschreibung in GB-A-2370380 und GB-A-2370381 , jedoch mit Modifikationen, die im Weiteren beschrieben werden.
  • Die Anordnung besteht aus einer Anzahl Feldelemente 20, die in einer Matrix angeordnet sind. Zur Vereinfachung der Darstellung weist das Beispiel in 1 sechs Zeilen auf, wobei jede Zeile aus zehn Feldelementen (AE0, AE1, ..., AE9) besteht, so dass insgesamt 60 Feldelemente vorhanden sind. Eine umsetzbare Ausführungsform der Erfindung kann jedoch beispielsweise insgesamt über 400 Feldelemente aufweisen. Jedes Feldelement 20 ist jeweils über entsprechende Verbinder 50 mit einem Segment eines entsprechenden ersten horizontalen Busses 32 verbunden, der von links nach rechts läuft, und mit einem Segment eines entsprechenden zweiten horizontalen Busses 36, der von rechts nach links verläuft. Die horizontalen Bussegmente 32, 36 sind an Schaltern 55 mit vertikalen Bussegmenten 41, 43 verbunden, die nach oben laufen, und mit vertikalen Bussegmenten 42, 44, die nach unten laufen. Im Einzelnen weist jeder Schalter 55 ein horizontales Eingangsbussegment 32 auf, das von links nach rechts läuft, ein horizontales Eingangsbussegment 36, das von rechts nach links verläuft, zwei vertikale Eingangsbussegmente 41, 43, die nach oben laufen, und zwei vertikale Eingangsbussegmente 42, 44, die nach unten laufen, sowie ein horizontales Ausgangsbussegment 32, das von links nach rechts läuft, ein horizontales Ausgangsbussegment 36, das von rechts nach links verläuft, zwei vertikale Ausgangsbussegmente 41, 43, die nach oben laufen, und zwei vertikale Ausgangsbussegmente 42, 44, die nach unten laufen.
  • Alle horizontalen Bussegmente 32, 36 und vertikalen Bussegmente 41, 43, 42, 44 sind 32 Bit breit.
  • Einige Paare benachbarter Spalten von Prozessorelementen (z. B. AE1 und AE2, AE6 und AE7) weisen keine zwischen ihnen verlaufenden vertikalen Busse auf. Dagegen besitzen andere Paare von benachbarten Spalten (z. B. AE4 und AE5, AE8 und AE9) zwei Busse, die Daten in einer ersten Richtung befördern und zwei Busse, die Daten in einer zweiten Richtung entgegengesetzt zur ersten Richtung befördern, die zwischen den Spalten verlaufen. Diese ungleichmäßig verteilte Anordnung, die zwei Paare von vertikalen Bussen nach einer Gruppe von vier Spalten von Feldelementen bereitstellt und nicht beispielsweise ein Paar vertikaler Busse nach einer Gruppe von zwei Spalten von Feldelementen, ist wirksamer, und zwar aus Gründen, die im Folgenden beschrieben werden.
  • 2 zeigt die Struktur eines der Schalter 55, wobei alle Schalter untereinander gleich sind. Der Schalter enthält ein Random Access Memory RAM 61, das mit Daten vorgeladen ist. Der Schalter 55 wird lokal von einem Controller 60 gesteuert, der einen Zähler enthält, der die Adressen im RAM 61 in vorbestimmter Folge durchzählt. Diese gleiche Folge wird unbegrenzt wiederholt, und die Zeit, die gemessen in Zyklen des Sys temtakts zum einmaligen vollständigen Durchlaufen der Folge benötigt wird, wird als Folgenperiode bezeichnet. Bei jedem Taktzyklus werden die Ausgabedaten aus dem RAM 61 in ein Register 62 geladen. Der Inhalt des Registers 62 dient zum Wählen der Quelle für jeden Ausgabebus 66, der den Multiplexer 64 verwendet.
  • Die Quelle für den Ausgabebus 66 kann irgendeiner der sechs Eingabebusse sein, nämlich das horizontale Eingangsbussegment LeftIn von links nach rechts, das horizontale Eingangsbussegment RightIn von rechts nach links, die beiden vertikalen nach oben gehenden Eingangsbussegmente Up1In und Up2In oder die beiden vertikalen nach unten gehenden Eingangsbussegmente Down1In und Down2In. Zusätzlich kann der Wert null als Quelle für einen Ausgabebus gewählt werden, und ebenso der Wert, der sich während eines vorhergehenden Taktzyklus auf dem Ausgabebus befunden hat, der gesteuert durch eines der Bits im Register 62 in ein Register 65 geladen wird.
  • Wird ein Ausgabebus nicht verwendet, so ist es vorteilhaft, null als Quelle zu wählen, wodurch der Wert auf dem Bus über mehrere Taktzyklen unverändert bleibt und dadurch Energie eingespart wird.
  • In 2 sind nur ein Multiplexer 64 und sein zugeordnetes Register 65 dargestellt. Der Schalter 55 enthält jedoch sechs derartige Multiplexer und zugeordnete Register, nämlich einen für jeden Ausgabebus.
  • Die größte Komponente des Schalters 55 ist das RAM 61, obwohl es gemessen an üblichen RAMs noch eher klein ist. Die Größe des RAM 61 wird daher in großem Umfang durch den Adressdecodierabschnitt des RAM bestimmt. Da dies nicht von der Anzahl der Busse abhängt, die im Schalter 55 geschaltet werden, kann man die Gesamtgröße der Vorrichtung verringern, indem man zwei Paare von vertikalen Bussen bereitstellt sowie einen Schalter in jeder Zeile nach einer Gruppe von vier Spalten von Feldelementen, anstatt beispielsweise ein Paar vertikaler Busse und einen Schalter in jeder Zeile nach jeder Gruppe von zwei Spalten von Feldelementen bereitzustellen.
  • 3 zeigt ausführlicher, wie jedes Feldelement 20 mit den Segmenten der horizontalen Busse 32, 36 an einem Verbinder 50 verbunden wird. Jeder derartige Verbinder 50 enthält einen Multiplexer 51, und ein Segment des Busses ist definiert als der Abschnitt zwischen zwei solchen Multiplexern 51. Jedes Segment eines von links nach rechts laufenden horizontalen Busses 32 ist mit Hilfe einer Verbindung 21 an einen Eingang eines entsprechenden Feldelements 20 angeschlossen. Ein Ausgang 22 eines je den Feldelements 20 ist über einen weiteren Multiplexer 51 an ein entsprechendes Segment eines von rechts nach links laufenden horizontalen Busses 36 angeschlossen.
  • Jeder Multiplexer 51 wird von einer Schaltung (nicht dargestellt) innerhalb des zugeordneten Feldelements 20 gesteuert, die festlegt, ob der Multiplexer die Daten auf dem Eingangsbussegment oder die Daten auf dem Feldelementausgang ausgibt.
  • Alle Kommunikationsvorgänge in der Anordnung geschehen in einer vorbestimmten Reihenfolge, die eine vorbestimmte Anzahl (beispielsweise 1024) von Taktzyklen dauert (die oben beschriebene Folgenperiode). Jeder Schalter und jedes Feldelement enthält einen Zähler, der die Folgenperiode zählt. Wie beschrieben wählt in jedem Zyklus dieser Folge jeder Schalter Daten von einer der acht möglichen Quellen auf jeden seiner sechs Ausgabebusse. In vorbestimmten Zyklen laden Feldelemente Daten von den entsprechenden Eingabebussegmenten über die jeweiligen Verbindungen 21 herein und leiten die Daten mit Hilfe der Multiplexer 51 auf die jeweiligen Ausgabebussegmente weiter.
  • Jedes Feldelement kann seinen zugeordneten Multiplexer steuern und zu den korrekten Zeiten in der Folge Daten von den Bussegmenten laden, mit denen es verbunden ist, und auf den Daten gewisse nützliche Funktionen ausführen. Die nützliche Funktion kann beispielsweise nur im Speichern der Daten bestehen.
  • In einer bevorzugten Ausführungsform der Erfindung enthält jedoch jedes Feldelement einen komplizierten Mikroprozessor, dessen Fläche ein Mehrfaches der Fläche eines jeden Schalters einnimmt. Dieser Unterschied in der Größe macht die Erfindung, die Fehler in den Feldelementen ausgleichen will und nicht in den Schaltern, besonders wirksam.
  • Sind die Feldelemente nicht alle identisch, so sollten, damit sich die Erfindung besonders wirksam einsetzen lässt, wenigstens in jeder Spalte der Anordnung alle Feldelemente identisch sein.
  • Die Herstellungsvorgänge für Halbleitervorrichtungen sind fehlerbehaftet. Dies führt zu Punktfehlern, die über einen Siliciumwafer verteilt sind. Für einen gegebenen Herstellungsvorgang mit einem gegebenen Reifegrad ist diese Fehlerdichte im Wesentlichen konstant. Dies ist in 4 dargestellt, die den Rand eines kreisförmigen Siliciumwafers 60 zeigt sowie die einzelnen quadratischen Chips 61, die zum Herstellen der einzelnen Vor richtungen verwendet werden, und zufällig verteilte Defekte 62.
  • Nimmt bei einer gegebenen Defektdichte die Plättchengröße zu, so wächst der Anteil an fehlerbehafteten Vorrichtungen.
  • Tritt irgendwo auf dem Plättchen ein Defekt auf, so müssen die meisten Halbleitervorrichtungen verworfen werden, da für den korrekten Betrieb alle Schaltkreise in der Vorrichtung benötigt werden.
  • Gemäß der Erfindung enthält die Anordnung von Prozessorelementen einen gewissen Grad an Redundanz. Im Einzelnen sind eine oder mehrere (redundante) Ersatzzeilen von Feldelementen über die Anzahl hinaus, die zum Implementieren der beabsichtigten Funktion oder Funktionen der Vorrichtung erforderlich ist, in der Anordnung enthalten. Tritt in einem der Prozessorelemente ein Defekt auf, und zwar entweder während der Herstellung oder bei Betrieb der Vorrichtung, so wird die gesamte Zeile von Feldelementen, die das fehlerhafte Prozessorelement enthält, nicht verwendet, und sie wird durch eine Ersatzzeile ersetzt.
  • Da die Feldelemente innerhalb einer Spalte wie erwähnt alle identisch sind, ist jede Zeile von Feldelementen identisch, und die gesamte Funktionalität einer Zeile, die das fehlerhafte Prozessorelement enthält, kann von der Ersatzzeile übernommen werden.
  • 5 zeigt eine Anordnung von Prozessorelementen wie in 1, wobei die sechs Zeilen als Zeile n (n = 0, ..., 5) und die zehn Feldelemente in jeder Zeile als AEnm (m = 0, ..., 9) bezeichnet sind. Wird beispielsweise in irgendeinem der Feldelemente in der Zeile 2 ein Defekt erkannt, so wird diese gesamte Feldelementzeile nicht verwendet. War im Einzelnen ursprünglich beabsichtigt, dass die Zeile 5 die Ersatzzeile ist, und der Produktionsprüfvorgang erkennt einen Fehler in einem Feldelement in Zeile 2, so werden die Softwareprogramme, die sonst in die Feldelemente von Zeile 2 geladen worden wären, in die entsprechenden Feldelemente der Zeile 3 geladen. Die Softwareprogramme, die sonst in die Feldelemente von Zeile 3 geladen worden wären, werden in die entsprechenden Feldelemente der Zeile 4 geladen, und die Softwareprogramme, die sonst in die Feldelemente von Zeile 4 geladen worden wären, werden in die entsprechenden Feldelemente der Zeile 5 geladen.
  • Bezeichnet man das Softwareprogramm, das ursprünglich für irgendeines der Feldelemente AEnm bestimmt war, mit Prognm, so ist die vollständige Neuverteilung der Programme im Folgenden angegeben.
    Feldelement Originalprogramm Überarbeitetes Programm Feldelement Originalprogramm Überarbeitetes Programm Feldelement Originalprogramm Überarbeitetes Programm
    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 Unbenutzt
    AE21 Prog21 Unbenutzt AE22 Prog22 Unbenutzt AE23 Prog23 Unbenutzt
    AE24 Prog24 Unbenutzt AE25 Prog25 Unbenutzt AE26 Prog26 Unbenutzt
    AE27 Prog27 Unbenutzt AE28 Prog28 Unbenutzt AE29 Prog29 Unbenutzt
    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 Unbenutzt Prog40
    AE51 Unbenutzt Prog41 AE52 Unbenutzt Prog42 AE53 Unbenutzt Prog43
    AE54 Unbenutzt Prog44 AE55 Unbenutzt Prog45 AE56 Unbenutzt Prog46
    AE57 Unbenutzt Prog47 AE58 Unbenutzt Prog48 AE59 Unbenutzt Prog49
  • Zusätzlich zum Umverteilen der Programme, die auf den Feldelementen laufen, müssen die Inhalte der RAMs in den Schaltern ebenfalls geändert werden, damit die Daten zu dem Feldelement überfragen werden, das sie nun verwendet. Man kann der obigen Tabelle entnehmen, dass die Programme derart umverteilt werden, dass Programme, die auf Feldelementen über der Zeile mit dem fehlerhaften Feldelement laufen, auf den gleichen Feldelementen abgearbeitet werden, wogegen Programme, die auf Feldelementen in oder unter der Zeile mit dem fehlerhaften Feldelement laufen, auf dem entsprechenden Feldelement in der Zeile unter der ursprünglichen Zeile abgearbeitet werden. In der gleichen Weise werden daher die RAMs umprogrammiert, so dass die von den Daten genommenen Wege mit der fehlerhaften Zeile und den Zeilen darunter nach unten wandern und in der Zeile über der fehlerhaften Zeile an ihrem Platz bleiben. Beginnen oder enden die Wege an der fehlerhaften Zeile oder durchlaufen sie die fehlerhafte Zeile, so ist die Situation etwas komplizierter. Alle Fälle werden mit Hilfe von 6 beschrieben, die eine Detailansicht eines Teils der Anordnung in 5 darstellt, und anhand von 7 bis 16, die besondere Beispiele für die Anforderungen beim Umprogrammieren der Schalter zeigen.
  • Wie in 5 dargestellt wird angenommen, dass eines der Feldelemente in Zeile 2 ausgefallen ist und dass somit alle Feldelemente in dieser Zeile nicht länger verwendbar sind. Im Einzelnen, siehe 6, werden die Programme, die auf AE24, AE25 und AE26 gelaufen wären, auf AE34, AE35 bzw. AE36 übertragen. In ähnlicher Weise werden die Programme, die auf AE34, AE35 und AE36 gelaufen wären, auf AE44, AE45 und AE46 übertragen, usw. In 7 bis 16 bezeichnen fette punktierte Linien Ressourcen (Verbinder, Schalter oder Multiplexer), die in der ursprünglichen (fehlerfreien) Konfiguration verwendet werden, Doppellinien bezeichnen Ressourcen, die in der neuen Konfiguration verwendet werden, und fette durchgezogenen Linien bezeichnen Ressourcen, die sowohl in der ursprünglichen als auch in der neuen Konfiguration verwendet werden.
  • Die Daten werden gemäß den im Folgenden angegebenen Regeln umgeleitet.
  • Für einen horizontalen Weg über der fehlerhaften Zeile ergeben sich keine Änderungen.
  • Für einen horizontalen Weg auf der fehlerhaften Zeile oder darunter werden alle Wege um eine Zeile nach unten verlegt. Dies ist in 7 dargestellt, die zeigt, dass ein Weg von AE24 nach AE25 über die Bussegmente 80 und 81 und den Schalter SW21 auf einen Weg von AE34 nach AE35 über die Bussegmente 88 und 89 und den Schalter SW31 verlegt wird.
  • Wege, die vollständig über der fehlerhaften Zeile liegen, sind nicht betroffen, siehe 8.
  • Wege, die vollständig unter der fehlerhaften Zeile liegen, werden wie die beschriebenen horizontalen Wege alle um eine Zeile nach unten verschoben.
  • Wege, die von unten zur fehlerhaften Zeile verlaufen, werden so behandelt wie Wege, die vollständig unter der fehlerhaften Zeile liegen; dies ist in 9 dargestellt. Man kann sehen, dass ein Weg von AE35 nach AE25 über das Bussegment 95, den Schalter SW41, das Bussegment 91, den Schalter SW31, das Bussegment 83, den Schalter SW21 und das Bussegment 81 auf einen Weg verschoben wird, der von AE45 nach AE35 ver läuft, und zwar über das Bussegment 105, den Schalter SW51, das Bussegment 101, den Schalter SW41, das Bussegment 91, den Schalter SW31 und das Bussegment 89.
  • Wege, die von oben zur fehlerhaften Zeile verlaufen, wobei der Originalweg mindestens ein vertikales Bussegment enthält, erfordern, dass der vertikale Weg nach unten um einen zusätzlichen Schalter erweitert wird. Dies ist in 10 dargestellt. Gezeigt wird ein Teilweg vom Schalter SW11 nach AE25 über das Bussegment 73, den Schalter SW21 und das Bussegment 81, der vom Schalter SW21 nach AE35 erweitert wird, und zwar über das Bussegment 85, den Schalter SW31 und das Bussegment 89.
  • Wege, die von der darüber liegenden Zeile zur fehlerhaften Zeile verlaufen und keinerlei vertikales Bussegment verwenden, bilden einen Sonderfall. Insbesondere, siehe 11, enthält der Originalweg anders als im Beispiel in 10 keine vorhandenen vertikalen Bussegmente, die zu erweitern sind. Daher muss ein neuer vertikaler Abschnitt eingefügt werden. Dies kann möglicherweise zu Problemen führen, da das vertikale Bussegment, das für den neuen Weg benötigt wird, während des erforderlichen Zeitschlitzes bereits einem anderen Weg zugewiesen sein kann.
  • Daher muss man beim Zuweisen von Wegen diese Anforderung beachten. Insbesondere dann, wenn irgendein Weg geplant wird, der von einer Zeile zu einer anderen Zeile geht, ohne dass irgendwelche vertikalen Bussegmente verwendet werden, sollte das System eine Verbindung auf dem Bussegment reservieren, das im Fall eines Versagens in der unteren der beiden Zeilen benötigt würde.
  • Die beschriebene Anordnung der vertikalen Busse mit ungleichmäßigen Abständen, bei der zwei Paare vertikaler Busse nach jeder Gruppe aus vier Spalten von Feldelementen bereitgestellt werden, erlaubt es, diese Verbindungen wirksamer zu reservieren, und zwar bezogen auf eine alternative gleichförmigere Verteilung, bei der beispielsweise ein Paar vertikaler Busse nach jeder Gruppe von zwei Spalten von Feldelementen vorhanden ist.
  • In 11 wird der Weg vom Feldelement AE15 zum Feldelement AE25 über das Bussegment 75, den Schalter SW21 und das Bussegment 81 so verschoben, dass das Bussegment 81 nicht verwendet wird, und der Weg vom Schalter SW21 wird zum Feldelement AE35 über das vertikale Bussegment 85, den Schalter SW31 und das Bussegment 89 erweitert. Eine Verbindung auf dem Bussegment 85 (oder auf dem anderen Bussegment 82, das vom Schalter SW21 nach SW31 verläuft) muss vom ursprünglichen We gezuweisungsvorgang für diesen Zeitschlitz reserviert werden.
  • Wege, die an der fehlerhaften Zeile beginnen und nach unten verlaufen, siehe 12, werden genau so behandelt wie Wege, die vollständig unter der fehlerhaften Zeile liegen. Beispielsweise wird ein Weg vom Feldelement AE25 nach AE35 über das Bussegment 87, den Schalter SW31 und das Bussegment 89 auf einen Weg vom Feldelement AE35 nach AE45 über das Bussegment 95, den Schalter SW41 und das Bussegment 107 verschoben.
  • Man beachte, dass in diesem Fall weder der ursprüngliche Weg noch der Ersatzweg irgendeinen Abschnitt eines vertikalen Busses enthält. Dadurch tritt das oben anhand von 11 beschriebene potentielle Problem nicht auf.
  • Wege, die an der fehlerhaften Zeile beginnen und nach oben verlaufen, und bei denen der Originalweg mindestens ein vertikales Bussegment enthält, werden wie in 13 erläutert um ein vertikales Bussegment erweitert. Dabei wird ein Weg vom Feldelement AE25 nach AE15 über das Bussegment 87, den Schalter SW31, das Bussegment 83, den Schalter SW21, das Bussegment 71 und den Schalter SW11 so verändert, dass er am Feldelement AE35 beginnt, und er wird über das Bussegment 95, den Schalter SW41 und das Bussegment 91 zum Schalter SW31 geführt. Anschließend geht der Weg wie vorher nach AE15.
  • Ein Weg von der fehlerhaften Zeile zur darüber liegenden Zeile, der keine vertikalen Bussegmente enthält, ist in 14 dargestellt. Dies entspricht dem oben in 11 dargestellten Fall. Im Einzelnen wird ein Weg vom Feldelement AE24 nach AE14 über das Bussegment 80, den Schalter SW21 und das Bussegment 74 durch einen Weg vom Feldelement AE34 nach AE14 über das Bussegment 88, den Schalter SW31, das Bussegment 84, den Schalter SW21 und das Bussegment 74 ersetzt. Damit muss der ursprüngliche Wegezuweisungsvorgang eine Verbindung auf dem Bussegment 84 (oder auf dem anderen Bussegment 83, das vom Schalter SW31 nach SW21 verläuft) reservieren, um mögliche Konflikte zu vermeiden.
  • Wege, die die fehlerhafte Zeile kreuzen, sind in 15 (nach oben verlaufend) und in 16 (nach unten verlaufend) dargestellt. In diesen Fällen werden die Zuweisungen aller vertikalen Bussegmente unter der fehlerhaften Zeile um eine Zeile nach unten verschoben, und ein zusätzliches Bussegment in der fehlerhaften Zeile wird zugewiesen.
  • Der Vorgang des Bestimmens der erforderlichen Inhalte des RAM 61 für jeden Schalter ist einem Fachmann für jeden der obigen Fälle geläufig.
  • Die obige Beschreibung zeigt, wie eine einzige fehlerhafte Zeile durch eine Ersatzzeile ersetzt werden kann. Sind in der Anordnung zwei Ersatzzeilen enthalten, so können zwei fehlerhafte Zeilen ersetzt werden. Die Vorgehensweise gleicht exakt der beschriebenen, wird jedoch zwei Mal wiederholt. Zuerst wird die oberste fehlerhafte Zeile ersetzt, wobei ignoriert wird, dass eine zweite fehlerhafte Zeile vorhanden ist. Anschließend wird die untere fehlerhafte Zeile ersetzt. Prinzipiell kann man jede beliebige Anzahl fehlerhafter Zeilen in gleicher Weise reparieren. Eine praktische Beschränkung für die Anzahl der Ersetzungen liegt darin, dass vertikale Wege für jede ersetzte Zeile länger werden können (da der Weg in der Tat über die fehlerhafte Zeile "gestreckt" wird) und dies die Übertragungszeit für die Daten erhöht. Schließlich würde die erhöhte Übertragungszeit dazu führen, dass die Daten nicht mehr mit der erforderliche Rate verarbeitet werden können.
  • Werden Fehler im Zuge der Fertigungsüberprüfung erkannt, so kann man die Information bezüglich der fehlerhaften Zeile dazu verwenden, in den geprüften Vorrichtungen Laserfuses aufzutrennen. Der Vorgang, der Programme auf die Feldelemente lädt und die Daten in den RAMs der Schalter manipuliert, kann diese Information zum Zeitpunkt der Konfiguration der Anordnung verwenden. Wahlweise kann das hier beschriebene Verfahren dazu eingesetzt werden, Defekte zu reparieren, die während des Betriebs im Feld auftreten. In diesem Fall kann man Defekte in den Feldelementen dadurch erkennen, dass man eine Prüfsoftware auf den Feldelementen laufen lässt.
  • Das Verfahren und die Vorrichtung sind hier hauptsächlich bezüglich einer Anordnung beschrieben, in der die Prozessorelemente Mikroprozessoren enthalten. Wie bereits angegeben können die Prozessorelemente auch einfach die Fähigkeit haben, Daten zu speichern. Im Gegensatz dazu kann jedes Prozessorelement selbst eine Anordnung von kleineren Prozessorelementen enthalten.

Claims (7)

  1. Verfahren zum Zuweisen einer Funktionalität an Prozessorelemente (20) in einer Prozessoranordnung, wobei die Prozessoranordnung zahlreiche Prozessorelemente (20) umfasst, die in einer Anordnung mit Zeilen und Spalten arrangiert sind, und die Prozessorelemente (20) durch Busse (32, 36, 4144) verbunden sind, die zwischen den Zeilen und Spalten verlaufen, und durch Schalter (55), die sich an den Kreuzungen der Busse (32, 36, 4144) befinden, und bei Betrieb der Prozessoranordnung Daten während Zeitschlitzen zwischen Prozessorelementen (20) übertragen werden, und zwar über horizontale Busse (32, 36), die zwischen den Zeilen der Prozessorelemente (20) verlaufen, und über vertikale Busse (4144), die zwischen den Spalten der Prozessorelemente (20) verlaufen, und das Verfahren umfasst: das Kennzeichnen einer Zeile als redundante Zeile, der anfänglich keine Funktionalität zugewiesen wird, so dass man für den Fall, dass man ein erstes Prozessorelement als fehlerhaft erkennt, die Funktionalität von der Zeile entfernen kann, die das erste Prozessorelement enthält, und man die Funktionalität statt dessen der redundanten Zeile zuweisen kann; und beim Zuweisen der Funktionalität an die Prozessorelemente, so dass Daten, die für das Übertragen eingeplant sind, und zwar während eines ersten Zeitschlitzes von einem ersten Prozessorelement in einer ersten Zeile an ein zweites Prozessorelement in einer zweiten Zeile, die sich von der ersten Zeile unterscheidet, und dies über einen der Schalter ohne irgendeinen vertikalen Bus zu benutzen, das Reservieren des Zeitschlitzes für die geplante Datenübertragung auf einem Segment eines vertikalen Busses, den man im Fall der Neuzuweisung von Funktionalität verwendet, nachdem man festgestellt hat, dass entweder das erste Prozessorelement oder das zweite Prozessorelement fehlerhaft ist.
  2. Verfahren nach Anspruch 1, zudem umfassend: für den Fall, dass sich ein erstes Prozessorelement als fehlerhaft herausstellt, das Zuweisen der Funktionalität, die von der Zeile weggenommen wurde, die das erste Prozessorelement enthält, an eine benachbarte Zeile; und das erneute Zuweisen der Funktionalität von der benachbarten Zeile an eine weitere hierzu benachbarte Zeile, und dies solange, bis der redundanten Zeile Funktionalität zugewiesen ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei sich die redundante Zeile an einer Kante der Anordnung befindet.
  4. Prozessoranordnung, umfassend: zahlreiche Prozessorelemente (20), die in einer Anordnung mit Zeilen und Spalten arrangiert sind; Busse (32, 36, 4144), die zwischen den Zeilen und Spalten verlaufen; und Schalter (55), die sich an den Kreuzungen der Busse (32, 36, 4144) befinden, wobei: die Prozessorelemente (20) über die Busse (32, 36, 4144) und die Schalter (55) verbunden sind, die Prozessoranordnung so ausgelegt ist, dass sie Daten während Zeitschlitzen zwischen Prozessorelementen (20) überträgt, und zwar über horizontale Busse (32, 36), die zwischen den Zeilen der Prozessorelemente (20) verlaufen, und über vertikale Busse (4144), die zwischen den Spalten der Prozessorelemente (20) verlaufen, eine Zeile als redundante Zeile gekennzeichnet wird, der anfänglich keine Funktionalität zugewiesen wird, so dass man für den Fall, dass man ein erstes Prozessorelement als fehlerhaft erkennt, die Funktionalität von der Zeile entfernen kann, die das erste Prozessorelement enthält, und man die Funktionalität statt dessen der redundanten Zeile zuweisen kann; und beim Zuweisen der Funktionalität an die Prozessorelemente, so dass Daten, die für das Übertragen eingeplant sind, und zwar während eines ersten Zeitschlitzes von einem ersten Prozessorelement in einer ersten Zeile an ein zweites Prozessorelement in einer zweiten Zeile, die sich von der ersten Zeile unterscheidet, und dies über einen der Schalter ohne irgendeinen vertikalen Bus zu benutzen, die Prozessoranordnung so beschaffen ist, dass sie den Zeitschlitz für die geplante Datenübertragung auf einem Segment eines vertikalen Busses reserviert, den man im Fall der Neuzuweisung von Funktionalität verwendet, nachdem man festgestellt hat, dass entweder das erste Prozessorelement oder das zweite Prozessorelement fehlerhaft ist.
  5. Prozessoranordnung nach Anspruch 4, worin: die Anordnung der Prozessorelemente in jeder Zeile mit der Anordnung der Prozessorelemente in jeder anderen Zeile übereinstimmt, die horizontalen Busse (32, 36) Paare von horizontalen Bussen enthalten, die zwischen den Zeilen der Prozessorelemente (20) verlaufen, und jedes Paar einen ersten horizontalen Bus umfasst, der Daten in einer ersten Richtung befördert, und einen zweiten horizontalen Bus, der Daten in einer zweiten Richtung befördert, die der ersten Richtung entgegengesetzt ist, einige Paare von benachbarten Spalten der Prozessorelemente keine vertikalen Busse (4144) aufweisen, die zwischen ihnen verlaufen, und andere Paare von benachbarten Spalten zwei zwischen ihnen verlaufende Busse (41, 43) aufweisen, die Daten in einer ersten Richtung befördern, und zwei Busse (42, 44), die Daten in einer zweiten Richtung befördern, die der ersten Richtung entgegengesetzt ist, und die Schalter (55) an den Kreuzungen der horizontalen und der vertikalen Busse angeordnet sind.
  6. Prozessoranordnung nach Anspruch 5, wobei jeder Schalter (55) umfasst: zahlreiche Eingabebusse und zahlreiche Ausgabebusse; eine Speichervorrichtung (61), die an jeder ihrer Adressen Information speichert, die angibt, welche Daten auf jeden Ausgabebus zu schalten sind; und einen Controller (60), der die Adressen der Speichervorrichtung (61) in einer vorbestimmten Reihenfolge durchzählt.
  7. Prozessoranordnung nach Anspruch 6, wobei die Speichervorrichtung (61) Information speichert, die angibt, ob die auf jeden der Ausgabebusse zu schaltenden Daten sind: der Datenwert an einem der Eingabebusse; der vorhergehende Datenwert auf diesem Ausgabebus; oder der Wert Null.
DE60313781T 2002-07-19 2003-06-27 Gatterprozessor Expired - Lifetime DE60313781T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0216880A GB2391083B (en) 2002-07-19 2002-07-19 Processor array
GB0216880 2002-07-19
PCT/GB2003/002772 WO2004010321A2 (en) 2002-07-19 2003-06-27 Processor array

Publications (2)

Publication Number Publication Date
DE60313781D1 DE60313781D1 (de) 2007-06-21
DE60313781T2 true DE60313781T2 (de) 2008-01-24

Family

ID=9940825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60313781T Expired - Lifetime DE60313781T2 (de) 2002-07-19 2003-06-27 Gatterprozessor

Country Status (11)

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

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
US9093040B2 (en) 2008-05-30 2015-07-28 Advanced Micro Devices, Inc. Redundancy method and apparatus for shader column repair
EP2294570B1 (de) * 2008-05-30 2014-07-30 Advanced Micro Devices, Inc. Redundanzverfahren und vorrichtungen zur schattierersäulenreparatur
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
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
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 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム
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
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
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 住友電気工業株式会社 車載通信システム、スイッチ装置、通信制御方法および通信制御プログラム
EP4187539B1 (de) 2017-07-30 2024-06-05 NeuroBlade Ltd. Speicherbasierte verteilte prozessorarchitektur
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

Family Cites Families (17)

* 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 (de) * 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 Verarbeitungszelle für fehlertolerante Matrixanordnungen
GB8612454D0 (en) * 1986-05-22 1986-07-02 Inmos Ltd Redundancy scheme for multi-stage apparatus
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
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
DE19907567B4 (de) * 1999-02-22 2007-08-09 Forschungszentrum Jülich GmbH Verfahren zur mikrobiellen Herstellung von L-Valin
GB2348976A (en) * 1999-04-09 2000-10-18 Pixelfusion Ltd Single instruction multiple data array
JP5285828B2 (ja) * 1999-04-09 2013-09-11 ラムバス・インコーポレーテッド 並列データ処理装置
FR2795839B1 (fr) * 1999-07-02 2001-09-07 Commissariat Energie Atomique Procede de reconfiguration applicable a un reseau d'elements fonctionnels identiques
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE60313781T2 (de) Gatterprozessor
DE3300261C2 (de)
DE3300260C2 (de)
DE3533800C1 (de) Verfahren zum Betreiben eines hochintegrierten Wellenfront-Feldrechners sowie entsprechender Wellenfront-Feldrechner
DE2633079A1 (de) Anordnung zum verbinden bzw. integrieren einer vielzahl von getrennten speichern auf einem scheibchen
DE2646163B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE2058698A1 (de) Datenspeichersystem
DE3728521A1 (de) Anordnung und verfahren zur feststellung und lokalisierung von fehlerhaften schaltkreisen eines speicherbausteins
DE2916066B2 (de) Anordnung zur Verarbeitung von Daten
DE2617408B2 (de) Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie
DE2916065C2 (de) Datenverarbeitungseinrichtung
DE2404146A1 (de) Digitales, hierarchisch in wenigstens drei hierarchie-stufen aufgebautes speichersystem
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE2364082A1 (de) Speicherprogrammierte datenverarbeitungsanlage fuer die steuerung externer anlagen
DE3538214C2 (de) Multiprozessorsystem
DE3048414A1 (de) "schaltungsanordnung fuer eine datenverarbeitungsanlage"
DE3333974A1 (de) Dynamischer mos-speicher mit wahlfreiem zugriff
EP0135931B1 (de) Zentralsteuereinheit eines Vermittlungssystems insbesondere Fernsprech-Vermittlungssystems
DE10062404A1 (de) Vorrichtung und Verfahren zum Reduzieren der Anzahl von Adressen fehlerhafter Speicherzellen
DE10147201A1 (de) Halbleiterspeichervorrichtung und Verfahren zum Ersetzen einer Redundanzschaltung
EP0036148A1 (de) Hybrid-Assoziativspeicher
DE3516077A1 (de) Digitales system mit serien-parallel-serien-betrieb
DE3538608A1 (de) Einrichtung zur gleichmaessigen zuteilung eines einer mehrzahl von einrichtungen gemeinsam zugeordneten busses in digitalsystemen
DE10318847B4 (de) Verfahren zur Herstellung einer integrierten Schaltung mit zwei Schaltungsteilen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition