Pseudofloat und pseudo-schwach besetzte Matritzen

OP (Firma: dm2sh) #4618609
Hallo,

die Tatsache, dass Float-Operationen etwas aufwendig sind, suggeriert 
doch, dass es sinnvoll sein könnte Rechner zu bauen, die Pseudofloat 
unterstützen. Dabei wird der Exponent nicht bei jeder Operation 
angepasst oder beachtet. Die Mantisse bewegt sich zwischen 0 und 1 statt 
1 und 2. Entsprechende Maschinenbefehle sind zur Exponentenkorrektur 
vorhanden.

Um die Beachtung des Exponenten bei Additionen wegzuoptimieren, können 
Registerbänke/Vektoren mit gemeinsamen Exponenten versehen werden. 
Multiplikationen bewerten die Mantisse als Ganzzahl. Das Ergebnis ist 
von doppelter Bitbreite (MUL-/DIV-Ergebnisregister) und der Exponent 
wird einfach durch Addition berechnet. Bei geeigneter Vorausrichtung 
können mehrere Multiplikationen aufeinander folgen und die 
Exponentenanpassung am Ende erfolgen.

Für die Darstellung von Matrizen werden nur die Mantissen als Elemente 
der Matrix gespeichert. Es wird jeweils ein Exponent je Spalte und ein 
Exponent je Zeile verwendet. Das wäre evtl. ein Kompromiss zwischen 
Weglassen kleiner Werte (schwache Besetzung) und vollständiger 
Float-Speicherung. Diese verlustbehaftete Speicherung (Genauigkeit) 
bringt zwar auf dem ersten Blick einen Effizienzgewinn, erschwert jedoch 
den Einsatz effizienter Matrixmultiplikationsalgorithmen (z. B. 
Strassen) mit geringerer numerischer Stabilität.

Welche Ansätze gibt es in diese Richtung? Existieren Pseudo-Float 
DSP/Vektor-/Matrix-Rechner? (Beispiele?) Was existiert an Software, 
wissenschaftlichen Veröffentlichungen oder Diskussionen dazu?
Admin Persönliche Seite #4622440
Stefan H. schrieb:
> Um die Beachtung des Exponenten bei Additionen wegzuoptimieren, können
> Registerbänke/Vektoren mit gemeinsamen Exponenten versehen werden.

Das wird so z.B. bei manchen Audio-DSPs in Hoergeraeten gemacht (Block 
Floating Point), oder auch bei der Quantisierung von Radardaten (Block 
Adaptive Quantization). Fuer die meisten praktischen Anwendungen ist das 
allerdings zu viel Gebastel, lieber spendiert man gleich ein paar Bits 
mehr oder verwendet gleich eine FPU.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.