DE19718224A1 - Digitaler Neuroprozessor - Google Patents

Digitaler Neuroprozessor

Info

Publication number
DE19718224A1
DE19718224A1 DE19718224A DE19718224A DE19718224A1 DE 19718224 A1 DE19718224 A1 DE 19718224A1 DE 19718224 A DE19718224 A DE 19718224A DE 19718224 A DE19718224 A DE 19718224A DE 19718224 A1 DE19718224 A1 DE 19718224A1
Authority
DE
Germany
Prior art keywords
activity
values
bit
memory
calculation
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.)
Withdrawn
Application number
DE19718224A
Other languages
English (en)
Inventor
Harald Dipl Phys Wuest
Klaus Dipl Phys Kaspar
Herbert Dr Reininger
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.)
WUEST, HARALD, DR., 71696 MOEGLINGEN, DE KASPAR, K
Original Assignee
Harald Dipl Phys Wuest
Klaus Dipl Phys Kaspar
Herbert Dr Reininger
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 Harald Dipl Phys Wuest, Klaus Dipl Phys Kaspar, Herbert Dr Reininger filed Critical Harald Dipl Phys Wuest
Priority to DE19718224A priority Critical patent/DE19718224A1/de
Publication of DE19718224A1 publication Critical patent/DE19718224A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft einen Neuroprozessor mit dem künstliche neuronale Netzwerke unterschiedlicher Struktur mit geringem Platz- und Kostenaufwand sowie geringem Stromverbrauch bei gleichzeitig hoher Rechenleistung in der Arbeitsphase realisiert werden können. Mögliche Netzstrukturen sind dabei, Per­ ceptron, Multi-Layer-Perceptron, Elman und Jordan Netze sowie lokal- und vollvernetzte rückgekoppelte Netzwerke.
Es ist bekannt, daß zur Umsetzung künstlicher neuronaler Netzwerke sowohl universelle Digitalrechner hoher Leistung als auch Spezialhardware eingesetzt wird. Beiden gemein ist im allgemeinen ein großer Schaltungsaufwand, der zu hohen Systemkosten bei hohem Platz- und Strombedarf führt. Der Einsatz einfacherer, für die Anwendung in Massen- und Konsumgütern sowie in netzunabhängigen Geräten op­ timierter Systeme wie digitalen Signalprozessoren oder Microcontroller ist auf Grund der zu geringen Rechenleistung dieser Systeme meist nicht möglich.
Die bekannten digitalen Neuroprozessoren (MA16, Siemens/Lneuro 1.0, Philips/CNAPS, Adaptive Solutions/etc.) stellen in den meisten Fällen Co-Prozessoren dar, die zu ihrer Verwendung in ein größeres Computersystem integriert werden müssen. Dabei ist entweder die Flexibilität bezüglich der simulierbaren Netzstrukturen eingeschränkt oder es ist eine aufwendige Programmierung erforderlich. Im allgemeinen wurden die Prozessoren dabei auf die Anforderungen beim Netztraining optimiert, um die Entwicklung neuronaler Netzwerke im Forschungsbereich bestmöglich zu unterstützen. Im reinen Anwendungsfall wer­ den aber fast ausschließlich fertig trainierte Netzwerke eingesetzt, für deren Berechnung nur sehr wenige auf den speziellen Anwendungsfall optimierte Prozessoren existieren. Daher ist die Anwendung neurona­ ler Netzwerke zur Zeit weitgehend auf den Forschungsbereich und einige Einzelanwendungen beschränkt. Dort haben sich neuronale Netzwerke jedoch als äußert leistungsfähig erwiesen, da sie in der Lage sind nichtlineare Abbildungen zu erlernen, die in vielen Bereichen eine große Rolle spielen. Im angrenzenden Bereich der Fuzzy-Logic wurde erst durch die Einführung kostengünstiger und für den Anwendungsfall optimierter Spezialprozessoren die Verwendung von Fuzzy-Logic in Massenprodukten in großem Maße ermöglicht.
Der Erfindung liegt die Aufgabe zugrunde eine Berechnung neuronaler Netzwerke in der Arbeitsphase bei niedriger Systemkomplexität und niedrigem Speicherbedarf zu ermöglichen. Dabei sollen unterschiedliche nicht rekurrente sowie rekurrente neuronale Netzwerke mit hoher Neuronenanzahl und hohem Vernet­ zungsgrad, unter Ausnutzung der inhärenten Parallelität und Regularität dieser Netzwerke simulierbar sein, ohne daß Kommunikations- und Datentransferprobleme auftreten. Die für solche Netzwerke nöti­ ge hohe Rechenleistung soll bei niedrigem Energieverbrauch und niedrigen Systemkosten bereitgestellt werden können um den Einsatz in mobilen, netzunabhängigen Massenprodukten zu ermöglichen.
Diese Aufgabe wird durch die Vorrichtung und das Verfahren gemäß Anspruch 1 gelöst.
Die zur Berechnung neuronaler Netzwerke notwendigen Rechenoperationen werden auf digitaler Spe­ zialhardware im allgemeinen im Festkommaformat mit relativ geringer Bitbreite ausgeführt (teilweise wird auch eine Zahlendarstellung der Form 2x verwendet). Die Werte der Netzgewichte und Neuronen­ aktivitäten sind nicht gleichmäßig auf den zur Verfügung stehenden Wertebereich verteilt, so daß die Festkommadarstellung mit der daraus resultierenden gleichförmigen Quantisierung der Werte bezüglich der zum Erreichen einer vorgegebenen Quantisierungsgenauigkeit nötigen Wortlänge nicht optimal ist. Mit steigender Netzgröße nähert sich die Werteverteilung der Gewichtswerte einer Gaußverteilung, so daß eine logarithmische Zahlendarstellung eine bessere Anpassung darstellt. Dabei ergibt sich zusätzlich der Vorteil, daß die erforderliche Multiplikation der Netzgewichte mit den Aktivitätswerten auf eine einfa­ chere Addition der Exponenten zurückgeführt werden kann. Die Abstufung der Zahlenwerte in der rein logarithmischen Darstellung ist jedoch auf Grund der Beschränkung auf ganzzahlige Zweierpotenzen im allgemeinen zu grob, um eine ausreichende Rechengenauigkeit für die Berechnung neuronaler Netzwerke bereitzustellen.
Anstelle dieser beiden Zahlendarstellungen kann erfindungsgemäß eine angepaßte Fließkomma-Zahlendar­ stellung verwendet werden. Dabei läßt sich zum einen der zur Verfügung stehende Wertebereich mit Hilfe der Wortlänge des verwendeten Exponenten und zum anderen die Wertabstufung mit Hilfe der Wortlänge der Mantisse in einem weiten Bereich den Erfordernissen anpassen. Bereits bei sehr geringen Wortlänge für Exponent und Mantisse wird damit eine nahezu optimale Quantisierung sowohl der Gewichtswerte als auch der Aktivitätswerte erreicht, wodurch bei gleicher Rechengenauigkeit die erforderliche Wort­ länge gegenüber der Festkommadarstellung signifikant reduziert und die Rechengenauigkeit gegenüber der logarithmischen Darstellung mit wenigen zusätzlichen Mantissenbits stark erhöht ist.
Bei Verwendung eines Fließkomma-Zahlenformats für die Darstellung der Werte läßt sich zusätzlich zur beschriebenen Reduktion der Wortlänge, in gleicher Weise wie bei der logarithmischen Zahlendarstellung, die Multiplikation der Neuronenaktivitäten mit den Gewichtswerten auf eine Addition der Exponenten und zusätzlich eine Multiplikation der Mantissen zurückführen. Der Aufwand für die Mantissenmulti­ plikation ist dabei im Vergleich zur Multiplikation von Werten im Festkommaformat entsprechender Genauigkeit wegen der sehr geringen Wortlänge der Mantisse erheblich reduziert.
Zur Berechnung neuronaler Netzwerke ist es erforderlich, die Multiplikationsergebnisse zu akkumulieren. Diese Summation läßt sich im Gegensatz zur Multiplikation nur mit erhöhtem Aufwand im Fließkom­ maformat ausführen. Eine signifikante Aufwandsreduzierung des gesamten Rechenwerks kann jedoch er­ reicht werden, wenn zum einen eine effiziente Umwandlung aus dem verwendeten Fließkommaformat in ein Festkommaformat erfolgt, in dem dann die Summation ausgeführt wird, und zum anderen auch die anschließend notwendige Rückwandlung der resultierenden Festkommawerte ins Fließkommaformat mit geringem Aufwand erfolgt.
Die Umwandlung ins Festkommaformat wird deshalb durch einfache Multiplexer ausgeführt und die Rückwandlung ins Fließkommaformat erfolgt ohne zusätzlichen Aufwand implizit bei der Berechnung der Aktivitätsfunktion.
Die Berechnung großer und speziell rekurrenter neuronaler Netzwerke mit ihrem hohen Vernetzungsgrad führt bei der daraus resultierenden großen Anzahl an Verbindungsgewichten zu einer erheblichen Größe des benötigten Gewichtsspeichers. Der Einsatz der erfindungsgemäßen Fließkommadarstellung reduziert durch die geringe Wortlänge den erforderlichen Speicheraufwand signifikant, was bei einer Ein-Chip- Lösung mit integriertem Gewichtsspeicher von besonderer Bedeutung ist.
Durch eine an die reguläre Struktur neuronaler Netzwerke angepaßte mehrstufige Gruppierung mehre­ rer parallel arbeitender Rechenwerke und den Einsatz mehrerer doppelt ausgeführter Aktivitätsspeicher kann die inhärente Parallelität neuronaler Netzwerke ausgenutzt werden, um eine hohe Rechenleistung bei geringer Systemkomplexität zu erreichen. Dabei wird die Berechnung rekurrenter neuronaler Netzwerke durch die doppelte Ausführung der Aktivitätsspeicher ermöglicht, indem der eine Teil die jeweils aktuellen Aktivitätswerte dem Rechenwerk bereitstellt während die neu berechneten Werte davon unabhängig im jeweils anderen Teil abgelegt werden. Eine direkte Kommunikation der parallel arbeitenden Rechenwerke untereinander ist damit nicht erforderlich, wodurch die von Parallelrechnern bekannten Datentransfer und Kommunikationsprobleme vermieden werden. Die mehrstufige Gruppierung verbindet dabei mehrere Re­ chenwerke zu Rechenwerksgruppen die einen gemeinsamen Aktivitätsspeicher verwenden und zusammen mit einer Steuerlogik nahezu abgeschlossene Einzelsysteme bilden. Diese Rechenwerksgruppen können daher sehr einfach sowohl innerhalb eines Chips als auch durch Verbinden mehrere Chips kaskadiert werden, wobei sich in weiten Bereichen ein linearer Leistungszuwachs ergibt.
Durch ein einfach integrierbares mehrstufiges Pipelining lassen sich kurze Verzögerungszeiten in den Rechenwerken und damit hohe Taktfrequenzen erzielen, so daß höchste Rechenleistungen erreichbar sind. Bei Anwendungen, die die hohe Rechenleistung nicht direkt benötigen, kann umgekehrt eine zusätzliche Reduktion des Energieverbrauchs durch Senken der Taktfrequenz erreicht werden.
Die Kombination der erfindungsgemäßen Maßnahmen führt zu einem Grundsystem geringer Komplexität, das zum einen eine kostengünstige FPGA-Realisierung mit mehreren parallelen Rechenwerken oder zum anderen eine Ein-Chip-VLSI-Realisierung mit integriertem Gewichtsspeicher möglich wird.
Das hier beschriebene Schaltungskonzept ist mit den verwendeten Parametern beispielhaft in der Hard­ warebeschreibungssprache VHDL ausgeführt und in Simulationsexperimenten mit großen rekurrenten neuronalen Netzwerken an komplexen Beispielen aus dem Bereich der automatischen Spracherkennung getestet worden. Die Möglichkeit der Implementation auf FPGAs der Firma Xilinx wurde mit entspre­ chenden Synthesetools verifiziert.
Im folgenden wird die Erfindung an Hand eines in den Zeichnungen dargestellten Ausführungsbeispiels näher erläutert.
Die Zeichnungen zeigen:
Fig. 1 Eine Darstellung der verwendeten Zahlenformate sowie der Formatwandlungen.
Fig. 2 Eine schematische Darstellung des Aufbaus des kaskadierbaren digitalen Neuroprozessors.
Es wird ein Prozessor mit paralleler Verarbeitung zur Berechnung rekurrenter und nichtrekurrenter neu­ ronaler Netzwerke in der Arbeitsphase beschrieben. In der Beschreibung werden zahlreiche Details ange­ geben, um das Verständnis der Erfindung zu erleichtern. Für den Fachmann ist es jedoch offensichtlich daß die Erfindung auch ohne diese speziellen Details ausführbar ist.
Bei der Berechnung neuronaler Netzwerke läßt sich bei Verwendung einer Fließkommadarstellung für die Netzgewichte und Neuronenaktivitäten mit einem Vorzeichenbit (S), einem 3-Bit Exponenten (E) und nur einem einzigen Mantissenbit (M) im allgemeinen bereits eine höhere Rechengenauigkeit erreichen als mit einer häufig verwendeten 8-Bit Festkommaberechnung. Aus diesem Grund wird im folgenden beispielhaft die Erfindung mit dieser 5 Bit breiten Fließkommadarstellung beschrieben.
Der übliche Wertebereich der Gewichtswerte bewegt sich in einem Zahlenbereich von ±4. Größere Ge­ wichtswerte sind bei großen Netzen selten und können durch geeignetes Training der Netze vermieden werden. Dieser Wertebereich wird mit dem vorzeichenlosen 3-Bit Exponenten abgedeckt, wenn beim Ex­ ponenten ein Offset von -5 berücksichtigt wird. Zusammen mit dem Vorzeichenbit der Fließkommazahl ergibt sich somit ein Zahlenbereich von ±2² = ±4 bis ±2-5 = ±0.03125.
Bei der erfindungsgemäßen Verwendung einer normalisierten Mantisse werden durch die 1-Bit Mantisse (M) Zahlen der Form 1*2x + M*2(x-1) dargestellt, bei denen das höherwertige Bit immer gesetzt ist und das niederwertige Bit durch das Mantissenbit gebildet wird. Der darstellbare Zahlenbereich erweitert sich damit auf ±6 bis ±0.03125 bei gleichzeitiger Verdoppelung der Darstellungsgenauigkeit innerhalb des Wertebereichs.
Für die Darstellung des Zahlenwertes Null wird entgegen der üblichen Festlegung bei Fließkommazah­ len, zum Beispiel durch IEEE, nicht nur der Exponentenwert zur Nulldetektion verwendet, sondern auch die Mantissenbits und eventuell auch das Vorzeichenbit. Damit wird nur der jeweils kleinste positive und/oder negative darstellbare Zahlenwert zur eindeutigen Repräsentation der Null verwand. Dem Wert Null ist so ein eindeutiges Bitmuster zugeordnet, das dadurch ausgezeichnet ist, daß kein Bit (eventuell mit Ausnahme des Vorzeichenbits) in der Zahlendarstellung gesetzt ist. Damit kann der Wert Null ein­ fach detektiert werden, ohne daß unnötig Quantisierungsstufen verschenkt werden, was bei der geringen Bitzahl der Darstellung einen großen Einfluß auf die erreichbare Rechengenauigkeit hätte. In der weiteren Beschreibung wird der Einfachheit wegen das Vorzeichenbit nicht in die Nulldetektion mit einbezogen.
Somit ergibt sich der neue darstellbare Zahlenbereich zu ±6 bis ±0.0625 und 0. Die Werteverteilung ent­ spricht dabei nahezu einer Gaußverteilung und gegenüber der reinen logarithmischen Darstellung ist die Größe der Quantisierungsstufen halbiert, was eine signifikante Steigerung der Rechengenauigkeit zur Folge hat. Ein Hinzufügen zusätzlicher Bits bei der rein logarithmischen Zahlendarstellung würde hingegen nur zu einer Erweiterung des möglichen Zahlenbereichs führen, ohne die effektive Quantisierungsgenauigkeit innerhalb des bestehenden Zahlenbereichs zu erhöhen.
Die Aktivitätswerte können im gleichen 5-Bit Fließkommaformat dargestellt werden, wobei sich der benötigte Wertebereich auf Grund der verwendeten Aktivitätsfunktion (Sigmoid oder Tangenshyperboli­ cus) auf ±1 beschränkt. Daher wird hier als Exponentenoffset ein Wert von -7 verwendet womit sich ein möglicher Wertebereich von ±1.5 bis ±0.015625 und 0 ergibt. Die Netzeingabewerte können dabei meist leicht durch eine einfache Transformation an diesen Wertebereich und die spezielle Zahlendarstellung angepaßt werden.
Die zur Berechnung neuronaler Netzwerke erforderliche Multiplikation der Aktivitätswerte mit den Ge­ wichtswerten erfolgt in 4 separaten, parallel ausführbaren Einheiten. Entsprechend Fig. 1 erfolgt dies auf folgende Weise:
  • 1. Mit einem 3-Bit Addierer (5) werden die Exponenten der beiden Faktoren (1, 2) addiert.
  • 2. Das Ergebnisvorzeichen wird mit einem Exklusiv-Oder-Gatter (3) aus den Vorzeichen (S) der Fak­ toren generiert.
  • 3. Durch Oderverknüpfung (6) der Bits im Bitmuster der Zahlendarstellung werden beide Faktoren (1, 2) auf den Wert Null geprüft und ein Nullsignal generiert, welches das Multiplikationsergebnis Null anzeigt, falls einer der Operanden gleich Null ist.
  • 4. Durch eine im folgenden näher beschriebene einfache Multiplikationslogik (4) wird das Ergebnis der 1-Bit Mantissenmultiplikation bestimmt.
Da die Mantissen (M) in normalisierter Form dargestellt sind hat die Multiplikation die binäre Form (1 MA)×(1 MB) mit den möglichen Faktoren 10 und 11. Damit sind die folgenden 4 Operandenkombina­ tionen bei der Mantissenmultiplikation möglich:
10×10 = 0100,
10×11 = 0110,
11×10 = 0110,
11×11 = 1001
Daraus lassen sich drei Logikfunktionen zur Ermittelung des 4-Bit Multiplikationsergebnisses ablesen:
Bit 0/Bit 3 = A AND B,
Bit 1 = A XOR B,
Bit 2 = A NAND B
Eine sonst übliche explizite Normalisierung des Ergebnisses ist nicht erforderlich, da sich nach einer even­ tuellen Pufferung des 9-Bit Ergebnisses und des Nullsignals durch eine erste Pipeline-Stufe (7) direkt die Formatwandlung in das zur Summation verwendete Festkommaformat anschließt. Die Formatwandlung wird von einem Satz von Multiplexern (8) in der Weise ausgeführt, daß das 4-Bit Ergebnis der Mantissen­ multiplikation an einer durch den 4-Bit Wert der Exponentenaddition bestimmten Position in einem 18 Bit breiten Binärwort eingeblendet wird. Das heißt, beim Exponentenwert Null wird das Bitmuster der Ergebnismantisse beispielsweise in den Bits 0 bis 3 des Binärwortes gesetzt und bei dem höchst möglichen Exponentenwert 14 entsprechend an den Positionen 14 bis 17. Durch einen gemeinsamen Steuereingang an den Multiplexern wird bei gesetztem Nullsignal ein Setzen des Bitmusters unterbunden, womit das Ergebnis Null realisiert wird.
Zusammen mit dem Ergebnisvorzeichen stellt dieses Binärwort direkt das Multiplikationsergebnis in Festkommadarstellung dar, wobei die Wertigkeit des höchstwertigen Bits durch die Zahlenbereiche und damit durch die festgelegten Offsets der Faktoren bestimmt wird, so daß in diesem Fall das höchstwertige Bit die Wertigkeit 8 besitzt.
Mit dieser Festkommazahl läßt sich, nach einer eventuellen weiteren Pufferung der 19 Bit Zahl, zur Reali­ sierung einer zweiten Pipeline-Stufe (9), die Summation zur Bestimmung der Neuronenaktivierung einfach ausführen. Dabei ist es nicht erforderlich jedes theoretisch mögliche Zwischenergebnis ohne Überlauf im verwendeten Akkumulator (10) darstellen zu können, sondern es reicht aus, das größte zu erwartende End­ ergebnis darstellen zu können, da sich auftretende Über- und Unterläufe gegenseitig bis zum endgültigen Endergebnis ausgleichen. Dieses fällt auf Grund der Werteverteilung der Netzgewichte im Vergleich zu möglichen Zwischenergebnissen wesentlich kleiner aus, so daß die Summation bereits mit einer Bitbreite von 22-Bit ausreichend dimensioniert ist. Damit sind Endergebnisse im Bereich ±127 darstellbar, wo­ bei Zwischenergebnisse je nach Netzgröße theoretisch im Bereich bis weit über 10.000 auftreten können, was mehr als 8 Bit zusätzlich im Akkumulator erfordern würde. Die Summation kann dabei ebenfalls in weitere Pipeline-Stufen unterteilt werden, um eine gleichmäßige minimale Verzögerungszeit der einzelnen Berechnungsabschnitte zu gewährleisten.
Berücksichtigt man die bei der weiteren Verarbeitung angewandte nichtlineare Abbildung durch die Ak­ tivitätsfunktion sowie die Quantisierungsgenauigkeit des resultierenden Aktivitäts-Zahlenformates, so können im niederwertigen Teil der Summe weitere Bits unberücksichtigt bleiben, ohne daß die Rechenge­ nauigkeit beeinflußt wird. Die Summation läßt sich so auf eine Breite von 20 Bit reduzieren, was sich auch auf die vorhergehende Verarbeitungsstufe auswirkt, da auf die Bildung der untersten 2 Bit und damit auf die entsprechenden Multiplexer verzichtet werden kann.
Die Berechnungsergebnisse werden dann mit Hilfe der Aktivitätsfunktion (12) von der Festkomma- Neuronenaktivierung auf die Fließkomma-Neuronenaktivität (13) abgebildet. Dazu werden wiederum nicht alle 20 Bits der Summe benötigt. Aus den höherwertigen Bits lassen sich statt dessen Über- und Unterlaufssignale generieren, falls das Summationsergebnis im Sättigungsbereich der nichtlinearen Ab­ bildung liegt. Die niederwertigen Bits der Summe, die keinen direkten Einfluß auf den resultierenden Aktivitätswert haben, können unberücksichtigt bleiben. Damit reduziert sich die Zahl der relevanten Bits auf das Vorzeichen, die Überlaufsinformation und die Bits 11 bis 16 der Summe. Diese werden am Ende jeder Neuronenberechnung zwischengespeichert (11), um sie später mit Hilfe eines Select-Signals (EN) auf einen Bus ausgeben zu können. Das Ende der laufenden Neuronenberechnung wird dabei über ein Reset-Signal (RES) angezeigt, das auch zum Rücksetzen des Summenwertes verwendet wird.
Damit ist ein vollständiges Rechenwerk zur Berechnung der Neuronenaktivierung realisiert, das in jedem Taktzyklus die Berechnung einer Netzverbindung ausführen kann und dabei je nach Implementierung nur zwischen 500 und 1000 Gatteräquivalente benötigt. Durch die geringe Komplexität und mit Hilfe des einfachen Pipelinings lassen sich dabei hohe Taktfrequenzen realisieren, womit hohe Rechenleistungen möglich werden. Die Rechengenauigkeit ist bei der verwendeten 5-Bit Fließkommadarstellung vergleichbar einer 8-Bit Festkommaberechnung, die im Rechenwerk mehr als die doppelte Gatterzahl benötigen würde, da dabei eine wesentlich aufwendigere Multiplikation durchgeführt werden müßte.
Eine parallele Berechnung mehrerer Neuronen wird durch Implementierung mehrerer Rechenwerke nach dem in Fig. 2 gezeigten Prinzip möglich. Die Berechnung erfolgt dabei erfindungsgemäß mit doppelt aus­ geführten Aktivitätsspeichern (M1, M2) und einem Gewichtsspeicher (WM) für jedes Rechenwerk. Dazu erhält jedes Rechenwerk aus dem einen Teil des Aktivitätsspeichers (M1) nacheinander die Aktivitätswer­ te in einer vorgegebenen Reihenfolge. Gleichzeitig wird von dem Gewichtsspeicher der jeweils zugehörige Gewichtswert bereitgestellt.
Bei großen Netzwerken ist der Aufwand für das Speichern der Aktivitätswerte besonders durch die doppel­ te Ausführung der Aktivitätsspeicher nicht unerheblich, so daß hier eine weitere Optimierung erforderlich ist. Da bei den meisten neuronalen Netzwerken die Neuronen einer Schicht alle die gleiche oder eine sehr ähnliche Vernetzungsstruktur aufweisen ist es nicht notwendig, jedem Rechenwerk einen direkten Zugriff auf einen eigenen lokalen Aktivitätsspeicher zu geben. Durch eine lineare Gruppierung mehrere Rechenwerke (MAC1 . . 4) wird hier erreicht, daß nur das erste Rechenwerk eine direkte Verbindung mit einem Aktivitätsspeicher benötigt. Die restlichen Rechenwerke erhalten nacheinander genau die gleichen Aktivitätswerte durch Durchschieben der Werte durch die Gruppe mit Hilfe der Schieberegister (B1 . . 4)). Auf diese Weise wird nur ein Aktivitätsspeicher mit relativ geringer Bandbreite für mehrere Rechenwer­ ke benötigt. Die Ergebnisse der einzelnen Rechenwerke der Gruppe liegen dann jeweils um einen Takt verzögert vor, was jedoch auf Grund der sequentiellen Bearbeitung der Ergebniswerte zu keiner Ab­ laufsänderung führt. Sollte eine Netzstruktur zum Einsatz kommen, bei der die obige Strukturannahme nicht erfüllt ist, so können jederzeit nicht vorhandene Verbindungen durch Einsetzen von Nullgewichten aus der Verarbeitungskette ausgeblendet werden. Ähnliches gilt auch falls ein Wechsel der momentan berechneten Netzwerksschicht nicht mit der Gruppenlänge vereinbar ist, so daß ein Teil der Rechenwerke der Gruppe Neuronen einer Schicht und ein anderer Teil Neuronen einer anderen Schicht berechnet, da in der neuen Schicht meist eine andere Vernetzungsstruktur vorherrscht.
Um die zu erwartende geringere Leistung bei nichtregulären Netzstrukturen oder bei Strukturunterschie­ den bei Schichtwechseln zu minimieren, muß die Gruppengröße klein gehalten werden. Dies wird erfin­ dungsgemäß erreicht, indem mehrere unabhängige Gruppen parallel implementiert werden. Jede dieser Gruppen erhält dann eine eigene Kopie des Aktivitätsspeichers sowie eine eigene Steuerlogik (LSM, LAU), die das Adressieren des Aktivitätsspeichers entsprechend der für diese Gruppe aktuell gültigen Vernet­ zungsstruktur übernimmt. Die jeder Gruppe zugeordnete Steuerlogik wird dabei vorzugsweise so aus­ geführt, daß unterschiedliche Netzwerkstypen und Netzstrukturen abgebildet werden können, wobei, je nach aktuell in der Gruppe berechneten Neuronenschicht, eine unterschiedliche Strukturform gegeben sein kann. Damit wird eine Unabhängigkeit der Gruppen untereinander erreicht, so daß ein Teil der Gruppen mit der Berechnung der Neuronen einer Schicht beschäftigt sein kann, während andere Gruppen andere Schichten bearbeiten. Eine bevorzugte Ausführungsform ist hierbei durch eine Gruppierung von 4 Re­ chenwerken gegeben, was einen Kompromiß zwischen Speicherbedarf für die Aktivitätsspeicherung und Effizienz bei der Netzberechnung darstellt.
Nach Beendigung der Neuronenberechnung werden die Ergebnisse der Rechenwerke sequentiell mit Hilfe einer globalen Steuerlogik (GSM) über einen gemeinsamen Bus (1) ausgelesen und der Logik zur Berech­ nung der Aktivitätsfunktion (AF) zugeführt. Die Aktivitätsfunktion kann dabei in Form einer Tabelle oder auf Grund der geringen Bitbreiten direkt mit Logikgattern realisiert werden. Die 6 Bit der Festkom­ masumme werden so direkt auf das verwendete Fließkommaformat abgebildet, wobei entsprechend der Überlaufssignale entschieden wird, ob das Transformationsergebnis oder die entsprechenden Sättigungs­ werte ausgegeben werden. Die so bestimmten neuen Aktivitäten werden durch die globale Steuerlogik gleichzeitig in den entsprechenden Teilen aller Gruppenaktivitätsspeicher abgelegt, so daß sie für die ex­ terne Auswertung sowie für die nächste Netzberechnung zur Verfügung stehen. Es lassen sich so besonders rekurrente Netzwerke berechnen, da alle Netzverbindungen automatisch mit einer Zeitverzögerung von einem Zeittakt behaftet sind. Das Speichern der Aktivitätswerte sowie das Einschreiben und Auslesen der Netzein- und ausgaben über eine Logik (I/O) kann dabei parallel zur Berechnung der weiteren Akti­ vitätswerte erfolgen, so daß die laufende Netzberechnung nicht unterbrochen wird. Auf diese Weise kann die volle theoretische Rechenleistung ohne Leerlaufzeiten der Rechenwerke ausgenutzt werden.
Die globale Steuerlogik (GSM) kann auf einfache Weise so ausgelegt werden, daß eine unterschiedliche Anzahl Rechenwerksgruppen unterstützt werden kann. Da die Rechenwerksgruppen relativ abgeschlossene Einzelsysteme darstellen ist zur ihrer Kaskadierung nur ein geringer Verschaltungsaufwand notwendig, so daß somit auch ein nachträgliches Kaskadieren mehrere Einzel-Chips zur variablen Leistungsanpassung möglich ist. Die Zahl der parallel arbeitenden Rechenwerke läßt sich so, bei nahezu linearer Steigerung der Rechenleistung, bis in den Bereich der Anzahl der zu simulierenden Neuronen steigern.
Am Ende der Netzberechnung werden die Aufgaben der Teile der Aktivitätsspeichers durch Multiplexer (MUX) vertauscht wonach eine neue Netzberechnung beginnen kann. Durch dieses Vorgehen ist keine direkte Kommunikation zwischen den einzelnen Rechenwerken erforderlich, so daß nahezu beliebig viele Rechenwerke einfach kaskadiert werden können.
Zur parallelen Bereitstellung der benötigten Gewichtswerte kann der Gewichtsspeicher (WM) sowohl in kleinen 5 Bit breiten Einheiten jedem Rechenwerk als lokaler Gewichtsspeicher zugeordnet werden oder jedem Rechenwerk wird ein 5 Bit Teil eines externen Gewichtsspeichers mit entsprechend hoher Bitbreite zugeordnet. Da der genaue Ablauf der Netzberechnung dabei für jedes implementierte Netz genau vor­ herbestimmt werden kann, können die Gewichtswerte in der Reihenfolge im Speicher abgelegt werden, in der sie während der laufenden Berechnung benötigt werden. Dadurch reicht ein einfacher globaler Zähler zur Adressierung der Gewichtsspeicher aus, so daß die mögliche Zahl der Verbindungsgewichte nur von der Wortlänge des Adreßzählers und der Speichergröße abhängt.
Es zeigt sich, daß das vorgestellte Schaltungskonzept von so großer Effizienz ist, daß eine Realisierung mit 2 parallelen Rechenwerksgruppen mit je 4 parallelen Rechenwerken und externem Gewichtsspeicher auf zur Zeit verfügbaren FPGAs der Firma Xilinx ausgeführt werden kann. Simulationen zeigen, daß Netzwerke mit bis zu 511 Neuronen und mehr als 250000 Verbindungen bei Rechenleistungen im Bereich von 100 Millionen Verbindungsberechnungen pro Sekunde (MCPS) berechnet werden können.
Bei einer VLSI-Realisierung kann zusätzlich zu einer großen Zahl paralleler Rechenwerke auch der Ge­ wichtsspeicher direkt mit auf dem Chip integriert werden, so daß eine vollständige Ein-Chip-Lösung mit geringer Chipfläche entsteht.

Claims (5)

1. Digitaler Neuroprozessor,
dadurch gekennzeichnet,
  • - daß die Werte der Verbindungsgewichte in einem an die Berechnung neuronaler Netzwerke ange­ paßten Fließkommaformat geringer Bitbreite dargestellt werden.
  • - daß die Fließkommadarstellung die Form (1 Bit Vorzeichen/Ev Bit Exponent/Mv Bit Man­ tisse) mit normalisierter Mantisse hat, wobei der vom Exponenten bestimmte Wertigkeitsbereich unsymmetrisch auf den Bereich bis mit av ≠ bv, und = av + bv - 1 verteilt ist, der Exponent also durch eine positive Binärzahl mit negativem Offset av dargestellt wird.
  • - daß entweder die kleinste positive oder die kleinste negative Zahl (Ev = 0, Mv = 0, Vorzeichen = 0/1) zur eindeutigen Darstellung des Zahlenwertes Null verwendet wird.
  • - daß die Werte der Neuronenaktivitäten in der gleichen Fließkomma-Zahlendarstellung (1 Bit Vor­ zeichen/EA Bit Exponent/MA Bit Mantisse) mit dem Exponenten-Zahlenbereich bis mit nicht notwendigerweise gleichen Parametern MA, EA, aA, bA dargestellt werden.
  • - daß die zur Netzberechnung erforderliche Multiplikation der Aktivitäten mit den Gewichtswerten auf eine einfache Addition der Exponenten sowie eine Multiplikation der in der Bitanzahl stark reduzierten Mantissen zurückgeführt wird.
  • - daß das Ergebnis der Exponentenaddition dazu verwendet wird, einen Multiplexer zu steuern, der das Bitmuster der Mantissenmultiplikation an einer durch den Wert der Exponentenaddition be­ stimmten Stelle in einem Binärwort entsprechend hoher Bitbreite plaziert.
  • - daß bei Vorliegen der der Null zugeordneten Zahlendarstellung als Aktivitäts- oder Gewichtswert das Setzen des Bitmusters in dem Binärwort unterbleibt.
  • - daß das sich ergebende Binärwort als Festkommazahl interpretiert wird, deren Wertebereich durch den Wertebereich der beiden Faktoren gegeben ist.
  • - daß das Vorzeichen der Festkommazahl durch eine Exklusiv-Oder Verknüpfung aus den Vorzeichen der Faktoren gebildet wird.
  • - daß die Summation der so gebildeten Zwischenergebnisse in einer Festkommadarstellung mit so gewählter Bitbreite erfolgt, daß das bei Netzberechnungen größte beziehungsweise kleinste zu er­ wartende Endergebnis ohne Überlauf darstellbar ist.
  • - daß mit den höherwertigen Bits des Summationsergebnisses eine Über- und Unterlaufsinformation entsprechend der oberen und unteren Sättigung der beschränkten Aktivitätsfunktion gebildet wird.
  • - daß mit der Berechnung der Aktivitätswerte durch die Aktivitätsfunktion eine implizite Zahlenum­ wandlung zurück in das Aktivitäts-Fließkommaformat erfolgt.
  • - daß zur Berechnung der Aktivitätswerte die vorher gebildete Über- und Unterlaufsinformation sowie nur diejenigen Bits des Summationsergebnisses verwendet werden, die zum Erreichen einer für die Darstellungsgenauigkeit der Aktivitäts-Fließkommawerte in Verbindung mit der nichtlinearen Aktivitätsfunktion ausreichenden Rechengenauigkeit notwendig sind.
2. Digitaler Neuroprozessor nach Anspruch 1,
dadurch gekennzeichnet,
  • - daß mehrere der so gebildeten Rechenwerke zu einer Rechenwerksgruppe zusammengefaßt sind, die zusätzlich zu den Rechenwerken auch einen Aktivitätsspeicher und eine Steuerlogik enthalten.
  • - daß jedes Rechenwerk der Gruppe entweder einen eigenen lokalen Gewichtsspeicher besitzt oder mit einer der Bitanzahl der Gewichtswerte entsprechenden Anzahl Bits eines externen Gewichtsspeichers großer Bitbreite verbunden ist.
  • - daß nur das erste Rechenwerk der Gruppe mit dem Aktivitätsspeicher verbunden ist und die übrigen Rechenwerke ihre Aktivitäten nacheinander durch Durchschieben der Aktivität durch die Rechen­ werksgruppe erhalten.
  • - daß parallel von jedem Rechenwerk einer Rechenwerksgruppe ein anderes Neuron des neuronalen Netzwerkes berechnet wird.
3. Digitaler Neuroprozessor nach Anspruch 2,
dadurch gekennzeichnet,
  • - daß mehrere Rechenwerksgruppen parallel geschaltet sind.
  • - daß jede Rechenwerksgruppe parallel einen anderen Satz von Neuronen des neuronalen Netzwerkes verarbeitet.
  • - daß die parallel anfallenden Summationsergebnisse aller Rechenwerke ohne Unterbrechung der Be­ rechnung seriell einer einmalig ausgeführten Logik zur Ermittlung der Aktivitätsfunktion zugeführt werden.
  • - daß durch die Logik zur Ermittlung der Aktivitätsfunktion implizit die Zahlenformatwandlung zurück ins Fließkommaformat erfolgt.
  • - daß die so ermittelten neuen Aktivitätswerte gleichzeitig in allen Rechenwerksgruppen in dem zur Aufnahme der neuen Aktivitätswerte bestimmten Teil des doppelten Aktivitätsspeichers abgelegt werden.
  • - daß in den Zeiten, in denen keine neuen Aktivitäten zur Speicherung bereitstehen, die aktuellen Netzausgaben bei laufender Netzberechnung aus dem Aktivitätsspeicher gelesen sowie die neuen Eingabewerte eingeschrieben werden.
4. Digitaler Neuroprozessor nach einem der Ansprüche 1, 2 oder 3,
dadurch gekennzeichnet,
  • - daß die Neuronenaktivitäten in einem doppelt ausgeführten Aktivitätsspeicher abgelegt sind.
  • - daß jeweils der eine der doppelten Aktivitätsspeicher die aktuellen Aktivitätswerte für die Berech­ nungen bereitstellt, während in dem andere die neu errechneten Aktivitätswerte abgelegt werden.
  • - daß die Aufgaben der beiden Aktivitätsspeicher durch Multiplexer wechselseitig vertauscht werden können.
  • - daß vor dem Start jeder Netzberechnung die Aufgaben der Aktivitätsspeicher vertauscht werden.
5. Digitaler Neuroprozessor nach Anspruch 4,
dadurch gekennzeichnet,
  • - daß die Gewichtswerte genau in den Teilen der lokalen oder des globalen Gewichtsspeichers und genau in der Reihenfolge abgelegt sind, wie sie während der laufenden Netzberechnung von den Rechenwerken benötigt werden.
  • - daß zur Adressierung aller lokalen oder des globalen Gewichtsspeichers nur ein Zähler verwendet wird.
  • - daß eine Vielzahl unterschiedlicher vorwärtsgerichteter und rekurrenter neuronale Netzwerkstypen berechnet werden können.
  • - daß mehrere Neuroprozessoren einfach kaskadiert werden können.
