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


von Chefkoch (Gast)


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)


Lesenswert?

Nennt sich CortexM3, M4 oder M7... gibts mit beliebigen 
Schnittstellen...

Was es bringen soll musst du entscheiden...

von Georg G. (df2au)


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) Benutzerseite


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)


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)


Lesenswert?

ups... zu langsam... ;-)

von Schreiber (Gast)


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)


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)


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)


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)


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)


Lesenswert?

Wenn es topmodern sein soll: Am9511.

von bitwurschtler (Gast)


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)


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)


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)


Lesenswert?

Ist es auch, zumindest eine State-Machine mit passenden 
Look-Up-Tabellen.

von Bernhard D. (pc1401)


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)


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)


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)


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)


Lesenswert?

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

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


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)


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)


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)


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)


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)


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)


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)


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. (Gast)


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


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)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.