Forum: Mikrocontroller und Digitale Elektronik Mathe IC´s (zu wenig Betreffzeichen)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Chefkoch (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

weiß jemand, ob es Mathe IC´s gibt, mit denen man z.B. schwache oder 
mittelstarke µC "mathematisch upgraden" kann?

Also z.B. ansprechbar über UART, I2C oder SPI. Also so, dass man 
Argumente übermittelt und ein Ergebnis zurück bekommnt. Ich brauche
SQRT
SIN
ArcSin

Google hilft mir mit "Math IC" nicht wirklich weiter.

viele Grüße!

von Basti (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Nennt sich CortexM3, M4 oder M7... gibts mit beliebigen 
Schnittstellen...

Was es bringen soll musst du entscheiden...

von Georg G. (df2au)


Bewertung
3 lesenswert
nicht lesenswert
Die Zeit der Mathe-Coprozessoren ist seit Jahrzehnten vorbei.

Welchen Prozessor hast du, dass er für simple Funktionen zu schwach ist?

Selbst, wenn es einen passenden IC gäbe, was meinst du, wie lange das 
Übertragen der Befehle, Argumente und Resultate dauern würde im 
Vergleich zur direkten Berechnung?

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
2 lesenswert
nicht lesenswert
Früher nannte sich so etwas Coprozessor oder Arithmetikprozessor und 
wurde für viel Geld als Zusatz z.B. in PCs verbaut. 8087, 80287 und 
80387 waren verbreitete Typen für 8088/86, 80286 und 80386.

Bei 68k-Prozessoren gab es korrespondierend 68881 und 68882.

Heutzutage wird die Floatingpoint-Fähigkeit allerdings üblicherweise 
gleich in den eigentlichen Prozessorkern eingebaut, was auch daran 
liegt, daß das Übertragen der zu berechnenden Daten und des Ergebnisses 
länger dauert als das eigentliche Berechnen.

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Bewertung
0 lesenswert
nicht lesenswert
Mathematische Coprozessoren...

...die sind aber eher als Begleiter ihrer Prozessorbrüder designed 
worden.

8086/8087
80286/80287
80386/80387

https://de.wikipedia.org/wiki/Koprozessor

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Bewertung
0 lesenswert
nicht lesenswert
ups... zu langsam... ;-)

von Schreiber (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Chefkoch schrieb:
> weiß jemand, ob es Mathe IC´s gibt, mit denen man z.B. schwache oder
> mittelstarke µC "mathematisch upgraden" kann?

gab es früher, heute nicht mehr.
Ein schnellerer µC ist billiger. Nimmt man halt keinen AVR mit 20MHz, 
sondern einen ARM mit 200MHz und dann geht es auch ohne Mathe IC
In hartnäckigen Fällen helfen DSPs oder gleich ein FPGA.

von 6a66 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Chefkoch schrieb:
> Also z.B. ansprechbar über UART, I2C oder SPI. Also so, dass man
> Argumente übermittelt und ein Ergebnis zurück bekommnt. Ich brauche
> SQRT
> SIN
> ArcSin

Gab es früher zu 80286 Zeiten mit der 287 FPU.
Heute hat man in einem Cortex-M4 etwa die 10-fache Rechenleistung eines 
früheren PC-AT/286. Da ist die FPU eingebaut. Wenn du daher Mathematik 
in einem schwachbrüstigen uC benötigst fällt mir heute ein:
a) entsprechende MATH-Libs verwenden sofern die Rechenzeit das erlaubt
b) entsprechenden uC verwenden der FPU an board hat.

Alles andere ist Behelf.

rgds

von Peter D. (peda)


Bewertung
1 lesenswert
nicht lesenswert
Chefkoch schrieb:
> Ich brauche
> SQRT
> SIN
> ArcSin

Einfach nur:
1
#include <math.h>

Und wenn es schneller sein soll, dann bringt es nichts, wenn Du es erst 
umständlich über die UART schaufeln mußt.

von 6a66 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
6a66 schrieb:
> Gab es früher zu

Verfluxt, einma ausm Raum raus und nicht abgesendet .... und schon hat 
sich das Thema erledigt :)

rgds

von Thomas W. (diddl)


Bewertung
0 lesenswert
nicht lesenswert
Allgemeine Mathematik mag uninteressant sein für Co Prozessoren.

Aber für Spezielaufgaben gibt es nach wie vor spezielle Prozessoren. 
Atmel hatte zb. spezielle Chipkarten auf AVR Basis mit eingebauten 
encryption/decryption Hardware.

Damit kann man Daten sehr schnell verschlüsseln und entschlüsseln, 
schneller und energiesparender als es ein PC machen kann. Da lohnt es 
sich schon; Daten zur Berechnung zu übergeben und das Ergebnis 
zurückzuholen.

