DE69300041T2 - Mehrfachprozessor-Datenverarbeitungssystem. - Google Patents
Mehrfachprozessor-Datenverarbeitungssystem.Info
- Publication number
- DE69300041T2 DE69300041T2 DE69300041T DE69300041T DE69300041T2 DE 69300041 T2 DE69300041 T2 DE 69300041T2 DE 69300041 T DE69300041 T DE 69300041T DE 69300041 T DE69300041 T DE 69300041T DE 69300041 T2 DE69300041 T2 DE 69300041T2
- Authority
- DE
- Germany
- Prior art keywords
- input
- module
- data
- interface means
- bus
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/42—Document-oriented image-based pattern recognition based on the type of document
- G06V30/424—Postal images, e.g. labels or addresses on parcels or postal envelopes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Multi Processors (AREA)
- Image Analysis (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein Multiprozessor-Datenverarbeitungssysteme.
- Der ständig steigende Bedarf an Rechnerleistung von Datenverarbeitungssystemen für Anwendungen wie beispielsweise Bildverarbeitung oder wissenschaftliche Berechnungen hat die Entwickler von Rechnern veranlaßt, neue Prozessorarchitekturen einzuführen: die Parallelarchitekturen. Drei Grundprinzipien werden für die Einführung dieses Parallelismus in die neuen Architekturen verwendet. Man unterscheidet:
- - segmentierte Architekturen (oder Pipelinearchitekturen): Diese Architekturen zerlegen eine Aufgabe in mehrere Schritte und führen die Schritte unabhängig voneinander mit verschiedenen Prozessoren aus. Jedesmal, wenn nach der Ausführung eines Schrittes ein Zwischenergebnis erreicht wird, wird dieses zum nächsten Prozessor übertragen usw. Wenn ein Schritt abgeschlossen ist, wird der für die Ausführung verantwortliche Prozessor freigesetzt und steht somit für die Verarbeitung von neuen Daten zur Verfügung. Ausgehend von der Annahme, daß die Zeiträume für die jeweilige Ausführung der verschiedenen Schritte deutlich gleich sind, ist der Zeitraum für den Erhalt der Endergebnisse somit gleich der Dauer eines Schrittes und nicht der Dauer für die Ausführung der Ausgabe;
- - Architekturen mit Matrix-Prozessoren oder SIMD- Architekturen (Single Instruction, Multiple Data Stream). Bei Architekturen dieser Art wird die größere Rechenleistung durch gleichzeitige Ausführung des gleichen Befehls durch eine größere Zahl von identischen Verarbeitungseinheiten erreicht. Die Architektur dieser Art eignet sich besonders für die vektorielle Verarbeitung; und
- - Multiprozessor-Architekturen oder MIMD-Architekturen (Multiple Instruction, Multiple Data Stream). Bei Architekturen dieser Art führen mehrere Prozessoren unabhängig voneinander jeweils Befehlsfolgen aus. Die Kammunikati6n zwischen den Prozessoren erfolgt durch einen gemeinsamen Speicher und/oder ein Verbindungsnetz zwischen den Prozessoren.
- Die europäische Patentanmeldung EP-A-433142 enthält die Beschreibung einer Architektur eines Multiprozessor- Datenverarbeitungssystems, in dem der Bus von verschiedenen Prozessorstufen genutzt wird und auf jeder Stufe durch ein programmierbares Netz von logischen Zellen (LCA: Logic Cell Arrays) verbunden ist, die als mehrere Ein-/Ausgangsmittel und ein Verzweigungsmittel konfiguriert sind. Der Hauptvorteil einer solchen Architektur liegt darin, jedem Prozessor die Aufgaben der Abfrage und Verwaltung des Bus zu entziehen, da diese im Netz der mit dem Prozessor verbundenen logischen Zellen ausgeführt werden. Diese Architektur ist allerdings im Hinblick auf den Multiprozessoransatz für Anwendungen mit wissenschaftlichen Berechnungen nicht optimal. Jeder Prozessor hat hier fast alle zu erledigenden Aufgaben (außer der Verwaltung des Bus) auszuführen. Zahlreiche Multiprozessoranwendungen erfordern beträchtliche Rechenmittel und ein einziger, nicht nach Stufen spezialisierter Prozessor, schränkt die Leistung ein.
- Ziel der vorliegenden Erfindung ist, von den vorgenannten Nachteilen Abhilfe zu schaffen, indem ein Datenverarbeitungssystem bereitgestellt wird, das den Multiprozessoransatz für jede Stufe der vorgenannter Architektur optimiert.
- Zu diesem Zweck ein erfindungsgemäßes Multiprozessor- Datenverarbeitungssystem, bestehend aus einer Vielzahl von miteinander durch intermodulare Busse in Kaskade verbundenen Modulen,
- wobei jedes Modul besteht aus einer Datenverarbeitungseinheit, einem ersten Speicher, einem Logikmittel, das in erste, zweite und dritte Ein- /Ausgangsschnittstellenmittel zum vorübergehenden Speichern von Daten und ein zentrales Mittel konfigurierbar ist, um die genannten gespeicherten Daten zu verarbeiten und die genannten gespeicherten verarbeiteten Daten zu einem der genannten Ein- /Ausgangsschnittstellenmittel zu verzweigen, und aus einem ersten Modulbus, der die genannte Verarbeitungseinheit, den genannten ersten Speicher und das genannte erste Schnittstellenmittel verbindet,
- zwei intermodulare Busse, welche die genannten zweiten und dritten Schnittstellenmittel jeweils mit einem dritten Schnittstellenmittel und einem zweiten Schnittstellenmittel in zwei neben dem genannten Modul befindliche Module verbinden,
- wobei die genannten Verarbeitungseinheiten über ein Kommunikationsnetz in Kaskade miteinander verbunden sind,
- dadurch gekennzeichnet, daß jedes der genannten Module u.a. eine spezialisierte Verarbeitungseinheit und einen zweiten Speicher enthält, und daß ein viertes Ein- /Ausgangsschnittstellenmittel in dem genannten konfigurierbaren Logikmittel konfiguriert ist,
- wobei die spezialisierte Verarbeitungseinheit, der zweite Speicher und das vierte Ein- /Ausgangsschnittstellenmittel durch einen zweiten Modulbus miteinander verbunden sind.
- Nach einer spezifischen Ausführungsform der Erfindung, indem davon ausgegangen wird, daß einerseits das Mittel zur Verarbeitung und Verzweigung ein für allemal für eine gegebenen Anwendung konfiguriert ist, daß andererseits mehrere aufeinander folgenden Multiprozessorverarbeitungen von den Verarbeitungseinheiten an ein und demselben Datenstrom ausgeführt werden können, müssen die bereits nach einer ersten Verarbeitung verarbeiteten Daten für eine folgende Verarbeitung wieder auf die verschiedenen Module verteilt werden. In diesem Fall sind die zweiten und dritten Ein- /Ausgangschnittstellenmittel jeweils in den Logikmitteln der letzten und ersten in Kaskade verbundenen Module mit Hilfe eines rückwirkenden Bus verbunden.
- Die Erfindung betrifft ebenfalls ein Verfahren zur Verarbeitung von Eingangsdaten, in dem das erfindungsgemäße Datenverarbeitungsverfahren angewandt wird. Das Verfahren besteht aus:
- - einem Initialisierungsschritt, der u.a. darin besteht, jeweils Koeffizienteneinheiten mit Hilfe des genannten Kommunikationsnetzes in die zweiten Speicher der Module und die genannten Eingangsdaten in den ersten Speicher des ersten Moduls zu laden, und
- - mindestens einer Einheit eines ersten und zweiten Schrittes;
- - wobei der erste Schritt darin besteht, in Abhängigkeit von den genannten Koeffizienteneinheiten partielle Verarbeitungen an den genannten Eingangsdaten in den genannten spezialisierten Verarbeitungseinheiten aus zuführen, um jeweils partielle Daten zu erzeugen,
- - wobei der zweite Schritt darin besteht, die partiellen Daten mit Hilfe der genannten intermodularen Busse und dem genannten rückwirkenden Bus zu einem beliebigen Logikmittel oder einem beliebigen ersten und zweiten Speicher zurückzuführen.
- Andere Merkmale und Vorteile der vorliegenden Erfindung werden bei der Lektüre der folgenden Beschreibung von zwei bevorzugten Ausführungsformen unter Bezugnahme auf die entsprechenden beigefügten Zeichnungen deutlich, in welchen:
- - Abbildung 1 ein Modelldiagramm eines Netzes von formalen Neuronen ist;
- - Abbildung 2 ein Diagramm einer Schichtenarchitektur der Modelldarstellung aus Abbildung 1 ist;
- - Abbildung 3 ein Blockdiagramm eines Multiprozessor- Datenverarbeitungssystems mit wieder konfigurierbarem aktiven Bus gemäß der früheren Technik ist;
- - Abbildung 4A und 4B aus zwei Blockdiagrammen von Ausführungen des erfindungsgemäßen spezialisierten Datenverarbeitungssystem mit Coprozessor besteht;
- - Abbildung 5 ein Diagramm mit typischen Bildern ist, die für die aufeinander folgenden Verarbeitungen in den Schichten eines formalen Neuronennetzes erhalten werden;
- - Abbildung 6 ein Diagramm mit den Verbindungen ist, die mit den synaptischen Koeffizienten zwischen zwei nebeneinanderliegenden Schichten eines Netzes von formalen Neuronen assoziiert sind;
- - Abbildung 7 ein Diagramm für das Laden der synaptischen Koeffizienten in bezug auf zwei nebeneinanderliegende Schichten im Datenverarbeitungssystem gemäß einer bevorzugten Ausführungsform der Erfindung ist; und
- - Abbildung 8 ein Diagramm der Algorithmen in bezug auf die Verarbeitung der Verbindungen zwischen zwei aufeinander folgenden Schichten ist, die in dem System nach Abbildung 7 ausgeführt wird.
- Das erfindungsgemäße Multiprozessor- Datenverarbeitungssystem wird nachfolgend für eine bestimmte Ausführung beschrieben, die Netze von formalen Neuronen betrifft.
- Ein sehr allgemeines Modell der Darstellung eines mehrschichtigen Neuronennetzes ist in Abbildung 1 dargestellt: eine bestimmte Anzahl von Grundeinheiten ... Ni-1, Ni, Ni+1 ... , die Neuronen genannt und durch ihren jeweiligen Ausgang ... Si-1, Si, Si+1 ... definiert werden ... bilden die Knoten des Netzes. Jedes Neuron Ni wird durch ein "Potential" Vi erregt, das durch die folgende Gleichung definiert wird:
- Vi = Σ Wji.Sj, wobei Sj eine Ausgangsebene eines Neurons Nj darstellt, das mit dem Neuron Ni "verbunden" ist, und Wji einen synaptischen Koeffizienten der Verbindung zwischen den Neuronen Nj und Ni bezeichnet. Mit diesem Potential Vi ist die entsprechende Ausgangsebene Si des Neurons Ni verbunden, die durch die Gleichung:
- Si (t + Δt) = f(Vi(t)) definiert wird,
- in der f eine nichtlineare Funktion ist.
- In der Praxis und in Analogie zur Struktur des menschlichen Gehirns sind diese Neuronen nicht anarchisch angeordnet, sondern in Schichten in Form von "Säulen" zusammengefaßt, wobei die Verbindungen zwischen zwei nebeneinanderliegenden Schichten einer bestimmten Funktion zugewiesen sind, wie in Abbildung 2 dargestellt. Diese Abbildung stellt N Schichten von übereinandergelagerten Schichten mit zwei Außenschichten SCHICHT 1 und SCHICHT N und (N-2) verdeckten Schichten SCHICHT 2 bis SCHICHT (N-1) dar, die zwischen den beiden Außenschichten enthalten sind. Die Außenschicht 1 wird gewöhnlich mit "Retina" oder "Eingangsschicht" bezeichnet und empfängt einen Eingangsvektor, während die Außenschicht SCHICHT N, oder Ausgangsschicht, einen entsprechenden Ausgangsvektor erzeugt. In dieser Darstellung ist jedes Neuron einer Datenschicht n mit jedem Neuron der unmittelbar darüberliegenden Schicht (n+1) verbunden, wobei das Ganze n zwischen 1 und N-1 liegt. Wie in bezug auf Abbildung 1 dargestellt, wird jeder dieser Verbindungen jeweils ein synaptischer Koeffizient W zugeordnet.
- In der Praxis und als Beispiel kann das Neuronennetz zur Erkennung von Ziffern wie 0, 1, 2, ..., 8, 9 verwendet werden. In diesem Fall ist der Eingangsvektor ein Block von numerischen Pixeln eines digitalisierten Bildes einer von einer Person geschriebenen Ziffer. Jeder Verbindung zwischen zwei Neuronen wird jeweils ein synaptischer Koeffizient W zugeordnet, der in einer Lernphase des Netzes abgeleitet wird. Diese synaptischen Koeffizienten entsprechen Werten von Matrix- Multiplikationskoeffizienten, die Bildpixeln zugeordnet werden. Die Ausgangsschicht SCHICHT N erzeugt einen Ausgangsvektor, der eine binäre Information ist und die "erkannte" Ziffer kennzeichnet. Neuronenausgänge einer Schicht erzeugen ein Bild von Merkmalen, das die "gefilterten" Merkmale des Bildes von Merkmalen darstellt, das an den Neuronenausgängen der unmittelbar darunterliegenden Schicht erzeugt wird. Jeder der Anwendungsschritte dieses Modells auf das erfindungsgemäße Multiprozessor-Datenverarbeitungssystem wird später detaillierter beschrieben.
- Ein Multiprozessor-Datenverarbeitungssystem nach der früheren Technik, wie in der europäischen Patentanmeldung EP-A-433142 beschrieben, ist in Abbildung 3 dargestellt. Das Multiprozessorsystem besteht aus einer Vielzahl von Modulen in Kaskade, von welchen zwei nebeneinanderliegende Module Ni und Mi+1 in Abbildung 3 dargestellt sind. Jedes der Module Mi und Mi+1 enthält einen Prozessor PRi, PRi+1, der mit Transputer bezeichnet wird, einen RAM-Speicher MEi, MEi+1 und ein programmierbares Netz von logischen Zellen LCAi, LCAi+1. Die jeweiligen Prozessoren der verschiedenen Module sind mit Hilfe eines Kommunikationsnetzes RC miteinander verbunden. Dieses Kommunikationsnetz RC dient insbesondere zur Übertragung von Steuer-/Befehlsinformationen zwischen Prozessoren. Für ein gegebenes Modul Mi sind der Prozessor PRi, der Speicher MEi und das Netz der logischen Zellen LCAi mit Hilfe eines betreffenden Modulbus BMi miteinander verbunden. Dieser Modulbus BMi besteht aus spezialisierten Grundbussen, d.h. einem Datenbus, einem Adreßbus und einem Steuerbus und verbindet den Prozessor, den Speicher und ein erstes Ein- /Ausgangsschnittstellenmittel im Netz der logischen Zellen LCAi. Die programmierbaren Netze der logischen Zellen (LCA) sind dem Fachmann bekannt und bestehen aus logischen, kombinierbaren und konfigurierbaren sequentiellen Schaltungen. Diese Konfiguration wird vom Prozessor des Moduls vorgenommen.
- Nach der vorgenannten Patentanmeldung ist das programmierbare Netz der logische Zellen in drei Ein- /Ausgangsschnittstellenmittel und ein zentrales Datenverarbeitungs- und Verzweigungsmittel konfiguriert. Die Ein-/Ausgangsschnittstellenmittel verfügen insbesondere über temporäre Datenspeicherfunktionen. Das zentrale Mittel führt die Funktionen der Verzweigung der Daten zwischen den Schnittstellenmitteln und der elementaren Verarbeitung (Änderung von Datenformaten, Kodieren, vorberechnete Funktionen) zum Beispiel im Pipelinemodus aus. Das erste Schnittstellenmittel des Zellennetzes bildet die Schnittstelle zwischen dem Modulbus BMi und dem zentralen Mitteln, während die zweiten und dritten Schnittstellenmittel das zentrale Mittel jeweils mit zwei intermodularen Bussen BIMi und BIMi-1 verbinden. Die genannten Busse BIMi und BIMi-1 werden dann jeweils mit einem dritten Schnittstellenmittel im logischen Netz eines unmittelbar darüberliegenden Moduls Mi+1 und einem zweiten Schnittstellenmittel im logischen Netz eines unmittelbar darunterliegenden Moduls Mi-1 verbunden.
- Die Einführung eines programmierbaren Netzes von logischen Zellen in jedes Modul einer solchen Multiprozessorarchitektur ist besonders in der Hinsicht interessant, als es einen Feinkornparallelismus zwischen den Modulen einleitet, indem es dem logischen Netz LCAi die Aufgaben der unteren Ebene (Zugang zum intermodularen Bus, elementare Funktionen) zuweist.
- Abbildung 4A zeigt die erste Ausführungsform eines erfindungsgemäßen Datenverarbeitungssystems zur bevorzugten Ausführung eines Netzes von formalen Neuronen beispielsweise im Rahmen der Erkennung von Ziffern von 0 bis 9. Das System besteht aus I Modulen 2&sub1; bis 2I in einer Kaskadenarchitektur.
- Jedes Modul 2i, wobei i ein wechselndes Ganzes zwischen 1 und I ist, besteht aus einer Datenverarbeitungseinheit in Form eines Prozessors 20i, einem ersten Speicher vom Typ RAM 21i, einem programmierbaren Netz von logischen Zellen 22i, einem zweiten Speicher 23i, und einem Signalverarbeitungsprozessor, der einen Coprozessor oder spezialisierte dedizierte Verarbeitungseinheit 24i bildet. Im Modul 2i sind der Prozessor 20i, der Speicher 21i und ein Ein-/Ausgangsschnittstellenmittel 221i des programmierbaren Netzes der logischen Zellen 22i mit Hilfe eines gemeinsamen Modulbus 25i verbunden. Typischerweise besteht dieser gemeinsame Bus aus drei elementaren Bussen, d.h. Adreßbus, Datenbus und Steuerbus
- Im Vergleich zu der obigen Beschreibung unter Bezugnahme auf die frühere Technik nach Abbildung 3 ist das programmierbare Netz der logischen Zellen 22i in vier Ein-/Ausgangsschnittstellenmittel 221i, 222i, 223i und 224i und ein zentrales Datenverarbeitungs- und Verzweigungsmittel 220i programmiert. Nach dieser Ausführungsform bilden die Ein-/Ausgangsschnittstellenmittel 221i bis 224i in erster Linie Mittel zum temporären Speichern oder Puffermittel. Das zentrale Mittel 220i ist konfiguriert, um die Daten von und zu den Ein- /Ausgangsschnittstellenmitteln 221i bis 224i zu verzweigen und die elementaren Verarbeitungen an den von den Ein-/Ausgangsschnittstellenmitteln empfangenen Daten vorzunehmen.
- Das erste Ein-/Ausgangsschnittstellenmittel 221i ist mit dem Modulbus 25i verbunden. Dieses Ein- /Ausgangsschnittstellenmittel 221i wird z.B. verwendet zum:
- - vorübergehenden Speichern der vom Prozessor 20i übertragenen Daten, um letzteren für andere Aufgaben freizusetzen; und
- - direkten Speicherzugriff (DMA) auf den mit Hilfe des Netzes von logischen Zellen 22i mit dem Prozessor 20i verbundenen Speicher 21i.
- Die zweiten und dritten Ein- /Ausgangsschnittstellenmittel 222i und 223i des Netzes der logischen Zellen 22i des i-ten Moduls 2i sind jeweils mit einem dritten Ein- /Ausgangsschnittstellenmittel 223i+1 eines unmittelbar darüberliegenden Moduls 2i+1 und einem zweiten Ein- /Ausgangsschnittstellenmittel 222i-1 eines unmittelbar darunterliegenden Moduls 2i-1 verbunden. Diese Verbindungen werden jeweils mit Hilfe von zwei intermodularen Bussen BIi(i+1) und BI(i-1)i hergestellt. Somit werden die I Netze von programmierbaren logischen Zellen mit Hilfe der intermodularen Busse BI&sub1;&sub2;, ..., BI(I-I)I in Kaskade angeordnet. Nach der bevorzugten Ausführungsform sind das dritte Ein-/Ausgangsschnittstellenmittel 223&sub1; des ersten Moduls 2&sub1; und das zweite Schnittstellenmittel 222I des I-ten Moduls 2I durch einen rückwirkenden Bus BR verbunden.
- Die intermodularen Busse BI&sub1;&sub2; bis BI(I-1)I in Serie mit dem rückwirkenden Bus BR bilden somit einen Ring. Die zweiten und dritten Schnittstellenmittel 222i und 223i können zum Beispiel bei einer Übertragung von Daten zwischen Prozessoren 20i von nicht nebeneinanderliegenden Modulen verwendet werden und verleihen den Netzen der logischen Zellen 22i die Funktion von schnellen Übertragungsknoten.
- In jedem Modul 2i sind der Signalverarbeitungsprozessor 24i, der zweite Speicher 23i und das vierte Ein- /Ausgangsschnittstellenmittel 224i durch einen gemeinsamen Bus 26i miteinander verbunden.
- Unter Bezugnahme auf die Abbildungen 5, 6, 7 und 8 wird jetzt die Funktion des erfindungsgemäßen Datenverarbeitungssystems für die bevorzugte Ausführungsform beschrieben, die Netze mit formalen Neuronen betrifft.
- Abbildung 5 zeigt die Ergebnisse, die typischerweise im Rahmen von Netzen mit formalen Neuronen bei der Erkennung von handschriftlichen Ziffern zwischen 0 und 9 erhalten werden. Eine derartige Anwendung kann zum Beispiel die Erkennung von Postleitzahlen zur "automatisierten" Verteilung der Post sein. Im Diagramm in Abbildung 5 ist die Datenachse relativ zu den Nummern der Neuronenschichten in einer Architektur, wie unter Bezugnahme auf die Abbildung 2 dargestellt ist. In diesem Diagramm wird angenommen, daß die Anzahl der Neuronenschichten gleich 5 ist. Der Eingangsvektor ist ein Block mit (28 x 28) Pixeln, die eine beliebige Ziffer, in diesem Fall 0, darstellen, die von einer Person geschrieben wurde und digitalisiert ist. Das Netz besteht aus 4634 Neuronen.
- Jedes Neuron der mit Retina bezeichneten Eingangsschicht (SCHICHT 1) empfängt jeweils ein Pixel des Eingangsvektors. Die erste verdeckte Schicht SCHICHT 2 ist in 4 Unterschichten mit (24 x 24) Neuronen unterteilt. Jedes Neuron jeder Unterschicht empfängt (5 x 5) benachbarte Pixel des Eingangsblocks nach Multiplikation mit einer Linienmatrix der betreffenden synaptischen Koeffizienten. Es wird daran erinnert, daß diese synaptischen Koeffizienten zur Verarbeitung in Matrix- Multiplikationskoeffizienten verwendet werden. Vier Blocks mit (24 x 24) Pixeln werden somit von den jeweiligen Ausgängen der vier Unterschichten der Neuronen von SCHICHT 1 geliefert.
- Die zwischen den Neuronenausgängen der Schicht SCHICHT 1 und den vier Unterschichten der zweiten Schicht SCHICHT 2 zugeordneten synaptischen Koeffizienten sind relativ zu den spezifischen Verarbeitungen, die am Eingangsbild mit (28 x 28) Pixeln ausgeführt werden. Die jeweiligen synaptischen Koeffizienten zwischen den vier Unterschichten der SCHICHT 2 und den vier Unterschichten der SCHICHT 3 sind relativ zu den Verarbeitungen der Mittelwertbildung und des Subsampling durch zwei. Die jeweiligen Neuronenausgänge der vier Unterschichten der SCHICHT 3 erzeugen somit vier Bildblocks mit (12 x 12) Pixeln.
- Die Ausgänge von SCHICHT 3 und SCHICHT 4 werden nicht im einzelnen beschrieben. Es ist jedoch festzustellen, daß die Aufgabe jeder Schicht aus der Extraktion von Grundmerkmalen des digitalisierten Blocks von (28 x 28) Pixeln einer handschriftlichen Ziffer besteht. Wie in Abbildung 5 gezeigt, erzeugt eine Ausgangsschicht von 10 Neuronen zehn Schwarz-Weiß-Pixel, wobei der Rang des von einem der zehn Neuronen erzeugten einzigen weißen Pixels repräsentativ für die nach den unterschiedlichen "digitalen Filterschritten", die jeweils von den Neuronenschichten ausgeführt werden, "erkannte" Eingangsziffer ist.
- Unter Bezugnahme auf Abbildung 6, 7 und 8 wird jetzt im einzelnen der Aufbau eines Netzes von formalen Neuronen im erfindungsgemäßen Multiprozessor- Datenverarbeitungssystem beschrieben, wie in Abbildung 4A dargestellt. Nach dieser bevorzugten Ausführungsform besteht das Neuronennetz aus drei Schichten mit jeweils 256, 40 und 10 Neuronen. Die Neuronen der ersten, mit Eingangsschicht bezeichneten Schicht und der zweiten Schicht stellen jeweils Verbindungen (jeweils einem synaptischen Koeffizienten zugeordnet) mit jedem der Neuronen mit der unmittelbar darüberliegenden Schicht her, d.h. der zweiten und dritten Schicht, die mit Ausgangsschicht bezeichnet wird. Der Eingangsvektor ist ein Block von (16 x 16) = 256 Pixeln eines digitali- sierten Bildes einer handschriftlichen Zahl zwischen O und 9.
- Wie in Abbildung 6 gezeigt, werden alle den jeweiligen synaptischen Koeffizienten zwischen zwei nebeneinanderliegenden Schichten J und J' von Neuronen zugewiesenen Verbindungen ganz durch eine einzige rechteckige Matrix der Größe (J x J') definiert. Jeder Koeffizient Wjj' der rechteckigen Matrix, j, der zwischen 1 und J liegt, und j' zwischen 1 und J', entspricht dem Wert eines synaptischen Koeffizienten der Verbindung zwischen einem Neuron mit dem Rang j und einem Neuron mit dem Rang j' von jeweils zwei nebeneinanderliegenden Schichten.
- In Übereinstimmung mit der bevorzugten Ausführungsform werden somit jeweils zwei Matrixen mit (J x J') = (256 x 40) und (J x J') = (40 x 10) synaptischen Koeffizienten zwischen der ersten und der zweiten Schicht und zwischen der zweiten und dritten Schicht verwendet, d.h. insgesamt 10640 Koeffizienten oder Verbindungen.
- Zur Information: diese synaptischen Koeffizienten für besondere Ausführungen (Erkennen von Ziffern, ...) werden in einer Lernphase mit einem Algorithmus zur Rückleitung eines Gradienten erhalten. Zusammenfassend nimmt dieser Algorithmus Berechnungen zur Erkennung für synaptische Koeffizienten vor, die zu Anfang vorgegeben werden. Die Ergebnisse dieser Berechnungen werden mit den erwarteten Ergebnissen der Erkennung verglichen. Die Koeffizienten werden unter Berücksichtigung dieses Vergleichs modifiziert. Nach mehreren Iterationen konvergieren die synaptischen Koeffizienten zu optimalen Erkennungswerten. Diese Lernphase ist im allgemeinen sehr zeitaufwendig.
- Nach der ersten bevorzugten Ausführungsform umfaßt das erfindungsgemäße Datenverarbeitungssystem (Abbildung 4A) I = 10 Module 2&sub1; bis 2&sub1;&sub0;. In einem ersten Schritt, wie in Abbildung 7 schematisch dargestellt, wird jedes Modul 2i, wobei i zwischen 1 und 10 liegt, der Verarbeitung in bezug auf alle Verbindungen zwischen der Eingangsschicht und jeweils einer der zehn Vierfachen der Neuronen der zweiten Schicht (4 x 10 = 40) zugeordnet. Die Matrixberechnungen:
- Vp = Σ Wkp ek ,
- wobei k zwischen 1 und J = (16 x 16) variiert und p zwischen 1 und J' = 40 variiert,
- werden vom gleichen Signalverarbeitungsprozessor für vier festgelegte Werte des Index p und somit relativ zu vier Neuronen eines jeweiligen Vierfachen ausgeführt.
- Ein Vorteil der Erfindung ergibt sich daraus, daß diese Matrixmultiplikationen von den Signalverarbeitungsprozessoren 24&sub1; bis 24I=10 ausgeführt werden.
- Im Anschluß an diese erste Verarbeitung (Verbindungen zwischen der ersten und zweiten Schicht) wird jeder Signalverarbeitungsprozessor 24&sub1; bis 24&sub1;&sub0; der Verarbeitung der Matrixmultiplikationen relativ zu den Verbindungen zwischen den Neuronen der zweiten Schicht und jeweils einem Neuron der dritten Schicht, die mit Ausgangsschicht (1 x 10 = 10) bezeichnet wird, zugeordnet.
- Die Verwendung eines Signalverarbeitungsprozessors oder spezialisierten Coprozessors 24i setzt den Prozessor 20i frei, der weitere Aufgaben übernehmen kann.
- Unter Bezugnahme auf Abbildung 8 und 4A werden jetzt Anordnung und Funktion des erfindungsgemäßen Multiprozessor-Datenverarbeitungssystems in einem Netz von formalen Neuronen beschrieben.
- Vor dem Betrieb des Systems im Erkennungsmodus in einem Netz von formalen Neuronen wird das System mit Hilfe eines Pilotrechners 1, der mit dem ersten Prozessor 20&sub1; verbunden ist, initialisiert. Diese Initialisierung wird vom Rechner 1 mit Hilfe des Interprozessorkommunikationsnetzes RC festgestellt. Die Initialisierung umfaßt:
- in bezug auf jeden Prozessor 20&sub1;bis 20&sub1;&sub0;:
- - das Laden eines Betriebsprogrammes in den jeweiligen Speicher 21&sub1; bis 21&sub1;&sub0; mit Hilfe des Bus 25&sub1; bis 25&sub1;&sub0;,
- - die Konfiguration des verbundenen Netzes der logischen Zellen 22&sub1; bis 22&sub1;&sub0;;
- - das Laden der Programme (Matrixmultiplikation ...) in bezug auf den Betrieb des Signalverarbeitungsprozessors 24&sub1; bis 24&sub1;&sub0; in den verbundenen Speicher 23&sub1; bis 23&sub1;&sub0; über das Netz 22&sub1; bis 22&sub1;&sub0;, und
- - das Laden einer Einheit von synaptischen Koeffizienten, wie bereits beschrieben, in bezug auf den Signalverarbeitungspropzessor 24&sub1; bis 24&sub1;&sub0; in den verbundenen Speicher 23&sub1; bis 23&sub1;&sub0;; sowie das Laden des ersten Formvektors, der die Eingangsdaten e&sub1; bis eJ bildet, die durch Verarbeitung (Block von 16 x 16 Pixeln) erkannt werden sollen, in den Speicher 21&sub1; des Prozessors 20&sub1; des ersten Moduls 2&sub1;.
- Im Falle einer Folgeverarbeitung von mehreren zu erkennenden Eingangsdatenvektoren werden letztere gemäß ihrer Verfügbarkeit im Speicher 21&sub1; gespeichert, der mit dem Prozessor des ersten Moduls 2&sub1; verbunden ist. Jeder Eingangsvektor wird zum Beispiel vom Pilotrechner 1 nach einer vorherigen Verarbeitung (lineare Verarbeitung der Standardisierung der von einem Camescope gelieferten ersten Blocks auf das Format 16 x 16) an den ersten Blocks über das Kommunikationsnetz RC zur Verfügung gestellt.
- Das Diagramm der Algorithmen in bezug auf eine erste Verarbeitung von Verbindungen zwischen der ersten und zweiten Neuronenschicht in Abbildung 8 gestattet, die Funktion des erfindungsgemäßen Multiprozessor- Datenverarbeitungssystem in einem Netz von formalen Neuronen zu verstehen. Jedes "Bild" der Abbildung 8 ist relativ zu einem Algorithmus, der von einem oder mehreren der Prozessoren 20&sub1;, Signalverarbeitungsprozessoren 24&sub1; oder Netzen von logischen Zellen 22&sub1; des Systems ausgeführt wird.
- Wir haben bereits gesehen, daß der Vektor der Eingangsdaten zuerst in den Speicher 21&sub1; geladen wird. Der Prozessor 20&sub1; liest diesen Vektor in den Speicher 21&sub1; ein und schreibt ihn in das erste Ein- /Ausgangsschnittstellenmittel 221&sub1; des programmierbaren Netzes der logischen Zellen 22&sub1; des ersten Moduls 2&sub1;. Das zentrale Mittel 220&sub1; des Netzes 22&sub1; verzweigt nun diesen Vektor zum zweiten Schnittstellenmittel 222&sub1; und dieses zweite Schnittstellenmittel 222&sub1; überträgt ihn zurück zum dritten Schnittstellenmittel 223&sub2; des logischen Netzes 22&sub2; des zweiten Moduls 22 usw. Der Vektor wird somit im Ring BI&sub1;&sub2; bis BI(I-1)I nacheinander zu den unmittelbar darüberliegenden Modulen übertragen. Jedes zentrale Mittel der Netze verzweigt und entnimmt über das vierte Schnittstellenmittel 224i alle (16 x 16) Pixel des Vektors zum Speicher 23i, der mit seinem Signalverarbeitungsprozessor 24i verbunden ist. Der von jedem Modul 2i bei der oben beschriebenen Konfiguration verwendete Eingangsdatenvektor wird dann in dem jeweiligen mit dem Signalverarbeitungsprozessor 24i verbundenen Speicher 23i abgespeichert.
- Der erste Schritt (Schritt 1) des Algorithmus relativ zu jedem der Signalverarbeitungsprozessoren 24i, wobei i zwischen 1 und I liegt, besteht aus der Berechnung des Potentials V1 relativ zu den dem Modul 2i zugeordneten Neuronen, dann im Schreiben des auf diese Weise berechneten Potentials in das Ein- /Ausgangsschnittstellenmittel 224i des logischen Netzes 22i des gleichen Moduls 2i Jedes 220i der zentralen Mittel der logischen Netze, die zu diesem Zweck konfiguriert wurden, sendet nach und nach die Ergebnisse der Berechnung des Potentials V&sub1; bis Vi zum folgenden Netz 22i+1' bis alle Ergebnisse V&sub1; bis VI vom dritten Ein- /Ausgangsschnittstellenmittel 223&sub1; des logischen Netzes des 'ersten Moduls 2&sub1; über den rückwirkenden Bus BR (Schritt 2) empfangen wurden.
- Dann schreibt das Ein-/Ausgangsschnittstellenmittel 223&sub1; des ersten Moduls 2&sub1; die empfangenen Ergebnisse der Berechnung des Potentials in den Speicher 23&sub1; und macht dem Signalverarbeitungsprozessor 24&sub1; Meldung (Schritt 3). Der Prozessor 24&sub1; berechnet den Wert der sigmoiden Funktion (nichtlineare Funktion f auf der Basis der hyperbolischen Tangentenfunktion, definiert ausgehend von dem am Anfang in der Beschreibung dargestellten Modell) für jeden "Pixel" oder Potential Vi des Neurons, das von den Prozessoren 24i (Schritt 5) erzeugt wurde, um die Ausgangsebenen aller Neuronen der zweiten Schicht für diese erste Verarbeitung zu erhalten. Parallel dazu und weil jeder Signalverarbeitungsprozessor 24i die berechneten Potentiale der vier Neuronen der zweiten Schicht, die er bei der ersten Verarbeitung simuliert, in den zugehörigen Speicher 23i schreibt, lesen die Prozessoren 20&sub1; bis 20I dann die Potentiale der jeweils in den Speichern 23&sub1; bis 23I gespeicherten Neuronen, wenn alle Potentiale berechnet wurden (Schritt 2').
- Nach der Ausführungsform sind zwei Verarbeitungen in bezug auf die erste und zweite Schicht und zweite und dritte Schicht vorgesehen. Somit werden die Ausgänge der Neuronen der zweiten Schicht der gewählten Konfiguration, die im Speicher 23&sub1; gespeichert sind, von den Signalverarbeitungsprozessoren 24&sub1; bis 24I für neue Potentialberechnungen nach Übertragung in den Ring der Ausgänge der Neuronen, wie bei der ersten Verarbeitung berechnet, wieder verarbeitet.
- Nach der zweiten, in Abbildung 4B dargestellten Ausführungsform, wird vorgeschlagen, hinter den ersten Modulen 2&sub1; bis 2I ein zusätzliches Modul 2&sub0; vorzusehen. Dieses Modul besteht aus einem Prozessor 20&sub0;, einem Speicher 21&sub0; und einem programmierbaren Netz von logischen Zellen 22&sub0;. Dieses Modul ist vorgesehen, um die zu verarbeitenden Bilder der Pixel direkt in ein Ein- /Ausgangsschnittstellenmittel 223&sub0; des programmierbaren Netzes 22&sub0; einzugeben. Diese Eingabe gestattet die Erhöhung des zu verarbeitenden Bildflusses, weil dann die Bilder nicht den Pilotrechner 1 durchlaufen und darüber hinaus nicht die Benutzung des Kommunikationsnetzes RC erfordern. Das Datenerfassungssystem (Bilder), wie ein Camescope oder Scanner (nicht abgebildet), wird dann direkt mit dem dritten Ein- /Ausgangsschnittstellenmittel 223&sub0; des programmierbaren Netzes 22&sub0; des Zusatzmoduls 2&sub0; über einen Bus BI verbunden. Der Speicher 21&sub0;, der Prozessor 20&sub0; und ein erstes Ein-/Ausgangsschnittstellenmittel 221&sub0; des programmierbaren Netzes 22&sub0; im Zusatzmodul 2&sub0; sind auf die gleiche Weise mit Hilfe eines Bus 25&sub0; miteinander verbunden, wie die gegenseitigen Verbindungen in den anderen Modulen 22&sub1; bis 22I. Die über einen Bus in das dritte Ein/Ausgangsschnittstellenmittel 223&sub0; des programmierbaren Netzes 22&sub0; eingegebenen Bilder können im Verarbeitungs- und Verzweigungsmittel 220&sub0; des Netzes 22&sub0; durch Programmierung des letzteren einer ersten Vorverarbeitung (Formatierung 16 x 16) unterzogen werden. Das zweite Schnittstellenmittel 222&sub0; ist über einen zusätzlichen intermodularen Bus BI&sub0;&sub1; mit dem dritten Schnittstellenmittel 223&sub1; des ersten 2&sub1; der Module in Kaskade 2&sub1; bis 2I verbunden.
- Aus identischen Gründen wie bei der ersten Ausführungsform kann auch ein rückwirkender Bus BR vorgesehen werden. Dieser verbindet das zweite Ein- /Ausgangsschnittstellenmittel 222I des programmierbaren Netzes 22I des letzten Moduls 2I mit dem vierten Ein/Ausgangsschnittstellenmittel 224&sub0; des Netzes 22&sub0; des Zusatzmoduls.
- Zur Information: die Erkennung einer handschriftlichen, in (16 x 16) Pixel digitalisierten Ziffer durch das erfindungsgemäße Datenverarbeitungssystem mit der Simulation von 10640 Neuronen benötigt 175 us. Bei herkömmlichen Systemen sind gewöhnlich Zeitdauern in der Größenordnung von etwa zehn Millisekunden erforderlich.
Claims (5)
1 - Multiprozessor-Datenverarbeitungssystem, bestehend
aus einer Vielzahl von miteinander durch intermodulare
Busse (BI&sub1;&sub2; bis BI(I-1)I) in Kaskade verbundenen Modulen
(2&sub1; bis 2I),
wobei jedes Modul (2i) besteht aus einer
Datenverarbeitungseinheit (20i) einem ersten Speicher (21i), einem
Logikmittel (22i), das in erste, zweite und dritte
Ein/Ausgangsschnittstellenmittel (221i, 222i, 223i) zum
vorübergehenden Speichern von Daten und ein zentrales
Mittel (220i) konfigurierbar ist, um die genannten
gespeicherten Daten zu verarbeiten und die genannten
gespeicherten verarbeiteten Daten zu einem der genannten
Ein-/Ausgangsschnittstellenmittel zu verzweigen, und
aus einem ersten Modulbus (25i), der die genannte
Verarbeitungseinheit (20i), den genannten ersten Speicher
(21i) und das genannte erste Schnittstellenmittel
(221i) verbindet,
zwei intermodulare Busse (BI(i-1)i, BIi(+1)), welche die
genannten zweiten und dritten Schnittstellenmittel
jeweils mit einem dritten Schnittstellenmittel und einem
zweiten Schnittstellenmittel in zwei neben dem
genannten Modul befindliche Module verbinden,
wobei die genannten Verarbeitungseinheiten (20&sub1; - 20I)
über ein Kommunikationsnetz (RC) in Kaskade miteinander
verbunden sind,
dadurch gekennzeichnet, daß jedes der genannten Module
(2i) u.a. eine spezialisierte Verarbeitungseinheit
(24i) und einen zweiten Speicher (23i) enthält, und daß
ein viertes Ein-/Ausgangsschnittstellenmittel (224i) in
dem genannten konfigurierbaren Logikmittel (2i)
konfiguriert ist,
wobei die spezialisierte Verarbeitungseinheit (24i)
der zweite Speicher (23i) und das vierte
Ein/Ausgangsschnittstellenmittel (224i) durch einen
zweiten Modulbus (26i) miteinander verbunden sind.
2 - Datenverarbeitungssystem nach Anspruch 1, dadurch
gekennzeichnet, daß die zweiten und dritten
Ein/Ausgangschnittstellenmittel (222I, 223i) jeweils in
den Logikmitteln der letzten und ersten in Kaskade
verbundenen Module (2I, 2&sub1;) mit Hilfe eines rückwirkenden
Bus (BR) verbunden sind.
3 - Datenverarbeitungssystem nach Anspruch 1, dadurch
gekennzeichnet, daß das genannte System ferner ein
Mittel zur Datenerfassung und ein zusätzliches Modul (2&sub0;)
enthält, das hinter den ersten Modulen 2&sub1; bis 2I in
Kaskade angeordnet ist und mit Hilfe eines zusätzlichen
intermodularen Bus (BI&sub0;&sub1;) mit dem ersten (2&sub1;) der beiden
genannten Module verbunden ist,
wobei das genannte zusätzliche Modul eine erste
Datenverarbeitungseinheit (20&sub0;), einen ersten Speicher (21&sub0;)
und ein in erste, zweite, dritte und vierte Ein-
/Ausgangsschnittstellenmittel (221o, 222&sub0;, 223&sub0;, 224&sub0;),
die auf die gleiche Weise miteinander verbunden sind
wie die in jedem der Module in Kaskade,
konfigurierbares Logikmittel (22&sub0;) enthält,
wobei das genannte Mittel zur Erfassung mit Hilfe eines
Bus (BI) mit dem dritten Ein-
/Ausgangsschnittstellenmittel des genannten
Logikmittels
(22&sub0;) des genannten zusätzlichen Moduls (2&sub0;)
verbunden ist,
wobei der zusätzliche intermodulare Bus (B&sub0;&sub1;) das
zweite und dritte Eini/Ausgangsschnittstellenmittel (222&sub0;,
222&sub1;) jeweils in den Logikmitteln des zusätzlichen
Moduls und des ersten Moduls (2&sub1;) miteinander verbindet.
4 - Datenverarbeitungssystem nach Anspruch 1, dadurch
gekennzeichnet, daß das zweite und vierte Ein-
/Ausgangsschnittstellenmittel (222I, 224&sub0;) jeweils in
den Logikmitteln des letzten Moduls (2I) und des
zusätzlichen Moduls (2&sub0;) mit Hilfe eines rückwirkenden
Bus (BR) verbunden sind.
5 - Verfahren zur Verarbeitung von Eingangsdaten (e&sub1;
bis eJ), in dem das erfindungsgemäße
Datenverarbeitungssystem nach den Ansprüchen 2 oder 4 angewandt
wird, bestehend aus:
- einem Initialisierungsschritt, der u.a. darin
besteht, jeweils Koeffizienteneinheiten mit Hilfe des
genannten Kommunikationsnetzes (RC) in die zweiten
Speicher (23i) der Module (2i) und die genannten
Eingangsdaten in den ersten Speicher (21i) des ersten Moduls
(2i) zu laden, und
- mindestens einer Einheit eines ersten und zweiten
Schrittes;
- wobei der erste Schritt darin besteht, partielle
Verarbeitungen an den genannten Eingangsdaten (e&sub1;, ...,
eJ) in den genannten spezialisierten
Verarbeitungseinheiten (24i) in Abhängigkeit von den genannten
Koeffizienteneinheiten
auszuführen, um jeweils partielle
Daten zu erzeugen,
- wobei der zweite Schritt darin besteht, die
partiellen Daten mit Hilfe der genannten intermodularen Busse
(BI(i-1)i) und dem genannten rückwirkenden Bus (BR) zu
einem beliebigen Logikmittel (22i) oder einem
beliebigen (21i, 23i) ersten und zweiten Speicher
zurückzuführen.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9200312A FR2686175B1 (fr) | 1992-01-14 | 1992-01-14 | Systeme de traitement de donnees multiprocesseur. |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69300041D1 DE69300041D1 (de) | 1995-02-16 |
| DE69300041T2 true DE69300041T2 (de) | 1995-06-01 |
Family
ID=9425613
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69300041T Expired - Fee Related DE69300041T2 (de) | 1992-01-14 | 1993-01-08 | Mehrfachprozessor-Datenverarbeitungssystem. |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5465375A (de) |
| EP (1) | EP0552074B1 (de) |
| JP (1) | JPH0612393A (de) |
| DE (1) | DE69300041T2 (de) |
| FR (1) | FR2686175B1 (de) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10105516A1 (de) * | 2001-02-07 | 2002-08-08 | Hannes Max Hapke | Verfahren zur Berechnung neuronaler Netze |
Families Citing this family (132)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0566015A3 (en) * | 1992-04-14 | 1994-07-06 | Eastman Kodak Co | Neural network optical character recognition system and method for classifying characters in amoving web |
| DE4344157A1 (de) * | 1993-12-23 | 1995-06-29 | Philips Patentverwaltung | Funkgerät |
| JP3290798B2 (ja) * | 1994-03-14 | 2002-06-10 | 富士通株式会社 | 並列コンピュータ |
| US5613156A (en) * | 1994-09-27 | 1997-03-18 | Eastman Kodak Company | Imaging system with 1-N Parallel channels, each channel has a programmable amplifier and ADC with serial controller linking and controlling the amplifiers and ADCs |
| US5794062A (en) * | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
| US5943242A (en) * | 1995-11-17 | 1999-08-24 | Pact Gmbh | Dynamically reconfigurable data processing system |
| US7266725B2 (en) | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
| US5956518A (en) * | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
| DE19651075A1 (de) | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
| DE19654593A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit |
| DE19654595A1 (de) | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
| DE59710317D1 (de) | 1996-12-27 | 2003-07-24 | Pact Inf Tech Gmbh | VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.) |
| DE19654846A1 (de) | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
| US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
| DE19704728A1 (de) | 1997-02-08 | 1998-08-13 | Pact Inf Tech Gmbh | Verfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines |
| US5796631A (en) * | 1997-02-10 | 1998-08-18 | Tempo Instrument, Inc. | Method and apparatus for monitoring and characterizing power quality, faults and other phenomena in network power systems |
| DE19704742A1 (de) | 1997-02-11 | 1998-09-24 | Pact Inf Tech Gmbh | Internes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand |
| US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
| DE19861088A1 (de) | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
| US6374144B1 (en) * | 1998-12-22 | 2002-04-16 | Varian Semiconductor Equipment Associates, Inc. | Method and apparatus for controlling a system using hierarchical state machines |
| US7003660B2 (en) | 2000-06-13 | 2006-02-21 | Pact Xpp Technologies Ag | Pipeline configuration unit protocols and communication |
| EP1228440B1 (de) | 1999-06-10 | 2017-04-05 | PACT XPP Technologies AG | Sequenz-partitionierung auf zellstrukturen |
| US7119576B1 (en) | 2000-09-18 | 2006-10-10 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
| US7346644B1 (en) | 2000-09-18 | 2008-03-18 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
| AU2002220600A1 (en) | 2000-10-06 | 2002-04-15 | Pact Informationstechnologie Gmbh | Cell system with segmented intermediate cell structure |
| US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
| US6990555B2 (en) | 2001-01-09 | 2006-01-24 | Pact Xpp Technologies Ag | Method of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.) |
| JP4783527B2 (ja) * | 2001-01-31 | 2011-09-28 | 株式会社ガイア・システム・ソリューション | データ処理システム、データ処理装置およびその制御方法 |
| CA2478571A1 (en) * | 2001-03-02 | 2002-09-12 | Atsana Semiconductor Corp. | Apparatus for variable word length computing in an array processor |
| US7210129B2 (en) | 2001-08-16 | 2007-04-24 | Pact Xpp Technologies Ag | Method for translating programs for reconfigurable architectures |
| US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
| US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
| US7844796B2 (en) | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
| US7581076B2 (en) | 2001-03-05 | 2009-08-25 | Pact Xpp Technologies Ag | Methods and devices for treating and/or processing data |
| EP2224330B1 (de) | 2001-06-20 | 2012-05-09 | Krass, Maren | Verfahren und gerät zum partitionieren von grossen rechnerprogrammen |
| US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
| US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
| US8686475B2 (en) | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
| US10156501B2 (en) | 2001-11-05 | 2018-12-18 | Life Technologies Corporation | Automated microdissection instrument for determining a location of a laser beam projection on a worksurface area |
| US8722357B2 (en) | 2001-11-05 | 2014-05-13 | Life Technologies Corporation | Automated microdissection instrument |
| US8715955B2 (en) | 2004-09-09 | 2014-05-06 | Life Technologies Corporation | Laser microdissection apparatus and method |
| US7577822B2 (en) | 2001-12-14 | 2009-08-18 | Pact Xpp Technologies Ag | Parallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization |
| DE10392560D2 (de) | 2002-01-19 | 2005-05-12 | Pact Xpp Technologies Ag | Reconfigurierbarer Prozessor |
| ATE538439T1 (de) | 2002-02-18 | 2012-01-15 | Richter Thomas | Bussysteme und rekonfigurationsverfahren |
| US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
| JP4280029B2 (ja) * | 2002-05-30 | 2009-06-17 | パナソニック株式会社 | ディジタル信号処理装置およびディジタル信号処理方法 |
| US20040083311A1 (en) * | 2002-06-05 | 2004-04-29 | James Zhuge | Signal processing system and method |
| WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
| US7657861B2 (en) | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
| US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
| WO2004025569A2 (en) * | 2002-09-13 | 2004-03-25 | Arcturus Bioscience, Inc. | Tissue image analysis for cell classification and laser capture microdissection |
| EP1634182A2 (de) * | 2003-06-17 | 2006-03-15 | PACT XPP Technologies AG | Datenverarbeitungseinrichtung und verfahren |
| JP4700611B2 (ja) | 2003-08-28 | 2011-06-15 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データ処理装置およびデータ処理方法 |
| US8620980B1 (en) | 2005-09-27 | 2013-12-31 | Altera Corporation | Programmable device with specialized multiplier blocks |
| EP1974265A1 (de) | 2006-01-18 | 2008-10-01 | PACT XPP Technologies AG | Hardwaredefinitionsverfahren |
| US8041759B1 (en) | 2006-02-09 | 2011-10-18 | Altera Corporation | Specialized processing block for programmable logic device |
| US8266198B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
| US8266199B2 (en) | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
| US8301681B1 (en) | 2006-02-09 | 2012-10-30 | Altera Corporation | Specialized processing block for programmable logic device |
| US7836117B1 (en) | 2006-04-07 | 2010-11-16 | Altera Corporation | Specialized processing block for programmable logic device |
| US7822799B1 (en) | 2006-06-26 | 2010-10-26 | Altera Corporation | Adder-rounder circuitry for specialized processing block in programmable logic device |
| US8386550B1 (en) | 2006-09-20 | 2013-02-26 | Altera Corporation | Method for configuring a finite impulse response filter in a programmable logic device |
| US8386553B1 (en) | 2006-12-05 | 2013-02-26 | Altera Corporation | Large multiplier for programmable logic device |
| US7930336B2 (en) | 2006-12-05 | 2011-04-19 | Altera Corporation | Large multiplier for programmable logic device |
| US7814137B1 (en) | 2007-01-09 | 2010-10-12 | Altera Corporation | Combined interpolation and decimation filter for programmable logic device |
| US7865541B1 (en) | 2007-01-22 | 2011-01-04 | Altera Corporation | Configuring floating point operations in a programmable logic device |
| US8650231B1 (en) | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable device |
| US8645450B1 (en) | 2007-03-02 | 2014-02-04 | Altera Corporation | Multiplier-accumulator circuitry and methods |
| US7949699B1 (en) | 2007-08-30 | 2011-05-24 | Altera Corporation | Implementation of decimation filter in integrated circuit device using ram-based data storage |
| US8959137B1 (en) | 2008-02-20 | 2015-02-17 | Altera Corporation | Implementing large multipliers in a programmable integrated circuit device |
| US8244789B1 (en) | 2008-03-14 | 2012-08-14 | Altera Corporation | Normalization of floating point operations in a programmable integrated circuit device |
| US8626815B1 (en) | 2008-07-14 | 2014-01-07 | Altera Corporation | Configuring a programmable integrated circuit device to perform matrix multiplication |
| US8255448B1 (en) | 2008-10-02 | 2012-08-28 | Altera Corporation | Implementing division in a programmable integrated circuit device |
| US8307023B1 (en) | 2008-10-10 | 2012-11-06 | Altera Corporation | DSP block for implementing large multiplier on a programmable integrated circuit device |
| US8549055B2 (en) | 2009-03-03 | 2013-10-01 | Altera Corporation | Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry |
| US8468192B1 (en) | 2009-03-03 | 2013-06-18 | Altera Corporation | Implementing multipliers in a programmable integrated circuit device |
| US8706790B1 (en) | 2009-03-03 | 2014-04-22 | Altera Corporation | Implementing mixed-precision floating-point operations in a programmable integrated circuit device |
| US8805916B2 (en) | 2009-03-03 | 2014-08-12 | Altera Corporation | Digital signal processing circuitry with redundancy and bidirectional data paths |
| US8645449B1 (en) | 2009-03-03 | 2014-02-04 | Altera Corporation | Combined floating point adder and subtractor |
| US8886696B1 (en) | 2009-03-03 | 2014-11-11 | Altera Corporation | Digital signal processing circuitry with redundancy and ability to support larger multipliers |
| US8650236B1 (en) | 2009-08-04 | 2014-02-11 | Altera Corporation | High-rate interpolation or decimation filter in integrated circuit device |
| US8412756B1 (en) | 2009-09-11 | 2013-04-02 | Altera Corporation | Multi-operand floating point operations in a programmable integrated circuit device |
| US8396914B1 (en) | 2009-09-11 | 2013-03-12 | Altera Corporation | Matrix decomposition in an integrated circuit device |
| US8539016B1 (en) | 2010-02-09 | 2013-09-17 | Altera Corporation | QR decomposition in an integrated circuit device |
| US7948267B1 (en) | 2010-02-09 | 2011-05-24 | Altera Corporation | Efficient rounding circuits and methods in configurable integrated circuit devices |
| US8601044B2 (en) | 2010-03-02 | 2013-12-03 | Altera Corporation | Discrete Fourier Transform in an integrated circuit device |
| US8458243B1 (en) | 2010-03-03 | 2013-06-04 | Altera Corporation | Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering |
| US8484265B1 (en) | 2010-03-04 | 2013-07-09 | Altera Corporation | Angular range reduction in an integrated circuit device |
| US8510354B1 (en) | 2010-03-12 | 2013-08-13 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
| US8539014B2 (en) | 2010-03-25 | 2013-09-17 | Altera Corporation | Solving linear matrices in an integrated circuit device |
| US8589463B2 (en) | 2010-06-25 | 2013-11-19 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
| US8862650B2 (en) | 2010-06-25 | 2014-10-14 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
| US8577951B1 (en) | 2010-08-19 | 2013-11-05 | Altera Corporation | Matrix operations in an integrated circuit device |
| US8645451B2 (en) | 2011-03-10 | 2014-02-04 | Altera Corporation | Double-clocked specialized processing block in an integrated circuit device |
| US9600278B1 (en) | 2011-05-09 | 2017-03-21 | Altera Corporation | Programmable device using fixed and configurable logic to implement recursive trees |
| US8812576B1 (en) | 2011-09-12 | 2014-08-19 | Altera Corporation | QR decomposition in an integrated circuit device |
| US8949298B1 (en) | 2011-09-16 | 2015-02-03 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
| US9053045B1 (en) | 2011-09-16 | 2015-06-09 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
| US8762443B1 (en) | 2011-11-15 | 2014-06-24 | Altera Corporation | Matrix operations in an integrated circuit device |
| US8543634B1 (en) | 2012-03-30 | 2013-09-24 | Altera Corporation | Specialized processing block for programmable integrated circuit device |
| US9098332B1 (en) | 2012-06-01 | 2015-08-04 | Altera Corporation | Specialized processing block with fixed- and floating-point structures |
| US8996600B1 (en) | 2012-08-03 | 2015-03-31 | Altera Corporation | Specialized processing block for implementing floating-point multiplier with subnormal operation support |
| US9207909B1 (en) | 2012-11-26 | 2015-12-08 | Altera Corporation | Polynomial calculations optimized for programmable integrated circuit device structures |
| US9189200B1 (en) | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
| US9348795B1 (en) | 2013-07-03 | 2016-05-24 | Altera Corporation | Programmable device using fixed and configurable logic to implement floating-point rounding |
| US9379687B1 (en) | 2014-01-14 | 2016-06-28 | Altera Corporation | Pipelined systolic finite impulse response filter |
| EP3035249B1 (de) * | 2014-12-19 | 2019-11-27 | Intel Corporation | Verfahren und Vorrichtung für verteilte und kooperative Berechnung in künstlichen neuronalen Netzen |
| US9684488B2 (en) | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
| US20160379109A1 (en) * | 2015-06-29 | 2016-12-29 | Microsoft Technology Licensing, Llc | Convolutional neural networks on hardware accelerators |
| US11226840B2 (en) | 2015-10-08 | 2022-01-18 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Neural network unit that interrupts processing core upon condition |
| US10664751B2 (en) | 2016-12-01 | 2020-05-26 | Via Alliance Semiconductor Co., Ltd. | Processor with memory array operable as either cache memory or neural network unit memory |
| US10725934B2 (en) | 2015-10-08 | 2020-07-28 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Processor with selective data storage (of accelerator) operable as either victim cache data storage or accelerator memory and having victim cache tags in lower level cache wherein evicted cache line is stored in said data storage when said data storage is in a first mode and said cache line is stored in system memory rather then said data store when said data storage is in a second mode |
| US11216720B2 (en) | 2015-10-08 | 2022-01-04 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Neural network unit that manages power consumption based on memory accesses per period |
| US11029949B2 (en) | 2015-10-08 | 2021-06-08 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Neural network unit |
| US11221872B2 (en) | 2015-10-08 | 2022-01-11 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Neural network unit that interrupts processing core upon condition |
| US10228911B2 (en) | 2015-10-08 | 2019-03-12 | Via Alliance Semiconductor Co., Ltd. | Apparatus employing user-specified binary point fixed point arithmetic |
| US10776690B2 (en) | 2015-10-08 | 2020-09-15 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with plurality of selectable output functions |
| US10380481B2 (en) | 2015-10-08 | 2019-08-13 | Via Alliance Semiconductor Co., Ltd. | Neural network unit that performs concurrent LSTM cell calculations |
| US10353862B2 (en) | 2015-10-08 | 2019-07-16 | Via Alliance Semiconductor Co., Ltd. | Neural network unit that performs stochastic rounding |
| US9779786B1 (en) * | 2016-10-26 | 2017-10-03 | Xilinx, Inc. | Tensor operations and acceleration |
| US10417560B2 (en) | 2016-12-01 | 2019-09-17 | Via Alliance Semiconductor Co., Ltd. | Neural network unit that performs efficient 3-dimensional convolutions |
| US10438115B2 (en) | 2016-12-01 | 2019-10-08 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with memory layout to perform efficient 3-dimensional convolutions |
| US10430706B2 (en) | 2016-12-01 | 2019-10-01 | Via Alliance Semiconductor Co., Ltd. | Processor with memory array operable as either last level cache slice or neural network unit memory |
| US10395165B2 (en) | 2016-12-01 | 2019-08-27 | Via Alliance Semiconductor Co., Ltd | Neural network unit with neural memory and array of neural processing units that collectively perform multi-word distance rotates of row of data received from neural memory |
| US10423876B2 (en) | 2016-12-01 | 2019-09-24 | Via Alliance Semiconductor Co., Ltd. | Processor with memory array operable as either victim cache or neural network unit memory |
| US10515302B2 (en) | 2016-12-08 | 2019-12-24 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with mixed data and weight size computation capability |
| US10565492B2 (en) * | 2016-12-31 | 2020-02-18 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with segmentable array width rotator |
| US10140574B2 (en) | 2016-12-31 | 2018-11-27 | Via Alliance Semiconductor Co., Ltd | Neural network unit with segmentable array width rotator and re-shapeable weight memory to match segment width to provide common weights to multiple rotator segments |
| US10565494B2 (en) | 2016-12-31 | 2020-02-18 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with segmentable array width rotator |
| US10586148B2 (en) | 2016-12-31 | 2020-03-10 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with re-shapeable memory |
| US10942706B2 (en) | 2017-05-05 | 2021-03-09 | Intel Corporation | Implementation of floating-point trigonometric functions in an integrated circuit device |
| US10936942B2 (en) * | 2017-11-21 | 2021-03-02 | Google Llc | Apparatus and mechanism for processing neural network tasks using a single chip package with multiple identical dies |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4200930A (en) * | 1977-05-23 | 1980-04-29 | Burroughs Corporation | Adapter cluster module for data communications subsystem |
| US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
| US4365294A (en) * | 1980-04-10 | 1982-12-21 | Nizdorf Computer Corporation | Modular terminal system using a common bus |
| US4443850A (en) * | 1981-12-01 | 1984-04-17 | Burroughs Corporation | Interface circuit for subsystem controller |
| US4663706A (en) * | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
| US4816993A (en) * | 1984-12-24 | 1989-03-28 | Hitachi, Ltd. | Parallel processing computer including interconnected operation units |
| US4720780A (en) * | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
| JPH0740252B2 (ja) * | 1986-03-08 | 1995-05-01 | 株式会社日立製作所 | マルチプロセツサシステム |
| US5165023A (en) * | 1986-12-17 | 1992-11-17 | Massachusetts Institute Of Technology | Parallel processing system with processor array and network communications system for transmitting messages of variable length |
| US5086498A (en) * | 1987-01-23 | 1992-02-04 | Hitachi, Ltd. | Parallel computer with asynchronous communication facility |
| EP0367182A3 (de) * | 1988-10-31 | 1992-07-22 | Bts Broadcast Television Systems Gmbh | Digitales Hochgeschwindigkeits-Rechersystem |
| FR2655750B1 (fr) * | 1989-12-11 | 1992-02-14 | Bretagne Occidentale Brest Uni | Systeme de traitement de donnees multiprocesseur a bus actif reconfigurable. |
| US5291611A (en) * | 1991-04-23 | 1994-03-01 | The United States Of America As Represented By The Secretary Of The Navy | Modular signal processing unit |
-
1992
- 1992-01-14 FR FR9200312A patent/FR2686175B1/fr not_active Expired - Fee Related
-
1993
- 1993-01-08 DE DE69300041T patent/DE69300041T2/de not_active Expired - Fee Related
- 1993-01-08 EP EP93400033A patent/EP0552074B1/de not_active Expired - Lifetime
- 1993-01-14 JP JP5020815A patent/JPH0612393A/ja not_active Withdrawn
- 1993-01-14 US US08/004,582 patent/US5465375A/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10105516A1 (de) * | 2001-02-07 | 2002-08-08 | Hannes Max Hapke | Verfahren zur Berechnung neuronaler Netze |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2686175B1 (fr) | 1996-12-20 |
| DE69300041D1 (de) | 1995-02-16 |
| FR2686175A1 (fr) | 1993-07-16 |
| EP0552074A1 (de) | 1993-07-21 |
| JPH0612393A (ja) | 1994-01-21 |
| EP0552074B1 (de) | 1995-01-04 |
| US5465375A (en) | 1995-11-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69300041T2 (de) | Mehrfachprozessor-Datenverarbeitungssystem. | |
| DE3883192T2 (de) | Neuronale Netzwerkschaltung und -struktur. | |
| DE19581638C2 (de) | Rechenvorrichtung mit einem Mikroprozessor, einem neuralen Netz-Koprozessor und einer DMA-Steuervorrichtung | |
| DE69430528T2 (de) | Such/Sortier-Schaltung für Neuronalnetzwerke | |
| DE69430870T2 (de) | Innovative Neuronalschaltungsarchitektur | |
| DE69430744T2 (de) | Verbesserte Neuronalhalbleiterchipsarchitekturen und Neuronalnetzwerke darin | |
| EP0349820B1 (de) | Netzwerk -Baustein und Architektur für die programmierbare Emulation künstlicher neuronaler Netze mit digitaler Arbeitsweise | |
| EP0875031B1 (de) | Prozessor zur bildverarbeitung | |
| DE3852909T2 (de) | Lineare Kette von Parallelprozessoren und Benutzungsverfahren davon. | |
| DE69218941T2 (de) | Neuronale netzwerk architektur | |
| DE68927474T2 (de) | Neuro-Rechner | |
| DE112019000336T5 (de) | Massiv parallele neuronale inferenz-datenverarbeitungselemente | |
| DE68927611T2 (de) | Digitales neuronales Netwerk | |
| DE69314824T2 (de) | Neuronaler Prozessor mit verteilten synaptischen Zellen | |
| DE3632639C2 (de) | Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung | |
| DE3686828T2 (de) | Hochleistungsparalleler vektorprozessor mit modifizierter register/elementprozessor konfiguration. | |
| DE69609475T2 (de) | Zweidimensionaler Assoziativprozessor und Datenübertragungsverfahren | |
| DE112019000676T5 (de) | Zentraler scheduler und anweisungszuteiler für einen neuronalen inferenzprozessor | |
| EP3502974A1 (de) | Verfahren zur realisierung eines neuronalen netzes | |
| DE69517249T2 (de) | Anordnung zur segmentierung eines diskreten datensatzes | |
| EP0349819B1 (de) | In integrierter Schaltungstechnik ausgeführtes digitales neuronales Netz | |
| DE69426229T2 (de) | Verfahren zur parallellen Bearbeitung von Fuzzy-Logik-Inferenzregeln und übereinstimmende Schaltkreisarchitektur mit Fuzzy-Eingabe und -Ausgabe | |
| DE19528760A1 (de) | Bildverarbeitende Schaltung eines hohen Integrationsgrads | |
| DE69203592T2 (de) | Elektronische Fuzzy-Logiksteuerung und zugehöriges Speicheraufbauverfahren. | |
| DE69203700T2 (de) | Architektur eines elektronischen Fuzzy-Logik-Kontroller. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |