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 VerfahrensInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical 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.
Ü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.
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)
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)
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)
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)
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 |
-
1999
- 1999-02-15 DE DE19906559A patent/DE19906559C1/de not_active Expired - Fee Related
-
2000
- 2000-02-05 EP EP00905027A patent/EP1161718A1/de not_active Withdrawn
- 2000-02-05 WO PCT/EP2000/000920 patent/WO2000049484A1/de not_active Application Discontinuation
- 2000-02-05 JP JP2000600163A patent/JP2002537595A/ja active Pending
-
2001
- 2001-07-12 US US09/902,855 patent/US6941329B2/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |