DE19906559C1 - Digital-elektronisches Verfahren zur Steigerung der Berechnungsgenauigkeit bei nichtlinearen Funktionen und ein System zur Durchführung des Verfahrens - Google Patents

Digital-elektronisches Verfahren zur Steigerung der Berechnungsgenauigkeit bei nichtlinearen Funktionen und ein System zur Durchführung des Verfahrens

Info

Publication number
DE19906559C1
DE19906559C1 DE19906559A DE19906559A DE19906559C1 DE 19906559 C1 DE19906559 C1 DE 19906559C1 DE 19906559 A DE19906559 A DE 19906559A DE 19906559 A DE19906559 A DE 19906559A DE 19906559 C1 DE19906559 C1 DE 19906559C1
Authority
DE
Germany
Prior art keywords
format
digits
input
digital
electronic
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
Application number
DE19906559A
Other languages
English (en)
Inventor
Wolfgang Eppler
Thomas Fischer
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.)
Forschungszentrum Karlsruhe GmbH
Original Assignee
Forschungszentrum Karlsruhe GmbH
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 Forschungszentrum Karlsruhe GmbH filed Critical Forschungszentrum Karlsruhe GmbH
Priority to DE19906559A priority Critical patent/DE19906559C1/de
Priority to PCT/EP2000/000920 priority patent/WO2000049484A1/de
Priority to EP00905027A priority patent/EP1161718A1/de
Priority to JP2000600163A priority patent/JP2002537595A/ja
Application granted granted Critical
Publication of DE19906559C1 publication Critical patent/DE19906559C1/de
Priority to US09/902,855 priority patent/US6941329B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)

Abstract

Es wird ein digital-elektronisches Verfahren und System zur Steigerung der Berechnungsgenauigkeit bei nichtlinearen Funktionen beschrieben. Für das Verfahren ist eine Hardware-Architektur notwendig, die in ihrem Aufbau einfach, weil sehr eng an das Verfahren angepaßt, ist, wodurch dasselbe sehr preisgünstig realisierbar ist und, die spezielle Aufgabe sicher und schnell erfüllend, wirkungsvoll an die Stelle eines breit einsetzbaren, jedoch vergleichsweise teueren elektronischen Systems, wie ein PC, gesetzt werden kann.

Description

Die Erfindung betrifft ein Verfahren und System zum Betreiben eines elektronischen Systems mit dem die Berechnungsgenauigkeit bei nichtlinearen Funktionen gesteigert wird.
Rechenintensive Algorithmen, wie sie insbesondere in der Bild- und Signalverarbeitung verwendet werden, werden im allgemeinen auf einem Computer oder, oftmals bei technischen Anwendungen, auf Mikroprozessoren oder Digitalen Signalprozessoren ausge­ führt. Die Ausführungszeit auf diesen Prozessoren ist oft sehr lange, so daß zur Beschleunigung der Abarbeitung rechenintensi­ ver Algorithmen der Einbau einer spezifischen Hardware sinnvoll ist. Das bedeutet, daß ein spezieller Chip (oft ein kundenspezi­ fischer Chip - ASIC) oder Chip-Satz auf einer elektronischen Karte untergebracht wird, die beispielsweise in einem Perso­ nalcomputer zur Beschleunigung verwendet wird. Unterschiede im Vergleich zur herkömmlichen Prozessorlösung betreffen vor allem die Datenformate.
Als Zahlenformat weist eine Festkomma-Darstellung im Vergleich zu einer Gleitkomma-Darstellung den Vorteil einfacher und schneller Berechnung auf, weshalb in den meisten benutzerspezi­ fischen Chips (ASIC) diese Darstellungsart verwendet wird. Der größte Nachteil dabei ist die reduzierte Genauigkeit im Ver­ gleich zu Gleitkomma-Operationen. Bei der internen Berechnung wird daher bei der Zahlendarstellung oft auf eine größere Wort­ breite übergegangen, die aber an der externen Schnittstelle nicht beibehalten werden kann, da dann der Aufwand für die Da­ tenspeicherung zu groß wird (siehe The IEEE standard for binary floating point arithmetic, ANSI/IEEE Standard 754-1985). Die­ ses Fließkomma-Format ist sehr allgemein und daher hinsichtlich der Größe und Zahl der Bauelemente lange nicht so effizient ein­ zubauen bzw. unterzubringen.
Wird für das Zwischenformat eine größere Wortbreite verwendet als für das Ausgabeformat, muß eine Umwandlung vom größeren zum kleineren Format geschehen. Dies ist mit einer Genauigkeitsein­ buße verbunden. Im allgemeinen werden hierfür so viele Bits des längeren Wortes abgeschnitten, bis der Inhalt in das kürzere Wort paßt. Wird bei den hochwertigen Bits gekürzt, muß für eine entsprechende Überlauf-Behandlung gesorgt werden, wird bei den niederwertigen Bits zu stark gekürzt, leidet die Genauigkeit darunter. Wird nicht weiter beachtet, wie die Daten extern des Chips weiterverarbeitet werden, gibt es im allgemeinen keine an­ dere Methode, die Genauigkeit der Ausgabedaten zu erhöhen.
Aus der US 4,694,417 und der DE 33 26 335 C2 sind digitale Rechenschaltungen bekannt, bei denen zur Verminderung des benötigten Speicherplatzes von abgelegten Funktionswerten, die Eingangsbreite verkleinert wird, ohne daß die Rechengenauigkeit reduziert wird.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zum Betreiben eines elektronischen Systems bereit zu stellen, mit dem die Berechnungsgenauigkeit bei nichtlinearen Funktionen gesteigert wird, und das elektronische System zu realisieren, mit dem das Verfahren zeitoptimal durchgeführt werden kann.
Die Aufgabe wird durch die im Anspruch 1 aufgeführten Verfah­ rensschritte und das System nach Anspruch 2 gelöst.
Zur allgemeinen Erläuterung wird kurz der Spezialfall umrissen, daß die Daten extern durch ein Modul, das eine nichtlineare Funktion realisiert, weiterverarbeitet werden. Es handelt sich beispielsweise um eine Lookup-Tabelle, die einen Eingabewert auf seinen Funktionswert abbildet. Dieser Fall kommt häufig vor, wenn komplizierte Funktionen sehr schnell berechnet werden sol­ len. Ein Beispiel ist die Berechnung eines Neuronalen Netzes, die im wesentlichen durch Matrix-Multiplikationen und eine an­ schließende nichtlineare Übertragungsfunktion erfolgt. Die Ma­ trixmultiplikation kann effizient auf einem anwendungsspezifi­ schen Mikrochip realisiert werden. Die nichtlineare Funktion, beispielsweise der Tangenshyperbolikus, wird durch eine Lookup- Tabelle dargestellt. Bei einer solchen Konstellation ist erst die Genauigkeit am Ausgang der Lookup-Tabelle entscheidend. Im Falle nichtlinearer Funktionen ist sie aber wesentlich geringer als die Genauigkeit der vom Chip stammenden, bereits reduzierten Daten.
Ein einfaches Beispiel demonstriert das: Angenommen, die Tabelle stelle die quadratische Funktion f(x) = x2 dar. Zum einfacheren Verständlichkeit wird statt einer binären eine dezimale Zahldarstellung herangezogen. Es interes­ siert der Bereich im Intervall [0,1]. Die vom Chip stammenden Daten haben eine Genauigkeit von 0.1, die aus der Tabelle resul­ tierenden Daten ebenfalls. Die Tabelle bildet alle möglichen Zahlen des Formats auf f(x) ab, d. h. die Tabelle besitzt 11 Ein­ träge. Die drei niedrigsten Werte {0, 0.1, 0.2} werden - exakt gerechnet - auf {0, 0.01, 0.04} abgebildet. Da die Zahlengenau­ igkeit aber nur 0.1 beträgt, werden alle drei Werte auf den neuen Wert 0 abgebildet. Auf der anderen Seite wird 0.9 auf 0.8 und 1 auf 1 abgebildet. Der Wert 0.9 kann im Bildbereich gar nicht vorkommen. Durch die Quantisierung wird hier also ein ma­ ximaler Fehler von 0.2 erzeugt, der einerseits durch die be­ grenzte Wortbreite der vom Chip stammenden Daten ausgelöst wird, andererseits durch die nichtlineare Funktion der Lookup-Tabelle vergrößert wird. Abhilfe schafft hier eine Kodierung der Daten, die als Eingabe für die Lookup-Tabelle günstiger ist.
Die Lösung liegt nun darin, daß das genaue Eingabeformat zwar eine festdefinierte Wortbreite besitzt, aber das Festkomma sich an unterschiedlichen Stellen befinden darf. Jede einzelne Posi­ tion des Festkommas entspricht einem eigenen Format. In einem ersten Schritt wird aus diesen verschiedenen Formaten ein ein­ heitliches Format hergestellt, welches das Festkomma an einer definierten Stelle aufweist. Da hierfür schon einige höherwer­ tige Bits abgeschnitten werden können, kann ein Überlauf auftre­ ten, der behandelt werden muß. Die Herstellung des einheitlichen Formats wird durch einen Multiplexer realisiert, der als Eingabe die unterschiedlichen Formate erhält und als Ausgabe das Ein­ heitsformat ausgibt. Die unterschiedlichen Formate werden durch­ nummeriert und durch einen kodierten Steuereingang des Multiple­ xers angewählt.
Im zweiten Schritt wird der gesamte Definitionsbereich in meh­ rere Unterbereiche eingeteilt, die jeweils für sich eine sepa­ rate Zahlendarstellung benutzen. Fürs Weitere wird eine binäre Zahldarstellung zugrunde gelegt und als ganze Zahl interpre­ tiert, so daß 1 der kleinste Unterschied zwischen zwei verschie­ denen Zahlen ist. Dann läßt sich für die Unterteilung des Defi­ nitionsbereichs in Unterbereiche erreichen, daß für "flache" Funktionsbereiche, in denen die erste Ableitung viel kleiner als 1 (f'(x) << 1, für alle x aus dem betreffenden Unterbereich) eine weniger genaue Zahldarstellung gewählt wird. Der Grund da­ für ist, daß der Bildbereich B des Funktionsabschnitts kleiner ist als der Definitionsbereich D und daher nicht alle Werte aus D auf unterschiedliche Werte in B abgebildet werden können. Die Werte in D können also ungenauer dargestellt werden, ohne daß in B ein Genauigkeitsverlust spürbar wird. Im Fall von Bereichen, in denen die erste Ableitung viel größer als 1 (f'(x) << 1) ist, muß gegenüber oben gegenteilig vorgegangen werden, um die Genau­ igkeit im Bildbereich zu erhalten. Es müssen also die Zahlen des Definitionsbereiches genauer dargestellt werden.
Konventionelle Zahldarstellung:
Dabei ist S das Vorzeichen, X sind die Vorkommastellen und x die Nachkommastellen. Die kodierte Zahldarstellung ist dann:
K ist dabei die Bereichskodierung. Für die kodierte Zahldarstel­ lung wird eine Bereichskodierung benötigt, die feststellt, in welchem Bereich die vorliegende Zahl liegt.
Gibt es C Unterbereiche, dann beträgt die Länge der Bereichsko­ dierung 1b(C), mit 1b als Zweierlogarithmus. Für die restliche Zahldarstellung bleiben dann noch n - 1b(C) - 1 Stellen übrig, wenn n die Anzahl der Stellen pro Wort ist. Die 1 wird wegen dem Vorzeichen S subtrahiert.
Die Durchführung der Bereichskodierung erfolgt durch wenige Lo­ gik-Glieder (UND, ODER, NICHT), die Bildung der neuen Zahldar­ stellung geschieht durch einfaches Abschneiden und Zusammenset­ zen. Ausgabe aus diesem Kodierungsblock sind so viele Busse wie es Unterbereiche gibt. Die Wortbreite entspricht der Breite der externen Zahldarstellung.
Der Überlauf-Block besteht aus einer einfachen Logik, die fest­ stellt, ob bei einer konkreten Zahl die abgeschnittenen Stellen ungleich 0 sind. Ist das der Fall, tritt ein Überlauf auf. Aus­ gabe des Blocks ist zunächst die in der reinen, nicht Vorzeichen behaftete Zahldarstellung größtmögliche Zahl. Ob die Zahl posi­ tiv oder negativ ist, wird durch den Zustand des Vorzeichen-Bit S angegeben.
Bei einer Ausführungsform der Erfindung:
  • - liegt das ursprüngliche Format in verschiedenen, aber fest de­ finierten, Festkomma-Formaten vor;
  • - ist das kodierte Format von den Nichtlinearitäten der im An­ schluß an die Kodierung folgenden nichtlinearen Funktion abhän­ gig und für diese Funktion optimiert;
  • - wird der Definitionsbereich der sich anschließenden nichtlinea­ ren Funktion in nötigenfalls unterschiedlich große Bereiche un­ terteilt, die durch unterschiedliche Kodierungen voneinander unterschieden werden;
  • - läßt sich das elektronische System durch einen kundenspezifi­ schen Schaltkreis (ASIC) oder durch
einen spezifischen Chip-Satz auf einer Elektronikkarte verwirk­ lichen.
Mit dem Verfahren und dem elektronischen System zur Durchführung desselben erhält man folgende Vorteile:
  • - Die Genauigkeit der sich an die Kodierung anschließenden Funk­ tion richtet sich ausschließlich nach der Breite des verwende­ ten Datenformats und nicht nach Nichtlinearitäten der Funktion.
  • - Das vorgestellte System ist sehr schnell - beim aktuellen Stand der Technik: Berechnung innerhalb eines Taktzyklus bei 50 MHz - und mit geringem Hardware-Aufwand zu realisieren, da die Durch­ führung der Kodierung keine Rechenoperationen wie Addition oder Multiplikation verlangt, sondern aus einfachen Logik-Gliedern und Multiplexern aufgebaut ist.
Die Vorteile der Genauigkeitssteigerung treten bei recheninten­ siven Algorithmen zutage. Insbesondere Anwendungen aus dem Be­ reich der Bild- und Signalerkennung, wie Diagnosesysteme in der Medizin- oder Mikrosystemtechnik, profitieren davon.
Beispiele sind die Erkennung von Mikroverkalkungen in der weib­ lichen Brust bei Vorsorgeuntersuchungen (siehe W. Eppler, T. Fi­ scher, H. Gemmeke, R. Stotzka, T. Köder, "Neural Chip SAND/1 for Real Time Pattern Recognition", IEEE Transactions on Nuclear Sciences, Vol. 45, No. 4, Aug 1998, pp. 1819-1823) oder die Detektion kosmischer Teilchen (siehe W. Eppler, T. Fi­ scher, H. Gemmeke, A. Chilingarian, A. Vardanyan, "Neural Chip SAND In Online Data Processing of Extensive Air Showers", Proceedings of 1st Int. Conf. on Modern Trends in Computational Physics, Dubna, Russia, June 1998). In beiden Fällen reicht die Rechenleistung herkömmlicher Computer nicht mehr aus. Der re­ chenintensive Algorithmus läuft auf einer Einsteckkarte eines PCs ab, die mit einer Festkommaarithmetik arbeitet. Gleichzeitig müssen die Ergebnisse der Berechnung sehr genau sein. Das digi­ tal-elektronische Verfahren und die Hardware-Architektur zur Durchführung desselben sind dazu sehr gut geeignet.
Eine Ausführung der Erfindung wird im folgenden anhand der einzigen Figur der Zeichnung noch näher erläutert. Die Figur zeigt das Blockschaltbild der Formatumwandlung.
Eine Zahl x der Breite n ist im Eingabeformat EFf = S Vf Nf (Vorzeichen, Vorkommastellen, Nachkommastellen) repräsentiert. Die Vorzeichen behafteten Zahlen haben alle das Vorzeichen an der höchstwertigen Stelle. f ist ein binär kodiertes Steuerwort der Länge F, welches die Nummer des aktuellen Datenformats an­ gibt.
Es lassen sich 2F Eingabedaten-Formate definieren. Sie unter­ scheiden sich nur in der Position des Festkommas. Die Festle­ gung, welches Steuerwort welcher Festkomma-Position entspricht, ist frei wählbar. In einem ersten Verarbeitungsschritt werden die Bits (A1) mit den niedrigsten Werten, die später auf keinen Fall verwendet werden können, abgeschnitten. Die Bits (Ü1) mit den höchsten Werten, die voraussichtlich niemals gesetzt werden, können ebenfalls abgeschnitten werden. Allerdings muß hier zur Sicherheit immer geprüft und gegebenenfalls ein Überlauf erzeugt werden.
Das Eingabeformat läßt sich dann auf eine weitere Art aus­ drücken:
EFf = S Ü1f Mf A1f.
Die Breite der Mf ist einheitlich m.
Die Position des Festkommas ist abhängig vom gewählten Eingabe­ format EFf. Das Zwischenformat ZF besitzt das Festkomma an einer bestimmten Stelle, unabhängig vom Eingabeformat EFf. Dafür müssen verschiedene Bereiche Mf von EFf an die richtige Bitposition im Zwischenformat ZF kopiert werden. Dies geschieht durch die Ab­ bildung
M1: Mf → M,
die in einem technischen System durch einen Multiplexer oder eine vergleichbare Logik-Schaltung erreicht wird. Der Multiple­ xer M1 besitzt f Eingänge zu je m Stellen, nämlich die Stellen {n-1-ü1f-m, ..., n-2-ü1f}. Sie werden durch ihn auf das Zwischen­ format
ZF = S M
abgebildet.
Der Zahlenbereich, der durch das ZF-Format dargestellt wird, läßt sich in C Intervalle Ic unterteilen, so daß die Intervalle den gesamten Zahlenbereich von ZF abdecken. Überlappungen und Lücken sind nicht erlaubt.
Zum einfachen Aufbau werden als Intervallgrenzen Zweierpotenzen verwendet. Damit wird mit einfachen Logik-Gliedern für jede Zahl festgestellt, in welchem Intervall sie sich befindet. Für jede im ZF-Format repräsentierte Zahl x gilt dann:
x ε IC
für genau einen Index C.
Das Zwischenformat ZF = S M mit der Breite m + 1 ist größer als das Ausgabeformat. Deshalb entfallen wieder einige höherwertige Bits Ü2, die auf einen Überlauf hin geprüft werden müssen, und einige niederwertige Bits A2, die einfach abgeschnitten werden. Für jedes Intervall IC werden die Schnitte an unterschiedlichen Positionen vorgenommen. Das Zwischenformat wird deshalb auch folgendermaßen definiert:
ZF = S Ü2C BC A2c.
Der Überlauf-Block stellt für die Stellen n-2 bis n-1-ü1f des Eingabeformats EFf und für die Stellen m-1 bis m-ü2c des Zwi­ schenformats fest, ob eine Stelle ungleich 0 ist. Ist das der Fall, wird der Überlauf Ü gesetzt. Für alle Eingabeformate EFf und Zwischenformate ZFC wird im Überlauf-Block folgende Operation ausgeführt:
Überlauf-Flag = 1, wenn x(i) = 1 für irgendein i aus {n-1-ü1f, ..., n-2, m-ü2c, ..., m-1}
Überlauf-Flag = 0, sonst.
Pro Format EFf und Zwischenformat ZFC ist für die Operation ein logisches ODER-Glied mit Ü1f + Ü2c Eingängen erforderlich.
Das Ausgabeformat AF als Kodierung für eine Zahl x setzt sich folgendermaßen zusammen:
AF = S Kc Gc,
wobei S das Vorzeichen, KC der Bereich der Kodierung und GC ein Ausschnitt niederwertiger Bits ist, der sich teilweise mit KC überlappen kann. GC ist genau so breit, daß alle Zahlen des In­ tervalls IC mit der gewünschten Genauigkeit gebildet werden kön­ nen. Die Intervallgröße, d. h. die Anzahl der Elemente des Inter­ valls, ist eine Zweierpotenz 2d, so daß GC die Breite d besitzt.
Die Breite von KC ergibt sich aus der Breite des Ausgabeformats AF, abzüglich des Vorzeichenbits und der Breite von GC. Die Ko­ dierung KC ist zunächst beliebig, richtet sich aber nach den Ko­ dierungen der übrigen Intervalle, die sich gegenseitig aus­ schließen müssen. Alle Kodierungen K zusammen werden minimal an­ gelegt, d. h. es gibt keine Kodierung, die keinem Intervall ent­ spricht bzw. keine zwei Kodierungen, die das selbe Intervall re­ präsentieren. In beiden Fällen wird das Zahlenformat schlecht ausgenutzt und die maximal erzielbare Genauigkeit reduziert.
Die Kodierung KC wird im Kodierungsblock aus BC hergestellt. Dazu genügt bei günstiger Aufteilung der Intervalle die Abfrage weni­ ger Bits von BC, die über einfache Logik-Glieder verknüpft die Bits der neuen Kodierung KC ergeben. Anschließend wird an KC das Vorzeichen S und die Bits GC mit niedrigen Werten angehängt. Dies wird im allgemeinen für jedes Intervall Ic getrennt vorgenommen, da die einzelnen Stücke unterschiedlich groß sein können. Eine Abbildung
M2: Kc Gc → KG
bildet diese einzelnen Stücke auf das einheitliche Format
AF = S KG
ab. Auch für diese Abbildung wird hier ein Multiplexer, nämlich M2, verwendet.
Wird anschließend auf die so kodierten Zahlen eine nichtlineare Funktion angewandt, muß darauf geachtet werden, daß die Funkti­ onsberechnung ebenfalls unter Beachtung der Intervall-Einteilung IC erfolgt. Für jedes IC gilt eine andere Genauigkeit, d. h. der Abstand aufeinanderfolgender Werte aus dem Definitionsbereich ist innerhalb eines Intervalls gleich, zwischen den Intervallen aber im allgemeinen ungleich. Dies ist insbesondere auch bei der Verwendung von Lookup-Tabellen zu beachten.

