Welche Methoden würde eine moderne FPU verwenden, um transzendentale Funktionen zu berechnen?
Beispielsweise geben Intel-CPUs Anweisungen wie FSIN
, FCOS
, FYL2X
usw. an. Ich bin neugierig, welche Algorithmen verwendet werden würden, um diese in Hardware zu implementieren.
Meine naive Vermutung wäre Taylor-Serie, vielleicht kombiniert mit einigen Nachschlagetabellen, aber das ist nichts weiter als eine wilde Vermutung. Bitte erleuchte mich.
P.S. Diese Frage ist allgemeiner als nur Intel-Hardware.
Ein Platz zum Starten könnte sein: Neue Algorithmen für Verbesserungen Transzendentale Funktionen auf IA-64 "von Shane Story und Ping Tak Peter Tang, beide von Intel. Es hat wahrscheinlich nicht so viele Details, wie Sie möchten, aber es enthält mehrere Referenzen.
Der ursprüngliche Link ist unterbrochen. Die öffentliche Zusammenfassung / Zitat Seite von IEEE kann hier gefunden werden:
In Hardware (wie auch in Software, in der Hardware-Multiplikationsanweisungen nicht verfügbar sind) wird es normalerweise in CORDIC implementiert, da dies nur Addition, Subtraktion, Bitshift und Tabellensuche erfordert. Mehr zu diesem hier
Tags und Links math hardware floating-point numerical-methods fpu