Diese Karten bekommt man nicht leicht, es war ein richtiger Papierkrieg 
notwendig, um die importieren zu können.

von hinz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wenn es topmodern sein soll: Am9511.

von bitwurschtler (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> Einfach nur:#include <math.h>
> Und wenn es schneller sein soll, dann bringt es nichts, wenn Du es erst
> umständlich über die UART schaufeln mußt.

reicht nicht immer, eigentlich muss man dem Compiler mit -lm sagen das 
er die Mathebibliothek mitlinken soll.

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Bewertung
0 lesenswert
nicht lesenswert
hinz schrieb:
> Wenn es topmodern sein soll: Am9511.

Der ist cool. Der braucht für einen arccos aber mehrere Millisekunden...

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Bewertung
0 lesenswert
nicht lesenswert
Wenn man sich das Blockschaltbild anguckt, dann sieht das so aus als 
werkelt im Inneren das Am9511 wohl auch nur ein Prozessor.

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Bewertung
0 lesenswert
nicht lesenswert
Ist es auch, zumindest eine State-Machine mit passenden 
Look-Up-Tabellen.

von Bernhard D. (pc1401)


Bewertung
0 lesenswert
nicht lesenswert
Es gibt tatsächlich noch Rechenknechte für schwachbrüstige Controller:

http://micromegacorp.com/products.html

Ob sich solch ein Käfer bei den Preisen und Rechenleistungen von 
ARM-basierten Controllern lohnt...

von m.n. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bernhard D. schrieb:
> Es gibt tatsächlich noch Rechenknechte für schwachbrüstige Controller:
>
> http://micromegacorp.com/products.html

Da kann man sich aber auch einen ATtiny85 oder ATmega88 passend 
programmieren; mit dem 'richtigen' Compiler werden auch 64 bit double 
verarbeitet.

von Thomas W. (diddl)


Bewertung
0 lesenswert
nicht lesenswert
hinz schrieb:
> Wenn es topmodern sein soll: Am9511.

Interessant das Teil, eine Stack machine, wäre gut für Sprachen wie 
Forth.

Aber hochmodern?

1977?

Aus Sicht einer 6502 CPU vielleicht schon ... :D

von Yalu X. (yalu) (Moderator)


Bewertung
1 lesenswert
nicht lesenswert
Bernhard D. schrieb:
> Es gibt tatsächlich noch Rechenknechte für schwachbrüstige Controller:
>
> http://micromegacorp.com/products.html

Das ist ein dsPIC33 (vermutlich ein dsPIC33FJ32MC30x), und der hat noch
genügend Flash, RAM und I/Os frei, um die Aufgaben des schwachbrüstigen
Controllers, den er unterstützden soll, gleich mit zu erledigen. Dabei
fällt dann auch die zeitraubende I²C- bzw. SPI-Kommunikation weg.

Insofern verstehe ich den Sinn dieses Produkts nicht so ganz.

von Dampf T. (ouuneii)


Bewertung
3 lesenswert
nicht lesenswert
So ganz nebenbei.. kann man Floatingpoint oft durch genaue Analyse des 
Problems durch Integer ersetzten.

von Axel S. (a-za-z0-9)


Bewertung
1 lesenswert
nicht lesenswert
Yalu X. schrieb:
> Bernhard D. schrieb:
>> Es gibt tatsächlich noch Rechenknechte für schwachbrüstige Controller:
>>
>> http://micromegacorp.com/products.html
>
> Das ist ein dsPIC33 (vermutlich ein dsPIC33FJ32MC30x), und der hat noch
> genügend Flash, RAM und I/Os frei, um die Aufgaben des schwachbrüstigen
> Controllers, den er unterstützden soll, gleich mit zu erledigen. Dabei
> fällt dann auch die zeitraubende I²C- bzw. SPI-Kommunikation weg.
>
> Insofern verstehe ich den Sinn dieses Produkts nicht so ganz.

Ich schon. Das ist für Leute, die sich nicht mit den Details der 
Mathematik "die Finger schmutzig machen" wollen. Oder kürzer gesagt: 
Leute die eigentlich den falschen Beruf ergriffen haben. Davon gibt es 
einige. Viel zu viele, wenn ich in meiner Erinnerung krame.

von c-hater (Gast)


Bewertung
-11 lesenswert
nicht lesenswert
Dampf T. schrieb:

> So ganz nebenbei.. kann man Floatingpoint oft durch genaue Analyse des
> Problems durch Integer ersetzten.

Ja, aber das Problem ist halt, dass der generische C-Verbrecher nix kann 
außer geklauten Code notdürftig zusammen zu leimen. Eigene 
Problemanalysen überfordern ihn maßlos, eigene Umsetzungen der 
Ergebnisse erst recht. Was Wunder, i.d.R. beherrscht er ja nicht einmal 
die selbst gewählte Sprache richtig. Eben nur gerade soweit, wie nötig, 
um die C&P-"Programmierung" irgendwie notdürftig bewerkstelligen zu 
können...

Nur deswegen hat er ja die Sprache gewählt: Es gibt da halt so 
verführerisch viele kostenlose Wichsvorlagen, die allesamt suggerieren: 
du brauchst nicht selber programmieren zu können und du brauchst auch 
die Sprache nicht wirklich zu beherrschen...

von Wurzelschiebender Rechenzieher (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
Da gibt es auch noch OpAmps, lineare und logarithmische.
Spezialzahlen wie Pi und e, Materialkonstanten wie c, Avogadrozahl, eV, 
usw. kann man gut vorgespeichert auf CD-ROM vorhalten, mit beliebig 
vielen Nachkommastellen.
Sinus und Cosinus greift man Zeitsynchron per ADC von einem Oscillator 
ab, der darf einfach nicht langsam sein.

Sonst: Nachhilfe in diskreter Numerik und Algorithmen .

von Christoph db1uq K. (christoph_kessler)


Bewertung
0 lesenswert
nicht lesenswert
http://www.computinghistory.org.uk/det/17386/Digital-Signal-Processing-IC-Handbook/
es gab von Plessey spezielle Prozessoren, z.B. "Pythagoras-Processor" 
PDSP16330
aber das ist 20 Jahre her. Später hiessen sie Zarlink und Mitel.

: Bearbeitet durch User
von Wurzelschiebender Rechenzieher (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
> Ja, aber das Problem ist halt, dass der generische C-Verbrecher ...

> Nur deswegen hat er ja die Sprache gewählt: ...

Ich verstehe (u.a. aus vielen Beiträge in diesem Forum) das C 
eigentlich immer deshalb gewählt wird, weil man schliesslich damit 
(und nur mit C) sooo tief und systemnah programmieren tut.
Das soll jetzt im Bereich mathematische Berechnungen nicht mehr gelten? 
Komisch...

Zum Glück hab ich noch einen funktionierenden HP-16c da!

von Guido Körber (Gast)


Bewertung
3 lesenswert
nicht lesenswert
Thomas W. schrieb:
> Aber hochmodern?
>
> 1977?

Heh! Der Am9511 auf Erweiterungskarten im Apple II hat mitgeholfen das 
Space Shuttle zu bauen. Etwas mehr Respekt bitte!

;)

von hinz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Guido Körber schrieb:
> Thomas W. schrieb:
>> Aber hochmodern?
>>
>> 1977?
>
> Heh! Der Am9511 auf Erweiterungskarten im Apple II hat mitgeholfen das
> Space Shuttle zu bauen. Etwas mehr Respekt bitte!
>
> ;)

Und der 6502 wird noch in 1000 Jahren verwendet werden!

http://www.digitalretropark.de/wp-content/uploads/2013/07/bender.jpg

von Yalu X. (yalu) (Moderator)


Bewertung
1 lesenswert
nicht lesenswert
Axel S. schrieb:
>> Insofern verstehe ich den Sinn dieses Produkts nicht so ganz.
>
> Ich schon. Das ist für Leute, die sich nicht mit den Details der
> Mathematik "die Finger schmutzig machen" wollen.

Wieso braucht man, um die Sinusfunktion aus einer Bibliothek aufzurufen,
mehr mathmatische Details, als wenn man sie von einem externen Prozessor
berechnen lässt?

von A. S. (achs)


Bewertung
0 lesenswert
nicht lesenswert
> Ich brauche
> SQRT
> SIN
> ArcSin

wie oft denn pro Sekunde, und in welchem Format?

Für 1/sqrt gibt es übrigens eine superschnelle Formel. 
https://en.wikipedia.org/wiki/Fast_inverse_square_root

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Bewertung
2 lesenswert
nicht lesenswert
DAS Produkt schlechthin für alle Koprozessorhörigen war natürlich der 
Intel i487, der dann sogar den Hauptprozessor (i486SX) deaktiverte. Aber 
Hauptsache, man hatte einen separaten Korpozessor statt sich gleich 
einen i486 zu kaufen.

von mf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim S. schrieb:
> Für 1/sqrt gibt es übrigens eine superschnelle Formel.
> https://en.wikipedia.org/wiki/Fast_inverse_square_root

Da gibt es zig papers, das Prinzip lässt sich auf vieles erweitern, was 
auf log2(n) rückführbar ist.
Dazu muss man unter Umständen nicht mal auf float32 wandeln, sondern 
hält Mantisse und Exponent einzeln in z.B. einer Struktur.
mfg mf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.