Claims (4)

1. Digital-elektronisches Verfahren zur Steigerung der Berech­ nungsgenauigkeit bei nichtlinearen Funktionen, bestehend aus den Schritten:
  • 1. der zur Bearbeitung als Zahl anstehende Wert aus einer im allgemeinen nichtlinearen Funktion wird als Eingabewort zusammen mit einem zugehörigen, kodierten Steuerwort f mit dem Eingabeformat
    EFf = S Ü1f Mf A1f,
    und dem Komma an nicht festgelegter Stelle,
    wobei S die Vorzeichenstelle, Ü1f die Stellen mit dem höchsten Wert, die voraussichtlich niemals gesetzt werden können, Mf die Stellen mit der einheitlichen Breite m und A1f die Stellen mit dem niedrigsten Wert, die nicht ver­ wendet werden können, und der Index "f" das kodierte Steu­ erwort der Länge F ist,
    wird in eine erste Multiplexereinrichtung M1 einer elek­ tronischen Datenverarbeitungseinrichtung mit 2F = f Ein­ gängen zu je m Stellen eingegeben und
  • 2. in dieser auf ein Zwischenformat
    ZF = S Ü2C BC A2C
    mit (m + 1)-Stellen und einer festen Kommastelle (Festkommadarstellung) abgebildet werden, wobei die Stel­ len Ü2C in der Überlaufeinrichtung Ü auf einen Überlauf hin überprüft und die niederwertigen Stellen A2C in der elektronischen Abschneideeinrichtung A abgetrennt werden,
  • 3. der Zahlenbereich, der durch das Zwischenformat ZF am Ausgang der ersten Multiplexereinrichtung M1 dargestellt wird, wird in C teilweise unterschiedlich große Inter­ valle unterteilt, die den gesamten Zahlenbereich von ZF ohne Überlappung und ohne Lücken überdecken,
  • 4. das Zwischenformat ZF wird in einen Bereich KC zur Kodie­ rung und in einen Bereich GC niederwertiger Stellen unter­ teilt, wobei beide Bereiche sich überlappen können,
  • 5. die Kodierung KC wird in einer elektronischen Kodierungs­ einrichtung K aus BC durchgeführt,
  • 6. an die vorzeichenbehaftete Kodierung SKC werden die nie­ derwertigen Stellen GC angehängt,
  • 7. in einer weiteren Multiplexereinrichtung M2 mit C Eingän­ gen der Breite des Ausgangsformats AF wird elektronisch die Ausgabeabbildung
    KCGC → KG
    durchgeführt, so daß ein einheitliches Ausgabeformat
    AF = S KG
    vorliegt.
2. Digital-elektronisches System zur Durchführung eines digital- elektronischen Verfahrens zur Steigerung der Berechnungsgenauigkeit bei nichtlinearen Funktionen, bestehend aus den folgenden Baugruppen:
  • 1. einer ersten Multiplexereinrichtung M1 mit 2F Eingängen zur Eingabe beliebiger, durchnummerierbarer Eingangsfor­ mate festgelegter Wortbreite m mit dem Festkomma an un­ terschiedlicher Stelle,
    mit einem weiteren kodierten Steuereingang, über den die durchnummerierten Eingabeformate EFf angewählt werden kön­ nen,
    mit einem Ausgang, an dem ein einheitliches Zwischenfor­ mat ZF ebenfalls festgelegter Wortbreite, das das Fest­ komma an nur noch einer vorgegeben, festgelegten Stelle aufweist;
  • 2. einer Überlaufeinrichtung Ü, in die einerseits die höchstwertigen Stellen Ü1f des Eingabeformats EFf, die voraussichtlich niemals gesetzt werden, und in die and­ rerseits die höherwertigen Stellen Ü2C des Zwischenworts ZFm an der ersten Multiplexereinrichtung M1, die auf einen Überlauf hin überprüft werden müssen, eingegeben und darin auf von Null verschiedene Stellen abgefragt werden, um dann im Falle gesetzter Stellen einen Alarm ausgeben zu können;
  • 3. einer Kodierungseinrichtung K, in dem aus dem zu kodie­ renden Teilbereich BC des Zwischenformats ZFm der kodierte Bereich KC erzeugt wird;
  • 4. einer Abschneideeinrichtung A, in der die niedrigstwerti­ gen Stellen A1f und die niederwertigen Stellen A2C von der weiteren Datenverarbeitung ausgeschlossen werden;
  • 5. einer zweiten Multiplexereinrichtung M2, in der der vor­ zeichenversehene, kodierte Bereich SKC und angehängte, un­ kodierte Bereich GC der niederwertigen Stellen im Zwi­ schenformat ZF in ein vorgegebenes Ausgabeformat AF transformiert werden.