DE19718224A 1997-04-30 1997-04-30 Digitaler Neuroprozessor Withdrawn DE19718224A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19718224A DE19718224A1 (de) 1997-04-30 1997-04-30 Digitaler Neuroprozessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19718224A DE19718224A1 (de) 1997-04-30 1997-04-30 Digitaler Neuroprozessor

Publications (1)

Publication Number Publication Date
DE19718224A1 true DE19718224A1 (de) 1997-11-27

Family

ID=7828193

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19718224A Withdrawn DE19718224A1 (de) 1997-04-30 1997-04-30 Digitaler Neuroprozessor

Country Status (1)

Country Link
DE (1) DE19718224A1 (de)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1899847A2 (de) * 2005-06-28 2008-03-19 Neurosciences Research Foundation Inc. Adressierungsschema für neuronale modellierung und auf dem hirn basierende einrichtungen unter verwendung eines spezialprozessors
US8126828B2 (en) * 2005-06-28 2012-02-28 Neuroscience Research Foundation, Inc. Special purpose processor implementing a synthetic neural model of the human brain
CN109934331A (zh) * 2016-04-29 2019-06-25 北京中科寒武纪科技有限公司 用于执行人工神经网络正向运算的装置和方法
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
CN110895715A (zh) * 2018-09-12 2020-03-20 辉达公司 存储高效的神经网络
CN111488976A (zh) * 2019-01-28 2020-08-04 中科寒武纪科技股份有限公司 神经网络计算装置、神经网络计算方法及相关产品
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11521047B1 (en) * 2018-04-20 2022-12-06 Brown University Deep neural network
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1899847A2 (de) * 2005-06-28 2008-03-19 Neurosciences Research Foundation Inc. Adressierungsschema für neuronale modellierung und auf dem hirn basierende einrichtungen unter verwendung eines spezialprozessors
EP1899847A4 (de) * 2005-06-28 2009-12-02 Neurosciences Res Found Adressierungsschema für neuronale modellierung und auf dem hirn basierende einrichtungen unter verwendung eines spezialprozessors
US8126828B2 (en) * 2005-06-28 2012-02-28 Neuroscience Research Foundation, Inc. Special purpose processor implementing a synthetic neural model of the human brain
US8326782B2 (en) 2005-06-28 2012-12-04 Neurosciences Research Foundation, Inc. Addressing scheme for neural modeling and brain-based devices using special purpose processor
CN109934331A (zh) * 2016-04-29 2019-06-25 北京中科寒武纪科技有限公司 用于执行人工神经网络正向运算的装置和方法
CN109934331B (zh) * 2016-04-29 2020-06-19 中科寒武纪科技股份有限公司 用于执行人工神经网络正向运算的装置和方法
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11354563B2 (en) 2017-04-04 2022-06-07 Hallo Technologies Ltd. Configurable and programmable sliding window based memory access in a neural network processor
US11675693B2 (en) 2017-04-04 2023-06-13 Hailo Technologies Ltd. Neural network processor incorporating inter-device connectivity
US11216717B2 (en) 2017-04-04 2022-01-04 Hailo Technologies Ltd. Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements
US11514291B2 (en) 2017-04-04 2022-11-29 Hailo Technologies Ltd. Neural network processing element incorporating compute and local memory elements
US11238331B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method for augmenting an existing artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11263512B2 (en) 2017-04-04 2022-03-01 Hailo Technologies Ltd. Neural network processor incorporating separate control and data fabric
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11461615B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. System and method of memory access of multi-dimensional data
US11461614B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. Data driven quantization optimization of weights and input data in an artificial neural network
US11521047B1 (en) * 2018-04-20 2022-12-06 Brown University Deep neural network
CN110895715A (zh) * 2018-09-12 2020-03-20 辉达公司 存储高效的神经网络
CN111488976A (zh) * 2019-01-28 2020-08-04 中科寒武纪科技股份有限公司 神经网络计算装置、神经网络计算方法及相关产品
CN111488976B (zh) * 2019-01-28 2023-06-30 中科寒武纪科技股份有限公司 神经网络计算装置、神经网络计算方法及相关产品
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor

Similar Documents

Publication Publication Date Title
DE112019000336T5 (de) Massiv parallele neuronale inferenz-datenverarbeitungselemente
DE60318494T2 (de) Verfahren, einrichtung und system zur durchführung von kalkulationsoperationen
DE19718224A1 (de) Digitaler Neuroprozessor
DE1956209C3 (de) Multipliziervorrichtung
DE112019001799T5 (de) Erweitertes formatieren von binären gleitkommazahlen mit geringerer genauigkeit
DE19540102A1 (de) Gleitkomma-Recheneinheit mit einer Logik für eine Vierfach-Präzisions-Arithmetik
DE2911096C2 (de)
DE4403917C2 (de) Vorrichtung zum Berechnen einer Bit-Besetzungszählung
DE2803425A1 (de) Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken
EP3590078B1 (de) Neuronalnetzsystem
DE112019000676T5 (de) Zentraler scheduler und anweisungszuteiler für einen neuronalen inferenzprozessor
DE4345029C2 (de) Schaltkreis für diskrete Kosinustransformation
DE102007056104A1 (de) Verfahren und Vorrichtung zur Multiplikation von Binäroperanden
EP0628183B1 (de) Schaltungsanordnung zum digitalen multiplizieren von integer-zahlen
DE2826773A1 (de) Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern
DE4019646C2 (de) Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung
DE3936503A1 (de) Digitales verschwommen-folgerungssystem
EP0629943B1 (de) Multiplizierer für reelle und komplexe Zahlen
DE19635113A1 (de) Multiplizierer
EP0537205B1 (de) Anordnung zur emulation neuronaler netze und verfahren zu ihrem betrieb
EP0264999A2 (de) System zum Übertragen oder Speichern von Eingangssignalen
DE69633479T2 (de) ODER-Gatter mit kontrollierbarer Breite
DE19635111A1 (de) Multiplizierer
DE19758016C2 (de) Quadratwurzelberechnungsschaltung und Fließkomma-Quadratwurzelberechnungsvorrichtung
DE602004002554T2 (de) Block Modus Aufteilung eines Multiplizier-Akkumulators

Legal Events

Date Code Title Description
OAV Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1
8122 Nonbinding interest in granting licences declared
8127 New person/name/address of the applicant

Owner name: WUEST, HARALD, DR., 71696 MOEGLINGEN, DE KASPAR, K

8139 Disposal/non-payment of the annual fee