3. Digital-elektronisches System nach Anspruch 2, dadurch gekennzeichnet, daß die Überlaufeinrichtung Ü, die Kodiereinrichtung K, die Abschneideeinrichtung A aus logischen Bausteinen aufgebaut sind.
4. Digital-elektronisches System nach Anspruch 3, dadurch gekennzeichnet, daß das System in einen spezifischen Chip oder in einen spe­ zifischen Chipsatz gefaßt ist.
DE19906559A 1999-02-15 1999-02-15 Digital-elektronisches Verfahren zur Steigerung der Berechnungsgenauigkeit bei nichtlinearen Funktionen und ein System zur Durchführung des Verfahrens Expired - Fee Related DE19906559C1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE19906559A DE19906559C1 (de) 1999-02-15 1999-02-15 Digital-elektronisches Verfahren zur Steigerung der Berechnungsgenauigkeit bei nichtlinearen Funktionen und ein System zur Durchführung des Verfahrens
PCT/EP2000/000920 WO2000049484A1 (de) 1999-02-15 2000-02-05 Digital-elektronisches verfahren zur steigerung der berechnungsgenauigkeit bei nichtlinearen funktionen und eine hardware-architektur zur durchführung des verfahrens
EP00905027A EP1161718A1 (de) 1999-02-15 2000-02-05 Digital-elektronisches verfahren zur steigerung der berechnungsgenauigkeit bei nichtlinearen funktionen und eine hardware-architektur zur durchführung des verfahrens
JP2000600163A JP2002537595A (ja) 1999-02-15 2000-02-05 非線形関数の計算精度をディジタル電子的に向上させる方法、およびこの方法を実施するハードウェアアーキテクチャ
US09/902,855 US6941329B2 (en) 1999-02-15 2001-07-12 Digital method for increasing the calculation accuracy in non-linear functions and hardware architecture for carrying out said method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19906559A DE19906559C1 (de) 1999-02-15 1999-02-15 Digital-elektronisches Verfahren zur Steigerung der Berechnungsgenauigkeit bei nichtlinearen Funktionen und ein System zur Durchführung des Verfahrens

Publications (1)

Publication Number Publication Date
DE19906559C1 true DE19906559C1 (de) 2000-04-20

Family

ID=7897753

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19906559A Expired - Fee Related DE19906559C1 (de) 1999-02-15 1999-02-15 Digital-elektronisches Verfahren zur Steigerung der Berechnungsgenauigkeit bei nichtlinearen Funktionen und ein System zur Durchführung des Verfahrens

Country Status (5)

Country Link
US (1) US6941329B2 (de)
EP (1) EP1161718A1 (de)
JP (1) JP2002537595A (de)
DE (1) DE19906559C1 (de)
WO (1) WO2000049484A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3816762A1 (de) * 2019-10-30 2021-05-05 Carl Zeiss Industrielle Messtechnik GmbH Signalgenerator

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006013989A1 (de) * 2006-03-22 2007-09-27 IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik Verfahren zur Reduktion eines Polynoms in einem binären finiten Feld
DE102006015661A1 (de) 2006-04-04 2007-10-11 Daimlerchrysler Ag Lastschaltbares Getriebe für ein Nutzfahrzeug
CN100458647C (zh) * 2006-11-07 2009-02-04 北京中星微电子有限公司 一种提高数字信号处理器准确度的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694417A (en) * 1982-07-21 1987-09-15 Raytheon Company Method and apparatus for determining the magnitude of a square root of a sum of squared value using vernier addressing
DE3326335C2 (de) * 1982-07-21 1996-04-11 Raytheon Co Speicheransteuerschaltung für eine Speicheranordnung, in der Funktionswerte für mathematische Operationen gespeichert sind

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3812470A (en) * 1972-07-31 1974-05-21 Westinghouse Electric Corp Programmable digital signal processor
US4215415A (en) * 1977-09-19 1980-07-29 Nippon Electric Company, Ltd. Recursive digital filter comprising a circuit responsive to first sum and feedback sign bits and second sum sign and integer bits for detecting overflow in the second sum
US4282581A (en) * 1979-10-15 1981-08-04 Sperry Corporation Automatic overflow/imminent overflow detector
TW265433B (de) * 1993-07-16 1995-12-11 Philips Electronics Nv
EP1236086A2 (de) * 1999-12-10 2002-09-04 Broadcom Corporation Vorrichtung und verfahren zur datengenauigkeitsverminderung

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694417A (en) * 1982-07-21 1987-09-15 Raytheon Company Method and apparatus for determining the magnitude of a square root of a sum of squared value using vernier addressing
DE3326335C2 (de) * 1982-07-21 1996-04-11 Raytheon Co Speicheransteuerschaltung für eine Speicheranordnung, in der Funktionswerte für mathematische Operationen gespeichert sind

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3816762A1 (de) * 2019-10-30 2021-05-05 Carl Zeiss Industrielle Messtechnik GmbH Signalgenerator
US11264975B2 (en) 2019-10-30 2022-03-01 Carl Zeiss Industrielle Messtechnik Gmbh Signal generator

Also Published As

Publication number Publication date
WO2000049484A1 (de) 2000-08-24
EP1161718A1 (de) 2001-12-12
JP2002537595A (ja) 2002-11-05
US20030208515A1 (en) 2003-11-06
US6941329B2 (en) 2005-09-06

Similar Documents

Publication Publication Date Title
DE19983175B4 (de) Verfahren, Prozessor und Einrichtung für Gleitkommaoperationen und Formatkonvertierungsoperationen
EP0079471B1 (de) Schaltungsanordnung und Verfahren zur Bildung von Skalarprodukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE112011103291B4 (de) Datenumwandlungsverfahren und Datenumwandler
DE112019002981T5 (de) Parallelberechnungsarchitektur mit rekonfigurierbarer kernebenen- und vektorebenen-parallelität
DE4243374A1 (de)
DE102014100108A1 (de) Festkomma-divisionschaltung unter verwendung einer gleitkomma-architektur
DE4403917C2 (de) Vorrichtung zum Berechnen einer Bit-Besetzungszählung
DE3926876C2 (de) Schaltung und Verfahren zum Vorhersagen eines Sticky-Bit-Wertes bei der Gleitkommamultiplikation
DE69925136T2 (de) Elektronische zeitmessvorrichtung mit zeitangabe auf einem dezimalsystem basierend
DE19906559C1 (de) Digital-elektronisches Verfahren zur Steigerung der Berechnungsgenauigkeit bei nichtlinearen Funktionen und ein System zur Durchführung des Verfahrens
DE19781794C2 (de) Verfahren und Einrichtung zur Division von Gleitkomma- oder ganzen Zahlen
EP0344347B1 (de) Einrichtung zur digitalen Signalverarbeitung
DE2826773A1 (de) Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern
DE3303269C2 (de)
DE112019000382T5 (de) GANZZAHLIGER MULTIPLIKATOR MIT MEHRFACHER GENAUIGKEIT DURCH MATRIX-MATRIX-MULTIPLIKATIONEN UNTER VERWENDUNG EINES 16-BIT-FLIEßKOMMA-MULTIPLIKATORS
DE2364865A1 (de) Erweitertes speicheradressenbildungssystem eines digitalen rechnersystems
DE60317500T2 (de) Weniger aufwendige kontextumschaltung in mit statischen prioritäten gesteuerten betriebssystemen
DE10210663A1 (de) Vorrichtung und Verfahren für Anzeige- und/oder Präzisionsoperationen von numerischen Werten in binären Systemen
DE3936503A1 (de) Digitales verschwommen-folgerungssystem
DE1549485C3 (de) Anordnung zur Division binärer Operanden ohne Rückstellung des Restes
DE69918313T2 (de) Verfahren und vorrichtung zur signalkompression im festpunktformat ohne bias
DE102018115219A1 (de) Systeme und Verfahren zur Abbildung von Reduktionsoperationen
DE1549449A1 (de) Einrichtung zur Verarbeitung von Gleitkommazahlen
EP3641137A1 (de) Verfahren und vorrichtung zum verarbeiten von daten

Legal Events

Date Code Title Description
8100 Publication of patent without earlier publication of application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee